-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschema.graphql
More file actions
465 lines (373 loc) · 10.4 KB
/
schema.graphql
File metadata and controls
465 lines (373 loc) · 10.4 KB
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
schema {
query: query_root
mutation: mutation_root
subscription: subscription_root
}
# expression to compare columns of type Boolean. All fields are combined with logical 'AND'.
input Boolean_comparison_exp {
_eq: Boolean
_gt: Boolean
_gte: Boolean
_in: [Boolean!]
_is_null: Boolean
_lt: Boolean
_lte: Boolean
_neq: Boolean
_nin: [Boolean!]
}
scalar jsonb
# expression to compare columns of type jsonb. All fields are combined with logical 'AND'.
input jsonb_comparison_exp {
# is the column contained in the given json value
_contained_in: jsonb
# does the column contain the given json value at the top level
_contains: jsonb
_eq: jsonb
_gt: jsonb
_gte: jsonb
# does the string exist as a top-level key in the column
_has_key: String
# do all of these strings exist as top-level keys in the column
_has_keys_all: [String!]
# do any of these strings exist as top-level keys in the column
_has_keys_any: [String!]
_in: [jsonb!]
_is_null: Boolean
_lt: jsonb
_lte: jsonb
_neq: jsonb
_nin: [jsonb!]
}
# mutation root
type mutation_root {
# delete data from the table: "notes"
delete_notes(
# filter the rows which have to be deleted
where: notes_bool_exp!
): notes_mutation_response
# delete single row from the table: "notes"
delete_notes_by_pk(id: uuid!): notes
# insert data into the table: "notes"
insert_notes(
# the rows to be inserted
objects: [notes_insert_input!]!
# on conflict condition
on_conflict: notes_on_conflict
): notes_mutation_response
# insert a single row into the table: "notes"
insert_notes_one(
# the row to be inserted
object: notes_insert_input!
# on conflict condition
on_conflict: notes_on_conflict
): notes
# update data of the table: "notes"
update_notes(
# append existing jsonb value of filtered columns with new jsonb value
_append: notes_append_input
# delete the field or element with specified path (for JSON arrays, negative integers count from the end)
_delete_at_path: notes_delete_at_path_input
# delete the array element with specified index (negative integers count from
# the end). throws an error if top level container is not an array
_delete_elem: notes_delete_elem_input
# delete key/value pair or string element. key/value pairs are matched based on their key value
_delete_key: notes_delete_key_input
# prepend existing jsonb value of filtered columns with new jsonb value
_prepend: notes_prepend_input
# sets the columns of the filtered rows to the given values
_set: notes_set_input
# filter the rows which have to be updated
where: notes_bool_exp!
): notes_mutation_response
# update single row of the table: "notes"
update_notes_by_pk(
# append existing jsonb value of filtered columns with new jsonb value
_append: notes_append_input
# delete the field or element with specified path (for JSON arrays, negative integers count from the end)
_delete_at_path: notes_delete_at_path_input
# delete the array element with specified index (negative integers count from
# the end). throws an error if top level container is not an array
_delete_elem: notes_delete_elem_input
# delete key/value pair or string element. key/value pairs are matched based on their key value
_delete_key: notes_delete_key_input
# prepend existing jsonb value of filtered columns with new jsonb value
_prepend: notes_prepend_input
# sets the columns of the filtered rows to the given values
_set: notes_set_input
pk_columns: notes_pk_columns_input!
): notes
}
# columns and relationships of "notes"
type notes {
id: uuid!
is_dark_mode: Boolean!
notes(
# JSON select path
path: String
): jsonb!
title: String!
videoId: String!
}
# aggregated selection of "notes"
type notes_aggregate {
aggregate: notes_aggregate_fields
nodes: [notes!]!
}
# aggregate fields of "notes"
type notes_aggregate_fields {
count(columns: [notes_select_column!], distinct: Boolean): Int
max: notes_max_fields
min: notes_min_fields
}
# order by aggregate values of table "notes"
input notes_aggregate_order_by {
count: order_by
max: notes_max_order_by
min: notes_min_order_by
}
# append existing jsonb value of filtered columns with new jsonb value
input notes_append_input {
notes: jsonb
}
# input type for inserting array relation for remote table "notes"
input notes_arr_rel_insert_input {
data: [notes_insert_input!]!
on_conflict: notes_on_conflict
}
# Boolean expression to filter rows from the table "notes". All fields are combined with a logical 'AND'.
input notes_bool_exp {
_and: [notes_bool_exp]
_not: notes_bool_exp
_or: [notes_bool_exp]
id: uuid_comparison_exp
is_dark_mode: Boolean_comparison_exp
notes: jsonb_comparison_exp
title: String_comparison_exp
videoId: String_comparison_exp
}
# unique or primary key constraints on table "notes"
enum notes_constraint {
# unique or primary key constraint
notes_pkey
}
# delete the field or element with specified path (for JSON arrays, negative integers count from the end)
input notes_delete_at_path_input {
notes: [String]
}
# delete the array element with specified index (negative integers count from the
# end). throws an error if top level container is not an array
input notes_delete_elem_input {
notes: Int
}
# delete key/value pair or string element. key/value pairs are matched based on their key value
input notes_delete_key_input {
notes: String
}
# input type for inserting data into table "notes"
input notes_insert_input {
id: uuid
is_dark_mode: Boolean
notes: jsonb
title: String
videoId: String
}
# aggregate max on columns
type notes_max_fields {
id: uuid
title: String
videoId: String
}
# order by max() on columns of table "notes"
input notes_max_order_by {
id: order_by
title: order_by
videoId: order_by
}
# aggregate min on columns
type notes_min_fields {
id: uuid
title: String
videoId: String
}
# order by min() on columns of table "notes"
input notes_min_order_by {
id: order_by
title: order_by
videoId: order_by
}
# response of any mutation on the table "notes"
type notes_mutation_response {
# number of affected rows by the mutation
affected_rows: Int!
# data of the affected rows by the mutation
returning: [notes!]!
}
# input type for inserting object relation for remote table "notes"
input notes_obj_rel_insert_input {
data: notes_insert_input!
on_conflict: notes_on_conflict
}
# on conflict condition type for table "notes"
input notes_on_conflict {
constraint: notes_constraint!
update_columns: [notes_update_column!]!
where: notes_bool_exp
}
# ordering options when selecting data from "notes"
input notes_order_by {
id: order_by
is_dark_mode: order_by
notes: order_by
title: order_by
videoId: order_by
}
# primary key columns input for table: "notes"
input notes_pk_columns_input {
id: uuid!
}
# prepend existing jsonb value of filtered columns with new jsonb value
input notes_prepend_input {
notes: jsonb
}
# select columns of table "notes"
enum notes_select_column {
# column name
id
# column name
is_dark_mode
# column name
notes
# column name
title
# column name
videoId
}
# input type for updating data in table "notes"
input notes_set_input {
id: uuid
is_dark_mode: Boolean
notes: jsonb
title: String
videoId: String
}
# update columns of table "notes"
enum notes_update_column {
# column name
id
# column name
is_dark_mode
# column name
notes
# column name
title
# column name
videoId
}
# 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
}
# query root
type query_root {
# fetch data from the table: "notes"
notes(
# distinct select on columns
distinct_on: [notes_select_column!]
# limit the number 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: [notes_order_by!]
# filter the rows returned
where: notes_bool_exp
): [notes!]!
# fetch aggregated fields from the table: "notes"
notes_aggregate(
# distinct select on columns
distinct_on: [notes_select_column!]
# limit the number 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: [notes_order_by!]
# filter the rows returned
where: notes_bool_exp
): notes_aggregate!
# fetch data from the table: "notes" using primary key columns
notes_by_pk(id: uuid!): notes
}
# 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
}
# subscription root
type subscription_root {
# fetch data from the table: "notes"
notes(
# distinct select on columns
distinct_on: [notes_select_column!]
# limit the number 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: [notes_order_by!]
# filter the rows returned
where: notes_bool_exp
): [notes!]!
# fetch aggregated fields from the table: "notes"
notes_aggregate(
# distinct select on columns
distinct_on: [notes_select_column!]
# limit the number 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: [notes_order_by!]
# filter the rows returned
where: notes_bool_exp
): notes_aggregate!
# fetch data from the table: "notes" using primary key columns
notes_by_pk(id: uuid!): notes
}
scalar uuid
# 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!]
}