From 15b04f4fee4a24e52488a13d31a8330a6efa6001 Mon Sep 17 00:00:00 2001 From: Agustin Ruiz Diaz <agustin.ruiz.diaz@fing.edu.uy> Date: Thu, 7 Oct 2021 10:16:14 -0300 Subject: [PATCH] getParameters on Controller --- src/Controllers/ParameterController.ts | 14 ++++++++++++- src/Services/ParameterService.ts | 27 ++++++++++++++++++++------ 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/Controllers/ParameterController.ts b/src/Controllers/ParameterController.ts index 0166c4f..cfc9325 100644 --- a/src/Controllers/ParameterController.ts +++ b/src/Controllers/ParameterController.ts @@ -7,6 +7,17 @@ import ParameterService from '../Services/ParameterService'; const router = Router(); +const getParameters: Handler = async (req: Request, res: Response) => { + try { + const parameters = await ParameterService.getParameters(); + return res.status(200).send(parameters); + } catch (error) { + const e = error as Error; + logger.info(e.message); + return res.status(400).json({ error: e.message }); + } +}; + const getParametersOfType: Handler = async (req: Request, res: Response) => { const { paramType } = req.body; try { @@ -19,6 +30,7 @@ const getParametersOfType: Handler = async (req: Request, res: Response) => { } }; -router.post('/', getParametersOfType); +router.post('/', getParameters); +router.post('/type/', getParametersOfType); export default router; diff --git a/src/Services/ParameterService.ts b/src/Services/ParameterService.ts index ccd5b73..9af098d 100644 --- a/src/Services/ParameterService.ts +++ b/src/Services/ParameterService.ts @@ -1,6 +1,5 @@ import ParameterDTO from '../DTOs/ParameterDTO'; import AgeBracket from '../Enum/AgeBracket'; -import ParameterType from '../Enum/ParameterType'; import Sex from '../Enum/Sex'; import ParameterMapper from '../Mappers/ParameterMapper'; import Parameter from '../Models/Parameter'; @@ -337,16 +336,32 @@ const getEquationValues = (ageBracket: AgeBracket, sex: Sex): number[] => { return res; }; -const getParametersOfType = async (paramType: ParameterType): Promise<ParameterDTO[]> => { +const getParameters = async (): Promise<ParameterDTO[]> => { const res: ParameterDTO[] = []; - const estaChota = Parameter.findAll() - .then((parameters) => parameters.forEach((param: Parameter) => { + await Parameter.findAll().then((parameters: Parameter[]) => { + parameters.forEach((param: Parameter) => { res.push(ParameterMapper.parameterToData(param)); - })) + }); + }); + return res; +}; + +const getParametersOfType = async (paramType: string): Promise<ParameterDTO[]> => { + const res: ParameterDTO[] = []; + await Parameter.findAll({ + where: { + parameterType: paramType, + }, + }) + .then((parameters: Parameter[]) => { + parameters.forEach((param: Parameter) => { + res.push(ParameterMapper.parameterToData(param)); + }); + }) .catch((err) => { throw new Error(err); }); return res; }; -export default { getEquationValues, getParametersOfType }; +export default { getEquationValues, getParameters, getParametersOfType }; -- GitLab