1- import { RogerPlugin , RogerPluginMeasure } from '@shared/interfaces/rogerPlugin.interface' ;
2- import { NextFunction , Request , Response } from "express" ;
3- import ecfmpService from "../services/ecfmp.service" ;
1+ import {
2+ RogerPlugin ,
3+ RogerPluginMeasure ,
4+ } from '@shared/interfaces/rogerPlugin.interface' ;
5+ import { NextFunction , Request , Response } from 'express' ;
6+ import ecfmpService from '../services/ecfmp.service' ;
47import { EcfmpMeasure } from '@shared/interfaces/ecfmp.interface' ;
58import { APIError } from '@shared/errors' ;
69
@@ -9,7 +12,6 @@ export async function getAllMeasures(
912 res : Response ,
1013 next : NextFunction
1114) {
12-
1315 try {
1416 const measures = await ecfmpService . getAllMeasures ( ) ;
1517
@@ -27,23 +29,29 @@ export async function getLegacyMeasures(
2729 let aerodromes = req . query . aerodromes ;
2830
2931 if ( aerodromes == null ) {
30- return next ( new APIError ( "aerodromes is a required query parameter" , null , 400 ) ) ;
32+ return next (
33+ new APIError ( 'aerodromes is a required query parameter' , null , 400 )
34+ ) ;
3135 }
3236
3337 if ( Array . isArray ( aerodromes ) ) {
34- return next ( new APIError ( "aerodromes must be a comma-separated string of ICAO-codes" , null , 400 ) ) ;
38+ return next (
39+ new APIError (
40+ 'aerodromes must be a comma-separated string of ICAO-codes' ,
41+ null ,
42+ 400
43+ )
44+ ) ;
3545 }
3646
37- let relevantAerodromes = aerodromes . toString ( ) . split ( "," ) ;
47+ let relevantAerodromes = aerodromes . toString ( ) . split ( ',' ) ;
3848
3949 try {
4050 const measures = await ecfmpService . getAllMeasures ( ) ;
4151
42- const legacyMeasures : RogerPlugin = { MDI : [ ] } ;
43-
44-
52+ const legacyMeasures : RogerPlugin = { MDI : [ ] } ;
4553
46- /* measures.forEach((element: EcfmpMeasure) => {
54+ /* measures.forEach((element: EcfmpMeasure) => {
4755 if (element.measure.type != "minimum_departure_interval") {return;}
4856
4957 let thisMeasure: RogerPluginMeasure = {
@@ -68,9 +76,21 @@ export async function getLegacyMeasures(
6876 }
6977}
7078
71- export async function editMeasure ( req : Request , res : Response , next : NextFunction ) {
79+ export async function editMeasure (
80+ req : Request ,
81+ res : Response ,
82+ next : NextFunction
83+ ) {
7284 try {
73- const measure = await ecfmpService . editMeasure ( req . body ) ;
85+ const { id } = req . params ;
86+
87+ const numId = Number ( id ) ;
88+
89+ if ( Number . isNaN ( numId ) ) {
90+ return res . status ( 400 ) . json ( { msg : 'id must be numeric' } ) ;
91+ }
92+
93+ const measure = await ecfmpService . editMeasure ( numId , req . body ) ;
7494
7595 res . json ( measure ) ;
7696 } catch ( error ) {
0 commit comments