import { Request, Response } from "express"; import MemberService from "../../service/memberService"; import MemberFactory from "../../factory/admin/member"; import MembershipService from "../../service/membershipService"; import MembershipFactory from "../../factory/admin/membership"; import MemberAwardService from "../../service/memberAwardService"; import MemberAwardFactory from "../../factory/admin/memberAward"; import MemberQualificationService from "../../service/memberQualificationService"; import MemberQualificationFactory from "../../factory/admin/memberQualification"; import MemberExecutivePositionService from "../../service/memberExecutivePositionService"; import MemberExecutivePositionFactory from "../../factory/admin/memberExecutivePosition"; import CommunicationService from "../../service/communicationService"; import CommunicationFactory from "../../factory/admin/communication"; /** * @description get all members * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getAllMembers(req: Request, res: Response): Promise { let offset = parseInt((req.query.offset as string) ?? "0"); let count = parseInt((req.query.count as string) ?? "25"); let [members, total] = await MemberService.getAll(offset, count); res.json({ members: MemberFactory.mapToBase(members), total: total, offset: offset, count: count, }); } /** * @description get member by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getMemberById(req: Request, res: Response): Promise { const memberId = parseInt(req.params.id); let member = await MemberService.getById(memberId); res.json(MemberFactory.mapToSingle(member)); } /** * @description get memberships by member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getMembershipsByMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); let memberships = await MembershipService.getAll(memberId); res.json(MembershipFactory.mapToBase(memberships)); } /** * @description get awards by member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getAwardsByMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); let awards = await MemberAwardService.getAll(memberId); res.json(MemberAwardFactory.mapToBase(awards)); } /** * @description get qualifications by member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getQualificationsByMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); let qualifications = await MemberQualificationService.getAll(memberId); res.json(MemberQualificationFactory.mapToBase(qualifications)); } /** * @description get executive positions by member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getExecutivePositionsByMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); let positions = await MemberExecutivePositionService.getAll(memberId); res.json(MemberExecutivePositionFactory.mapToBase(positions)); } /** * @description get communications by member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getCommunicationsByMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); let communications = await CommunicationService.getAll(memberId); res.json(CommunicationFactory.mapToBase(communications)); } /** * @description create member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function createMember(req: Request, res: Response): Promise { const salutation = req.body.salutation; const firstname = req.body.firstname; const lastname = req.body.lastname; const nameaffix = req.body.nameaffix; const birthdate = req.body.birthdate; res.status(200).send(0); } /** * @description add memberships to member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function addMembershipToMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); res.sendStatus(204); } /** * @description add awards to member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function addAwardToMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); res.sendStatus(204); } /** * @description add qualifications to member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function addQualificationToMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); res.sendStatus(204); } /** * @description add executive positions to member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function addExecutivePositionToMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); res.sendStatus(204); } /** * @description add communications to member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function addCommunicationToMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); res.sendStatus(204); } /** * @description update member by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateMemberById(req: Request, res: Response): Promise { const memberId = parseInt(req.params.id); const salutation = req.body.salutation; const firstname = req.body.firstname; const lastname = req.body.lastname; const nameaffix = req.body.nameaffix; const birthdate = req.body.birthdate; res.sendStatus(204); } /** * @description update membership of member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateMembershipOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description update award of member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateAwardOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description update qualification of member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateQualificationOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description update executive position of member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateExecutivePositionOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description update communication of member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateCommunicationOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description delete member by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteMemberById(req: Request, res: Response): Promise { const memberId = parseInt(req.params.id); res.sendStatus(204); } /** * @description delete membership from member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteMembershipOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description delete award from member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteAwardOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description delete qualification from member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteQualificationOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description delete executive position from member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteExecutivePositionOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); } /** * @description delete communication from member * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteCommunicationOfMember(req: Request, res: Response): Promise { const memberId = parseInt(req.params.memberId); const recordId = parseInt(req.params.recordId); res.sendStatus(204); }