-
Notifications
You must be signed in to change notification settings - Fork 1
/
schema.graphql
999 lines (907 loc) · 21.3 KB
/
schema.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
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
# This file was generated based on ".graphqlconfig". Do not edit manually.
schema {
query: Query
mutation: Mutation
subscription: Subscription
}
type Address {
address: String
city: String
state: String
}
type Capsule {
dragon: Dragon
id: ID
landings: Int
missions: [CapsuleMission]
original_launch: Date
reuse_count: Int
status: String
type: String
}
type CapsuleMission {
flight: Int
name: String
}
type Core {
asds_attempts: Int
asds_landings: Int
block: Int
id: ID
missions: [CapsuleMission]
original_launch: Date
reuse_count: Int
rtls_attempts: Int
rtls_landings: Int
status: String
water_landing: Boolean
}
type CoreMission {
flight: Int
name: String
}
type Distance {
feet: Float
meters: Float
}
type Dragon {
active: Boolean
crew_capacity: Int
description: String
diameter: Distance
dry_mass_kg: Int
dry_mass_lb: Int
first_flight: String
heat_shield: DragonHeatShield
height_w_trunk: Distance
id: ID
launch_payload_mass: Mass
launch_payload_vol: Volume
name: String
orbit_duration_yr: Int
pressurized_capsule: DragonPressurizedCapsule
return_payload_mass: Mass
return_payload_vol: Volume
sidewall_angle_deg: Float
thrusters: [DragonThrust]
trunk: DragonTrunk
type: String
wikipedia: String
}
type DragonHeatShield {
dev_partner: String
material: String
size_meters: Float
temp_degrees: Int
}
type DragonPressurizedCapsule {
payload_volume: Volume
}
type DragonThrust {
amount: Int
fuel_1: String
fuel_2: String
pods: Int
thrust: Force
type: String
}
type DragonTrunk {
cargo: DragonTrunkCargo
trunk_volume: Volume
}
type DragonTrunkCargo {
solar_array: Int
unpressurized_cargo: Boolean
}
type Force {
kN: Float
lbf: Float
}
type HistoriesResult {
data: [History]
result: Result
}
type History {
details: String
event_date_unix: Date
event_date_utc: Date
flight: Launch
id: ID
links: Link
title: String
}
type Info {
ceo: String
coo: String
cto: String
cto_propulsion: String
employees: Int
founded: Int
founder: String
headquarters: Address
launch_sites: Int
links: InfoLinks
name: String
summary: String
test_sites: Int
valuation: Float
vehicles: Int
}
type InfoLinks {
elon_twitter: String
flickr: String
twitter: String
website: String
}
type Landpad {
attempted_landings: String
details: String
full_name: String
id: ID
landing_type: String
location: Location
status: String
successful_landings: String
wikipedia: String
}
type Launch {
details: String
id: ID
is_tentative: Boolean
launch_date_local: Date
launch_date_unix: Date
launch_date_utc: Date
launch_site: LaunchSite
launch_success: Boolean
launch_year: String
links: LaunchLinks
mission_id: [String]
mission_name: String
rocket: LaunchRocket
ships: [Ship]
static_fire_date_unix: Date
static_fire_date_utc: Date
telemetry: LaunchTelemetry
tentative_max_precision: String
upcoming: Boolean
}
type LaunchLinks {
article_link: String
flickr_images: [String]
mission_patch: String
mission_patch_small: String
presskit: String
reddit_campaign: String
reddit_launch: String
reddit_media: String
reddit_recovery: String
video_link: String
wikipedia: String
}
type LaunchRocket {
fairings: LaunchRocketFairings
first_stage: LaunchRocketFirstStage
rocket: Rocket
rocket_name: String
rocket_type: String
second_stage: LaunchRocketSecondStage
}
type LaunchRocketFairings {
recovered: Boolean
recovery_attempt: Boolean
reused: Boolean
ship: String
}
type LaunchRocketFirstStage {
cores: [LaunchRocketFirstStageCore]
}
type LaunchRocketFirstStageCore {
block: Int
core: Core
flight: Int
gridfins: Boolean
land_success: Boolean
landing_intent: Boolean
landing_type: String
landing_vehicle: String
legs: Boolean
reused: Boolean
}
type LaunchRocketSecondStage {
block: Int
payloads: [Payload]
}
type LaunchSite {
site_id: String
site_name: String
site_name_long: String
}
type LaunchTelemetry {
flight_club: String
}
type LaunchesPastResult {
data: [Launch]
result: Result
}
type Launchpad {
attempted_launches: Int
details: String
id: ID
location: Location
name: String
status: String
successful_launches: Int
vehicles_launched: [Rocket]
wikipedia: String
}
type Link {
article: String
reddit: String
wikipedia: String
}
type Location {
latitude: Float
longitude: Float
name: String
region: String
}
type Mass {
kg: Int
lb: Int
}
type Mission {
description: String
id: ID
manufacturers: [String]
name: String
payloads: [Payload]
twitter: String
website: String
wikipedia: String
}
type MissionResult {
data: [Mission]
result: Result
}
type Mutation {
"delete data from the table: \"users\""
delete_users(
"filter the rows which have to be deleted"
where: users_bool_exp!
): users_mutation_response
"insert data into the table: \"users\""
insert_users(
"the rows to be inserted"
objects: [users_insert_input!]!,
"on conflict condition"
on_conflict: users_on_conflict
): users_mutation_response
"update data of the table: \"users\""
update_users(
"sets the columns of the filtered rows to the given values"
_set: users_set_input,
"filter the rows which have to be updated"
where: users_bool_exp!
): users_mutation_response
}
type Payload {
customers: [String]
id: ID
manufacturer: String
nationality: String
norad_id: [Int]
orbit: String
orbit_params: PayloadOrbitParams
payload_mass_kg: Float
payload_mass_lbs: Float
payload_type: String
reused: Boolean
}
type PayloadOrbitParams {
apoapsis_km: Float
arg_of_pericenter: Float
eccentricity: Float
epoch: Date
inclination_deg: Float
lifespan_years: Float
longitude: Float
mean_anomaly: Float
mean_motion: Float
periapsis_km: Float
period_min: Float
raan: Float
reference_system: String
regime: String
semi_major_axis_km: Float
}
type Query {
capsule(id: ID!): Capsule
capsules(find: CapsulesFind, limit: Int, offset: Int, order: String, sort: String): [Capsule]
capsulesPast(find: CapsulesFind, limit: Int, offset: Int, order: String, sort: String): [Capsule]
capsulesUpcoming(find: CapsulesFind, limit: Int, offset: Int, order: String, sort: String): [Capsule]
company: Info
core(id: ID!): Core
cores(find: CoresFind, limit: Int, offset: Int, order: String, sort: String): [Core]
coresPast(find: CoresFind, limit: Int, offset: Int, order: String, sort: String): [Core]
coresUpcoming(find: CoresFind, limit: Int, offset: Int, order: String, sort: String): [Core]
dragon(id: ID!): Dragon
dragons(limit: Int, offset: Int): [Dragon]
histories(find: HistoryFind, limit: Int, offset: Int, order: String, sort: String): [History]
historiesResult(find: HistoryFind, limit: Int, offset: Int, order: String, sort: String): HistoriesResult
history(id: ID!): History
landpad(id: ID!): Landpad
landpads(limit: Int, offset: Int): [Landpad]
launch(id: ID!): Launch
launchLatest(offset: Int): Launch
launchNext(offset: Int): Launch
launches(find: LaunchFind, limit: Int, offset: Int, order: String, sort: String): [Launch]
launchesPast(find: LaunchFind, limit: Int, offset: Int, order: String, sort: String): [Launch]
launchesPastResult(find: LaunchFind, limit: Int, offset: Int, order: String, sort: String): LaunchesPastResult
launchesUpcoming(find: LaunchFind, limit: Int, offset: Int, order: String, sort: String): [Launch]
launchpad(id: ID!): Launchpad
launchpads(limit: Int, offset: Int): [Launchpad]
mission(id: ID!): Mission
missions(find: MissionsFind, limit: Int, offset: Int): [Mission]
missionsResult(find: MissionsFind, limit: Int, offset: Int): MissionResult
payload(id: ID!): Payload
payloads(find: PayloadsFind, limit: Int, offset: Int, order: String, sort: String): [Payload]
roadster: Roadster
rocket(id: ID!): Rocket
rockets(limit: Int, offset: Int): [Rocket]
rocketsResult(limit: Int, offset: Int): RocketsResult
ship(id: ID!): Ship
ships(find: ShipsFind, limit: Int, offset: Int, order: String, sort: String): [Ship]
shipsResult(find: ShipsFind, limit: Int, offset: Int, order: String, sort: String): ShipsResult
"fetch data from the table: \"users\""
users(
"distinct select on columns"
distinct_on: [users_select_column!],
"limit the nuber of rows returned"
limit: Int,
"skip the first n rows. Use only with order_by"
offset: Int,
"sort the rows by one or more columns"
order_by: [users_order_by!],
"filter the rows returned"
where: users_bool_exp
): [users!]!
"fetch aggregated fields from the table: \"users\""
users_aggregate(
"distinct select on columns"
distinct_on: [users_select_column!],
"limit the nuber of rows returned"
limit: Int,
"skip the first n rows. Use only with order_by"
offset: Int,
"sort the rows by one or more columns"
order_by: [users_order_by!],
"filter the rows returned"
where: users_bool_exp
): users_aggregate!
"fetch data from the table: \"users\" using primary key columns"
users_by_pk(id: uuid!): users
}
type Result {
totalCount: Int
}
type Roadster {
apoapsis_au: Float
details: String
earth_distance_km: Float
earth_distance_mi: Float
eccentricity: Float
epoch_jd: Float
inclination: Float
launch_date_unix: Date
launch_date_utc: Date
launch_mass_kg: Int
launch_mass_lbs: Int
longitude: Float
mars_distance_km: Float
mars_distance_mi: Float
name: String
norad_id: Int
orbit_type: Float
periapsis_arg: Float
periapsis_au: Float
period_days: Float
semi_major_axis_au: Float
speed_kph: Float
speed_mph: Float
wikipedia: String
}
type Rocket {
active: Boolean
boosters: Int
company: String
cost_per_launch: Int
country: String
description: String
diameter: Distance
engines: RocketEngines
first_flight: Date
first_stage: RocketFirstStage
height: Distance
id: ID
landing_legs: RocketLandingLegs
mass: Mass
name: String
payload_weights: [RocketPayloadWeight]
second_stage: RocketSecondStage
stages: Int
success_rate_pct: Int
type: String
wikipedia: String
}
type RocketEngines {
engine_loss_max: String
layout: String
number: Int
propellant_1: String
propellant_2: String
thrust_sea_level: Force
thrust_to_weight: Float
thrust_vacuum: Force
type: String
version: String
}
type RocketFirstStage {
burn_time_sec: Int
engines: Int
fuel_amount_tons: Float
reusable: Boolean
thrust_sea_level: Force
thrust_vacuum: Force
}
type RocketLandingLegs {
material: String
number: Int
}
type RocketPayloadWeight {
id: String
kg: Int
lb: Int
name: String
}
type RocketSecondStage {
burn_time_sec: Int
engines: Int
fuel_amount_tons: Float
payloads: RocketSecondStagePayloads
thrust: Force
}
type RocketSecondStagePayloadCompositeFairing {
diameter: Distance
height: Distance
}
type RocketSecondStagePayloads {
composite_fairing: RocketSecondStagePayloadCompositeFairing
option_1: String
}
type RocketsResult {
data: [Rocket]
result: Result
}
type Ship {
abs: Int
active: Boolean
attempted_landings: Int
class: Int
course_deg: Int
home_port: String
id: ID
image: String
imo: Int
missions: [ShipMission]
mmsi: Int
model: String
name: String
position: ShipLocation
roles: [String]
speed_kn: Float
status: String
successful_landings: Int
type: String
url: String
weight_kg: Int
weight_lbs: Int
year_built: Int
}
type ShipLocation {
latitude: Float
longitude: Float
}
type ShipMission {
flight: String
name: String
}
type ShipsResult {
data: [Ship]
result: Result
}
type Subscription {
"fetch data from the table: \"users\""
users(
"distinct select on columns"
distinct_on: [users_select_column!],
"limit the nuber of rows returned"
limit: Int,
"skip the first n rows. Use only with order_by"
offset: Int,
"sort the rows by one or more columns"
order_by: [users_order_by!],
"filter the rows returned"
where: users_bool_exp
): [users!]!
"fetch aggregated fields from the table: \"users\""
users_aggregate(
"distinct select on columns"
distinct_on: [users_select_column!],
"limit the nuber of rows returned"
limit: Int,
"skip the first n rows. Use only with order_by"
offset: Int,
"sort the rows by one or more columns"
order_by: [users_order_by!],
"filter the rows returned"
where: users_bool_exp
): users_aggregate!
"fetch data from the table: \"users\" using primary key columns"
users_by_pk(id: uuid!): users
}
type Volume {
cubic_feet: Int
cubic_meters: Int
}
"columns and relationships of \"users\""
type users {
id: uuid!
name: String
rocket: String
timestamp: timestamptz!
twitter: String
}
"aggregated selection of \"users\""
type users_aggregate {
aggregate: users_aggregate_fields
nodes: [users!]!
}
"aggregate fields of \"users\""
type users_aggregate_fields {
count(columns: [users_select_column!], distinct: Boolean): Int
max: users_max_fields
min: users_min_fields
}
"aggregate max on columns"
type users_max_fields {
name: String
rocket: String
timestamp: timestamptz
twitter: String
}
"aggregate min on columns"
type users_min_fields {
name: String
rocket: String
timestamp: timestamptz
twitter: String
}
"response of any mutation on the table \"users\""
type users_mutation_response {
"number of affected rows by the mutation"
affected_rows: Int!
"data of the affected rows by the mutation"
returning: [users!]!
}
"conflict action"
enum conflict_action {
"ignore the insert on this row"
ignore
"update the row with the given values"
update
}
"column ordering options"
enum order_by {
"in the ascending order, nulls last"
asc
"in the ascending order, nulls first"
asc_nulls_first
"in the ascending order, nulls last"
asc_nulls_last
"in the descending order, nulls first"
desc
"in the descending order, nulls first"
desc_nulls_first
"in the descending order, nulls last"
desc_nulls_last
}
"unique or primary key constraints on table \"users\""
enum users_constraint {
"unique or primary key constraint"
users_pkey
}
"select columns of table \"users\""
enum users_select_column {
"column name"
id
"column name"
name
"column name"
rocket
"column name"
timestamp
"column name"
twitter
}
"update columns of table \"users\""
enum users_update_column {
"column name"
id
"column name"
name
"column name"
rocket
"column name"
timestamp
"column name"
twitter
}
input CapsulesFind {
id: ID
landings: Int
mission: String
original_launch: Date
reuse_count: Int
status: String
type: String
}
input CoresFind {
asds_attempts: Int
asds_landings: Int
block: Int
id: String
missions: String
original_launch: Date
reuse_count: Int
rtls_attempts: Int
rtls_landings: Int
status: String
water_landing: Boolean
}
input HistoryFind {
end: Date
flight_number: Int
id: ID
start: Date
}
input LaunchFind {
apoapsis_km: Float
block: Int
cap_serial: String
capsule_reuse: String
core_flight: Int
core_reuse: String
core_serial: String
customer: String
eccentricity: Float
end: Date
epoch: Date
fairings_recovered: String
fairings_recovery_attempt: String
fairings_reuse: String
fairings_reused: String
fairings_ship: String
gridfins: String
id: ID
inclination_deg: Float
land_success: String
landing_intent: String
landing_type: String
landing_vehicle: String
launch_date_local: Date
launch_date_utc: Date
launch_success: String
launch_year: String
legs: String
lifespan_years: Float
longitude: Float
manufacturer: String
mean_motion: Float
mission_id: String
mission_name: String
nationality: String
norad_id: Int
orbit: String
payload_id: String
payload_type: String
periapsis_km: Float
period_min: Float
raan: Float
reference_system: String
regime: String
reused: String
rocket_id: String
rocket_name: String
rocket_type: String
second_stage_block: String
semi_major_axis_km: Float
ship: String
side_core1_reuse: String
side_core2_reuse: String
site_id: String
site_name: String
site_name_long: String
start: Date
tbd: String
tentative: String
tentative_max_precision: String
}
input MissionsFind {
id: ID
manufacturer: String
name: String
payload_id: String
}
input PayloadsFind {
apoapsis_km: Float
customer: String
eccentricity: Float
epoch: Date
inclination_deg: Float
lifespan_years: Float
longitude: Float
manufacturer: String
mean_motion: Float
nationality: String
norad_id: Int
orbit: String
payload_id: ID
payload_type: String
periapsis_km: Float
period_min: Float
raan: Float
reference_system: String
regime: String
reused: Boolean
semi_major_axis_km: Float
}
input ShipsFind {
abs: Int
active: Boolean
attempted_landings: Int
class: Int
course_deg: Int
home_port: String
id: ID
imo: Int
latitude: Float
longitude: Float
mission: String
mmsi: Int
model: String
name: String
role: String
speed_kn: Int
status: String
successful_landings: Int
type: String
weight_kg: Int
weight_lbs: Int
year_built: Int
}
"expression to compare columns of type String. All fields are combined with logical 'AND'."
input String_comparison_exp {
_eq: String
_gt: String
_gte: String
_ilike: String
_in: [String!]
_is_null: Boolean
_like: String
_lt: String
_lte: String
_neq: String
_nilike: String
_nin: [String!]
_nlike: String
_nsimilar: String
_similar: String
}
"expression to compare columns of type timestamptz. All fields are combined with logical 'AND'."
input timestamptz_comparison_exp {
_eq: timestamptz
_gt: timestamptz
_gte: timestamptz
_in: [timestamptz!]
_is_null: Boolean
_lt: timestamptz
_lte: timestamptz
_neq: timestamptz
_nin: [timestamptz!]
}
"order by aggregate values of table \"users\""
input users_aggregate_order_by {
count: order_by
max: users_max_order_by
min: users_min_order_by
}
"input type for inserting array relation for remote table \"users\""
input users_arr_rel_insert_input {
data: [users_insert_input!]!
on_conflict: users_on_conflict
}
"Boolean expression to filter rows from the table \"users\". All fields are combined with a logical 'AND'."
input users_bool_exp {
_and: [users_bool_exp]
_not: users_bool_exp
_or: [users_bool_exp]
id: uuid_comparison_exp
name: String_comparison_exp
rocket: String_comparison_exp
timestamp: timestamptz_comparison_exp
twitter: String_comparison_exp
}
"input type for inserting data into table \"users\""
input users_insert_input {
id: uuid
name: String
rocket: String
timestamp: timestamptz
twitter: String
}
"order by max() on columns of table \"users\""
input users_max_order_by {
name: order_by
rocket: order_by
timestamp: order_by
twitter: order_by
}
"order by min() on columns of table \"users\""
input users_min_order_by {
name: order_by
rocket: order_by
timestamp: order_by
twitter: order_by
}
"input type for inserting object relation for remote table \"users\""
input users_obj_rel_insert_input {
data: users_insert_input!
on_conflict: users_on_conflict
}
"on conflict condition type for table \"users\""
input users_on_conflict {
constraint: users_constraint!
update_columns: [users_update_column!]!
}
"ordering options when selecting data from \"users\""
input users_order_by {
id: order_by
name: order_by
rocket: order_by
timestamp: order_by
twitter: order_by
}
"input type for updating data in table \"users\""
input users_set_input {
id: uuid
name: String
rocket: String
timestamp: timestamptz
twitter: String
}
"expression to compare columns of type uuid. All fields are combined with logical 'AND'."
input uuid_comparison_exp {
_eq: uuid
_gt: uuid
_gte: uuid
_in: [uuid!]
_is_null: Boolean
_lt: uuid
_lte: uuid
_neq: uuid
_nin: [uuid!]
}
scalar uuid
scalar timestamptz
scalar Date
scalar ObjectID