import express, {Request, Response} from "express"; import {AirportService} from "../services/airport.service"; import {StatusCodes} from "http-status-codes"; import {AirportModel} from "../models/airport.model"; const router = express.Router() router.get('/', async (req : Request, res: Response) : Promise => { const icaoCode = req.query.icaoCodes; if(icaoCode === undefined || !icaoCode) { const airports = await AirportService.getAll(); res.status(StatusCodes.OK).json(airports); return; } else { const codes = await AirportService.getIcaoCodes(); res.status(StatusCodes.OK).json(codes); return ; } }); router.get('/:icaoCode', async (req : Request<{icaoCode : string}>, res: Response) : Promise => { const icaoCode: string = req.params.icaoCode; if(icaoCode === undefined || icaoCode.length != 4){ res.sendStatus(StatusCodes.BAD_REQUEST); return ; } const airport : AirportModel | null = await AirportService.getOne(icaoCode); if(airport === null) { res.sendStatus(StatusCodes.NO_CONTENT); } res.status(200).json(airport); }); export default router;