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 { Runway } from './models/runway.model';
|
||||
import { RunwayDto } from './dto/runway.dto';
|
||||
import { AirportOverviewDto } from './dto/airportoverview.dto';
|
||||
|
||||
@Controller('airport')
|
||||
export class AirportController {
|
||||
@@ -136,6 +137,8 @@ export class AirportController {
|
||||
|
||||
return {
|
||||
icao: airport.icao,
|
||||
name: airport.name,
|
||||
flightInformationRegion: airport.flightInformationRegion,
|
||||
location: WaypointConverter.convert<WaypointDto, CoordinateDto>(
|
||||
airport.location,
|
||||
),
|
||||
@@ -166,6 +169,8 @@ export class AirportController {
|
||||
|
||||
return {
|
||||
icao: airport.icao,
|
||||
name: airport.name,
|
||||
flightInformationRegion: airport.flightInformationRegion,
|
||||
location: WaypointConverter.convert<Waypoint, Coordinate>(
|
||||
airport.location,
|
||||
),
|
||||
@@ -241,14 +246,14 @@ export class AirportController {
|
||||
});
|
||||
}
|
||||
|
||||
@Get('/allCodes')
|
||||
@Get('/all')
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
description: 'All available airports',
|
||||
type: [String],
|
||||
type: [AirportOverviewDto],
|
||||
})
|
||||
async allCodes(): Promise<string[]> {
|
||||
return this.airportService.airportsList();
|
||||
async all(): Promise<AirportOverviewDto[]> {
|
||||
return this.airportService.allAirports();
|
||||
}
|
||||
|
||||
@Get('/get')
|
||||
|
||||
@@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common';
|
||||
import { InjectModel } from '@nestjs/mongoose';
|
||||
import { Model } from 'mongoose';
|
||||
import { ActiveRunwaysDto } from './dto/activerunways.dto';
|
||||
import { AirportOverviewDto } from './dto/airportoverview.dto';
|
||||
import { Airport, AirportDocument } from './models/airport.model';
|
||||
|
||||
@Injectable()
|
||||
@@ -17,11 +18,17 @@ export class AirportService {
|
||||
.then((response) => response && response.length !== 0);
|
||||
}
|
||||
|
||||
async airportsList(): Promise<string[]> {
|
||||
async allAirports(): Promise<AirportOverviewDto[]> {
|
||||
return this.airportModel.find({}).then((response) => {
|
||||
const icaoCodes: string[] = [];
|
||||
response.forEach((airport) => icaoCodes.push(airport.icao));
|
||||
return icaoCodes;
|
||||
const retval: AirportOverviewDto[] = [];
|
||||
response.forEach((airport) =>
|
||||
retval.push({
|
||||
icao: airport.icao,
|
||||
name: airport.name,
|
||||
flightInformationRegion: airport.flightInformationRegion,
|
||||
}),
|
||||
);
|
||||
return retval;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,20 @@ export class AirportDto {
|
||||
})
|
||||
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()
|
||||
@ApiProperty({
|
||||
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;
|
||||
|
||||
@Prop({
|
||||
required: true,
|
||||
type: String,
|
||||
})
|
||||
name: string;
|
||||
|
||||
@Prop({
|
||||
required: true,
|
||||
type: String,
|
||||
})
|
||||
flightInformationRegion: string;
|
||||
|
||||
@Prop({
|
||||
required: true,
|
||||
type: Waypoint,
|
||||
|
||||
Reference in New Issue
Block a user