@contember/engine-content-api 1.3.6 → 1.4.0-alpha.2

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 (122) hide show
  1. package/dist/src/ExecutionContainer.d.ts +4 -4
  2. package/dist/src/ExecutionContainer.d.ts.map +1 -1
  3. package/dist/src/ExecutionContainer.js +5 -2
  4. package/dist/src/ExecutionContainer.js.map +1 -1
  5. package/dist/src/extensions/EntityFieldsProvider.d.ts +1 -1
  6. package/dist/src/extensions/EntityFieldsProvider.d.ts.map +1 -1
  7. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts +1 -1
  8. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts.map +1 -1
  9. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js +12 -2
  10. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  11. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts +16 -9
  12. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -1
  13. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +21 -13
  14. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  15. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts +1 -1
  16. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts.map +1 -1
  17. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js +8 -2
  18. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  19. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts +16 -9
  20. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts.map +1 -1
  21. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +17 -12
  22. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  23. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.d.ts +2 -0
  24. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.d.ts.map +1 -1
  25. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.js +18 -14
  26. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  27. package/dist/src/introspection/index.d.ts +1 -2
  28. package/dist/src/introspection/index.d.ts.map +1 -1
  29. package/dist/src/introspection/index.js +4 -4
  30. package/dist/src/introspection/index.js.map +1 -1
  31. package/dist/src/mapper/ErrorUtils.d.ts +3 -3
  32. package/dist/src/mapper/ErrorUtils.d.ts.map +1 -1
  33. package/dist/src/mapper/ErrorUtils.js +2 -2
  34. package/dist/src/mapper/ErrorUtils.js.map +1 -1
  35. package/dist/src/mapper/Mapper.d.ts +2 -3
  36. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  37. package/dist/src/mapper/Mapper.js +1 -1
  38. package/dist/src/mapper/Mapper.js.map +1 -1
  39. package/dist/src/mapper/MapperFactory.d.ts +3 -3
  40. package/dist/src/mapper/MapperFactory.d.ts.map +1 -1
  41. package/dist/src/mapper/MapperFactory.js.map +1 -1
  42. package/dist/src/mapper/Result.d.ts +2 -2
  43. package/dist/src/mapper/Result.d.ts.map +1 -1
  44. package/dist/src/mapper/Result.js.map +1 -1
  45. package/dist/src/mapper/delete/DeleteExecutor.js +1 -1
  46. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  47. package/dist/src/mapper/insert/Inserter.d.ts +3 -2
  48. package/dist/src/mapper/insert/Inserter.d.ts.map +1 -1
  49. package/dist/src/mapper/insert/Inserter.js.map +1 -1
  50. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts +3 -5
  51. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  52. package/dist/src/mapper/select/handlers/FieldsVisitor.js +8 -4
  53. package/dist/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  54. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts +3 -5
  55. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts.map +1 -1
  56. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js +3 -4
  57. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  58. package/dist/src/mapper/update/Updater.d.ts +2 -2
  59. package/dist/src/mapper/update/Updater.d.ts.map +1 -1
  60. package/dist/src/mapper/update/Updater.js.map +1 -1
  61. package/dist/src/resolvers/MutationResolver.d.ts +3 -2
  62. package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
  63. package/dist/src/resolvers/MutationResolver.js +20 -18
  64. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  65. package/dist/src/schema/EntityTypeProvider.d.ts.map +1 -1
  66. package/dist/src/schema/EntityTypeProvider.js +23 -26
  67. package/dist/src/schema/EntityTypeProvider.js.map +1 -1
  68. package/dist/src/schema/GraphQlSchemaBuilder.d.ts.map +1 -1
  69. package/dist/src/schema/GraphQlSchemaBuilder.js +3 -1
  70. package/dist/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  71. package/dist/src/tsconfig.tsbuildinfo +1 -1
  72. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +1 -1
  73. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  74. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.d.ts +2 -0
  75. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.d.ts.map +1 -0
  76. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.js +170 -0
  77. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.js.map +1 -0
  78. package/dist/tests/src/test.js +1 -1
  79. package/dist/tests/src/test.js.map +1 -1
  80. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  81. package/graphql.codegen.yml +1 -1
  82. package/package.json +12 -13
  83. package/src/ExecutionContainer.ts +13 -6
  84. package/src/extensions/EntityFieldsProvider.ts +1 -1
  85. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts +12 -5
  86. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts +33 -24
  87. package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts +8 -5
  88. package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts +28 -17
  89. package/src/introspection/IntrospectionSchemaDefinitionFactory.ts +22 -14
  90. package/src/introspection/index.ts +1 -2
  91. package/src/mapper/ErrorUtils.ts +8 -7
  92. package/src/mapper/Mapper.ts +4 -4
  93. package/src/mapper/MapperFactory.ts +3 -3
  94. package/src/mapper/Result.ts +2 -3
  95. package/src/mapper/delete/DeleteExecutor.ts +1 -1
  96. package/src/mapper/insert/Inserter.ts +3 -2
  97. package/src/mapper/select/handlers/FieldsVisitor.ts +9 -5
  98. package/src/mapper/select/handlers/FieldsVisitorFactory.ts +3 -6
  99. package/src/mapper/update/Updater.ts +3 -2
  100. package/src/resolvers/MutationResolver.ts +29 -22
  101. package/src/schema/EntityTypeProvider.ts +32 -41
  102. package/src/schema/GraphQlSchemaBuilder.ts +3 -1
  103. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +1 -1
  104. package/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.ts +169 -0
  105. package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +1 -0
  106. package/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +1 -0
  107. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +1 -0
  108. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +1 -0
  109. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +1 -0
  110. package/tests/cases/integration/graphQlSchema/schema-acl.gql +1 -0
  111. package/tests/cases/integration/graphQlSchema/schema-aliased-type.gql +1 -0
  112. package/tests/cases/integration/graphQlSchema/schema-basic.gql +1 -0
  113. package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +1 -0
  114. package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +1 -0
  115. package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +1 -0
  116. package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +1 -0
  117. package/tests/src/test.ts +3 -3
  118. package/dist/src/introspection/content-schema.graphql.d.ts +0 -4
  119. package/dist/src/introspection/content-schema.graphql.d.ts.map +0 -1
  120. package/dist/src/introspection/content-schema.graphql.js +0 -113
  121. package/dist/src/introspection/content-schema.graphql.js.map +0 -1
  122. package/src/introspection/content-schema.graphql.ts +0 -113
