member routes and controller base

This commit is contained in:
Julian Krauser 2024-09-16 12:37:06 +02:00
parent 5fdfdcbd1f
commit 93e27ab440
15 changed files with 531 additions and 133 deletions

View file

@ -7,6 +7,8 @@ import executivePosition from "./executivePosition";
import membershipStatus from "./membershipStatus";
import qualification from "./qualification";
import member from "./member";
import role from "./role";
import user from "./user";
@ -30,6 +32,8 @@ router.use(
);
router.use("/qualification", PermissionHelper.passCheckMiddleware("read", "settings", "qualification"), qualification);
router.use("/member", PermissionHelper.passCheckMiddleware("read", "club", "member"), member);
router.use("/role", PermissionHelper.passCheckMiddleware("read", "user", "role"), role);
router.use("/user", PermissionHelper.passCheckMiddleware("read", "user", "user"), user);

132
src/routes/admin/member.ts Normal file
View file

@ -0,0 +1,132 @@
import express, { Request, Response } from "express";
import {
addAwardToMember,
addCommunicationToMember,
addExecutivePositionToMember,
addMembershipToMember,
addQualificationToMember,
createMember,
deleteAwardOfMember,
deleteCommunicationOfMember,
deleteExecutivePositionOfMember,
deleteMemberById,
deleteMembershipOfMember,
deleteQualificationOfMember,
getAllMembers,
getAwardsByMember,
getCommunicationsByMember,
getExecutivePositionsByMember,
getMemberById,
getMembershipsByMember,
getQualificationsByMember,
updateAwardOfMember,
updateCommunicationOfMember,
updateExecutivePositionOfMember,
updateMemberById,
updateMembershipOfMember,
updateQualificationOfMember,
} from "../../controller/admin/memberController";
var router = express.Router({ mergeParams: true });
router.get("/", async (req: Request, res: Response) => {
await getAllMembers(req, res);
});
router.get("/:id", async (req: Request, res: Response) => {
await getMemberById(req, res);
});
router.get("/:memberId/memberships", async (req: Request, res: Response) => {
await getMembershipsByMember(req, res);
});
router.get("/:memberId/awards", async (req: Request, res: Response) => {
await getAwardsByMember(req, res);
});
router.get("/:memberId/qualifications", async (req: Request, res: Response) => {
await getQualificationsByMember(req, res);
});
router.get("/:memberId/positions", async (req: Request, res: Response) => {
await getExecutivePositionsByMember(req, res);
});
router.get("/:memberId/communications", async (req: Request, res: Response) => {
await getCommunicationsByMember(req, res);
});
router.post("/", async (req: Request, res: Response) => {
await createMember(req, res);
});
router.post("/:memberId/membership", async (req: Request, res: Response) => {
await addMembershipToMember(req, res);
});
router.post("/:memberId/award", async (req: Request, res: Response) => {
await addAwardToMember(req, res);
});
router.post("/:memberId/qualification", async (req: Request, res: Response) => {
await addQualificationToMember(req, res);
});
router.post("/:memberId/position", async (req: Request, res: Response) => {
await addExecutivePositionToMember(req, res);
});
router.post("/:memberId/communication", async (req: Request, res: Response) => {
await addCommunicationToMember(req, res);
});
router.patch("/:id", async (req: Request, res: Response) => {
await updateMemberById(req, res);
});
router.patch("/:memberId/membership/:membershipId", async (req: Request, res: Response) => {
await updateMembershipOfMember(req, res);
});
router.patch("/:memberId/award/:awardId", async (req: Request, res: Response) => {
await updateAwardOfMember(req, res);
});
router.patch("/:memberId/qualification/:qualificationId", async (req: Request, res: Response) => {
await updateQualificationOfMember(req, res);
});
router.patch("/:memberId/position/:positionId", async (req: Request, res: Response) => {
await updateExecutivePositionOfMember(req, res);
});
router.patch("/:memberId/communication/:communicationId", async (req: Request, res: Response) => {
await updateCommunicationOfMember(req, res);
});
router.delete("/:id", async (req: Request, res: Response) => {
await deleteMemberById(req, res);
});
router.delete("/:memberId/membership/:membershipId", async (req: Request, res: Response) => {
await deleteMembershipOfMember(req, res);
});
router.delete("/:memberId/award/:awardId", async (req: Request, res: Response) => {
await deleteAwardOfMember(req, res);
});
router.delete("/:memberId/qualification/:qualificationId", async (req: Request, res: Response) => {
await deleteQualificationOfMember(req, res);
});
router.delete("/:memberId/position/:positionId", async (req: Request, res: Response) => {
await deleteExecutivePositionOfMember(req, res);
});
router.delete("/:memberId/communication/:communicationId", async (req: Request, res: Response) => {
await deleteCommunicationOfMember(req, res);
});
export default router;