Skip to content
Snippets Groups Projects
Commit ea6d2d66 authored by Agustin Ruiz Diaz Cambon's avatar Agustin Ruiz Diaz Cambon
Browse files

service async fix and get method for getParameters

parent e8087ea7
No related branches found
No related tags found
No related merge requests found
import { import {
Handler, Request, Response, Router, Handler, Request, Response, Router,
} from 'express'; } from 'express';
import { Validator } from 'express-json-validator-middleware'; import { Validator } from 'express-json-validator-middleware';
import ParameterType from '../Enum/ParameterType'; import ParameterType from '../Enum/ParameterType';
import logger from '../Logger/logger'; import logger from '../Logger/logger';
import updateParameterValueBody from '../Schemas/updateParameterValueBody'; import updateParameterValueBody from '../Schemas/updateParameterValueBody';
import ParameterService from '../Services/ParameterService'; import ParameterService from '../Services/ParameterService';
const router = Router(); const router = Router();
const { validate } = new Validator({}); const { validate } = new Validator({});
const getParameters: Handler = async (req: Request, res: Response) => { const getParameters: Handler = async (req: Request, res: Response) => {
try { try {
const parameters = await ParameterService.getParameters(); const parameters = await ParameterService.getParameters();
return res.status(200).send(parameters); return res.status(200).send(parameters);
} catch (error) { } catch (error) {
const e = error as Error; const e = error as Error;
logger.info(e.message); logger.info(e.message);
return res.status(400).json({ error: e.message }); return res.status(400).json({ error: e.message });
} }
}; };
const getDefaultWeights: Handler = async (req: Request, res: Response) => { const getDefaultWeights: Handler = async (req: Request, res: Response) => {
try { try {
const weights = await ParameterService.getDefaultWeights(); const weights = await ParameterService.getDefaultWeights();
return res.status(200).send(weights); return res.status(200).send(weights);
} catch (error) { } catch (error) {
const e = error as Error; const e = error as Error;
logger.info(e.message); logger.info(e.message);
return res.status(400).json({ error: e.message }); return res.status(400).json({ error: e.message });
} }
}; };
const getDefaultExtraData: Handler = async (req: Request, res: Response) => { const getDefaultExtraData: Handler = async (req: Request, res: Response) => {
try { try {
const weights = await ParameterService.getDefaultExtraData(); const weights = await ParameterService.getDefaultExtraData();
return res.status(200).send(weights); return res.status(200).send(weights);
} catch (error) { } catch (error) {
const e = error as Error; const e = error as Error;
logger.info(e.message); logger.info(e.message);
return res.status(400).json({ error: e.message }); return res.status(400).json({ error: e.message });
} }
}; };
const updateParameterValue: Handler = async (req: Request, res: Response) => { const updateParameterValue: Handler = async (req: Request, res: Response) => {
const { parameter } = req.body; const { parameter } = req.body;
try { try {
switch (parameter.parameterType) { switch (parameter.parameterType) {
case ParameterType.DefaultWeight: case ParameterType.DefaultWeight:
await ParameterService.updateDefaultWeight( await ParameterService.updateDefaultWeight(
parameter.ageRange, parameter.sex, parameter.value, parameter.ageRange, parameter.sex, parameter.value,
); );
break; break;
case ParameterType.MinorPAL: case ParameterType.MinorPAL:
case ParameterType.AdultPAL: case ParameterType.AdultPAL:
case ParameterType.Maternity: case ParameterType.Maternity:
await ParameterService.updateExtraData(parameter.id, parameter.value); await ParameterService.updateExtraData(parameter.id, parameter.value);
break; break;
case ParameterType.TEE: case ParameterType.TEE:
case ParameterType.BMR: case ParameterType.BMR:
await ParameterService.updateEquationConstant( await ParameterService.updateEquationConstant(
parameter.ageRange, parameter.sex, parameter.order, parameter.value, parameter.ageRange, parameter.sex, parameter.order, parameter.value,
); );
break; break;
default: default:
break; break;
} }
return res.status(200).send(); return res.status(200).send();
} catch (error) { } catch (error) {
const e = error as Error; const e = error as Error;
logger.info(e.message); logger.info(e.message);
return res.status(400).json({ error: e.message }); return res.status(400).json({ error: e.message });
} }
}; };
router.post('/', getParameters); router.get('/', getParameters);
router.post('/weights/', getDefaultWeights); router.post('/weights/', getDefaultWeights);
router.post('/extraData/', getDefaultExtraData); router.post('/extraData/', getDefaultExtraData);
router.put('/parameterUpdate/', validate({ body: updateParameterValueBody }), updateParameterValue); router.put('/parameterUpdate/', validate({ body: updateParameterValueBody }), updateParameterValue);
export default router; export default router;
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment