add all waypoints of the arrival routes
This commit is contained in:
@@ -22,6 +22,8 @@ import { Assignment } from './models/assignment.model';
|
||||
import { Constraint } from './models/constraint.model';
|
||||
import { Planning } from './models/planning.model';
|
||||
import { RunwaySpacing } from './models/runwayspacing.model';
|
||||
import { Waypoint } from './models/waypoint.model';
|
||||
import { WaypointDto } from './dto/waypoint.dto';
|
||||
|
||||
@Controller('airport')
|
||||
export class AirportController {
|
||||
@@ -53,7 +55,29 @@ export class AirportController {
|
||||
return retval;
|
||||
}
|
||||
|
||||
private static convertArrivalRoutes<T, U>(
|
||||
private static convertWaypoint<T>(waypoint: Waypoint | WaypointDto): T {
|
||||
return {
|
||||
identifier: waypoint.identifier,
|
||||
latitude: waypoint.latitude,
|
||||
longitude: waypoint.longitude,
|
||||
} as T;
|
||||
}
|
||||
|
||||
private static convertWaypoints<T>(
|
||||
waypoints: Waypoint[] | WaypointDto[],
|
||||
): T[] {
|
||||
const retval: T[] = [];
|
||||
waypoints.forEach((waypoint) =>
|
||||
retval.push({
|
||||
identifier: waypoint.identifier,
|
||||
latitude: waypoint.latitude,
|
||||
longitude: waypoint.longitude,
|
||||
} as T),
|
||||
);
|
||||
return retval;
|
||||
}
|
||||
|
||||
private static convertArrivalRoutes<T, C, W>(
|
||||
routes: ArrivalRoute[] | ArrivalRouteDto[],
|
||||
): T[] {
|
||||
const retval: T[] = [];
|
||||
@@ -61,7 +85,8 @@ export class AirportController {
|
||||
retval.push({
|
||||
arrival: route.runway,
|
||||
runway: route.runway,
|
||||
constraints: AirportController.convertConstraints<U>(route.constraints),
|
||||
waypoints: AirportController.convertWaypoints<W>(route.waypoints),
|
||||
constraints: AirportController.convertConstraints<C>(route.constraints),
|
||||
} as T),
|
||||
);
|
||||
return retval;
|
||||
@@ -115,12 +140,17 @@ export class AirportController {
|
||||
|
||||
return {
|
||||
icao: airport.icao,
|
||||
location: AirportController.convertWaypoint<WaypointDto>(
|
||||
airport.location,
|
||||
),
|
||||
elevation: airport.elevation,
|
||||
upperConstraints: AirportController.convertConstraints<ConstraintDto>(
|
||||
airport.upperConstraints,
|
||||
),
|
||||
arrivalRoutes: AirportController.convertArrivalRoutes<
|
||||
ArrivalRouteDto,
|
||||
ConstraintDto
|
||||
ConstraintDto,
|
||||
WaypointDto
|
||||
>(airport.arrivalRoutes),
|
||||
spacings: AirportController.convertRunwaySpacings<RunwaySpacingDto>(
|
||||
airport.spacings,
|
||||
@@ -136,12 +166,15 @@ export class AirportController {
|
||||
|
||||
return {
|
||||
icao: airport.icao,
|
||||
location: AirportController.convertWaypoint<Waypoint>(airport.location),
|
||||
elevation: airport.elevation,
|
||||
upperConstraints: AirportController.convertConstraints<Constraint>(
|
||||
airport.upperConstraints,
|
||||
),
|
||||
arrivalRoutes: AirportController.convertArrivalRoutes<
|
||||
ArrivalRoute,
|
||||
Constraint
|
||||
Constraint,
|
||||
Waypoint
|
||||
>(airport.arrivalRoutes),
|
||||
spacings: AirportController.convertRunwaySpacings<RunwaySpacing>(
|
||||
airport.spacings,
|
||||
|
||||
Reference in New Issue
Block a user