103 lines
3.1 KiB
TypeScript
103 lines
3.1 KiB
TypeScript
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<any> {
|
|
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<any> {
|
|
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<any> {
|
|
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<any> {
|
|
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<any> {
|
|
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<any> {
|
|
const id = parseInt(req.params.id);
|
|
|
|
let deleteQualification: DeleteQualificationCommand = {
|
|
id: id,
|
|
};
|
|
await QualificationCommandHandler.delete(deleteQualification);
|
|
|
|
res.sendStatus(204);
|
|
}
|