-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathent.graphql
392 lines (392 loc) · 14.2 KB
/
ent.graphql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
directive @goField(forceResolver: Boolean, name: String) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
directive @goModel(model: String, models: [String!]) on OBJECT | INPUT_OBJECT | SCALAR | ENUM | INTERFACE | UNION
type Airport {
"""The unique identifier of the record."""
id: ID!
"""The unique identifier of the import."""
importID: Int!
"""The last time the record was updated/created."""
lastUpdated: Time!
"""The four-letter ICAO code of the airport."""
icaoCode: String
"""The three-letter IATA code for the airport."""
iataCode: String
"""This will be the ICAO code if available. Otherwise, it will be a local airport code (if no conflict), or if nothing else is available, an internally-generated code starting with the ISO2 country code, followed by a dash and a four-digit number."""
identifier: String!
"""Type of airport."""
type: AirportType!
"""Importance of the airport."""
importance: Int!
"""The official airport name, including "Airport", "Airstrip", etc."""
name: String!
"""Latitude of the airport in decimal degrees (positive is north)."""
latitude: Float!
"""Longitude of the airport in decimal degrees (positive is east)."""
longitude: Float!
"""The timezone of the airport."""
timezone: String
"""Elevation of the airport, in feet."""
elevation: Int
"""The primary municipality that the airport serves (when available). Note that this is not necessarily the municipality where the airport is physically located."""
municipality: String
"""Whether the airport has scheduled airline service."""
scheduledService: Boolean!
"""The code that an aviation GPS database (such as Jeppesen's or Garmin's) would normally use for the airport. This will always be the ICAO code if one exists. Note that, unlike the ident column, this is not guaranteed to be globally unique."""
gpsCode: String
"""The local country code for the airport, if different from the gps_code and iata_code fields (used mainly for US airports)."""
localCode: String
"""The URL of the airport's website."""
website: String
"""The URL of the airport's Wikipedia page."""
wikipedia: String
"""Extra keywords/phrases to assist with search. May include former names for the airport, alternate codes, names in other languages, nearby tourist destinations, etc."""
keywords: [String!]!
"""The region that the airport is located in."""
region: Region
"""The country that the airport is located in."""
country: Country
"""Frequencies at the airport."""
frequencies: [Frequency!]
"""Weather station at the airport."""
station: WeatherStation
}
"""Ordering options for Airport connections"""
input AirportOrder {
"""The ordering direction."""
direction: OrderDirection! = ASC
"""The field by which to order Airports."""
field: AirportOrderField!
}
"""Properties by which Airport connections can be ordered."""
enum AirportOrderField {
ICAO_CODE
IMPORTANCE
}
"""AirportType is enum for the field type"""
enum AirportType @goModel(model: "metar.gg/ent/airport.Type") {
large_airport
medium_airport
small_airport
closed_airport
heliport
seaplane_base
}
type Country {
"""The unique identifier of the record."""
id: ID!
"""The unique identifier of the import."""
importID: Int!
"""The last time the record was updated/created."""
lastUpdated: Time!
"""The ISO 3166-1 alpha-2 code of the country. A handful of unofficial, non-ISO codes are also in use, such as "XK" for Kosovo."""
code: String!
"""The name of the country."""
name: String!
"""Where the airport is (primarily) located."""
continent: CountryContinent!
"""The wikipedia link of the country."""
wikipediaLink: String!
"""Keywords that can be used to search for the country."""
keywords: [String!]!
}
"""CountryContinent is enum for the field continent"""
enum CountryContinent @goModel(model: "metar.gg/ent/country.Continent") {
AF
AN
AS
EU
NA
SA
OC
}
type Forecast {
"""The unique identifier of the record."""
id: ID!
"""The start time of the forecast period."""
fromTime: Time!
"""The end time of the forecast period."""
toTime: Time!
"""The change indicator."""
changeIndicator: ForecastChangeIndicator
"""The time of the change."""
changeTime: Time
"""The probability of the change."""
changeProbability: Int
"""The wind direction in degrees."""
windDirection: Int
"""Whether the wind direction is variable (VRB)"""
windDirectionVariable: Boolean!
"""The wind shear direction in degrees."""
windShearDirection: Int
"""Whether the visibility is more than it's assigned value (+)"""
visibilityHorizontalIsMoreThan: Boolean!
"""The weather string."""
weather: String
"""The not decoded string."""
notDecoded: String
"""The sky conditions."""
skyConditions: [SkyCondition!]
"""The turbulence conditions."""
turbulenceConditions: [TurbulenceCondition!]
"""The icing conditions."""
icingConditions: [IcingCondition!]
"""The temperature data."""
temperatureData: [TemperatureData!]
}
"""ForecastChangeIndicator is enum for the field change_indicator"""
enum ForecastChangeIndicator @goModel(model: "metar.gg/ent/forecast.ChangeIndicator") {
BECMG
FM
TEMPO
PROB
}
type Frequency {
"""The unique identifier of the record."""
id: ID!
"""The unique identifier of the import."""
importID: Int!
"""The last time the record was updated/created."""
lastUpdated: Time!
"""A code for the frequency type. Some common values are "TWR" (tower), "ATF" or "CTAF" (common traffic frequency), "GND" (ground control), "RMP" (ramp control), "ATIS" (automated weather), "RCO" (remote radio outlet), "ARR" (arrivals), "DEP" (departures), "UNICOM" (monitored ground station), and "RDO" (a flight-service station)."""
type: String!
"""A description of the frequency."""
description: String!
"""Radio frequency in megahertz. Note that the same frequency may appear multiple times for an airport, serving different functions"""
frequency: Float!
airport: Airport
}
type IcingCondition {
"""The unique identifier of the record."""
id: ID!
"""The intensity of the icing."""
intensity: String!
}
type Metar {
"""The unique identifier of the record."""
id: ID!
"""The raw METAR text."""
rawText: String!
"""The time the METAR was observed."""
observationTime: Time!
"""The time the METAR was imported."""
importTime: Time!
"""The time the METAR is expected to be imported/available next."""
nextImportTimePrediction: Time
"""The wind direction in degrees, or 0 if calm."""
windDirection: Int
"""Whether the wind direction is variable (VRB)"""
windDirectionVariable: Boolean!
"""Whether the visibility is more than it's assigned value (+)"""
visibilityIsMoreThan: Boolean!
"""The present weather string."""
presentWeather: String
flightCategory: MetarFlightCategory
"""Quality control corrected."""
qualityControlCorrected: Boolean
"""Whether it's an automated station, of one of the following types A01|A01A|A02|A02A|AOA|AWOS."""
qualityControlAutoStation: Boolean!
"""Maintenance check indicator - maintenance is needed."""
qualityControlMaintenanceIndicatorOn: Boolean!
"""No signal."""
qualityControlNoSignal: Boolean!
"""Whether Lightning sensor is off."""
qualityControlLightningSensorOff: Boolean!
"""Whether Freezing rain sensor is off."""
qualityControlFreezingRainSensorOff: Boolean!
"""Whether Present weather sensor is off."""
qualityControlPresentWeatherSensorOff: Boolean!
"""The maximum air temperature in Celsius from the past 6 hours."""
maxTemp6: Float
"""The minimum air temperature in Celsius from the past 6 hours."""
minTemp6: Float
"""The maximum air temperature in Celsius from the past 24 hours."""
maxTemp24: Float
"""The minimum air temperature in Celsius from the past 24 hours."""
minTemp24: Float
"""The precipitation in inches from since the last observation. 0.0005 in = trace precipitation."""
precipitation: Float
"""The precipitation in inches from the past 3 hours. 0.0005 in = trace precipitation."""
precipitation3: Float
"""The precipitation in inches from the past 6 hours. 0.0005 in = trace precipitation."""
precipitation6: Float
"""The precipitation in inches from the past 24 hours. 0.0005 in = trace precipitation."""
precipitation24: Float
"""The type of METAR."""
metarType: MetarMetarType!
"""The station that provided the METAR."""
station: WeatherStation!
"""The sky conditions."""
skyConditions: [SkyCondition!]
}
"""MetarFlightCategory is enum for the field flight_category"""
enum MetarFlightCategory @goModel(model: "metar.gg/ent/metar.FlightCategory") {
VFR
MVFR
IFR
LIFR
}
"""MetarMetarType is enum for the field metar_type"""
enum MetarMetarType @goModel(model: "metar.gg/ent/metar.MetarType") {
METAR
SPECI
}
"""Ordering options for Metar connections"""
input MetarOrder {
"""The ordering direction."""
direction: OrderDirection! = ASC
"""The field by which to order Metars."""
field: MetarOrderField!
}
"""Properties by which Metar connections can be ordered."""
enum MetarOrderField {
OBSERVATION_TIME
}
"""Possible directions in which to order a list of items when provided an `orderBy` argument."""
enum OrderDirection {
"""Specifies an ascending order for a given `orderBy` argument."""
ASC
"""Specifies a descending order for a given `orderBy` argument."""
DESC
}
type Region {
"""The unique identifier of the record."""
id: ID!
"""The unique identifier of the import."""
importID: Int!
"""The last time the record was updated/created."""
lastUpdated: Time!
"""local_code prefixed with the country code to make a globally-unique identifier."""
code: String!
"""The local code for the administrative subdivision. Whenever possible, these are official ISO 3166:2, at the highest level available, but in some cases OurAirports has to use unofficial codes. There is also a pseudo code "U-A" for each country, which means that the airport has not yet been assigned to a region (or perhaps can't be, as in the case of a deep-sea oil platform)."""
localCode: String!
name: String!
"""The wikipedia link of the region."""
wikipediaLink: String!
"""Keywords that can be used to search for the region."""
keywords: [String!]!
}
type Runway {
"""The unique identifier of the record."""
id: ID!
"""The unique identifier of the import."""
importID: Int!
"""The last time the record was updated/created."""
lastUpdated: Time!
"""Code for the runway surface type. This is not yet a controlled vocabulary, but probably will be soon. Some common values include "ASP" (asphalt), "TURF" (turf), "CON" (concrete), "GRS" (grass), "GRE" (gravel), "WATER" (water), and "UNK" (unknown)."""
surface: String
"""Whether the runway is lighted at night or not."""
lighted: Boolean!
"""Whether the runway is currently closed or not."""
closed: Boolean!
"""Low numbered runway identifier, like 18R."""
lowRunwayIdentifier: String!
"""Latitude of the low numbered runway end, in decimal degrees (positive is north)."""
lowRunwayLatitude: Float
"""Longitude of the low numbered runway end, in decimal degrees (positive is east)."""
lowRunwayLongitude: Float
"""Elevation of the low numbered runway end, in feet."""
lowRunwayElevation: Int
"""True (not magnetic) heading of the lower numbered runway."""
lowRunwayHeading: Float
"""Displaced threshold length of the lower numbered runway end, in feet."""
lowRunwayDisplacedThreshold: Int
"""High numbered runway identifier, like 01L."""
highRunwayIdentifier: String!
"""Latitude of the high numbered runway end, in decimal degrees (positive is north)."""
highRunwayLatitude: Float
"""Longitude of the high numbered runway end, in decimal degrees (positive is east)."""
highRunwayLongitude: Float
"""Elevation of the high numbered runway end, in feet."""
highRunwayElevation: Int
"""True (not magnetic) heading of the higher numbered runway."""
highRunwayHeading: Float
"""Displaced threshold length of the higher numbered runway end, in feet."""
highRunwayDisplacedThreshold: Int
airport: Airport
}
type SkyCondition {
"""The unique identifier of the record."""
id: ID!
skyCover: SkyConditionSkyCover!
"""Cloud type. Only present in TAFs."""
cloudType: SkyConditionCloudType
}
"""SkyConditionCloudType is enum for the field cloud_type"""
enum SkyConditionCloudType @goModel(model: "metar.gg/ent/skycondition.CloudType") {
CB
CU
TCU
}
"""SkyConditionSkyCover is enum for the field sky_cover"""
enum SkyConditionSkyCover @goModel(model: "metar.gg/ent/skycondition.SkyCover") {
SKC
FEW
SCT
CLR
NSC
BKN
OVC
OVCX
OVX
CAVOK
}
type Taf {
"""The unique identifier of the record."""
id: ID!
"""The raw TAF text."""
rawText: String!
"""The time the TAF was issued."""
issueTime: Time!
"""The time the TAF was imported."""
importTime: Time!
"""TAF bulletin time."""
bulletinTime: Time!
"""The start time of the TAF validity period."""
validFromTime: Time!
"""The end time of the TAF validity period."""
validToTime: Time!
"""Remarks."""
remarks: String!
"""The station that issued this taf."""
station: WeatherStation!
"""The forecasts"""
forecast: [Forecast!]
}
"""Ordering options for Taf connections"""
input TafOrder {
"""The ordering direction."""
direction: OrderDirection! = ASC
"""The field by which to order Tafs."""
field: TafOrderField!
}
"""Properties by which Taf connections can be ordered."""
enum TafOrderField {
ISSUE_TIME
valid_from_time
}
type TemperatureData {
"""The unique identifier of the record."""
id: ID!
"""The time the temperature data is valid."""
validTime: Time!
}
type TurbulenceCondition {
"""The unique identifier of the record."""
id: ID!
"""The intensity of the turbulence."""
intensity: String!
}
type WeatherStation {
"""The unique identifier of the record."""
id: ID!
"""The ICAO identifier of the station that provided the weather data or identifier of the weather station."""
stationID: String!
"""The latitude in decimal degrees of the station."""
latitude: Float
"""The longitude in decimal degrees of the station."""
longitude: Float
"""The elevation in meters of the station."""
elevation: Float
"""The airport that hosts this station. This can also be empty if the metar is from a weather station outside an airport."""
airport: Airport
}