import { Request, Response } from "express"; import QualificationService from "../../service/qualification"; import QualificationFactory from "../../factory/admin/qualification"; import { CreateQualificationCommand, DeleteQualificationCommand, UpdateQualificationCommand, } from "../../command/qualificationCommand"; import QualificationCommandHandler from "../../command/qualificationCommandHandler"; /** * @description get all qualifications * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getAllQualifications(req: Request, res: Response): Promise { let qualifications = await QualificationService.getAll(); res.json(QualificationFactory.mapToBase(qualifications)); } /** * @description get qualification by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getQualificationById(req: Request, res: Response): Promise { const id = parseInt(req.params.id); let qualification = await QualificationService.getById(id); res.json(QualificationFactory.mapToSingle(qualification)); } /** * @description get members assigned to qualification by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getQualificationAssignedMembers(req: Request, res: Response): Promise { const qualificationId = parseInt(req.params.id); res.json({}); } /** * @description create new qualification * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function createQualification(req: Request, res: Response): Promise { const qualification = req.body.qualification; const description = req.body.description; let createQualification: CreateQualificationCommand = { qualification: qualification, description: description, }; await QualificationCommandHandler.create(createQualification); res.sendStatus(204); } /** * @description update qualification * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateQualification(req: Request, res: Response): Promise { const id = parseInt(req.params.id); const qualification = req.body.qualification; const description = req.body.description; let updateQualification: UpdateQualificationCommand = { id: id, qualification: qualification, description: description, }; await QualificationCommandHandler.update(updateQualification); res.sendStatus(204); } /** * @description delete qualification * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteQualification(req: Request, res: Response): Promise { const id = parseInt(req.params.id); let deleteQualification: DeleteQualificationCommand = { id: id, }; await QualificationCommandHandler.delete(deleteQualification); res.sendStatus(204); }