add some description entries for the UI
This commit is contained in:
@@ -31,6 +31,7 @@ import { CoordinateConverter, WaypointConverter } from '../generic/converters';
|
|||||||
import { ActiveRunwaysDto } from './dto/activerunways.dto';
|
import { ActiveRunwaysDto } from './dto/activerunways.dto';
|
||||||
import { Runway } from './models/runway.model';
|
import { Runway } from './models/runway.model';
|
||||||
import { RunwayDto } from './dto/runway.dto';
|
import { RunwayDto } from './dto/runway.dto';
|
||||||
|
import { AirportOverviewDto } from './dto/airportoverview.dto';
|
||||||
|
|
||||||
@Controller('airport')
|
@Controller('airport')
|
||||||
export class AirportController {
|
export class AirportController {
|
||||||
@@ -136,6 +137,8 @@ export class AirportController {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
icao: airport.icao,
|
icao: airport.icao,
|
||||||
|
name: airport.name,
|
||||||
|
flightInformationRegion: airport.flightInformationRegion,
|
||||||
location: WaypointConverter.convert<WaypointDto, CoordinateDto>(
|
location: WaypointConverter.convert<WaypointDto, CoordinateDto>(
|
||||||
airport.location,
|
airport.location,
|
||||||
),
|
),
|
||||||
@@ -166,6 +169,8 @@ export class AirportController {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
icao: airport.icao,
|
icao: airport.icao,
|
||||||
|
name: airport.name,
|
||||||
|
flightInformationRegion: airport.flightInformationRegion,
|
||||||
location: WaypointConverter.convert<Waypoint, Coordinate>(
|
location: WaypointConverter.convert<Waypoint, Coordinate>(
|
||||||
airport.location,
|
airport.location,
|
||||||
),
|
),
|
||||||
@@ -241,14 +246,14 @@ export class AirportController {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get('/allCodes')
|
@Get('/all')
|
||||||
@ApiResponse({
|
@ApiResponse({
|
||||||
status: 200,
|
status: 200,
|
||||||
description: 'All available airports',
|
description: 'All available airports',
|
||||||
type: [String],
|
type: [AirportOverviewDto],
|
||||||
})
|
})
|
||||||
async allCodes(): Promise<string[]> {
|
async all(): Promise<AirportOverviewDto[]> {
|
||||||
return this.airportService.airportsList();
|
return this.airportService.allAirports();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get('/get')
|
@Get('/get')
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common';
|
|||||||
import { InjectModel } from '@nestjs/mongoose';
|
import { InjectModel } from '@nestjs/mongoose';
|
||||||
import { Model } from 'mongoose';
|
import { Model } from 'mongoose';
|
||||||
import { ActiveRunwaysDto } from './dto/activerunways.dto';
|
import { ActiveRunwaysDto } from './dto/activerunways.dto';
|
||||||
|
import { AirportOverviewDto } from './dto/airportoverview.dto';
|
||||||
import { Airport, AirportDocument } from './models/airport.model';
|
import { Airport, AirportDocument } from './models/airport.model';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
@@ -17,11 +18,17 @@ export class AirportService {
|
|||||||
.then((response) => response && response.length !== 0);
|
.then((response) => response && response.length !== 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
async airportsList(): Promise<string[]> {
|
async allAirports(): Promise<AirportOverviewDto[]> {
|
||||||
return this.airportModel.find({}).then((response) => {
|
return this.airportModel.find({}).then((response) => {
|
||||||
const icaoCodes: string[] = [];
|
const retval: AirportOverviewDto[] = [];
|
||||||
response.forEach((airport) => icaoCodes.push(airport.icao));
|
response.forEach((airport) =>
|
||||||
return icaoCodes;
|
retval.push({
|
||||||
|
icao: airport.icao,
|
||||||
|
name: airport.name,
|
||||||
|
flightInformationRegion: airport.flightInformationRegion,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
return retval;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,20 @@ export class AirportDto {
|
|||||||
})
|
})
|
||||||
icao: string;
|
icao: string;
|
||||||
|
|
||||||
|
@IsNotEmpty()
|
||||||
|
@ApiProperty({
|
||||||
|
description: 'The name of the airport',
|
||||||
|
example: 'Berlin Brandenburg',
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@IsNotEmpty()
|
||||||
|
@ApiProperty({
|
||||||
|
description: 'The flight information region (FIR)',
|
||||||
|
example: 'FIR Bremen',
|
||||||
|
})
|
||||||
|
flightInformationRegion: string;
|
||||||
|
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
description: 'The airport location',
|
description: 'The airport location',
|
||||||
|
|||||||
25
src/airport/dto/airportoverview.dto.ts
Normal file
25
src/airport/dto/airportoverview.dto.ts
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
import { IsNotEmpty } from 'class-validator';
|
||||||
|
import { ApiProperty } from '@nestjs/swagger';
|
||||||
|
|
||||||
|
export class AirportOverviewDto {
|
||||||
|
@IsNotEmpty()
|
||||||
|
@ApiProperty({
|
||||||
|
description: 'The unique ICAO code',
|
||||||
|
example: 'EDDB',
|
||||||
|
})
|
||||||
|
icao: string;
|
||||||
|
|
||||||
|
@IsNotEmpty()
|
||||||
|
@ApiProperty({
|
||||||
|
description: 'The name of the airport',
|
||||||
|
example: 'Berlin Brandenburg',
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@IsNotEmpty()
|
||||||
|
@ApiProperty({
|
||||||
|
description: 'The flight information region (FIR)',
|
||||||
|
example: 'FIR Bremen',
|
||||||
|
})
|
||||||
|
flightInformationRegion: string;
|
||||||
|
}
|
||||||
@@ -18,6 +18,18 @@ export class Airport {
|
|||||||
})
|
})
|
||||||
icao: string;
|
icao: string;
|
||||||
|
|
||||||
|
@Prop({
|
||||||
|
required: true,
|
||||||
|
type: String,
|
||||||
|
})
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@Prop({
|
||||||
|
required: true,
|
||||||
|
type: String,
|
||||||
|
})
|
||||||
|
flightInformationRegion: string;
|
||||||
|
|
||||||
@Prop({
|
@Prop({
|
||||||
required: true,
|
required: true,
|
||||||
type: Waypoint,
|
type: Waypoint,
|
||||||
|
|||||||
Reference in New Issue
Block a user