Per-Channel Emotes Implemented.

This commit is contained in:
rainbow napkin 2024-12-21 11:01:00 -05:00
parent 163cecf9f0
commit c3d016e1af
14 changed files with 483 additions and 20 deletions

View file

@ -19,12 +19,16 @@ const { body, checkExact } = require('express-validator');
const { Router } = require('express');
//local imports
const permissionSchema = require("../../schemas/permissionSchema");
//Models
const permissionModel = require("../../schemas/permissionSchema");
const channelModel = require("../../schemas/channel/channelSchema");
//Valudators
const channelValidator = require("../../validators/channelValidator");
const accountValidator = require("../../validators/accountValidator");
const {channelPermissionValidator} = require("../../validators/permissionsValidator");
const tokebotValidator = require("../../validators/tokebotValidator");
const emoteValidator = require("../../validators/emoteValidator");
//Controllers
const registerController = require("../../controllers/api/channel/registerController");
const listController = require("../../controllers/api/channel/listController");
const settingsController = require("../../controllers/api/channel/settingsController");
@ -33,18 +37,20 @@ const rankController = require("../../controllers/api/channel/rankController");
const deleteController = require("../../controllers/api/channel/deleteController");
const banController = require("../../controllers/api/channel/banController");
const tokeCommandController = require("../../controllers/api/channel/tokeCommandController");
const emoteController = require('../../controllers/api/channel/emoteController');
//globals
const router = Router();
//user authentication middleware
router.use("/register",permissionSchema.reqPermCheck("registerChannel"));
router.use("/register",permissionModel.reqPermCheck("registerChannel"));
router.use("/settings", channelValidator.name('chanName'));
router.use("/permissions", channelValidator.name('chanName'));
router.use("/rank", channelValidator.name('chanName'));
router.use("/delete", channelValidator.name('chanName'));
router.use("/ban", channelValidator.name('chanName'));
router.use("/tokeCommand", channelValidator.name('chanName'));
router.use("/emote", channelValidator.name('chanName'));
//routing functions
//register
@ -70,5 +76,9 @@ router.delete('/ban', channelModel.reqPermCheck("banUser"), accountValidator.u
router.get('/tokeCommand', channelModel.reqPermCheck("manageChannel"), tokeCommandController.get);
router.post('/tokeCommand', tokebotValidator.command(), channelModel.reqPermCheck("editTokeCommands"), tokeCommandController.post);
router.delete('/tokeCommand', tokebotValidator.command(), channelModel.reqPermCheck("editTokeCommands"), tokeCommandController.delete);
//emote
router.get('/emote', channelModel.reqPermCheck("manageChannel"), emoteController.get);
router.post('/emote', channelModel.reqPermCheck("editEmotes"), emoteValidator.name('emoteName'), emoteValidator.link(), emoteController.post);
router.delete('/emote', channelModel.reqPermCheck("editEmotes"), emoteValidator.name('emoteName'), emoteController.delete);
module.exports = router;