Let admins skip SMS on user, class, and invoice actions, and let users change their own password with the current one.
27 lines
1.3 KiB
JavaScript
27 lines
1.3 KiB
JavaScript
// /components/classes/classRoutes.js
|
|
'use strict';
|
|
|
|
const express = require('express');
|
|
const classController = require('./classController');
|
|
const authMiddleware = require('../../middlewares/authMiddleware');
|
|
const perm = require('../../middlewares/permissionMiddleware');
|
|
const { PERMISSIONS } = require('../../constants/permissions');
|
|
|
|
const router = express.Router();
|
|
|
|
router.use(authMiddleware);
|
|
|
|
// User Scope
|
|
router.get('/user/my-classes', perm.requires(PERMISSIONS.CLASSES_READ), classController.getMyClasses);
|
|
|
|
// Admin Scope
|
|
router.get('/admin/get-all', perm.requires(PERMISSIONS.CLASSES_READ), classController.getAll);
|
|
router.get('/admin/get-one/:id', perm.requires(PERMISSIONS.CLASSES_READ), classController.getOne);
|
|
router.post('/admin/create', perm.requires(PERMISSIONS.CLASSES_CREATE), classController.create);
|
|
router.put('/admin/update/:id', perm.requires(PERMISSIONS.CLASSES_UPDATE), classController.update);
|
|
router.delete('/admin/delete/:id', perm.requires(PERMISSIONS.CLASSES_DELETE), classController.delete);
|
|
router.post('/admin/:id/register-users', perm.requires(PERMISSIONS.CLASSES_REGISTER_USERS), classController.registerUsers);
|
|
router.delete('/admin/:id/students/:userId', perm.requires(PERMISSIONS.CLASSES_REGISTER_USERS), classController.removeUser);
|
|
|
|
module.exports = router;
|