@smartive/graphql-magic 9.1.2 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/.eslintrc +2 -10
  2. package/.github/workflows/release.yml +1 -1
  3. package/.gqmrc.json +6 -0
  4. package/CHANGELOG.md +2 -2
  5. package/README.md +1 -1
  6. package/dist/bin/gqm.cjs +684 -330
  7. package/dist/cjs/index.cjs +998 -554
  8. package/dist/esm/api/execute.js +1 -1
  9. package/dist/esm/api/execute.js.map +1 -1
  10. package/dist/esm/client/mutations.d.ts +2 -2
  11. package/dist/esm/client/mutations.js +5 -4
  12. package/dist/esm/client/mutations.js.map +1 -1
  13. package/dist/esm/client/queries.d.ts +12 -17
  14. package/dist/esm/client/queries.js +30 -50
  15. package/dist/esm/client/queries.js.map +1 -1
  16. package/dist/esm/context.d.ts +1 -2
  17. package/dist/esm/db/generate.d.ts +3 -3
  18. package/dist/esm/db/generate.js +31 -29
  19. package/dist/esm/db/generate.js.map +1 -1
  20. package/dist/esm/migrations/generate.d.ts +3 -4
  21. package/dist/esm/migrations/generate.js +114 -107
  22. package/dist/esm/migrations/generate.js.map +1 -1
  23. package/dist/esm/models/index.d.ts +1 -0
  24. package/dist/esm/models/index.js +1 -0
  25. package/dist/esm/models/index.js.map +1 -1
  26. package/dist/esm/models/model-definitions.d.ts +189 -0
  27. package/dist/esm/models/model-definitions.js +2 -0
  28. package/dist/esm/models/model-definitions.js.map +1 -0
  29. package/dist/esm/models/models.d.ts +128 -174
  30. package/dist/esm/models/models.js +411 -1
  31. package/dist/esm/models/models.js.map +1 -1
  32. package/dist/esm/models/mutation-hook.d.ts +2 -2
  33. package/dist/esm/models/utils.d.ts +35 -497
  34. package/dist/esm/models/utils.js +21 -144
  35. package/dist/esm/models/utils.js.map +1 -1
  36. package/dist/esm/permissions/check.d.ts +3 -3
  37. package/dist/esm/permissions/check.js +14 -7
  38. package/dist/esm/permissions/check.js.map +1 -1
  39. package/dist/esm/permissions/generate.js +6 -6
  40. package/dist/esm/permissions/generate.js.map +1 -1
  41. package/dist/esm/resolvers/filters.d.ts +8 -0
  42. package/dist/esm/resolvers/filters.js +28 -25
  43. package/dist/esm/resolvers/filters.js.map +1 -1
  44. package/dist/esm/resolvers/index.d.ts +1 -0
  45. package/dist/esm/resolvers/index.js +1 -0
  46. package/dist/esm/resolvers/index.js.map +1 -1
  47. package/dist/esm/resolvers/mutations.js +85 -21
  48. package/dist/esm/resolvers/mutations.js.map +1 -1
  49. package/dist/esm/resolvers/node.d.ts +13 -15
  50. package/dist/esm/resolvers/node.js +41 -36
  51. package/dist/esm/resolvers/node.js.map +1 -1
  52. package/dist/esm/resolvers/resolver.js +19 -49
  53. package/dist/esm/resolvers/resolver.js.map +1 -1
  54. package/dist/esm/resolvers/resolvers.d.ts +1 -8
  55. package/dist/esm/resolvers/resolvers.js +15 -7
  56. package/dist/esm/resolvers/resolvers.js.map +1 -1
  57. package/dist/esm/resolvers/selects.d.ts +3 -0
  58. package/dist/esm/resolvers/selects.js +50 -0
  59. package/dist/esm/resolvers/selects.js.map +1 -0
  60. package/dist/esm/resolvers/utils.d.ts +12 -4
  61. package/dist/esm/resolvers/utils.js +30 -22
  62. package/dist/esm/resolvers/utils.js.map +1 -1
  63. package/dist/esm/schema/generate.d.ts +4 -4
  64. package/dist/esm/schema/generate.js +122 -131
  65. package/dist/esm/schema/generate.js.map +1 -1
  66. package/dist/esm/schema/utils.d.ts +1 -1
  67. package/dist/esm/schema/utils.js +2 -1
  68. package/dist/esm/schema/utils.js.map +1 -1
  69. package/knexfile.ts +31 -0
  70. package/migrations/20230912185644_setup.ts +127 -0
  71. package/package.json +16 -14
  72. package/src/api/execute.ts +1 -1
  73. package/src/bin/gqm/gqm.ts +25 -23
  74. package/src/bin/gqm/parse-models.ts +5 -5
  75. package/src/bin/gqm/settings.ts +13 -4
  76. package/src/bin/gqm/static-eval.ts +5 -0
  77. package/src/bin/gqm/templates.ts +23 -3
  78. package/src/client/mutations.ts +11 -5
  79. package/src/client/queries.ts +43 -80
  80. package/src/context.ts +1 -2
  81. package/src/db/generate.ts +41 -41
  82. package/src/migrations/generate.ts +165 -146
  83. package/src/models/index.ts +1 -0
  84. package/src/models/model-definitions.ts +168 -0
  85. package/src/models/models.ts +510 -166
  86. package/src/models/mutation-hook.ts +2 -2
  87. package/src/models/utils.ts +53 -187
  88. package/src/permissions/check.ts +19 -11
  89. package/src/permissions/generate.ts +6 -6
  90. package/src/resolvers/filters.ts +44 -28
  91. package/src/resolvers/index.ts +1 -0
  92. package/src/resolvers/mutations.ts +98 -36
  93. package/src/resolvers/node.ts +79 -51
  94. package/src/resolvers/resolver.ts +20 -74
  95. package/src/resolvers/resolvers.ts +18 -7
  96. package/src/resolvers/selects.ts +77 -0
  97. package/src/resolvers/utils.ts +41 -25
  98. package/src/schema/generate.ts +106 -127
  99. package/src/schema/utils.ts +2 -1
  100. package/tests/api/__snapshots__/inheritance.spec.ts.snap +83 -0
  101. package/tests/api/inheritance.spec.ts +130 -0
  102. package/tests/generated/api/index.ts +1174 -0
  103. package/tests/generated/client/index.ts +1163 -0
  104. package/tests/generated/client/mutations.ts +109 -0
  105. package/tests/generated/db/index.ts +291 -0
  106. package/tests/generated/db/knex.ts +14 -0
  107. package/tests/generated/models.json +675 -0
  108. package/tests/generated/schema.graphql +325 -0
  109. package/tests/unit/__snapshots__/resolve.spec.ts.snap +23 -0
  110. package/tests/unit/queries.spec.ts +5 -5
  111. package/tests/unit/resolve.spec.ts +8 -8
  112. package/tests/utils/database/knex.ts +5 -13
  113. package/tests/utils/database/seed.ts +57 -18
  114. package/tests/utils/models.ts +62 -7
  115. package/tests/utils/server.ts +5 -5
  116. package/tsconfig.eslint.json +1 -0
  117. package/tests/unit/__snapshots__/generate.spec.ts.snap +0 -128
  118. package/tests/unit/generate.spec.ts +0 -8
  119. package/tests/utils/database/schema.ts +0 -64
  120. package/tests/utils/generate-migration.ts +0 -24
