2024-09-16 10:37:06 +00:00
|
|
|
import { Request, Response } from "express";
|
|
|
|
import MemberService from "../../service/memberService";
|
|
|
|
import MemberFactory from "../../factory/admin/member";
|
2024-09-16 14:00:05 +00:00
|
|
|
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";
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @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<any> {
|
2024-09-16 16:00:00 +00:00
|
|
|
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);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
2024-09-16 16:00:00 +00:00
|
|
|
res.json({
|
|
|
|
members: MemberFactory.mapToBase(members),
|
|
|
|
total: total,
|
|
|
|
offset: offset,
|
|
|
|
count: count,
|
|
|
|
});
|
2024-09-16 10:37:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.id);
|
|
|
|
let member = await MemberService.getById(memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 14:00:05 +00:00
|
|
|
let memberships = await MembershipService.getAll(memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
2024-09-16 14:00:05 +00:00
|
|
|
res.json(MembershipFactory.mapToBase(memberships));
|
2024-09-16 10:37:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 14:00:05 +00:00
|
|
|
let awards = await MemberAwardService.getAll(memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
2024-09-16 14:00:05 +00:00
|
|
|
res.json(MemberAwardFactory.mapToBase(awards));
|
2024-09-16 10:37:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 14:00:05 +00:00
|
|
|
let qualifications = await MemberQualificationService.getAll(memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
2024-09-16 14:00:05 +00:00
|
|
|
res.json(MemberQualificationFactory.mapToBase(qualifications));
|
2024-09-16 10:37:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 14:00:05 +00:00
|
|
|
let positions = await MemberExecutivePositionService.getAll(memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
2024-09-16 14:00:05 +00:00
|
|
|
res.json(MemberExecutivePositionFactory.mapToBase(positions));
|
2024-09-16 10:37:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 14:00:05 +00:00
|
|
|
let communications = await CommunicationService.getAll(memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
2024-09-16 14:00:05 +00:00
|
|
|
res.json(CommunicationFactory.mapToBase(communications));
|
2024-09-16 10:37:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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<any> {
|
2024-09-18 07:43:02 +00:00
|
|
|
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;
|
|
|
|
|
2024-09-16 10:37:06 +00:00
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.id);
|
2024-09-18 07:43:02 +00:00
|
|
|
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;
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.id);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
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<any> {
|
2024-09-16 13:55:41 +00:00
|
|
|
const memberId = parseInt(req.params.memberId);
|
|
|
|
const recordId = parseInt(req.params.recordId);
|
2024-09-16 10:37:06 +00:00
|
|
|
|
|
|
|
res.sendStatus(204);
|
|
|
|
}
|