@smartive/graphql-magic 11.1.1 → 11.2.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 (39) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/dist/bin/gqm.cjs +6 -2
  3. package/dist/cjs/index.cjs +36 -6
  4. package/dist/esm/client/mutations.js.map +1 -1
  5. package/dist/esm/client/queries.js.map +1 -1
  6. package/dist/esm/db/generate.js.map +1 -1
  7. package/dist/esm/migrations/generate.js.map +1 -1
  8. package/dist/esm/models/model-definitions.d.ts +1 -0
  9. package/dist/esm/models/models.js.map +1 -1
  10. package/dist/esm/models/utils.d.ts +2 -0
  11. package/dist/esm/models/utils.js.map +1 -1
  12. package/dist/esm/permissions/check.js.map +1 -1
  13. package/dist/esm/permissions/generate.js.map +1 -1
  14. package/dist/esm/resolvers/arguments.js.map +1 -1
  15. package/dist/esm/resolvers/filters.d.ts +0 -1
  16. package/dist/esm/resolvers/filters.js +31 -4
  17. package/dist/esm/resolvers/filters.js.map +1 -1
  18. package/dist/esm/resolvers/mutations.js.map +1 -1
  19. package/dist/esm/resolvers/node.js.map +1 -1
  20. package/dist/esm/resolvers/resolver.js.map +1 -1
  21. package/dist/esm/resolvers/selects.js.map +1 -1
  22. package/dist/esm/resolvers/utils.d.ts +1 -0
  23. package/dist/esm/resolvers/utils.js.map +1 -1
  24. package/dist/esm/schema/generate.js +11 -6
  25. package/dist/esm/schema/generate.js.map +1 -1
  26. package/dist/esm/schema/utils.js.map +1 -1
  27. package/package.json +9 -9
  28. package/src/models/model-definitions.ts +1 -0
  29. package/src/resolvers/filters.ts +40 -9
  30. package/src/resolvers/utils.ts +2 -0
  31. package/src/schema/generate.ts +11 -6
  32. package/tests/api/__snapshots__/query.spec.ts.snap +74 -0
  33. package/tests/api/query.spec.ts +29 -0
  34. package/tests/generated/api/index.ts +2 -0
  35. package/tests/generated/client/index.ts +16 -24
  36. package/tests/generated/models.json +3 -1
  37. package/tests/generated/schema.graphql +2 -0
  38. package/tests/utils/database/seed.ts +21 -0
  39. package/tests/utils/models.ts +2 -0
