ff-admin-server/src/routes/admin/user.ts

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;