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

calculator route updated, AgeGroupJSON new definition, EnergeticRequirement...

calculator route updated, AgeGroupJSON new definition, EnergeticRequirement totalOfPeople field added, Parser updated.
parent 123b69cc
No related branches found
No related tags found
No related merge requests found
type AgeGroupJSON = {
edad: string;
sexo: string;
pesoMediano: number;
cantidad: number;
pesoMediano: string;
cantidad: string;
};
export default AgeGroupJSON;
type EnergeticRequirement = {
requerimientoEnergeticoPerCapita: number;
requerimientoEnergeticoTotal: number;
poblacionTotal: number;
};
export default EnergeticRequirement;
......@@ -76,6 +76,7 @@ const calculateER = (groupParameters: Map<number[], AgeGroup>): CalculatorRespon
const totalER: EnergeticRequirement = {
requerimientoEnergeticoPerCapita: totalRequirement / totalOfPeople,
requerimientoEnergeticoTotal: totalRequirement,
poblacionTotal: totalOfPeople,
};
const result: CalculatorResponse = {
......
......@@ -162,14 +162,15 @@ import Sex from '../Enum/Sex';
const parseGroups = (groups: AgeGroupJSON[]): AgeGroup[] => {
const retGroups: AgeGroup[] = [];
groups.forEach((obj: AgeGroupJSON) => {
if (typeof (obj.pesoMediano) !== 'number' || typeof (obj.cantidad) !== 'number') {
throw new Error('Parsing error, attributes do not respect format');
}
// if (typeof (obj.pesoMediano) !== 'number' || typeof (obj.cantidad) !== 'number') {
// console.log('Estas haciendo cualquiera flaco');
// throw new Error('Parsing error, attributes do not respect format');
// }
const group: AgeGroup = {
edad: obj.edad as AgeBracket,
sexo: obj.sexo as Sex,
pesoMediano: obj.pesoMediano,
cantidad: obj.cantidad,
pesoMediano: parseFloat(obj.pesoMediano),
cantidad: parseFloat(obj.cantidad),
};
retGroups.push(group);
});
......@@ -180,8 +181,8 @@ const unparseGroup = (group: AgeGroup): AgeGroupJSON => {
const retGroup: AgeGroupJSON = {
edad: group.edad as string,
sexo: group.sexo as string,
pesoMediano: group.pesoMediano,
cantidad: group.cantidad,
pesoMediano: String(group.pesoMediano),
cantidad: String(group.cantidad),
};
return retGroup;
};
......
import { Request, Response, Router } from 'express';
import SheetController from './Controllers/SheetController';
import CalculatorController from './Controllers/CalculatorController';
import ParameterController from './Controllers/ParameterController';
const router = Router();
......@@ -10,6 +11,8 @@ router.get('/', (req: Request, res: Response): void => {
router.use('/sheetParser', SheetController);
router.use('/REPcalculator', CalculatorController);
router.use('/repCalculator', CalculatorController);
router.use('/parameters', ParameterController);
export default router;
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