Finished basic channel ban DB mgmt and ajax calls.

This commit is contained in:
rainbow napkin 2024-11-30 06:38:38 -05:00
parent 2b52fe7f2f
commit ef79e9941c
4 changed files with 293 additions and 3 deletions

View file

@ -15,6 +15,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
//npm imports
const { body } = require('express-validator');
const { Router } = require('express');
//local imports
@ -29,6 +30,7 @@ const settingsController = require("../../controllers/api/channel/settingsContro
const permissionsController = require("../../controllers/api/channel/permissionsController")
const rankController = require("../../controllers/api/channel/rankController");
const deleteController = require("../../controllers/api/channel/deleteController");
const banController = require("../../controllers/api/channel/banController");
//globals
const router = Router();
@ -38,16 +40,28 @@ router.use("/register",permissionSchema.reqPermCheck("registerChannel"));
router.use("/settings", channelValidator.name('chanName'), channelModel.reqPermCheck("manageChannel"));
router.use("/permissions", channelValidator.name('chanName'), channelModel.reqPermCheck("manageChannel"));
router.use("/rank", channelValidator.name('chanName'), channelModel.reqPermCheck("manageChannel"));
router.use("/delete", channelValidator.name('chanName'), channelModel.reqPermCheck("deleteChannel"));
router.use("/ban", channelValidator.name('chanName'), channelModel.reqPermCheck("manageChannel"));
//routing functions
//register
router.post('/register', channelValidator.name(), channelValidator.description(), channelValidator.thumbnail(), registerController.post);
//list
router.get('/list', listController.get);
//settings
router.get('/settings', settingsController.get);
router.post('/settings', channelValidator.settingsMap(), settingsController.post);
//permissions
router.get('/permissions', permissionsController.get);
router.post('/permissions', channelPermissionValidator.channelPermissionsMap(), permissionsController.post);
//rank
router.get('/rank', rankController.get);
router.post('/rank', accountValidator.user(), channelValidator.rank(), rankController.post);
router.post('/delete', channelValidator.name('chanName'), channelValidator.name('confirm'), channelModel.reqPermCheck("deleteChannel"), deleteController.post);
//delete
router.post('/delete', channelValidator.name('confirm'), deleteController.post);
//ban
router.get('/ban', banController.get);
router.post('/ban', accountValidator.user(), body("banAlts").isBoolean(), body("expirationDays").isInt(), banController.post);
router.delete('/ban', accountValidator.user(), banController.delete);
module.exports = router;