@@ -174,7 +174,7 @@ const engine_api_tester_1 = require("@contember/engine-api-tester");
174
174
  ok: false,
175
175
  errorMessage: 'Execution has failed:\nunknown field: ForeignKeyConstraintViolation (Cannot delete row 123e4567-e89b-12d3-a456-000000000004 of entity Attachment, because it is still referenced from Reference::attachment. This is possibly caused by ACL denial or by missing "on delete cascade")',
176
176
  updatePost: {
177
- ok: false,
177
+ ok: true,
178
178
  errorMessage: null,
179
179
  },
180
180
  },
@@ -1 +1 @@
1
- {"version":3,"file":"deferedConstraints.test.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deferedConstraints.test.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deferredUniqueConstraints.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferredUniqueConstraints.test.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const schema_definition_1 = require("@contember/schema-definition");
5
+ const tags_1 = require("../../../../src/tags");
6
+ const engine_api_tester_1 = require("@contember/engine-api-tester");
7
+ var DeferredUniqueModel;
8
+ (function (DeferredUniqueModel) {
9
+ class Post {
10
+ constructor() {
11
+ this.slug = schema_definition_1.c.stringColumn().unique();
12
+ this.order = schema_definition_1.c.intColumn().unique({ timing: 'deferrable' });
13
+ }
14
+ }
15
+ DeferredUniqueModel.Post = Post;
16
+ })(DeferredUniqueModel || (DeferredUniqueModel = {}));
17
+ (0, vitest_1.test)('update without deferring unique constraints', async () => {
18
+ await (0, engine_api_tester_1.executeDbTest)({
19
+ schema: (0, schema_definition_1.createSchema)(DeferredUniqueModel),
20
+ seed: [
21
+ {
22
+ query: `mutation {
23
+ postA: createPost(data: {slug: "a", order: 1}) {
24
+ ok
25
+ node {
26
+ id
27
+ }
28
+ }
29
+ postB: createPost(data: {slug: "b", order: 2}) {
30
+ ok
31
+ node {
32
+ id
33
+ }
34
+ }
35
+ }`,
36
+ },
37
+ ],
38
+ query: (0, tags_1.GQL) `
39
+ mutation {
40
+ transaction {
41
+ ok
42
+ errorMessage
43
+ upA: updatePost(by: {slug: "a"}, data: {order: 2}) {
44
+ ok
45
+ errorMessage
46
+ }
47
+ upB: updatePost(by: {slug: "b"}, data: {order: 1}) {
48
+ ok
49
+ errorMessage
50
+ }
51
+ }
52
+ }
53
+ `,
54
+ return: {
55
+ transaction: {
56
+ ok: false,
57
+ errorMessage: 'Execution has failed:\nupA.order: UniqueConstraintViolation (Value (2) already exists in unique columns (order) on entity Post)',
58
+ upA: {
59
+ ok: false,
60
+ errorMessage: 'Execution has failed:\norder: UniqueConstraintViolation (Value (2) already exists in unique columns (order) on entity Post)',
61
+ },
62
+ upB: {
63
+ ok: false,
64
+ errorMessage: null,
65
+ },
66
+ },
67
+ },
68
+ });
69
+ });
70
+ (0, vitest_1.test)('update with deferring unique constraints', async () => {
71
+ await (0, engine_api_tester_1.executeDbTest)({
72
+ schema: (0, schema_definition_1.createSchema)(DeferredUniqueModel),
73
+ seed: [
74
+ {
75
+ query: `mutation {
76
+
77
+ postA: createPost(data: {slug: "a", order: 1}) {
78
+ ok
79
+ node {
80
+ id
81
+ }
82
+ }
83
+ postB: createPost(data: {slug: "b", order: 2}) {
84
+ ok
85
+ node {
86
+ id
87
+ }
88
+ }
89
+ }`,
90
+ },
91
+ ],
92
+ query: (0, tags_1.GQL) `
93
+ mutation {
94
+ transaction(options: {deferUniqueConstraints: true}) {
95
+ ok
96
+ errorMessage
97
+ upA: updatePost(by: {slug: "a"}, data: {order: 2}) {
98
+ ok
99
+ errorMessage
100
+ }
101
+ upB: updatePost(by: {slug: "b"}, data: {order: 1}) {
102
+ ok
103
+ errorMessage
104
+ }
105
+ }
106
+ }
107
+ `,
108
+ return: {
109
+ transaction: {
110
+ ok: true,
111
+ errorMessage: null,
112
+ upA: {
113
+ ok: true,
114
+ errorMessage: null,
115
+ },
116
+ upB: {
117
+ ok: true,
118
+ errorMessage: null,
119
+ },
120
+ },
121
+ },
122
+ });
123
+ });
124
+ (0, vitest_1.test)('update with failed deferred unique constraints', async () => {
125
+ await (0, engine_api_tester_1.executeDbTest)({
126
+ schema: (0, schema_definition_1.createSchema)(DeferredUniqueModel),
127
+ seed: [
128
+ {
129
+ query: `mutation {
130
+
131
+ postA: createPost(data: {slug: "a", order: 1}) {
132
+ ok
133
+ node {
134
+ id
135
+ }
136
+ }
137
+ postB: createPost(data: {slug: "b", order: 2}) {
138
+ ok
139
+ node {
140
+ id
141
+ }
142
+ }
143
+ }`,
144
+ },
145
+ ],
146
+ query: (0, tags_1.GQL) `
147
+ mutation {
148
+ transaction(options: {deferUniqueConstraints: true}) {
149
+ ok
150
+ errorMessage
151
+ upA: updatePost(by: {slug: "a"}, data: {order: 2}) {
152
+ ok
153
+ errorMessage
154
+ }
155
+ }
156
+ }
157
+ `,
158
+ return: {
159
+ transaction: {
160
+ ok: false,
161
+ errorMessage: 'Execution has failed:\norder: UniqueConstraintViolation (Value (2) already exists in unique columns (order) on entity Post)',
162
+ upA: {
163
+ ok: true,
164
+ errorMessage: null,
165
+ },
166
+ },
167
+ },
168
+ });
169
+ });
170
+ //# sourceMappingURL=deferredUniqueConstraints.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferredUniqueConstraints.test.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,oEAA8D;AAC9D,+CAA0C;AAE1C,oEAA4D;AAE5D,IAAU,mBAAmB,CAK5B;AALD,WAAU,mBAAmB;IAC5B,MAAa,IAAI;QAAjB;YACC,SAAI,GAAG,qBAAC,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAA;YAChC,UAAK,GAAG,qBAAC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;QACvD,CAAC;KAAA;IAHY,wBAAI,OAGhB,CAAA;AACF,CAAC,EALS,mBAAmB,KAAnB,mBAAmB,QAK5B;AAED,IAAA,aAAI,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,IAAA,iCAAa,EAAC;QACnB,MAAM,EAAE,IAAA,gCAAY,EAAC,mBAAmB,CAAC;QACzC,IAAI,EAAE;YACL;gBACC,KAAK,EAAE;;;;;;;;;;;;;MAaL;aACF;SACD;QACD,KAAK,EAAE,IAAA,UAAG,EAAA;;;;;;;;;;;;;;;GAeT;QACD,MAAM,EAAE;YACP,WAAW,EAAE;gBACZ,EAAE,EAAE,KAAK;gBACT,YAAY,EAAE,iIAAiI;gBAC/I,GAAG,EAAE;oBACJ,EAAE,EAAE,KAAK;oBACT,YAAY,EAAE,6HAA6H;iBAC3I;gBACD,GAAG,EAAE;oBACJ,EAAE,EAAE,KAAK;oBACT,YAAY,EAAE,IAAI;iBAClB;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,IAAA,iCAAa,EAAC;QACnB,MAAM,EAAE,IAAA,gCAAY,EAAC,mBAAmB,CAAC;QACzC,IAAI,EAAE;YACL;gBACC,KAAK,EAAE;;;;;;;;;;;;;;MAcL;aACF;SACD;QACD,KAAK,EAAE,IAAA,UAAG,EAAA;;;;;;;;;;;;;;;GAeT;QACD,MAAM,EAAE;YACP,WAAW,EAAE;gBACZ,EAAE,EAAE,IAAI;gBACR,YAAY,EAAE,IAAI;gBAClB,GAAG,EAAE;oBACJ,EAAE,EAAE,IAAI;oBACR,YAAY,EAAE,IAAI;iBAClB;gBACD,GAAG,EAAE;oBACJ,EAAE,EAAE,IAAI;oBACR,YAAY,EAAE,IAAI;iBAClB;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAGF,IAAA,aAAI,EAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,IAAA,iCAAa,EAAC;QACnB,MAAM,EAAE,IAAA,gCAAY,EAAC,mBAAmB,CAAC;QACzC,IAAI,EAAE;YACL;gBACC,KAAK,EAAE;;;;;;;;;;;;;;MAcL;aACF;SACD;QACD,KAAK,EAAE,IAAA,UAAG,EAAA;;;;;;;;;;;GAWT;QACD,MAAM,EAAE;YACP,WAAW,EAAE;gBACZ,EAAE,EAAE,KAAK;gBACT,YAAY,EAAE,6HAA6H;gBAC3I,GAAG,EAAE;oBACJ,EAAE,EAAE,IAAI;oBACR,YAAY,EAAE,IAAI;iBAClB;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -90,7 +90,7 @@ const execute = async (test) => {
90
90
  systemSchema: 'system',
91
91
  stage: { id: '00000000-0000-0000-0000-000000000000', slug: 'live' },
92
92
  project: { slug: 'test' },
93
- schemaDatabaseMetadata: schema_utils_1.dummySchemaDatabaseMetadata,
93
+ schemaDatabaseMetadata: database_1.emptyDatabaseMetadata,
94
94
  }),
95
95
  timer: (label, cb) => cb(),
96
96
  },
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../tests/src/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../tests/src/test.ts"],"names":[],"mappings":"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"}