import express, { Request, Response } from "express"; import PermissionHelper from "../../helpers/permissionHelper"; import { deleteUser, getAllUsers, getUserById, getUserPermissions, getUserRoles, updateUser, updateUserPermissions, updateUserRoles, } from "../../controller/admin/userController"; import { inviteUser } from "../../controller/inviteController"; var router = express.Router({ mergeParams: true }); router.get("/", async (req: Request, res: Response) => { await getAllUsers(req, res); }); router.get("/:id", async (req: Request, res: Response) => { await getUserById(req, res); }); router.get("/:id/permissions", async (req: Request, res: Response) => { await getUserPermissions(req, res); }); router.get("/:id/roles", async (req: Request, res: Response) => { await getUserRoles(req, res); }); router.post( "/invite", PermissionHelper.passCheckMiddleware("create", "user", "user"), async (req: Request, res: Response) => { await inviteUser(req, res); } ); router.patch( "/:id", PermissionHelper.passCheckMiddleware("update", "user", "user"), async (req: Request, res: Response) => { await updateUser(req, res); } ); router.patch( "/:id/permissions", PermissionHelper.passCheckMiddleware("update", "user", "user"), async (req: Request, res: Response) => { await updateUserPermissions(req, res); } ); router.patch( "/:id/roles", PermissionHelper.passCheckMiddleware("update", "user", "user"), async (req: Request, res: Response) => { await updateUserRoles(req, res); } ); router.delete( "/:id", PermissionHelper.passCheckMiddleware("delete", "user", "user"), async (req: Request, res: Response) => { await deleteUser(req, res); } ); export default router;