import { Request, Response } from "express"; import MembershipStatusService from "../../service/membershipStatusService"; import MembershipStatusFactory from "../../factory/admin/membershipStatus"; import { CreateMembershipStatusCommand, DeleteMembershipStatusCommand, UpdateMembershipStatusCommand, } from "../../command/membershipStatusCommand"; import MembershipStatusCommandHandler from "../../command/membershipStatusCommandHandler"; /** * @description get all membershipStatus * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getAllMembershipStatus(req: Request, res: Response): Promise { let status = await MembershipStatusService.getAll(); res.json(MembershipStatusFactory.mapToBase(status)); } /** * @description get membershipStatus by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getMembershipStatusById(req: Request, res: Response): Promise { const id = parseInt(req.params.id); let status = await MembershipStatusService.getById(id); res.json(MembershipStatusFactory.mapToSingle(status)); } /** * @description create new membershipStatus * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function createMembershipStatus(req: Request, res: Response): Promise { const membershipStatus = req.body.membershipStatus; let createMembershipStatus: CreateMembershipStatusCommand = { status: membershipStatus, }; await MembershipStatusCommandHandler.create(createMembershipStatus); res.sendStatus(204); } /** * @description update membershipStatus * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateMembershipStatus(req: Request, res: Response): Promise { const id = parseInt(req.params.id); const membershipStatus = req.body.membershipStatus; let updateMembershipStatus: UpdateMembershipStatusCommand = { id: id, status: membershipStatus, }; await MembershipStatusCommandHandler.update(updateMembershipStatus); res.sendStatus(204); } /** * @description delete membershipStatus * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteMembershipStatus(req: Request, res: Response): Promise { const id = parseInt(req.params.id); let deleteMembershipStatus: DeleteMembershipStatusCommand = { id: id, }; await MembershipStatusCommandHandler.delete(deleteMembershipStatus); res.sendStatus(204); }