235 lines
6.4 KiB
TypeScript
235 lines
6.4 KiB
TypeScript
import express, { Request, Response } from "express";
|
|
import {
|
|
addAwardToMember,
|
|
addCommunicationToMember,
|
|
addExecutivePositionToMember,
|
|
addMembershipToMember,
|
|
addQualificationToMember,
|
|
createMember,
|
|
createMemberPrintoutList,
|
|
deleteAwardOfMember,
|
|
deleteCommunicationOfMember,
|
|
deleteExecutivePositionOfMember,
|
|
deleteMemberById,
|
|
deleteMembershipOfMember,
|
|
deleteQualificationOfMember,
|
|
getAllMembers,
|
|
getAwardByMemberAndRecord,
|
|
getAwardsByMember,
|
|
getCommunicationByMemberAndRecord,
|
|
getCommunicationsByMember,
|
|
getExecutivePositionByMemberAndRecord,
|
|
getExecutivePositionsByMember,
|
|
getMemberById,
|
|
getMembershipByMemberAndRecord,
|
|
getMembershipsByMember,
|
|
getQualificationByMemberAndRecord,
|
|
getQualificationsByMember,
|
|
updateAwardOfMember,
|
|
updateCommunicationOfMember,
|
|
updateExecutivePositionOfMember,
|
|
updateMemberById,
|
|
updateMembershipOfMember,
|
|
updateQualificationOfMember,
|
|
} from "../../../controller/admin/club/memberController";
|
|
import PermissionHelper from "../../../helpers/permissionHelper";
|
|
|
|
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("/print/namelist", async (req: Request, res: Response) => {
|
|
await createMemberPrintoutList(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/memberships", async (req: Request, res: Response) => {
|
|
await getMembershipsByMember(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/membership/:id", async (req: Request, res: Response) => {
|
|
await getMembershipByMemberAndRecord(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/awards", async (req: Request, res: Response) => {
|
|
await getAwardsByMember(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/award/:id", async (req: Request, res: Response) => {
|
|
await getAwardByMemberAndRecord(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/qualifications", async (req: Request, res: Response) => {
|
|
await getQualificationsByMember(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/qualification/:id", async (req: Request, res: Response) => {
|
|
await getQualificationByMemberAndRecord(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/positions", async (req: Request, res: Response) => {
|
|
await getExecutivePositionsByMember(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/position/:id", async (req: Request, res: Response) => {
|
|
await getExecutivePositionByMemberAndRecord(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/communications", async (req: Request, res: Response) => {
|
|
await getCommunicationsByMember(req, res);
|
|
});
|
|
|
|
router.get("/:memberId/communication/:id", async (req: Request, res: Response) => {
|
|
await getCommunicationByMemberAndRecord(req, res);
|
|
});
|
|
|
|
router.post(
|
|
"/",
|
|
PermissionHelper.passCheckMiddleware("create", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await createMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.post(
|
|
"/:memberId/membership",
|
|
PermissionHelper.passCheckMiddleware("create", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await addMembershipToMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.post(
|
|
"/:memberId/award",
|
|
PermissionHelper.passCheckMiddleware("create", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await addAwardToMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.post(
|
|
"/:memberId/qualification",
|
|
PermissionHelper.passCheckMiddleware("create", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await addQualificationToMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.post(
|
|
"/:memberId/position",
|
|
PermissionHelper.passCheckMiddleware("create", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await addExecutivePositionToMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.post(
|
|
"/:memberId/communication",
|
|
PermissionHelper.passCheckMiddleware("create", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await addCommunicationToMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.patch(
|
|
"/:id",
|
|
PermissionHelper.passCheckMiddleware("update", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await updateMemberById(req, res);
|
|
}
|
|
);
|
|
|
|
router.patch(
|
|
"/:memberId/membership/:recordId",
|
|
PermissionHelper.passCheckMiddleware("update", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await updateMembershipOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.patch(
|
|
"/:memberId/award/:recordId",
|
|
PermissionHelper.passCheckMiddleware("update", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await updateAwardOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.patch(
|
|
"/:memberId/qualification/:recordId",
|
|
PermissionHelper.passCheckMiddleware("update", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await updateQualificationOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.patch(
|
|
"/:memberId/position/:recordId",
|
|
PermissionHelper.passCheckMiddleware("update", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await updateExecutivePositionOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.patch(
|
|
"/:memberId/communication/:recordId",
|
|
PermissionHelper.passCheckMiddleware("update", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await updateCommunicationOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.delete(
|
|
"/:id",
|
|
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await deleteMemberById(req, res);
|
|
}
|
|
);
|
|
|
|
router.delete(
|
|
"/:memberId/membership/:recordId",
|
|
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await deleteMembershipOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.delete(
|
|
"/:memberId/award/:recordId",
|
|
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await deleteAwardOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.delete(
|
|
"/:memberId/qualification/:recordId",
|
|
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await deleteQualificationOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.delete(
|
|
"/:memberId/position/:recordId",
|
|
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await deleteExecutivePositionOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
router.delete(
|
|
"/:memberId/communication/:recordId",
|
|
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
|
|
async (req: Request, res: Response) => {
|
|
await deleteCommunicationOfMember(req, res);
|
|
}
|
|
);
|
|
|
|
export default router;
|