import { Request, Response } from "express"; import ExecutivePositionService from "../../service/executivePositionService"; import ExecutivePositionFactory from "../../factory/admin/executivePosition"; import { CreateExecutivePositionCommand, DeleteExecutivePositionCommand, UpdateExecutivePositionCommand, } from "../../command/executivePositionCommand"; import ExecutivePositionCommandHandler from "../../command/executivePositionCommandHandler"; /** * @description get all executivePositions * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getAllExecutivePositions(req: Request, res: Response): Promise { let positions = await ExecutivePositionService.getAll(); res.json(ExecutivePositionFactory.mapToBase(positions)); } /** * @description get executivePosition by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getExecutivePositionById(req: Request, res: Response): Promise { const id = parseInt(req.params.id); let position = await ExecutivePositionService.getById(id); res.json(ExecutivePositionFactory.mapToSingle(position)); } /** * @description create new executivePosition * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function createExecutivePosition(req: Request, res: Response): Promise { const executivePosition = req.body.executivePosition; let createExecutivePosition: CreateExecutivePositionCommand = { position: executivePosition, }; await ExecutivePositionCommandHandler.create(createExecutivePosition); res.sendStatus(204); } /** * @description update executivePosition * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function updateExecutivePosition(req: Request, res: Response): Promise { const id = parseInt(req.params.id); const executivePosition = req.body.executivePosition; let updateExecutivePosition: UpdateExecutivePositionCommand = { id: id, position: executivePosition, }; await ExecutivePositionCommandHandler.update(updateExecutivePosition); res.sendStatus(204); } /** * @description delete executivePosition * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteExecutivePosition(req: Request, res: Response): Promise { const id = parseInt(req.params.id); let deleteExecutivePosition: DeleteExecutivePositionCommand = { id: id, }; await ExecutivePositionCommandHandler.delete(deleteExecutivePosition); res.sendStatus(204); }