@@ -0,0 +1,1174 @@
1
+ import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql';
2
+ import { DateTime } from 'luxon';
3
+ export type Maybe<T> = T | null;
4
+ export type InputMaybe<T> = Maybe<T>;
5
+ export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
6
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
7
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
8
+ export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };
9
+ export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
10
+ export type RequireFields<T, K extends keyof T> = Omit<T, K> & { [P in K]-?: NonNullable<T[P]> };
11
+ /** All built-in and custom scalars, mapped to their actual values */
12
+ export type Scalars = {
13
+ ID: { input: string; output: string; }
14
+ String: { input: string; output: string; }
15
+ Boolean: { input: boolean; output: boolean; }
16
+ Int: { input: number; output: number; }
17
+ Float: { input: number; output: number; }
18
+ DateTime: { input: DateTime; output: DateTime; }
19
+ Upload: { input: any; output: any; }
20
+ };
21
+
22
+ export type AnotherObject = {
23
+ __typename?: 'AnotherObject';
24
+ deleted: Scalars['Boolean']['output'];
25
+ deletedAt?: Maybe<Scalars['DateTime']['output']>;
26
+ deletedBy?: Maybe<User>;
27
+ id: Scalars['ID']['output'];
28
+ manyObjects: Array<SomeObject>;
29
+ myself?: Maybe<AnotherObject>;
30
+ name?: Maybe<Scalars['String']['output']>;
31
+ self?: Maybe<AnotherObject>;
32
+ };
33
+
34
+
35
+ export type AnotherObjectManyObjectsArgs = {
36
+ limit?: InputMaybe<Scalars['Int']['input']>;
37
+ offset?: InputMaybe<Scalars['Int']['input']>;
38
+ orderBy?: InputMaybe<Array<SomeObjectOrderBy>>;
39
+ search?: InputMaybe<Scalars['String']['input']>;
40
+ where?: InputMaybe<SomeObjectWhere>;
41
+ };
42
+
43
+
44
+ export type AnotherObjectSelfArgs = {
45
+ limit?: InputMaybe<Scalars['Int']['input']>;
46
+ offset?: InputMaybe<Scalars['Int']['input']>;
47
+ orderBy?: InputMaybe<Array<AnotherObjectOrderBy>>;
48
+ where?: InputMaybe<AnotherObjectWhere>;
49
+ };
50
+
51
+ export type AnotherObjectOrderBy = {
52
+ deletedAt?: InputMaybe<Order>;
53
+ name?: InputMaybe<Order>;
54
+ };
55
+
56
+ export type AnotherObjectWhere = {
57
+ deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
58
+ id?: InputMaybe<Array<Scalars['ID']['input']>>;
59
+ };
60
+
61
+ export type AnotherObjectWhereUnique = {
62
+ id?: InputMaybe<Scalars['ID']['input']>;
63
+ };
64
+
65
+ export type Answer = Reaction & {
66
+ __typename?: 'Answer';
67
+ childAnswers: Array<Answer>;
68
+ childQuestions: Array<Question>;
69
+ childReactions: Array<Reaction>;
70
+ childReviews: Array<Review>;
71
+ content?: Maybe<Scalars['String']['output']>;
72
+ createdAt: Scalars['DateTime']['output'];
73
+ createdBy: User;
74
+ deleted: Scalars['Boolean']['output'];
75
+ deletedAt?: Maybe<Scalars['DateTime']['output']>;
76
+ deletedBy?: Maybe<User>;
77
+ id: Scalars['ID']['output'];
78
+ parent?: Maybe<Reaction>;
79
+ type: ReactionType;
80
+ updatedAt: Scalars['DateTime']['output'];
81
+ updatedBy: User;
82
+ };
83
+
84
+
85
+ export type AnswerChildAnswersArgs = {
86
+ limit?: InputMaybe<Scalars['Int']['input']>;
87
+ offset?: InputMaybe<Scalars['Int']['input']>;
88
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
89
+ where?: InputMaybe<AnswerWhere>;
90
+ };
91
+
92
+
93
+ export type AnswerChildQuestionsArgs = {
94
+ limit?: InputMaybe<Scalars['Int']['input']>;
95
+ offset?: InputMaybe<Scalars['Int']['input']>;
96
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
97
+ where?: InputMaybe<QuestionWhere>;
98
+ };
99
+
100
+
101
+ export type AnswerChildReactionsArgs = {
102
+ limit?: InputMaybe<Scalars['Int']['input']>;
103
+ offset?: InputMaybe<Scalars['Int']['input']>;
104
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
105
+ where?: InputMaybe<ReactionWhere>;
106
+ };
107
+
108
+
109
+ export type AnswerChildReviewsArgs = {
110
+ limit?: InputMaybe<Scalars['Int']['input']>;
111
+ offset?: InputMaybe<Scalars['Int']['input']>;
112
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
113
+ where?: InputMaybe<ReviewWhere>;
114
+ };
115
+
116
+ export type AnswerOrderBy = {
117
+ createdAt?: InputMaybe<Order>;
118
+ deletedAt?: InputMaybe<Order>;
119
+ updatedAt?: InputMaybe<Order>;
120
+ };
121
+
122
+ export type AnswerWhere = {
123
+ deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
124
+ id?: InputMaybe<Array<Scalars['ID']['input']>>;
125
+ };
126
+
127
+ export type AnswerWhereUnique = {
128
+ id?: InputMaybe<Scalars['ID']['input']>;
129
+ };
130
+
131
+ export type CreateAnswer = {
132
+ content?: InputMaybe<Scalars['String']['input']>;
133
+ };
134
+
135
+ export type CreateQuestion = {
136
+ content?: InputMaybe<Scalars['String']['input']>;
137
+ };
138
+
139
+ export type CreateReview = {
140
+ content?: InputMaybe<Scalars['String']['input']>;
141
+ rating?: InputMaybe<Scalars['Float']['input']>;
142
+ };
143
+
144
+ export type CreateSomeObject = {
145
+ xyz: Scalars['Int']['input'];
146
+ };
147
+
148
+ export type Mutation = {
149
+ __typename?: 'Mutation';
150
+ createAnswer: Answer;
151
+ createQuestion: Question;
152
+ createReview: Review;
153
+ createSomeObject: SomeObject;
154
+ deleteAnotherObject: Scalars['ID']['output'];
155
+ deleteAnswer: Scalars['ID']['output'];
156
+ deleteQuestion: Scalars['ID']['output'];
157
+ deleteReview: Scalars['ID']['output'];
158
+ deleteSomeObject: Scalars['ID']['output'];
159
+ restoreAnotherObject: Scalars['ID']['output'];
160
+ restoreAnswer: Scalars['ID']['output'];
161
+ restoreQuestion: Scalars['ID']['output'];
162
+ restoreReview: Scalars['ID']['output'];
163
+ restoreSomeObject: Scalars['ID']['output'];
164
+ updateAnswer: Answer;
165
+ updateQuestion: Question;
166
+ updateReview: Review;
167
+ updateSomeObject: SomeObject;
168
+ };
169
+
170
+
171
+ export type MutationCreateAnswerArgs = {
172
+ data: CreateAnswer;
173
+ };
174
+
175
+
176
+ export type MutationCreateQuestionArgs = {
177
+ data: CreateQuestion;
178
+ };
179
+
180
+
181
+ export type MutationCreateReviewArgs = {
182
+ data: CreateReview;
183
+ };
184
+
185
+
186
+ export type MutationCreateSomeObjectArgs = {
187
+ data: CreateSomeObject;
188
+ };
189
+
190
+
191
+ export type MutationDeleteAnotherObjectArgs = {
192
+ dryRun?: InputMaybe<Scalars['Boolean']['input']>;
193
+ where: AnotherObjectWhereUnique;
194
+ };
195
+
196
+
197
+ export type MutationDeleteAnswerArgs = {
198
+ dryRun?: InputMaybe<Scalars['Boolean']['input']>;
199
+ where: AnswerWhereUnique;
200
+ };
201
+
202
+
203
+ export type MutationDeleteQuestionArgs = {
204
+ dryRun?: InputMaybe<Scalars['Boolean']['input']>;
205
+ where: QuestionWhereUnique;
206
+ };
207
+
208
+
209
+ export type MutationDeleteReviewArgs = {
210
+ dryRun?: InputMaybe<Scalars['Boolean']['input']>;
211
+ where: ReviewWhereUnique;
212
+ };
213
+
214
+
215
+ export type MutationDeleteSomeObjectArgs = {
216
+ dryRun?: InputMaybe<Scalars['Boolean']['input']>;
217
+ where: SomeObjectWhereUnique;
218
+ };
219
+
220
+
221
+ export type MutationRestoreAnotherObjectArgs = {
222
+ where: AnotherObjectWhereUnique;
223
+ };
224
+
225
+
226
+ export type MutationRestoreAnswerArgs = {
227
+ where: AnswerWhereUnique;
228
+ };
229
+
230
+
231
+ export type MutationRestoreQuestionArgs = {
232
+ where: QuestionWhereUnique;
233
+ };
234
+
235
+
236
+ export type MutationRestoreReviewArgs = {
237
+ where: ReviewWhereUnique;
238
+ };
239
+
240
+
241
+ export type MutationRestoreSomeObjectArgs = {
242
+ where: SomeObjectWhereUnique;
243
+ };
244
+
245
+
246
+ export type MutationUpdateAnswerArgs = {
247
+ data: UpdateAnswer;
248
+ where: AnswerWhereUnique;
249
+ };
250
+
251
+
252
+ export type MutationUpdateQuestionArgs = {
253
+ data: UpdateQuestion;
254
+ where: QuestionWhereUnique;
255
+ };
256
+
257
+
258
+ export type MutationUpdateReviewArgs = {
259
+ data: UpdateReview;
260
+ where: ReviewWhereUnique;
261
+ };
262
+
263
+
264
+ export type MutationUpdateSomeObjectArgs = {
265
+ data: UpdateSomeObject;
266
+ where: SomeObjectWhereUnique;
267
+ };
268
+
269
+ export enum Order {
270
+ Asc = 'ASC',
271
+ Desc = 'DESC'
272
+ }
273
+
274
+ export type Query = {
275
+ __typename?: 'Query';
276
+ anotherObjects: Array<AnotherObject>;
277
+ answer: Answer;
278
+ answers: Array<Answer>;
279
+ manyObjects: Array<SomeObject>;
280
+ me?: Maybe<User>;
281
+ question: Question;
282
+ questions: Array<Question>;
283
+ reaction: Reaction;
284
+ reactions: Array<Reaction>;
285
+ review: Review;
286
+ reviews: Array<Review>;
287
+ someObject: SomeObject;
288
+ };
289
+
290
+
291
+ export type QueryAnotherObjectsArgs = {
292
+ limit?: InputMaybe<Scalars['Int']['input']>;
293
+ offset?: InputMaybe<Scalars['Int']['input']>;
294
+ orderBy?: InputMaybe<Array<AnotherObjectOrderBy>>;
295
+ where?: InputMaybe<AnotherObjectWhere>;
296
+ };
297
+
298
+
299
+ export type QueryAnswerArgs = {
300
+ where: AnswerWhereUnique;
301
+ };
302
+
303
+
304
+ export type QueryAnswersArgs = {
305
+ limit?: InputMaybe<Scalars['Int']['input']>;
306
+ offset?: InputMaybe<Scalars['Int']['input']>;
307
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
308
+ where?: InputMaybe<AnswerWhere>;
309
+ };
310
+
311
+
312
+ export type QueryManyObjectsArgs = {
313
+ limit?: InputMaybe<Scalars['Int']['input']>;
314
+ offset?: InputMaybe<Scalars['Int']['input']>;
315
+ orderBy?: InputMaybe<Array<SomeObjectOrderBy>>;
316
+ search?: InputMaybe<Scalars['String']['input']>;
317
+ where?: InputMaybe<SomeObjectWhere>;
318
+ };
319
+
320
+
321
+ export type QueryQuestionArgs = {
322
+ where: QuestionWhereUnique;
323
+ };
324
+
325
+
326
+ export type QueryQuestionsArgs = {
327
+ limit?: InputMaybe<Scalars['Int']['input']>;
328
+ offset?: InputMaybe<Scalars['Int']['input']>;
329
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
330
+ where?: InputMaybe<QuestionWhere>;
331
+ };
332
+
333
+
334
+ export type QueryReactionArgs = {
335
+ where: ReactionWhereUnique;
336
+ };
337
+
338
+
339
+ export type QueryReactionsArgs = {
340
+ limit?: InputMaybe<Scalars['Int']['input']>;
341
+ offset?: InputMaybe<Scalars['Int']['input']>;
342
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
343
+ where?: InputMaybe<ReactionWhere>;
344
+ };
345
+
346
+
347
+ export type QueryReviewArgs = {
348
+ where: ReviewWhereUnique;
349
+ };
350
+
351
+
352
+ export type QueryReviewsArgs = {
353
+ limit?: InputMaybe<Scalars['Int']['input']>;
354
+ offset?: InputMaybe<Scalars['Int']['input']>;
355
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
356
+ where?: InputMaybe<ReviewWhere>;
357
+ };
358
+
359
+
360
+ export type QuerySomeObjectArgs = {
361
+ where: SomeObjectWhereUnique;
362
+ };
363
+
364
+ export type Question = Reaction & {
365
+ __typename?: 'Question';
366
+ childAnswers: Array<Answer>;
367
+ childQuestions: Array<Question>;
368
+ childReactions: Array<Reaction>;
369
+ childReviews: Array<Review>;
370
+ content?: Maybe<Scalars['String']['output']>;
371
+ createdAt: Scalars['DateTime']['output'];
372
+ createdBy: User;
373
+ deleted: Scalars['Boolean']['output'];
374
+ deletedAt?: Maybe<Scalars['DateTime']['output']>;
375
+ deletedBy?: Maybe<User>;
376
+ id: Scalars['ID']['output'];
377
+ parent?: Maybe<Reaction>;
378
+ type: ReactionType;
379
+ updatedAt: Scalars['DateTime']['output'];
380
+ updatedBy: User;
381
+ };
382
+
383
+
384
+ export type QuestionChildAnswersArgs = {
385
+ limit?: InputMaybe<Scalars['Int']['input']>;
386
+ offset?: InputMaybe<Scalars['Int']['input']>;
387
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
388
+ where?: InputMaybe<AnswerWhere>;
389
+ };
390
+
391
+
392
+ export type QuestionChildQuestionsArgs = {
393
+ limit?: InputMaybe<Scalars['Int']['input']>;
394
+ offset?: InputMaybe<Scalars['Int']['input']>;
395
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
396
+ where?: InputMaybe<QuestionWhere>;
397
+ };
398
+
399
+
400
+ export type QuestionChildReactionsArgs = {
401
+ limit?: InputMaybe<Scalars['Int']['input']>;
402
+ offset?: InputMaybe<Scalars['Int']['input']>;
403
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
404
+ where?: InputMaybe<ReactionWhere>;
405
+ };
406
+
407
+
408
+ export type QuestionChildReviewsArgs = {
409
+ limit?: InputMaybe<Scalars['Int']['input']>;
410
+ offset?: InputMaybe<Scalars['Int']['input']>;
411
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
412
+ where?: InputMaybe<ReviewWhere>;
413
+ };
414
+
415
+ export type QuestionOrderBy = {
416
+ createdAt?: InputMaybe<Order>;
417
+ deletedAt?: InputMaybe<Order>;
418
+ updatedAt?: InputMaybe<Order>;
419
+ };
420
+
421
+ export type QuestionWhere = {
422
+ deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
423
+ id?: InputMaybe<Array<Scalars['ID']['input']>>;
424
+ };
425
+
426
+ export type QuestionWhereUnique = {
427
+ id?: InputMaybe<Scalars['ID']['input']>;
428
+ };
429
+
430
+ export type Reaction = {
431
+ childAnswers: Array<Answer>;
432
+ childQuestions: Array<Question>;
433
+ childReactions: Array<Reaction>;
434
+ childReviews: Array<Review>;
435
+ content?: Maybe<Scalars['String']['output']>;
436
+ createdAt: Scalars['DateTime']['output'];
437
+ createdBy: User;
438
+ deleted: Scalars['Boolean']['output'];
439
+ deletedAt?: Maybe<Scalars['DateTime']['output']>;
440
+ deletedBy?: Maybe<User>;
441
+ id: Scalars['ID']['output'];
442
+ parent?: Maybe<Reaction>;
443
+ type: ReactionType;
444
+ updatedAt: Scalars['DateTime']['output'];
445
+ updatedBy: User;
446
+ };
447
+
448
+
449
+ export type ReactionChildAnswersArgs = {
450
+ limit?: InputMaybe<Scalars['Int']['input']>;
451
+ offset?: InputMaybe<Scalars['Int']['input']>;
452
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
453
+ where?: InputMaybe<AnswerWhere>;
454
+ };
455
+
456
+
457
+ export type ReactionChildQuestionsArgs = {
458
+ limit?: InputMaybe<Scalars['Int']['input']>;
459
+ offset?: InputMaybe<Scalars['Int']['input']>;
460
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
461
+ where?: InputMaybe<QuestionWhere>;
462
+ };
463
+
464
+
465
+ export type ReactionChildReactionsArgs = {
466
+ limit?: InputMaybe<Scalars['Int']['input']>;
467
+ offset?: InputMaybe<Scalars['Int']['input']>;
468
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
469
+ where?: InputMaybe<ReactionWhere>;
470
+ };
471
+
472
+
473
+ export type ReactionChildReviewsArgs = {
474
+ limit?: InputMaybe<Scalars['Int']['input']>;
475
+ offset?: InputMaybe<Scalars['Int']['input']>;
476
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
477
+ where?: InputMaybe<ReviewWhere>;
478
+ };
479
+
480
+ export type ReactionOrderBy = {
481
+ createdAt?: InputMaybe<Order>;
482
+ deletedAt?: InputMaybe<Order>;
483
+ updatedAt?: InputMaybe<Order>;
484
+ };
485
+
486
+ export enum ReactionType {
487
+ Answer = 'Answer',
488
+ Question = 'Question',
489
+ Review = 'Review'
490
+ }
491
+
492
+ export type ReactionWhere = {
493
+ deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
494
+ id?: InputMaybe<Array<Scalars['ID']['input']>>;
495
+ };
496
+
497
+ export type ReactionWhereUnique = {
498
+ id?: InputMaybe<Scalars['ID']['input']>;
499
+ };
500
+
501
+ export type Review = Reaction & {
502
+ __typename?: 'Review';
503
+ childAnswers: Array<Answer>;
504
+ childQuestions: Array<Question>;
505
+ childReactions: Array<Reaction>;
506
+ childReviews: Array<Review>;
507
+ content?: Maybe<Scalars['String']['output']>;
508
+ createdAt: Scalars['DateTime']['output'];
509
+ createdBy: User;
510
+ deleted: Scalars['Boolean']['output'];
511
+ deletedAt?: Maybe<Scalars['DateTime']['output']>;
512
+ deletedBy?: Maybe<User>;
513
+ id: Scalars['ID']['output'];
514
+ parent?: Maybe<Reaction>;
515
+ rating?: Maybe<Scalars['Float']['output']>;
516
+ type: ReactionType;
517
+ updatedAt: Scalars['DateTime']['output'];
518
+ updatedBy: User;
519
+ };
520
+
521
+
522
+ export type ReviewChildAnswersArgs = {
523
+ limit?: InputMaybe<Scalars['Int']['input']>;
524
+ offset?: InputMaybe<Scalars['Int']['input']>;
525
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
526
+ where?: InputMaybe<AnswerWhere>;
527
+ };
528
+
529
+
530
+ export type ReviewChildQuestionsArgs = {
531
+ limit?: InputMaybe<Scalars['Int']['input']>;
532
+ offset?: InputMaybe<Scalars['Int']['input']>;
533
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
534
+ where?: InputMaybe<QuestionWhere>;
535
+ };
536
+
537
+
538
+ export type ReviewChildReactionsArgs = {
539
+ limit?: InputMaybe<Scalars['Int']['input']>;
540
+ offset?: InputMaybe<Scalars['Int']['input']>;
541
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
542
+ where?: InputMaybe<ReactionWhere>;
543
+ };
544
+
545
+
546
+ export type ReviewChildReviewsArgs = {
547
+ limit?: InputMaybe<Scalars['Int']['input']>;
548
+ offset?: InputMaybe<Scalars['Int']['input']>;
549
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
550
+ where?: InputMaybe<ReviewWhere>;
551
+ };
552
+
553
+ export type ReviewOrderBy = {
554
+ createdAt?: InputMaybe<Order>;
555
+ deletedAt?: InputMaybe<Order>;
556
+ updatedAt?: InputMaybe<Order>;
557
+ };
558
+
559
+ export type ReviewWhere = {
560
+ deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
561
+ id?: InputMaybe<Array<Scalars['ID']['input']>>;
562
+ rating_GT?: InputMaybe<Scalars['Float']['input']>;
563
+ rating_GTE?: InputMaybe<Scalars['Float']['input']>;
564
+ rating_LT?: InputMaybe<Scalars['Float']['input']>;
565
+ rating_LTE?: InputMaybe<Scalars['Float']['input']>;
566
+ };
567
+
568
+ export type ReviewWhereUnique = {
569
+ id?: InputMaybe<Scalars['ID']['input']>;
570
+ };
571
+
572
+ export enum Role {
573
+ Admin = 'ADMIN',
574
+ User = 'USER'
575
+ }
576
+
577
+ export enum SomeEnum {
578
+ A = 'A',
579
+ B = 'B',
580
+ C = 'C'
581
+ }
582
+
583
+ export type SomeObject = {
584
+ __typename?: 'SomeObject';
585
+ another: AnotherObject;
586
+ createdAt: Scalars['DateTime']['output'];
587
+ createdBy: User;
588
+ deleted: Scalars['Boolean']['output'];
589
+ deletedAt?: Maybe<Scalars['DateTime']['output']>;
590
+ deletedBy?: Maybe<User>;
591
+ field?: Maybe<Scalars['String']['output']>;
592
+ float: Scalars['Float']['output'];
593
+ id: Scalars['ID']['output'];
594
+ list: Array<SomeEnum>;
595
+ updatedAt: Scalars['DateTime']['output'];
596
+ updatedBy: User;
597
+ xyz: Scalars['Int']['output'];
598
+ };
599
+
600
+
601
+ export type SomeObjectListArgs = {
602
+ magic?: InputMaybe<Scalars['Boolean']['input']>;
603
+ };
604
+
605
+ export type SomeObjectOrderBy = {
606
+ createdAt?: InputMaybe<Order>;
607
+ deletedAt?: InputMaybe<Order>;
608
+ updatedAt?: InputMaybe<Order>;
609
+ xyz?: InputMaybe<Order>;
610
+ };
611
+
612
+ export type SomeObjectWhere = {
613
+ another?: InputMaybe<AnotherObjectWhere>;
614
+ deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
615
+ id?: InputMaybe<Array<Scalars['ID']['input']>>;
616
+ };
617
+
618
+ export type SomeObjectWhereUnique = {
619
+ id?: InputMaybe<Scalars['ID']['input']>;
620
+ };
621
+
622
+ export type SomeRawObject = {
623
+ __typename?: 'SomeRawObject';
624
+ field?: Maybe<Scalars['String']['output']>;
625
+ };
626
+
627
+ export type UpdateAnswer = {
628
+ content?: InputMaybe<Scalars['String']['input']>;
629
+ };
630
+
631
+ export type UpdateQuestion = {
632
+ content?: InputMaybe<Scalars['String']['input']>;
633
+ };
634
+
635
+ export type UpdateReview = {
636
+ content?: InputMaybe<Scalars['String']['input']>;
637
+ rating?: InputMaybe<Scalars['Float']['input']>;
638
+ };
639
+
640
+ export type UpdateSomeObject = {
641
+ anotherId?: InputMaybe<Scalars['ID']['input']>;
642
+ xyz?: InputMaybe<Scalars['Int']['input']>;
643
+ };
644
+
645
+ export type User = {
646
+ __typename?: 'User';
647
+ createdAnswers: Array<Answer>;
648
+ createdManyObjects: Array<SomeObject>;
649
+ createdQuestions: Array<Question>;
650
+ createdReactions: Array<Reaction>;
651
+ createdReviews: Array<Review>;
652
+ deletedAnotherObjects: Array<AnotherObject>;
653
+ deletedAnswers: Array<Answer>;
654
+ deletedManyObjects: Array<SomeObject>;
655
+ deletedQuestions: Array<Question>;
656
+ deletedReactions: Array<Reaction>;
657
+ deletedReviews: Array<Review>;
658
+ id: Scalars['ID']['output'];
659
+ role?: Maybe<Role>;
660
+ updatedAnswers: Array<Answer>;
661
+ updatedManyObjects: Array<SomeObject>;
662
+ updatedQuestions: Array<Question>;
663
+ updatedReactions: Array<Reaction>;
664
+ updatedReviews: Array<Review>;
665
+ username?: Maybe<Scalars['String']['output']>;
666
+ };
667
+
668
+
669
+ export type UserCreatedAnswersArgs = {
670
+ limit?: InputMaybe<Scalars['Int']['input']>;
671
+ offset?: InputMaybe<Scalars['Int']['input']>;
672
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
673
+ where?: InputMaybe<AnswerWhere>;
674
+ };
675
+
676
+
677
+ export type UserCreatedManyObjectsArgs = {
678
+ limit?: InputMaybe<Scalars['Int']['input']>;
679
+ offset?: InputMaybe<Scalars['Int']['input']>;
680
+ orderBy?: InputMaybe<Array<SomeObjectOrderBy>>;
681
+ search?: InputMaybe<Scalars['String']['input']>;
682
+ where?: InputMaybe<SomeObjectWhere>;
683
+ };
684
+
685
+
686
+ export type UserCreatedQuestionsArgs = {
687
+ limit?: InputMaybe<Scalars['Int']['input']>;
688
+ offset?: InputMaybe<Scalars['Int']['input']>;
689
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
690
+ where?: InputMaybe<QuestionWhere>;
691
+ };
692
+
693
+
694
+ export type UserCreatedReactionsArgs = {
695
+ limit?: InputMaybe<Scalars['Int']['input']>;
696
+ offset?: InputMaybe<Scalars['Int']['input']>;
697
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
698
+ where?: InputMaybe<ReactionWhere>;
699
+ };
700
+
701
+
702
+ export type UserCreatedReviewsArgs = {
703
+ limit?: InputMaybe<Scalars['Int']['input']>;
704
+ offset?: InputMaybe<Scalars['Int']['input']>;
705
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
706
+ where?: InputMaybe<ReviewWhere>;
707
+ };
708
+
709
+
710
+ export type UserDeletedAnotherObjectsArgs = {
711
+ limit?: InputMaybe<Scalars['Int']['input']>;
712
+ offset?: InputMaybe<Scalars['Int']['input']>;
713
+ orderBy?: InputMaybe<Array<AnotherObjectOrderBy>>;
714
+ where?: InputMaybe<AnotherObjectWhere>;
715
+ };
716
+
717
+
718
+ export type UserDeletedAnswersArgs = {
719
+ limit?: InputMaybe<Scalars['Int']['input']>;
720
+ offset?: InputMaybe<Scalars['Int']['input']>;
721
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
722
+ where?: InputMaybe<AnswerWhere>;
723
+ };
724
+
725
+
726
+ export type UserDeletedManyObjectsArgs = {
727
+ limit?: InputMaybe<Scalars['Int']['input']>;
728
+ offset?: InputMaybe<Scalars['Int']['input']>;
729
+ orderBy?: InputMaybe<Array<SomeObjectOrderBy>>;
730
+ search?: InputMaybe<Scalars['String']['input']>;
731
+ where?: InputMaybe<SomeObjectWhere>;
732
+ };
733
+
734
+
735
+ export type UserDeletedQuestionsArgs = {
736
+ limit?: InputMaybe<Scalars['Int']['input']>;
737
+ offset?: InputMaybe<Scalars['Int']['input']>;
738
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
739
+ where?: InputMaybe<QuestionWhere>;
740
+ };
741
+
742
+
743
+ export type UserDeletedReactionsArgs = {
744
+ limit?: InputMaybe<Scalars['Int']['input']>;
745
+ offset?: InputMaybe<Scalars['Int']['input']>;
746
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
747
+ where?: InputMaybe<ReactionWhere>;
748
+ };
749
+
750
+
751
+ export type UserDeletedReviewsArgs = {
752
+ limit?: InputMaybe<Scalars['Int']['input']>;
753
+ offset?: InputMaybe<Scalars['Int']['input']>;
754
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
755
+ where?: InputMaybe<ReviewWhere>;
756
+ };
757
+
758
+
759
+ export type UserUpdatedAnswersArgs = {
760
+ limit?: InputMaybe<Scalars['Int']['input']>;
761
+ offset?: InputMaybe<Scalars['Int']['input']>;
762
+ orderBy?: InputMaybe<Array<AnswerOrderBy>>;
763
+ where?: InputMaybe<AnswerWhere>;
764
+ };
765
+
766
+
767
+ export type UserUpdatedManyObjectsArgs = {
768
+ limit?: InputMaybe<Scalars['Int']['input']>;
769
+ offset?: InputMaybe<Scalars['Int']['input']>;
770
+ orderBy?: InputMaybe<Array<SomeObjectOrderBy>>;
771
+ search?: InputMaybe<Scalars['String']['input']>;
772
+ where?: InputMaybe<SomeObjectWhere>;
773
+ };
774
+
775
+
776
+ export type UserUpdatedQuestionsArgs = {
777
+ limit?: InputMaybe<Scalars['Int']['input']>;
778
+ offset?: InputMaybe<Scalars['Int']['input']>;
779
+ orderBy?: InputMaybe<Array<QuestionOrderBy>>;
780
+ where?: InputMaybe<QuestionWhere>;
781
+ };
782
+
783
+
784
+ export type UserUpdatedReactionsArgs = {
785
+ limit?: InputMaybe<Scalars['Int']['input']>;
786
+ offset?: InputMaybe<Scalars['Int']['input']>;
787
+ orderBy?: InputMaybe<Array<ReactionOrderBy>>;
788
+ where?: InputMaybe<ReactionWhere>;
789
+ };
790
+
791
+
792
+ export type UserUpdatedReviewsArgs = {
793
+ limit?: InputMaybe<Scalars['Int']['input']>;
794
+ offset?: InputMaybe<Scalars['Int']['input']>;
795
+ orderBy?: InputMaybe<Array<ReviewOrderBy>>;
796
+ where?: InputMaybe<ReviewWhere>;
797
+ };
798
+
799
+ export type UserWhere = {
800
+ id?: InputMaybe<Array<Scalars['ID']['input']>>;
801
+ };
802
+
803
+ export type UserWhereUnique = {
804
+ id?: InputMaybe<Scalars['ID']['input']>;
805
+ };
806
+
807
+
808
+
809
+ export type ResolverTypeWrapper<T> = Promise<T> | T;
810
+
811
+
812
+ export type ResolverWithResolve<TResult, TParent, TContext, TArgs> = {
813
+ resolve: ResolverFn<TResult, TParent, TContext, TArgs>;
814
+ };
815
+ export type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> = ResolverFn<TResult, TParent, TContext, TArgs> | ResolverWithResolve<TResult, TParent, TContext, TArgs>;
816
+
817
+ export type ResolverFn<TResult, TParent, TContext, TArgs> = (
818
+ parent: TParent,
819
+ args: TArgs,
820
+ context: TContext,
821
+ info: GraphQLResolveInfo
822
+ ) => Promise<TResult> | TResult;
823
+
824
+ export type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (
825
+ parent: TParent,
826
+ args: TArgs,
827
+ context: TContext,
828
+ info: GraphQLResolveInfo
829
+ ) => AsyncIterable<TResult> | Promise<AsyncIterable<TResult>>;
830
+
831
+ export type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (
832
+ parent: TParent,
833
+ args: TArgs,
834
+ context: TContext,
835
+ info: GraphQLResolveInfo
836
+ ) => TResult | Promise<TResult>;
837
+
838
+ export interface SubscriptionSubscriberObject<TResult, TKey extends string, TParent, TContext, TArgs> {
839
+ subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>;
840
+ resolve?: SubscriptionResolveFn<TResult, { [key in TKey]: TResult }, TContext, TArgs>;
841
+ }
842
+
843
+ export interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
844
+ subscribe: SubscriptionSubscribeFn<any, TParent, TContext, TArgs>;
845
+ resolve: SubscriptionResolveFn<TResult, any, TContext, TArgs>;
846
+ }
847
+
848
+ export type SubscriptionObject<TResult, TKey extends string, TParent, TContext, TArgs> =
849
+ | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
850
+ | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>;
851
+
852
+ export type SubscriptionResolver<TResult, TKey extends string, TParent = {}, TContext = {}, TArgs = {}> =
853
+ | ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
854
+ | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>;
855
+
856
+ export type TypeResolveFn<TTypes, TParent = {}, TContext = {}> = (
857
+ parent: TParent,
858
+ context: TContext,
859
+ info: GraphQLResolveInfo
860
+ ) => Maybe<TTypes> | Promise<Maybe<TTypes>>;
861
+
862
+ export type IsTypeOfResolverFn<T = {}, TContext = {}> = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise<boolean>;
863
+
864
+ export type NextResolverFn<T> = () => Promise<T>;
865
+
866
+ export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs = {}> = (
867
+ next: NextResolverFn<TResult>,
868
+ parent: TParent,
869
+ args: TArgs,
870
+ context: TContext,
871
+ info: GraphQLResolveInfo
872
+ ) => TResult | Promise<TResult>;
873
+
874
+
875
+ /** Mapping of interface types */
876
+ export type ResolversInterfaceTypes<RefType extends Record<string, unknown>> = {
877
+ Reaction: ( Answer ) | ( Question ) | ( Review );
878
+ };
879
+
880
+ /** Mapping between all available schema types and the resolvers types */
881
+ export type ResolversTypes = {
882
+ AnotherObject: ResolverTypeWrapper<AnotherObject>;
883
+ AnotherObjectOrderBy: AnotherObjectOrderBy;
884
+ AnotherObjectWhere: AnotherObjectWhere;
885
+ AnotherObjectWhereUnique: AnotherObjectWhereUnique;
886
+ Answer: ResolverTypeWrapper<Answer>;
887
+ AnswerOrderBy: AnswerOrderBy;
888
+ AnswerWhere: AnswerWhere;
889
+ AnswerWhereUnique: AnswerWhereUnique;
890
+ Boolean: ResolverTypeWrapper<Scalars['Boolean']['output']>;
891
+ CreateAnswer: CreateAnswer;
892
+ CreateQuestion: CreateQuestion;
893
+ CreateReview: CreateReview;
894
+ CreateSomeObject: CreateSomeObject;
895
+ DateTime: ResolverTypeWrapper<Scalars['DateTime']['output']>;
896
+ Float: ResolverTypeWrapper<Scalars['Float']['output']>;
897
+ ID: ResolverTypeWrapper<Scalars['ID']['output']>;
898
+ Int: ResolverTypeWrapper<Scalars['Int']['output']>;
899
+ Mutation: ResolverTypeWrapper<{}>;
900
+ Order: Order;
901
+ Query: ResolverTypeWrapper<{}>;
902
+ Question: ResolverTypeWrapper<Question>;
903
+ QuestionOrderBy: QuestionOrderBy;
904
+ QuestionWhere: QuestionWhere;
905
+ QuestionWhereUnique: QuestionWhereUnique;
906
+ Reaction: ResolverTypeWrapper<ResolversInterfaceTypes<ResolversTypes>['Reaction']>;
907
+ ReactionOrderBy: ReactionOrderBy;
908
+ ReactionType: ReactionType;
909
+ ReactionWhere: ReactionWhere;
910
+ ReactionWhereUnique: ReactionWhereUnique;
911
+ Review: ResolverTypeWrapper<Review>;
912
+ ReviewOrderBy: ReviewOrderBy;
913
+ ReviewWhere: ReviewWhere;
914
+ ReviewWhereUnique: ReviewWhereUnique;
915
+ Role: Role;
916
+ SomeEnum: SomeEnum;
917
+ SomeObject: ResolverTypeWrapper<SomeObject>;
918
+ SomeObjectOrderBy: SomeObjectOrderBy;
919
+ SomeObjectWhere: SomeObjectWhere;
920
+ SomeObjectWhereUnique: SomeObjectWhereUnique;
921
+ SomeRawObject: ResolverTypeWrapper<SomeRawObject>;
922
+ String: ResolverTypeWrapper<Scalars['String']['output']>;
923
+ UpdateAnswer: UpdateAnswer;
924
+ UpdateQuestion: UpdateQuestion;
925
+ UpdateReview: UpdateReview;
926
+ UpdateSomeObject: UpdateSomeObject;
927
+ Upload: ResolverTypeWrapper<Scalars['Upload']['output']>;
928
+ User: ResolverTypeWrapper<User>;
929
+ UserWhere: UserWhere;
930
+ UserWhereUnique: UserWhereUnique;
931
+ };
932
+
933
+ /** Mapping between all available schema types and the resolvers parents */
934
+ export type ResolversParentTypes = {
935
+ AnotherObject: AnotherObject;
936
+ AnotherObjectOrderBy: AnotherObjectOrderBy;
937
+ AnotherObjectWhere: AnotherObjectWhere;
938
+ AnotherObjectWhereUnique: AnotherObjectWhereUnique;
939
+ Answer: Answer;
940
+ AnswerOrderBy: AnswerOrderBy;
941
+ AnswerWhere: AnswerWhere;
942
+ AnswerWhereUnique: AnswerWhereUnique;
943
+ Boolean: Scalars['Boolean']['output'];
944
+ CreateAnswer: CreateAnswer;
945
+ CreateQuestion: CreateQuestion;
946
+ CreateReview: CreateReview;
947
+ CreateSomeObject: CreateSomeObject;
948
+ DateTime: Scalars['DateTime']['output'];
949
+ Float: Scalars['Float']['output'];
950
+ ID: Scalars['ID']['output'];
951
+ Int: Scalars['Int']['output'];
952
+ Mutation: {};
953
+ Query: {};
954
+ Question: Question;
955
+ QuestionOrderBy: QuestionOrderBy;
956
+ QuestionWhere: QuestionWhere;
957
+ QuestionWhereUnique: QuestionWhereUnique;
958
+ Reaction: ResolversInterfaceTypes<ResolversParentTypes>['Reaction'];
959
+ ReactionOrderBy: ReactionOrderBy;
960
+ ReactionWhere: ReactionWhere;
961
+ ReactionWhereUnique: ReactionWhereUnique;
962
+ Review: Review;
963
+ ReviewOrderBy: ReviewOrderBy;
964
+ ReviewWhere: ReviewWhere;
965
+ ReviewWhereUnique: ReviewWhereUnique;
966
+ SomeObject: SomeObject;
967
+ SomeObjectOrderBy: SomeObjectOrderBy;
968
+ SomeObjectWhere: SomeObjectWhere;
969
+ SomeObjectWhereUnique: SomeObjectWhereUnique;
970
+ SomeRawObject: SomeRawObject;
971
+ String: Scalars['String']['output'];
972
+ UpdateAnswer: UpdateAnswer;
973
+ UpdateQuestion: UpdateQuestion;
974
+ UpdateReview: UpdateReview;
975
+ UpdateSomeObject: UpdateSomeObject;
976
+ Upload: Scalars['Upload']['output'];
977
+ User: User;
978
+ UserWhere: UserWhere;
979
+ UserWhereUnique: UserWhereUnique;
980
+ };
981
+
982
+ export type AnotherObjectResolvers<ContextType = any, ParentType extends ResolversParentTypes['AnotherObject'] = ResolversParentTypes['AnotherObject']> = {
983
+ deleted?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
984
+ deletedAt?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
985
+ deletedBy?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>;
986
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
987
+ manyObjects?: Resolver<Array<ResolversTypes['SomeObject']>, ParentType, ContextType, Partial<AnotherObjectManyObjectsArgs>>;
988
+ myself?: Resolver<Maybe<ResolversTypes['AnotherObject']>, ParentType, ContextType>;
989
+ name?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
990
+ self?: Resolver<Maybe<ResolversTypes['AnotherObject']>, ParentType, ContextType, Partial<AnotherObjectSelfArgs>>;
991
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
992
+ };
993
+
994
+ export type AnswerResolvers<ContextType = any, ParentType extends ResolversParentTypes['Answer'] = ResolversParentTypes['Answer']> = {
995
+ childAnswers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<AnswerChildAnswersArgs>>;
996
+ childQuestions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<AnswerChildQuestionsArgs>>;
997
+ childReactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<AnswerChildReactionsArgs>>;
998
+ childReviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<AnswerChildReviewsArgs>>;
999
+ content?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1000
+ createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1001
+ createdBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1002
+ deleted?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
1003
+ deletedAt?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
1004
+ deletedBy?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>;
1005
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1006
+ parent?: Resolver<Maybe<ResolversTypes['Reaction']>, ParentType, ContextType>;
1007
+ type?: Resolver<ResolversTypes['ReactionType'], ParentType, ContextType>;
1008
+ updatedAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1009
+ updatedBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1010
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1011
+ };
1012
+
1013
+ export interface DateTimeScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes['DateTime'], any> {
1014
+ name: 'DateTime';
1015
+ }
1016
+
1017
+ export type MutationResolvers<ContextType = any, ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation']> = {
1018
+ createAnswer?: Resolver<ResolversTypes['Answer'], ParentType, ContextType, RequireFields<MutationCreateAnswerArgs, 'data'>>;
1019
+ createQuestion?: Resolver<ResolversTypes['Question'], ParentType, ContextType, RequireFields<MutationCreateQuestionArgs, 'data'>>;
1020
+ createReview?: Resolver<ResolversTypes['Review'], ParentType, ContextType, RequireFields<MutationCreateReviewArgs, 'data'>>;
1021
+ createSomeObject?: Resolver<ResolversTypes['SomeObject'], ParentType, ContextType, RequireFields<MutationCreateSomeObjectArgs, 'data'>>;
1022
+ deleteAnotherObject?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationDeleteAnotherObjectArgs, 'where'>>;
1023
+ deleteAnswer?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationDeleteAnswerArgs, 'where'>>;
1024
+ deleteQuestion?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationDeleteQuestionArgs, 'where'>>;
1025
+ deleteReview?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationDeleteReviewArgs, 'where'>>;
1026
+ deleteSomeObject?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationDeleteSomeObjectArgs, 'where'>>;
1027
+ restoreAnotherObject?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationRestoreAnotherObjectArgs, 'where'>>;
1028
+ restoreAnswer?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationRestoreAnswerArgs, 'where'>>;
1029
+ restoreQuestion?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationRestoreQuestionArgs, 'where'>>;
1030
+ restoreReview?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationRestoreReviewArgs, 'where'>>;
1031
+ restoreSomeObject?: Resolver<ResolversTypes['ID'], ParentType, ContextType, RequireFields<MutationRestoreSomeObjectArgs, 'where'>>;
1032
+ updateAnswer?: Resolver<ResolversTypes['Answer'], ParentType, ContextType, RequireFields<MutationUpdateAnswerArgs, 'data' | 'where'>>;
1033
+ updateQuestion?: Resolver<ResolversTypes['Question'], ParentType, ContextType, RequireFields<MutationUpdateQuestionArgs, 'data' | 'where'>>;
1034
+ updateReview?: Resolver<ResolversTypes['Review'], ParentType, ContextType, RequireFields<MutationUpdateReviewArgs, 'data' | 'where'>>;
1035
+ updateSomeObject?: Resolver<ResolversTypes['SomeObject'], ParentType, ContextType, RequireFields<MutationUpdateSomeObjectArgs, 'data' | 'where'>>;
1036
+ };
1037
+
1038
+ export type QueryResolvers<ContextType = any, ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query']> = {
1039
+ anotherObjects?: Resolver<Array<ResolversTypes['AnotherObject']>, ParentType, ContextType, Partial<QueryAnotherObjectsArgs>>;
1040
+ answer?: Resolver<ResolversTypes['Answer'], ParentType, ContextType, RequireFields<QueryAnswerArgs, 'where'>>;
1041
+ answers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<QueryAnswersArgs>>;
1042
+ manyObjects?: Resolver<Array<ResolversTypes['SomeObject']>, ParentType, ContextType, Partial<QueryManyObjectsArgs>>;
1043
+ me?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>;
1044
+ question?: Resolver<ResolversTypes['Question'], ParentType, ContextType, RequireFields<QueryQuestionArgs, 'where'>>;
1045
+ questions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<QueryQuestionsArgs>>;
1046
+ reaction?: Resolver<ResolversTypes['Reaction'], ParentType, ContextType, RequireFields<QueryReactionArgs, 'where'>>;
1047
+ reactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<QueryReactionsArgs>>;
1048
+ review?: Resolver<ResolversTypes['Review'], ParentType, ContextType, RequireFields<QueryReviewArgs, 'where'>>;
1049
+ reviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<QueryReviewsArgs>>;
1050
+ someObject?: Resolver<ResolversTypes['SomeObject'], ParentType, ContextType, RequireFields<QuerySomeObjectArgs, 'where'>>;
1051
+ };
1052
+
1053
+ export type QuestionResolvers<ContextType = any, ParentType extends ResolversParentTypes['Question'] = ResolversParentTypes['Question']> = {
1054
+ childAnswers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<QuestionChildAnswersArgs>>;
1055
+ childQuestions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<QuestionChildQuestionsArgs>>;
1056
+ childReactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<QuestionChildReactionsArgs>>;
1057
+ childReviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<QuestionChildReviewsArgs>>;
1058
+ content?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1059
+ createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1060
+ createdBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1061
+ deleted?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
1062
+ deletedAt?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
1063
+ deletedBy?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>;
1064
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1065
+ parent?: Resolver<Maybe<ResolversTypes['Reaction']>, ParentType, ContextType>;
1066
+ type?: Resolver<ResolversTypes['ReactionType'], ParentType, ContextType>;
1067
+ updatedAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1068
+ updatedBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1069
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1070
+ };
1071
+
1072
+ export type ReactionResolvers<ContextType = any, ParentType extends ResolversParentTypes['Reaction'] = ResolversParentTypes['Reaction']> = {
1073
+ __resolveType: TypeResolveFn<'Answer' | 'Question' | 'Review', ParentType, ContextType>;
1074
+ childAnswers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<ReactionChildAnswersArgs>>;
1075
+ childQuestions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<ReactionChildQuestionsArgs>>;
1076
+ childReactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<ReactionChildReactionsArgs>>;
1077
+ childReviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<ReactionChildReviewsArgs>>;
1078
+ content?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1079
+ createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1080
+ createdBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1081
+ deleted?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
1082
+ deletedAt?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
1083
+ deletedBy?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>;
1084
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1085
+ parent?: Resolver<Maybe<ResolversTypes['Reaction']>, ParentType, ContextType>;
1086
+ type?: Resolver<ResolversTypes['ReactionType'], ParentType, ContextType>;
1087
+ updatedAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1088
+ updatedBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1089
+ };
1090
+
1091
+ export type ReviewResolvers<ContextType = any, ParentType extends ResolversParentTypes['Review'] = ResolversParentTypes['Review']> = {
1092
+ childAnswers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<ReviewChildAnswersArgs>>;
1093
+ childQuestions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<ReviewChildQuestionsArgs>>;
1094
+ childReactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<ReviewChildReactionsArgs>>;
1095
+ childReviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<ReviewChildReviewsArgs>>;
1096
+ content?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1097
+ createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1098
+ createdBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1099
+ deleted?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
1100
+ deletedAt?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
1101
+ deletedBy?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>;
1102
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1103
+ parent?: Resolver<Maybe<ResolversTypes['Reaction']>, ParentType, ContextType>;
1104
+ rating?: Resolver<Maybe<ResolversTypes['Float']>, ParentType, ContextType>;
1105
+ type?: Resolver<ResolversTypes['ReactionType'], ParentType, ContextType>;
1106
+ updatedAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1107
+ updatedBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1108
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1109
+ };
1110
+
1111
+ export type SomeObjectResolvers<ContextType = any, ParentType extends ResolversParentTypes['SomeObject'] = ResolversParentTypes['SomeObject']> = {
1112
+ another?: Resolver<ResolversTypes['AnotherObject'], ParentType, ContextType>;
1113
+ createdAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1114
+ createdBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1115
+ deleted?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
1116
+ deletedAt?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
1117
+ deletedBy?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>;
1118
+ field?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1119
+ float?: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
1120
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1121
+ list?: Resolver<Array<ResolversTypes['SomeEnum']>, ParentType, ContextType, Partial<SomeObjectListArgs>>;
1122
+ updatedAt?: Resolver<ResolversTypes['DateTime'], ParentType, ContextType>;
1123
+ updatedBy?: Resolver<ResolversTypes['User'], ParentType, ContextType>;
1124
+ xyz?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
1125
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1126
+ };
1127
+
1128
+ export type SomeRawObjectResolvers<ContextType = any, ParentType extends ResolversParentTypes['SomeRawObject'] = ResolversParentTypes['SomeRawObject']> = {
1129
+ field?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1130
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1131
+ };
1132
+
1133
+ export interface UploadScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes['Upload'], any> {
1134
+ name: 'Upload';
1135
+ }
1136
+
1137
+ export type UserResolvers<ContextType = any, ParentType extends ResolversParentTypes['User'] = ResolversParentTypes['User']> = {
1138
+ createdAnswers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<UserCreatedAnswersArgs>>;
1139
+ createdManyObjects?: Resolver<Array<ResolversTypes['SomeObject']>, ParentType, ContextType, Partial<UserCreatedManyObjectsArgs>>;
1140
+ createdQuestions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<UserCreatedQuestionsArgs>>;
1141
+ createdReactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<UserCreatedReactionsArgs>>;
1142
+ createdReviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<UserCreatedReviewsArgs>>;
1143
+ deletedAnotherObjects?: Resolver<Array<ResolversTypes['AnotherObject']>, ParentType, ContextType, Partial<UserDeletedAnotherObjectsArgs>>;
1144
+ deletedAnswers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<UserDeletedAnswersArgs>>;
1145
+ deletedManyObjects?: Resolver<Array<ResolversTypes['SomeObject']>, ParentType, ContextType, Partial<UserDeletedManyObjectsArgs>>;
1146
+ deletedQuestions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<UserDeletedQuestionsArgs>>;
1147
+ deletedReactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<UserDeletedReactionsArgs>>;
1148
+ deletedReviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<UserDeletedReviewsArgs>>;
1149
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1150
+ role?: Resolver<Maybe<ResolversTypes['Role']>, ParentType, ContextType>;
1151
+ updatedAnswers?: Resolver<Array<ResolversTypes['Answer']>, ParentType, ContextType, Partial<UserUpdatedAnswersArgs>>;
1152
+ updatedManyObjects?: Resolver<Array<ResolversTypes['SomeObject']>, ParentType, ContextType, Partial<UserUpdatedManyObjectsArgs>>;
1153
+ updatedQuestions?: Resolver<Array<ResolversTypes['Question']>, ParentType, ContextType, Partial<UserUpdatedQuestionsArgs>>;
1154
+ updatedReactions?: Resolver<Array<ResolversTypes['Reaction']>, ParentType, ContextType, Partial<UserUpdatedReactionsArgs>>;
1155
+ updatedReviews?: Resolver<Array<ResolversTypes['Review']>, ParentType, ContextType, Partial<UserUpdatedReviewsArgs>>;
1156
+ username?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1157
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
1158
+ };
1159
+
1160
+ export type Resolvers<ContextType = any> = {
1161
+ AnotherObject?: AnotherObjectResolvers<ContextType>;
1162
+ Answer?: AnswerResolvers<ContextType>;
1163
+ DateTime?: GraphQLScalarType;
1164
+ Mutation?: MutationResolvers<ContextType>;
1165
+ Query?: QueryResolvers<ContextType>;
1166
+ Question?: QuestionResolvers<ContextType>;
1167
+ Reaction?: ReactionResolvers<ContextType>;
1168
+ Review?: ReviewResolvers<ContextType>;
1169
+ SomeObject?: SomeObjectResolvers<ContextType>;
1170
+ SomeRawObject?: SomeRawObjectResolvers<ContextType>;
1171
+ Upload?: GraphQLScalarType;
1172
+ User?: UserResolvers<ContextType>;
1173
+ };
1174
+