airport.model.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
  2. import { Document } from 'mongoose';
  3. import { ArrivalRoute, ArrivalRouteSchema } from './arrivalroute.model';
  4. import { Constraint, ConstraintSchema } from './constraint.model';
  5. import { Planning, PlanningSchema } from './planning.model';
  6. import { RunwaySpacing, RunwaySpacingSchema } from './runwayspacing.model';
  7. import { Waypoint } from '../../models/waypoint.model';
  8. export type AirportDocument = Airport & Document;
  9. @Schema()
  10. export class Airport {
  11. @Prop({
  12. required: true,
  13. type: String,
  14. })
  15. icao: string;
  16. @Prop({
  17. required: true,
  18. type: Waypoint,
  19. })
  20. location: Waypoint;
  21. @Prop({
  22. required: true,
  23. type: Number,
  24. })
  25. elevation: number;
  26. @Prop({
  27. type: [ConstraintSchema],
  28. })
  29. upperConstraints: Constraint[];
  30. @Prop({
  31. required: true,
  32. type: [ArrivalRouteSchema],
  33. })
  34. arrivalRoutes: ArrivalRoute[];
  35. @Prop({
  36. required: true,
  37. type: [RunwaySpacingSchema],
  38. })
  39. spacings: RunwaySpacing[];
  40. @Prop({
  41. required: true,
  42. type: PlanningSchema,
  43. })
  44. planning: Planning;
  45. }
  46. export const AirportSchema = SchemaFactory.createForClass(Airport);