Started work on emotes schema and administration endpoints. Improvements to Link/Media embeds in chat.

This commit is contained in:
rainbow napkin 2024-12-17 07:37:57 -05:00
parent 1ce2fc3c22
commit 12922658b9
9 changed files with 266 additions and 19 deletions

View file

@ -30,22 +30,31 @@ const changeRankController = require("../../controllers/api/admin/changeRankCont
const permissionsController = require("../../controllers/api/admin/permissionsController");
const banController = require("../../controllers/api/admin/banController");
const tokeCommandController = require('../../controllers/api/admin/tokeCommandController');
const emoteController = require('../../controllers/api/admin/emoteController');
//globals
const router = Router();
//routing functions
//listUsers
router.get('/listUsers', permissionSchema.reqPermCheck("adminPanel"), listUsersController.get);
//listChannels
router.get('/listChannels', permissionSchema.reqPermCheck("adminPanel"), listChannelsController.get);
//permissions
router.get('/permissions', permissionSchema.reqPermCheck("adminPanel"), permissionsController.get);
router.post('/permissions', permissionSchema.reqPermCheck("changePerms"), checkExact([permissionsValidator.permissionsMap(), channelPermissionValidator.channelPermissionsMap()]), permissionsController.post);
//changeRank
router.post('/changeRank', permissionSchema.reqPermCheck("changeRank"), accountValidator.user(), accountValidator.rank(), changeRankController.post);
//Ban
router.get('/ban', permissionSchema.reqPermCheck("adminPanel"), banController.get);
//Sometimes they're so simple you don't need to put your validators in their own special place :P
router.post('/ban', permissionSchema.reqPermCheck("banUser"), accountValidator.user(), body("permanent").isBoolean(), body("expirationDays").isInt(), banController.post);
router.delete('/ban', permissionSchema.reqPermCheck("banUser"), accountValidator.user(), banController.delete);
//TokeCommands
router.get('/tokeCommands', permissionSchema.reqPermCheck("adminPanel"), tokeCommandController.get);
router.post('/tokeCommands', permissionSchema.reqPermCheck("editTokeCommands"), tokebotValidator.command(), tokeCommandController.post);
router.delete('/tokeCommands', permissionSchema.reqPermCheck("editTokeCommands"), tokebotValidator.command(), tokeCommandController.delete);
//emote
router.get('/emote', permissionSchema.reqPermCheck('adminPanel'), emoteController.get);
module.exports = router;