ff-admin-server/src/controller/admin/qualificationController.ts

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);
}