@@ -53,6 +53,7 @@ export type AnotherObjectOrderBy = {
53
53
  export type AnotherObjectWhere = {
54
54
  deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
55
55
  id?: InputMaybe<Array<Scalars['ID']['input']>>;
56
+ manyObjects_SOME?: InputMaybe<SomeObjectWhere>;
56
57
  };
57
58
 
58
59
  export type AnotherObjectWhereUnique = {
@@ -609,6 +610,7 @@ export type SomeObjectOrderBy = {
609
610
  export type SomeObjectWhere = {
610
611
  another?: InputMaybe<AnotherObjectWhere>;
611
612
  deleted?: InputMaybe<Array<Scalars['Boolean']['input']>>;
613
+ float?: InputMaybe<Array<Scalars['Float']['input']>>;
612
614
  id?: InputMaybe<Array<Scalars['ID']['input']>>;
613
615
  };
614
616
 
@@ -851,6 +853,11 @@ export type SomeQueryQueryVariables = Exact<{ [key: string]: never; }>;
851
853
 
852
854
  export type SomeQueryQuery = { manyObjects: Array<{ __typename: 'SomeObject', id: string, field: string | null, xyz: number, another: { __typename: 'AnotherObject', id: string, manyObjects: Array<{ __typename: 'SomeObject', id: string, field: string | null }> } }> };
853
855
 
856
+ export type ReverseFiltersQueryQueryVariables = Exact<{ [key: string]: never; }>;
857
+
858
+
859
+ export type ReverseFiltersQueryQuery = { first: Array<{ __typename: 'AnotherObject', id: string, manyObjects: Array<{ __typename: 'SomeObject', float: number }> }>, second: Array<{ __typename: 'AnotherObject', id: string, manyObjects: Array<{ __typename: 'SomeObject', float: number }> }> };
860
+
854
861
  export type DeleteAnotherObjectMutationMutationVariables = Exact<{
855
862
  id: Scalars['ID']['input'];
856
863
  }>;
@@ -981,16 +988,6 @@ export type RestoreAnswerMutationMutationVariables = Exact<{
981
988
 
982
989
  export type RestoreAnswerMutationMutation = { restoreAnswer: string };
983
990
 
984
- export type AnotherQueryQueryVariables = Exact<{ [key: string]: never; }>;
985
-
986
-
987
- export type AnotherQueryQuery = { manyObjects: Array<{ __typename: 'SomeObject', id: string, field: string | null, another: { __typename: 'AnotherObject', id: string, manyObjects: Array<{ __typename: 'SomeObject', id: string, field: string | null }> } }> };
988
-
989
- export type YetAnotherQueryQueryVariables = Exact<{ [key: string]: never; }>;
990
-
991
-
992
- export type YetAnotherQueryQuery = { someObject: { __typename: 'SomeObject', id: string, field: string | null } };
993
-
994
991
  type DiscriminateUnion<T, U> = T extends U ? T : never;
995
992
 
996
993
  export namespace DeleteAnotherObject {
@@ -1050,6 +1047,15 @@ export namespace SomeQuery {
1050
1047
  export type _manyObjects = NonNullable<(NonNullable<(NonNullable<NonNullable<(NonNullable<SomeQueryQuery['manyObjects']>)[number]>['another']>)['manyObjects']>)[number]>;
1051
1048
  }
1052
1049
 
1050
+ export namespace ReverseFiltersQuery {
1051
+ export type Variables = ReverseFiltersQueryQueryVariables;
1052
+ export type query = ReverseFiltersQueryQuery;
1053
+ export type first = NonNullable<(NonNullable<ReverseFiltersQueryQuery['first']>)[number]>;
1054
+ export type manyObjects = NonNullable<(NonNullable<NonNullable<(NonNullable<ReverseFiltersQueryQuery['first']>)[number]>['manyObjects']>)[number]>;
1055
+ export type second = NonNullable<(NonNullable<ReverseFiltersQueryQuery['second']>)[number]>;
1056
+ export type _manyObjects = NonNullable<(NonNullable<NonNullable<(NonNullable<ReverseFiltersQueryQuery['second']>)[number]>['manyObjects']>)[number]>;
1057
+ }
1058
+
1053
1059
  export namespace DeleteAnotherObjectMutation {
1054
1060
  export type Variables = DeleteAnotherObjectMutationMutationVariables;
1055
1061
  export type mutation = DeleteAnotherObjectMutationMutation;
@@ -1147,17 +1153,3 @@ export namespace RestoreAnswerMutation {
1147
1153
  export type Variables = RestoreAnswerMutationMutationVariables;
1148
1154
  export type mutation = RestoreAnswerMutationMutation;
1149
1155
  }
1150
-
1151
- export namespace AnotherQuery {
1152
- export type Variables = AnotherQueryQueryVariables;
1153
- export type query = AnotherQueryQuery;
1154
- export type manyObjects = NonNullable<(NonNullable<AnotherQueryQuery['manyObjects']>)[number]>;
1155
- export type another = (NonNullable<NonNullable<(NonNullable<AnotherQueryQuery['manyObjects']>)[number]>['another']>);
1156
- export type _manyObjects = NonNullable<(NonNullable<(NonNullable<NonNullable<(NonNullable<AnotherQueryQuery['manyObjects']>)[number]>['another']>)['manyObjects']>)[number]>;
1157
- }
1158
-
1159
- export namespace YetAnotherQuery {
1160
- export type Variables = YetAnotherQueryQueryVariables;
1161
- export type query = YetAnotherQueryQuery;
1162
- export type someObject = (NonNullable<YetAnotherQueryQuery['someObject']>);
1163
- }
@@ -132,6 +132,7 @@
132
132
  "kind": "relation",
133
133
  "type": "AnotherObject",
134
134
  "filterable": true,
135
+ "reverseFilterable": true,
135
136
  "updatable": true,
136
137
  "nonNull": true,
137
138
  "foreignKey": "anotherId"
@@ -141,7 +142,8 @@
141
142
  "type": "Float",
142
143
  "scale": 1,
143
144
  "precision": 1,
144
- "nonNull": true
145
+ "nonNull": true,
146
+ "filterable": true
145
147
  },
146
148
  {
147
149
  "kind": "enum",
@@ -17,6 +17,7 @@ input AnotherObjectOrderBy {
17
17
  input AnotherObjectWhere {
18
18
  id: [ID!]
19
19
  deleted: [Boolean!]
20
+ manyObjects_SOME: SomeObjectWhere
20
21
  }
21
22
 
22
23
  input AnotherObjectWhereUnique {
@@ -262,6 +263,7 @@ input SomeObjectOrderBy {
262
263
 
263
264
  input SomeObjectWhere {
264
265
  id: [ID!]
266
+ float: [Float!]
265
267
  deleted: [Boolean!]
266
268
  another: AnotherObjectWhere
267
269
  }
@@ -8,7 +8,10 @@ import { models } from '../models';
8
8
  export const ADMIN_ID = '04e45b48-04cf-4b38-bb25-b9af5ae0b2c4';
9
9
 
10
10
  export const SOME_ID = '604ab55d-ec3e-4857-9f27-219158f80e64';
11
+ export const SOME_ID_2 = 'fc4e013e-4cb0-4ef8-9f2e-3d475bdf2b90';
12
+ export const SOME_ID_3 = '37a23870-e7f5-45c8-86e5-f14d9f2405f9';
11
13
  export const ANOTHER_ID = '226a20e8-5c18-4423-99ca-eb0df6ff4fdd';
14
+ export const ANOTHER_ID_2 = 'ba5d94a8-0035-4e45-9258-2f7676eb8d18';
12
15
  export const QUESTION_ID = '3d0f3254-282f-4f1f-95e3-c1f699f3c1e5';
13
16
  export const ANSWER_ID = 'f2d7b3f1-8ea1-4c2c-91ec-024432da1b0d';
14
17
  export const REVIEW_ID = '817c55de-2f77-4159-bd44-9837d868f889';
@@ -26,6 +29,10 @@ export const seed: SeedData = {
26
29
  id: ANOTHER_ID,
27
30
  myselfId: ANOTHER_ID,
28
31
  },
32
+ {
33
+ id: ANOTHER_ID_2,
34
+ myselfId: ANOTHER_ID,
35
+ },
29
36
  ],
30
37
  SomeObject: [
31
38
  {
@@ -35,6 +42,20 @@ export const seed: SeedData = {
35
42
  list: ['A'],
36
43
  xyz: 1,
37
44
  },
45
+ {
46
+ id: SOME_ID_2,
47
+ anotherId: ANOTHER_ID,
48
+ float: 0.5,
49
+ list: ['B'],
50
+ xyz: 2,
51
+ },
52
+ {
53
+ id: SOME_ID_3,
54
+ anotherId: ANOTHER_ID_2,
55
+ float: 0.5,
56
+ list: ['B'],
57
+ xyz: 2,
58
+ },
38
59
  ],
39
60
  Question: [
40
61
  {
@@ -76,6 +76,7 @@ const modelDefinitions: ModelDefinitions = [
76
76
  kind: 'relation',
77
77
  type: 'AnotherObject',
78
78
  filterable: true,
79
+ reverseFilterable: true,
79
80
  updatable: true,
80
81
  nonNull: true,
81
82
  },
@@ -85,6 +86,7 @@ const modelDefinitions: ModelDefinitions = [
85
86
  scale: 1,
86
87
  precision: 1,
87
88
  nonNull: true,
89
+ filterable: true,
88
90
  },
89
91
  {
90
92
  kind: 'enum',