73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
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;
|