@contember/engine-content-api 1.2.0-alpha.1 → 1.2.0-alpha.12

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 (361) hide show
  1. package/dist/src/acl/EvaluatedPredicateReplacer.d.ts +9 -0
  2. package/dist/src/acl/EvaluatedPredicateReplacer.d.ts.map +1 -0
  3. package/dist/src/acl/EvaluatedPredicateReplacer.js +31 -0
  4. package/dist/src/acl/EvaluatedPredicateReplacer.js.map +1 -0
  5. package/dist/src/acl/PermissionFactory.d.ts.map +1 -1
  6. package/dist/src/acl/PermissionFactory.js +15 -11
  7. package/dist/src/acl/PermissionFactory.js.map +1 -1
  8. package/dist/src/acl/PredicateFactory.d.ts +4 -2
  9. package/dist/src/acl/PredicateFactory.d.ts.map +1 -1
  10. package/dist/src/acl/PredicateFactory.js +17 -6
  11. package/dist/src/acl/PredicateFactory.js.map +1 -1
  12. package/dist/src/acl/PredicatesInjector.d.ts +1 -1
  13. package/dist/src/acl/PredicatesInjector.d.ts.map +1 -1
  14. package/dist/src/acl/PredicatesInjector.js +16 -19
  15. package/dist/src/acl/PredicatesInjector.js.map +1 -1
  16. package/dist/src/acl/VariableInjector.d.ts +0 -1
  17. package/dist/src/acl/VariableInjector.d.ts.map +1 -1
  18. package/dist/src/acl/VariableInjector.js +4 -14
  19. package/dist/src/acl/VariableInjector.js.map +1 -1
  20. package/dist/src/acl/VariableUtils.d.ts +2 -13
  21. package/dist/src/acl/VariableUtils.d.ts.map +1 -1
  22. package/dist/src/acl/VariableUtils.js +5 -16
  23. package/dist/src/acl/VariableUtils.js.map +1 -1
  24. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.d.ts +0 -1
  25. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.d.ts.map +1 -1
  26. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js +14 -15
  27. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  28. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts +1 -1
  29. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -1
  30. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +1 -1
  31. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  32. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts +5 -4
  33. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts.map +1 -1
  34. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js +29 -20
  35. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  36. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.d.ts.map +1 -1
  37. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js +2 -2
  38. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  39. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts +3 -3
  40. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts.map +1 -1
  41. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +3 -3
  42. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  43. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts +5 -4
  44. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts.map +1 -1
  45. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js +29 -20
  46. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  47. package/dist/src/input-validation/ColumnValueResolver.d.ts +4 -3
  48. package/dist/src/input-validation/ColumnValueResolver.d.ts.map +1 -1
  49. package/dist/src/input-validation/ColumnValueResolver.js.map +1 -1
  50. package/dist/src/input-validation/EntityRulesResolver.js +7 -7
  51. package/dist/src/input-validation/EntityRulesResolver.js.map +1 -1
  52. package/dist/src/input-validation/QueryAstFactory.js +1 -1
  53. package/dist/src/input-validation/QueryAstFactory.js.map +1 -1
  54. package/dist/src/input-validation/ValidationContext.d.ts +2 -2
  55. package/dist/src/input-validation/ValidationContext.d.ts.map +1 -1
  56. package/dist/src/input-validation/ValidationContext.js.map +1 -1
  57. package/dist/src/input-validation/ValidationDataSelector.d.ts.map +1 -1
  58. package/dist/src/input-validation/ValidationDataSelector.js +1 -1
  59. package/dist/src/input-validation/ValidationDataSelector.js.map +1 -1
  60. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts +7 -8
  61. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts.map +1 -1
  62. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  63. package/dist/src/input-validation/preValidation/InputPreValidator.js +4 -4
  64. package/dist/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  65. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts +7 -8
  66. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts.map +1 -1
  67. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  68. package/dist/src/inputProcessing/CreateInputProcessor.d.ts +8 -9
  69. package/dist/src/inputProcessing/CreateInputProcessor.d.ts.map +1 -1
  70. package/dist/src/inputProcessing/CreateInputVisitor.d.ts +7 -7
  71. package/dist/src/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  72. package/dist/src/inputProcessing/CreateInputVisitor.js +15 -46
  73. package/dist/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  74. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts +8 -9
  75. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts.map +1 -1
  76. package/dist/src/inputProcessing/UpdateInputVisitor.d.ts +7 -7
  77. package/dist/src/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  78. package/dist/src/inputProcessing/UpdateInputVisitor.js +13 -28
  79. package/dist/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  80. package/dist/src/inputProcessing/index.d.ts +0 -1
  81. package/dist/src/inputProcessing/index.d.ts.map +1 -1
  82. package/dist/src/inputProcessing/index.js +0 -1
  83. package/dist/src/inputProcessing/index.js.map +1 -1
  84. package/dist/src/introspection/IntrospectionSchemaFactory.js +7 -7
  85. package/dist/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  86. package/dist/src/introspection/content-schema.types.d.ts +19 -223
  87. package/dist/src/introspection/content-schema.types.d.ts.map +1 -1
  88. package/dist/src/introspection/content-schema.types.js +2 -2
  89. package/dist/src/introspection/content-schema.types.js.map +1 -1
  90. package/dist/src/mapper/Mapper.d.ts +6 -6
  91. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  92. package/dist/src/mapper/Mapper.js +28 -23
  93. package/dist/src/mapper/Mapper.js.map +1 -1
  94. package/dist/src/mapper/MapperContainer.d.ts.map +1 -1
  95. package/dist/src/mapper/MapperContainer.js +7 -4
  96. package/dist/src/mapper/MapperContainer.js.map +1 -1
  97. package/dist/src/mapper/delete/DeleteExecutor.js +3 -3
  98. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  99. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts +4 -2
  100. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  101. package/dist/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  102. package/dist/src/mapper/select/JoinVisitor.d.ts +6 -6
  103. package/dist/src/mapper/select/JoinVisitor.d.ts.map +1 -1
  104. package/dist/src/mapper/select/JoinVisitor.js +6 -6
  105. package/dist/src/mapper/select/JoinVisitor.js.map +1 -1
  106. package/dist/src/mapper/select/RelationFetcher.d.ts +32 -5
  107. package/dist/src/mapper/select/RelationFetcher.d.ts.map +1 -1
  108. package/dist/src/mapper/select/RelationFetcher.js +37 -15
  109. package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
  110. package/dist/src/mapper/select/SelectBuilder.d.ts +2 -1
  111. package/dist/src/mapper/select/SelectBuilder.d.ts.map +1 -1
  112. package/dist/src/mapper/select/SelectBuilder.js +4 -2
  113. package/dist/src/mapper/select/SelectBuilder.js.map +1 -1
  114. package/dist/src/mapper/select/SelectBuilderFactory.d.ts +2 -1
  115. package/dist/src/mapper/select/SelectBuilderFactory.d.ts.map +1 -1
  116. package/dist/src/mapper/select/SelectExecutionHandler.d.ts +1 -0
  117. package/dist/src/mapper/select/SelectExecutionHandler.d.ts.map +1 -1
  118. package/dist/src/mapper/select/WhereBuilder.d.ts +8 -3
  119. package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
  120. package/dist/src/mapper/select/WhereBuilder.js +71 -25
  121. package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
  122. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts +9 -8
  123. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  124. package/dist/src/mapper/select/handlers/FieldsVisitor.js +45 -24
  125. package/dist/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  126. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts.map +1 -1
  127. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js +1 -1
  128. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  129. package/dist/src/mapper/select/optimizer/ConditionOptimizer.d.ts +5 -0
  130. package/dist/src/mapper/select/optimizer/ConditionOptimizer.d.ts.map +1 -0
  131. package/dist/src/mapper/select/optimizer/ConditionOptimizer.js +39 -0
  132. package/dist/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -0
  133. package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts +15 -0
  134. package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -0
  135. package/dist/src/mapper/select/optimizer/WhereOptimizer.js +118 -0
  136. package/dist/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -0
  137. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts +6 -0
  138. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts.map +1 -0
  139. package/dist/src/mapper/select/optimizer/WhereReplacer.js +28 -0
  140. package/dist/src/mapper/select/optimizer/WhereReplacer.js.map +1 -0
  141. package/dist/src/mapper/select/optimizer/helpers.d.ts +10 -0
  142. package/dist/src/mapper/select/optimizer/helpers.d.ts.map +1 -0
  143. package/dist/src/mapper/select/optimizer/helpers.js +72 -0
  144. package/dist/src/mapper/select/optimizer/helpers.js.map +1 -0
  145. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts +2 -3
  146. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  147. package/dist/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  148. package/dist/src/mapper/update/UpdateBuilder.js +3 -3
  149. package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
  150. package/dist/src/resolvers/GraphQlQueryAstFactory.js +2 -2
  151. package/dist/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  152. package/dist/src/resolvers/MutationResolver.js +15 -15
  153. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  154. package/dist/src/resolvers/ReadHelpers.js +10 -10
  155. package/dist/src/resolvers/ReadHelpers.js.map +1 -1
  156. package/dist/src/resolvers/ReadResolver.js +2 -2
  157. package/dist/src/resolvers/ReadResolver.js.map +1 -1
  158. package/dist/src/schema/FieldAccessVisitor.d.ts +2 -2
  159. package/dist/src/schema/FieldAccessVisitor.d.ts.map +1 -1
  160. package/dist/src/schema/FieldAccessVisitor.js +2 -2
  161. package/dist/src/schema/FieldAccessVisitor.js.map +1 -1
  162. package/dist/src/schema/MutationProvider.js +4 -4
  163. package/dist/src/schema/MutationProvider.js.map +1 -1
  164. package/dist/src/schema/OrderByTypeProvider.js +1 -1
  165. package/dist/src/schema/OrderByTypeProvider.js.map +1 -1
  166. package/dist/src/schema/QueryProvider.js +3 -3
  167. package/dist/src/schema/QueryProvider.js.map +1 -1
  168. package/dist/src/schema/ResultSchemaTypeProvider.d.ts +2 -2
  169. package/dist/src/schema/ResultSchemaTypeProvider.d.ts.map +1 -1
  170. package/dist/src/schema/WhereTypeProvider.js +4 -4
  171. package/dist/src/schema/WhereTypeProvider.js.map +1 -1
  172. package/dist/src/schema/entities/FieldArgsVisitor.d.ts +7 -7
  173. package/dist/src/schema/entities/FieldArgsVisitor.d.ts.map +1 -1
  174. package/dist/src/schema/entities/FieldArgsVisitor.js +3 -3
  175. package/dist/src/schema/entities/FieldArgsVisitor.js.map +1 -1
  176. package/dist/src/schema/entities/FieldTypeVisitor.d.ts +3 -3
  177. package/dist/src/schema/entities/FieldTypeVisitor.d.ts.map +1 -1
  178. package/dist/src/schema/entities/FieldTypeVisitor.js +3 -3
  179. package/dist/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  180. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts +3 -3
  181. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -1
  182. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js +3 -3
  183. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  184. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts +6 -6
  185. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  186. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +6 -6
  187. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  188. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts +3 -3
  189. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  190. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +5 -5
  191. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  192. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts +10 -4
  193. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -1
  194. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js +3 -3
  195. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  196. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts +6 -6
  197. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  198. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +6 -6
  199. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  200. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts +2 -2
  201. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  202. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +2 -2
  203. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  204. package/dist/src/tsconfig.tsbuildinfo +1 -1
  205. package/dist/src/utils/object.d.ts.map +1 -1
  206. package/dist/src/utils/object.js +3 -4
  207. package/dist/src/utils/object.js.map +1 -1
  208. package/dist/src/utils/uniqueWhereFields.js +3 -3
  209. package/dist/src/utils/uniqueWhereFields.js.map +1 -1
  210. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.d.ts +2 -0
  211. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.d.ts.map +1 -0
  212. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js +38 -0
  213. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js.map +1 -0
  214. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +1 -1
  215. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
  216. package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js +2 -2
  217. package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js.map +1 -1
  218. package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js +1 -1
  219. package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js.map +1 -1
  220. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js +7 -6
  221. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js.map +1 -1
  222. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js +1 -1
  223. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js.map +1 -1
  224. package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.d.ts +2 -0
  225. package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.d.ts.map +1 -0
  226. package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.js +137 -0
  227. package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.js.map +1 -0
  228. package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.js +1 -1
  229. package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js +1 -1
  230. package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js.map +1 -1
  231. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js +73 -0
  232. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js.map +1 -1
  233. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js +73 -0
  234. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js.map +1 -1
  235. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +6 -6
  236. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
  237. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js +6 -3
  238. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js.map +1 -1
  239. package/dist/tests/cases/integration/graphQlSchema/model.js.map +1 -1
  240. package/dist/tests/cases/unit/aclVariablesFactory.test.js +7 -33
  241. package/dist/tests/cases/unit/aclVariablesFactory.test.js.map +1 -1
  242. package/dist/tests/cases/unit/conditionOptimizer.test.d.ts +2 -0
  243. package/dist/tests/cases/unit/conditionOptimizer.test.d.ts.map +1 -0
  244. package/dist/tests/cases/unit/conditionOptimizer.test.js +118 -0
  245. package/dist/tests/cases/unit/conditionOptimizer.test.js.map +1 -0
  246. package/dist/tests/cases/unit/orderbyHelper.test.js +1 -0
  247. package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
  248. package/dist/tests/cases/unit/permissionMerger.test.js +2 -0
  249. package/dist/tests/cases/unit/permissionMerger.test.js.map +1 -1
  250. package/dist/tests/cases/unit/predicatesFactory.test.d.ts +2 -0
  251. package/dist/tests/cases/unit/predicatesFactory.test.d.ts.map +1 -0
  252. package/dist/tests/cases/unit/predicatesFactory.test.js +109 -0
  253. package/dist/tests/cases/unit/predicatesFactory.test.js.map +1 -0
  254. package/dist/tests/cases/unit/predicatesInjector.test.js +88 -14
  255. package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
  256. package/dist/tests/cases/unit/variableInjector.test.js +4 -3
  257. package/dist/tests/cases/unit/variableInjector.test.js.map +1 -1
  258. package/dist/tests/cases/unit/whereBuilder.test.d.ts +2 -0
  259. package/dist/tests/cases/unit/whereBuilder.test.d.ts.map +1 -0
  260. package/dist/tests/cases/unit/whereBuilder.test.js +75 -0
  261. package/dist/tests/cases/unit/whereBuilder.test.js.map +1 -0
  262. package/dist/tests/cases/unit/whereOptimizer.test.d.ts +2 -0
  263. package/dist/tests/cases/unit/whereOptimizer.test.d.ts.map +1 -0
  264. package/dist/tests/cases/unit/whereOptimizer.test.js +265 -0
  265. package/dist/tests/cases/unit/whereOptimizer.test.js.map +1 -0
  266. package/dist/tests/src/testGraphql.d.ts.map +1 -1
  267. package/dist/tests/src/testGraphql.js +10 -2
  268. package/dist/tests/src/testGraphql.js.map +1 -1
  269. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  270. package/graphql.codegen.yml +0 -3
  271. package/package.json +16 -16
  272. package/src/acl/EvaluatedPredicateReplacer.ts +32 -0
  273. package/src/acl/PermissionFactory.ts +18 -13
  274. package/src/acl/PredicateFactory.ts +32 -8
  275. package/src/acl/PredicatesInjector.ts +25 -17
  276. package/src/acl/VariableInjector.ts +2 -15
  277. package/src/acl/VariableUtils.ts +7 -23
  278. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts +17 -24
  279. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts +1 -6
  280. package/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts +26 -46
  281. package/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts +6 -3
  282. package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts +4 -22
  283. package/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts +26 -49
  284. package/src/input-validation/ColumnValueResolver.ts +2 -3
  285. package/src/input-validation/EntityRulesResolver.ts +7 -7
  286. package/src/input-validation/QueryAstFactory.ts +1 -1
  287. package/src/input-validation/ValidationContext.ts +2 -2
  288. package/src/input-validation/ValidationDataSelector.ts +2 -2
  289. package/src/input-validation/preValidation/CreateInputPreValidationProcessor.ts +7 -8
  290. package/src/input-validation/preValidation/InputPreValidator.ts +4 -4
  291. package/src/input-validation/preValidation/UpdateInputPreValidationProcessor.ts +7 -8
  292. package/src/inputProcessing/CreateInputProcessor.ts +8 -9
  293. package/src/inputProcessing/CreateInputVisitor.ts +27 -89
  294. package/src/inputProcessing/UpdateInputProcessor.ts +8 -9
  295. package/src/inputProcessing/UpdateInputVisitor.ts +25 -71
  296. package/src/inputProcessing/index.ts +0 -1
  297. package/src/introspection/IntrospectionSchemaFactory.ts +7 -7
  298. package/src/introspection/content-schema.types.ts +19 -286
  299. package/src/mapper/Mapper.ts +37 -30
  300. package/src/mapper/MapperContainer.ts +10 -5
  301. package/src/mapper/delete/DeleteExecutor.ts +3 -3
  302. package/src/mapper/insert/SqlCreateInputProcessor.ts +3 -3
  303. package/src/mapper/select/JoinVisitor.ts +6 -33
  304. package/src/mapper/select/RelationFetcher.ts +101 -41
  305. package/src/mapper/select/SelectBuilder.ts +3 -1
  306. package/src/mapper/select/SelectBuilderFactory.ts +2 -1
  307. package/src/mapper/select/SelectExecutionHandler.ts +1 -0
  308. package/src/mapper/select/WhereBuilder.ts +95 -34
  309. package/src/mapper/select/handlers/FieldsVisitor.ts +47 -57
  310. package/src/mapper/select/handlers/FieldsVisitorFactory.ts +1 -0
  311. package/src/mapper/select/optimizer/ConditionOptimizer.ts +41 -0
  312. package/src/mapper/select/optimizer/WhereOptimizer.ts +138 -0
  313. package/src/mapper/select/optimizer/WhereReplacer.ts +27 -0
  314. package/src/mapper/select/optimizer/helpers.ts +58 -0
  315. package/src/mapper/update/SqlUpdateInputProcessor.ts +1 -1
  316. package/src/mapper/update/UpdateBuilder.ts +3 -3
  317. package/src/resolvers/GraphQlQueryAstFactory.ts +3 -3
  318. package/src/resolvers/MutationResolver.ts +1 -1
  319. package/src/resolvers/ReadHelpers.ts +3 -3
  320. package/src/resolvers/ReadResolver.ts +2 -2
  321. package/src/schema/FieldAccessVisitor.ts +2 -2
  322. package/src/schema/OrderByTypeProvider.ts +1 -1
  323. package/src/schema/WhereTypeProvider.ts +4 -4
  324. package/src/schema/entities/FieldArgsVisitor.ts +3 -3
  325. package/src/schema/entities/FieldTypeVisitor.ts +3 -3
  326. package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +3 -6
  327. package/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts +6 -20
  328. package/src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts +5 -18
  329. package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +3 -6
  330. package/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts +6 -20
  331. package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +2 -12
  332. package/src/utils/object.ts +6 -6
  333. package/src/utils/uniqueWhereFields.ts +3 -3
  334. package/tests/cases/integration/graphQlDb/insert/insertSequence.test.ts +34 -0
  335. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +2 -2
  336. package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +3 -3
  337. package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +2 -2
  338. package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +7 -6
  339. package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +1 -1
  340. package/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.ts +130 -0
  341. package/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.ts +1 -1
  342. package/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.ts +1 -1
  343. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.ts +74 -0
  344. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +77 -0
  345. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +7 -7
  346. package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +5 -5
  347. package/tests/cases/unit/aclVariablesFactory.test.ts +8 -35
  348. package/tests/cases/unit/conditionOptimizer.test.ts +135 -0
  349. package/tests/cases/unit/orderbyHelper.test.ts +1 -0
  350. package/tests/cases/unit/permissionMerger.test.ts +2 -0
  351. package/tests/cases/unit/predicatesFactory.test.ts +103 -0
  352. package/tests/cases/unit/predicatesInjector.test.ts +78 -16
  353. package/tests/cases/unit/variableInjector.test.ts +6 -5
  354. package/tests/cases/unit/whereBuilder.test.ts +84 -0
  355. package/tests/cases/unit/whereOptimizer.test.ts +289 -0
  356. package/tests/src/testGraphql.ts +9 -2
  357. package/dist/src/inputProcessing/InputContext.d.ts +0 -43
  358. package/dist/src/inputProcessing/InputContext.d.ts.map +0 -1
  359. package/dist/src/inputProcessing/InputContext.js +0 -3
  360. package/dist/src/inputProcessing/InputContext.js.map +0 -1
  361. package/src/inputProcessing/InputContext.ts +0 -49
@@ -1,7 +1,6 @@
1
1
  import { Input, Model } from '@contember/schema'
2
2
  import { filterObject, isIt } from '../utils'
3
3
  import { UpdateInputProcessor } from './UpdateInputProcessor'
4
- import * as Context from './InputContext'
5
4
  import { ImplementationException, UserError } from '../exception'
6
5
 
7
6
  export class UpdateInputVisitor<Result> implements
@@ -14,7 +13,7 @@ export class UpdateInputVisitor<Result> implements
14
13
  private readonly data: Input.UpdateDataInput,
15
14
  ) {}
16
15
 
17
- public visitColumn(entity: Model.Entity, column: Model.AnyColumn): Promise<Result> {
16
+ public visitColumn({ entity, column }: Model.ColumnContext): Promise<Result> {
18
17
  return this.updateInputProcessor.column({
19
18
  entity,
20
19
  column,
@@ -22,96 +21,51 @@ export class UpdateInputVisitor<Result> implements
22
21
  })
23
22
  }
24
23
 
25
- public visitManyHasManyInverse(
26
- entity: Model.Entity,
27
- relation: Model.ManyHasManyInverseRelation,
28
- targetEntity: Model.Entity,
29
- targetRelation: Model.ManyHasManyOwningRelation,
30
- ) {
31
- return this.processManyRelationInput<Context.ManyHasManyInverseContext>(
24
+ public visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {
25
+ return this.processManyRelationInput(
32
26
  this.updateInputProcessor.manyHasManyInverse,
33
- { entity, relation, targetEntity, targetRelation },
34
- this.data[relation.name] as Input.CreateManyRelationInput,
27
+ context,
28
+ this.data[context.relation.name] as Input.CreateManyRelationInput,
35
29
  )
36
30
  }
37
31
 
38
- public visitManyHasManyOwning(
39
- entity: Model.Entity,
40
- relation: Model.ManyHasManyOwningRelation,
41
- targetEntity: Model.Entity,
42
- targetRelation: Model.ManyHasManyInverseRelation | null,
43
- ) {
44
- return this.processManyRelationInput<Context.ManyHasManyOwningContext>(
32
+ public visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {
33
+ return this.processManyRelationInput(
45
34
  this.updateInputProcessor.manyHasManyOwning,
46
- { entity, relation, targetEntity, targetRelation },
47
- this.data[relation.name] as Input.CreateManyRelationInput,
35
+ context,
36
+ this.data[context.relation.name] as Input.CreateManyRelationInput,
48
37
  )
49
38
  }
50
39
 
51
- public visitManyHasOne(
52
- entity: Model.Entity,
53
- relation: Model.ManyHasOneRelation,
54
- targetEntity: Model.Entity,
55
- targetRelation: Model.OneHasManyRelation | null,
56
- ) {
57
- return this.processRelationInput<Context.ManyHasOneContext>(
40
+ public visitManyHasOne(context: Model.ManyHasOneContext) {
41
+ return this.processRelationInput(
58
42
  this.updateInputProcessor.manyHasOne,
59
- {
60
- entity,
61
- relation,
62
- targetEntity,
63
- targetRelation,
64
- },
65
- this.data[relation.name] as Input.CreateOneRelationInput,
43
+ context,
44
+ this.data[context.relation.name] as Input.CreateOneRelationInput,
66
45
  )
67
46
  }
68
47
 
69
- public visitOneHasMany(
70
- entity: Model.Entity,
71
- relation: Model.OneHasManyRelation,
72
- targetEntity: Model.Entity,
73
- targetRelation: Model.ManyHasOneRelation,
74
- ) {
75
- return this.processManyRelationInput<Context.OneHasManyContext>(
48
+ public visitOneHasMany(context: Model.OneHasManyContext) {
49
+ return this.processManyRelationInput(
76
50
  this.updateInputProcessor.oneHasMany,
77
- { entity, relation, targetEntity, targetRelation },
78
- this.data[relation.name] as Input.CreateManyRelationInput,
51
+ context,
52
+ this.data[context.relation.name] as Input.CreateManyRelationInput,
79
53
  )
80
54
  }
81
55
 
82
- public visitOneHasOneInverse(
83
- entity: Model.Entity,
84
- relation: Model.OneHasOneInverseRelation,
85
- targetEntity: Model.Entity,
86
- targetRelation: Model.OneHasOneOwningRelation,
87
- ) {
88
- return this.processRelationInput<Context.OneHasOneInverseContext>(
56
+ public visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {
57
+ return this.processRelationInput(
89
58
  this.updateInputProcessor.oneHasOneInverse,
90
- {
91
- entity,
92
- relation,
93
- targetEntity,
94
- targetRelation,
95
- },
96
- this.data[relation.name] as Input.CreateOneRelationInput,
59
+ context,
60
+ this.data[context.relation.name] as Input.CreateOneRelationInput,
97
61
  )
98
62
  }
99
63
 
100
- public visitOneHasOneOwning(
101
- entity: Model.Entity,
102
- relation: Model.OneHasOneOwningRelation,
103
- targetEntity: Model.Entity,
104
- targetRelation: Model.OneHasOneInverseRelation | null,
105
- ) {
106
- return this.processRelationInput<Context.OneHasOneOwningContext>(
64
+ public visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {
65
+ return this.processRelationInput(
107
66
  this.updateInputProcessor.oneHasOneOwning,
108
- {
109
- entity,
110
- relation,
111
- targetEntity,
112
- targetRelation,
113
- },
114
- this.data[relation.name] as Input.CreateOneRelationInput,
67
+ context,
68
+ this.data[context.relation.name] as Input.CreateOneRelationInput,
115
69
  )
116
70
  }
117
71
 
@@ -1,7 +1,6 @@
1
1
  export * from './CreateInputProcessor'
2
2
  export * from './CreateInputVisitor'
3
3
  export * from './FieldNode'
4
- export * from './InputContext'
5
4
  export * from './ObjectNode'
6
5
  export * from './UniqueWhereExpander'
7
6
  export * from './UpdateInputProcessor'
@@ -40,7 +40,7 @@ export class IntrospectionSchemaFactory {
40
40
  }
41
41
  }
42
42
  const additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {
43
- visitManyHasManyInverse(entity: Model.Entity, relation: Model.ManyHasManyInverseRelation) {
43
+ visitManyHasManyInverse({ relation }) {
44
44
  return {
45
45
  __typename: '_Relation',
46
46
  targetEntity: relation.target,
@@ -49,7 +49,7 @@ export class IntrospectionSchemaFactory {
49
49
  orderBy: relation.orderBy?.map(convertOrderBy),
50
50
  }
51
51
  },
52
- visitManyHasManyOwning(entity: Model.Entity, relation: Model.ManyHasManyOwningRelation) {
52
+ visitManyHasManyOwning({ relation }) {
53
53
  return {
54
54
  __typename: '_Relation',
55
55
  targetEntity: relation.target,
@@ -58,7 +58,7 @@ export class IntrospectionSchemaFactory {
58
58
  orderBy: relation.orderBy?.map(convertOrderBy),
59
59
  }
60
60
  },
61
- visitManyHasOne(entity: Model.Entity, relation: Model.ManyHasOneRelation) {
61
+ visitManyHasOne({ relation }) {
62
62
  return {
63
63
  __typename: '_Relation',
64
64
  targetEntity: relation.target,
@@ -68,7 +68,7 @@ export class IntrospectionSchemaFactory {
68
68
  nullable: relation.nullable,
69
69
  }
70
70
  },
71
- visitOneHasMany(entity: Model.Entity, relation: Model.OneHasManyRelation) {
71
+ visitOneHasMany({ relation }) {
72
72
  return {
73
73
  __typename: '_Relation',
74
74
  targetEntity: relation.target,
@@ -77,7 +77,7 @@ export class IntrospectionSchemaFactory {
77
77
  orderBy: relation.orderBy?.map(convertOrderBy),
78
78
  }
79
79
  },
80
- visitOneHasOneInverse(entity: Model.Entity, relation: Model.OneHasOneInverseRelation) {
80
+ visitOneHasOneInverse({ relation }) {
81
81
  return {
82
82
  __typename: '_Relation',
83
83
  targetEntity: relation.target,
@@ -86,7 +86,7 @@ export class IntrospectionSchemaFactory {
86
86
  nullable: relation.nullable,
87
87
  }
88
88
  },
89
- visitOneHasOneOwning(entity: Model.Entity, relation: Model.OneHasOneOwningRelation) {
89
+ visitOneHasOneOwning({ relation }) {
90
90
  return {
91
91
  __typename: '_Relation',
92
92
  targetEntity: relation.target,
@@ -97,7 +97,7 @@ export class IntrospectionSchemaFactory {
97
97
  orphanRemoval: relation.orphanRemoval === true,
98
98
  }
99
99
  },
100
- visitColumn(entity: Model.Entity, column: Model.AnyColumn) {
100
+ visitColumn({ column }) {
101
101
  return {
102
102
  __typename: '_Column',
103
103
  defaultValue: column.default ?? undefined,
@@ -1,9 +1,8 @@
1
- import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql'
2
1
  export type Maybe<T> = T | null
2
+ export type InputMaybe<T> = Maybe<T>
3
3
  export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] }
4
4
  export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> }
5
5
  export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> }
6
- export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
7
6
  /** All built-in and custom scalars, mapped to their actual values */
8
7
  export type Scalars = {
9
8
  ID: string
@@ -14,30 +13,29 @@ export type Scalars = {
14
13
  Json: any
15
14
  }
16
15
 
17
-
18
16
  export type Query = {
19
17
  readonly __typename?: 'Query'
20
18
  readonly schema?: Maybe<_Schema>
21
19
  }
22
20
 
23
- export type _Argument = _ValidatorArgument | _PathArgument | _LiteralArgument
21
+ export type _Argument = _LiteralArgument | _PathArgument | _ValidatorArgument
24
22
 
25
23
  export type _Column = _Field & {
26
24
  readonly __typename?: '_Column'
27
- readonly name: Scalars['String']
28
- readonly type: Scalars['String']
29
- readonly enumName?: Maybe<Scalars['String']>
30
25
  readonly defaultValue?: Maybe<Scalars['Json']>
26
+ readonly enumName?: Maybe<Scalars['String']>
27
+ readonly name: Scalars['String']
31
28
  readonly nullable: Scalars['Boolean']
32
29
  readonly rules: ReadonlyArray<_Rule>
30
+ readonly type: Scalars['String']
33
31
  readonly validators: ReadonlyArray<_Validator>
34
32
  }
35
33
 
36
34
  export type _Entity = {
37
35
  readonly __typename?: '_Entity'
38
- readonly name: Scalars['String']
39
36
  readonly customPrimaryAllowed: Scalars['Boolean']
40
37
  readonly fields: ReadonlyArray<_Field>
38
+ readonly name: Scalars['String']
41
39
  readonly unique: ReadonlyArray<_UniqueConstraint>
42
40
  }
43
41
 
@@ -49,9 +47,9 @@ export type _Enum = {
49
47
 
50
48
  export type _Field = {
51
49
  readonly name: Scalars['String']
52
- readonly type: Scalars['String']
53
50
  readonly nullable?: Maybe<Scalars['Boolean']>
54
51
  readonly rules: ReadonlyArray<_Rule>
52
+ readonly type: Scalars['String']
55
53
  readonly validators: ReadonlyArray<_Validator>
56
54
  }
57
55
 
@@ -61,15 +59,15 @@ export type _LiteralArgument = {
61
59
  }
62
60
 
63
61
  export enum _OnDeleteBehaviour {
64
- Restrict = 'restrict',
65
62
  Cascade = 'cascade',
63
+ Restrict = 'restrict',
66
64
  SetNull = 'setNull'
67
65
  }
68
66
 
69
67
  export type _OrderBy = {
70
68
  readonly __typename?: '_OrderBy'
71
- readonly path: ReadonlyArray<Scalars['String']>
72
69
  readonly direction: _OrderByDirection
70
+ readonly path: ReadonlyArray<Scalars['String']>
73
71
  }
74
72
 
75
73
  export enum _OrderByDirection {
@@ -84,23 +82,23 @@ export type _PathArgument = {
84
82
 
85
83
  export type _Relation = _Field & {
86
84
  readonly __typename?: '_Relation'
87
- readonly name: Scalars['String']
88
- readonly type: Scalars['String']
89
- readonly side: _RelationSide
90
- readonly targetEntity: Scalars['String']
91
- readonly ownedBy?: Maybe<Scalars['String']>
92
85
  readonly inversedBy?: Maybe<Scalars['String']>
86
+ readonly name: Scalars['String']
93
87
  readonly nullable?: Maybe<Scalars['Boolean']>
94
88
  readonly onDelete?: Maybe<_OnDeleteBehaviour>
95
- readonly orphanRemoval?: Maybe<Scalars['Boolean']>
96
89
  readonly orderBy?: Maybe<ReadonlyArray<_OrderBy>>
90
+ readonly orphanRemoval?: Maybe<Scalars['Boolean']>
91
+ readonly ownedBy?: Maybe<Scalars['String']>
97
92
  readonly rules: ReadonlyArray<_Rule>
93
+ readonly side: _RelationSide
94
+ readonly targetEntity: Scalars['String']
95
+ readonly type: Scalars['String']
98
96
  readonly validators: ReadonlyArray<_Validator>
99
97
  }
100
98
 
101
99
  export enum _RelationSide {
102
- Owning = 'owning',
103
- Inverse = 'inverse'
100
+ Inverse = 'inverse',
101
+ Owning = 'owning'
104
102
  }
105
103
 
106
104
  export type _Rule = {
@@ -116,8 +114,8 @@ export type _RuleMessage = {
116
114
 
117
115
  export type _Schema = {
118
116
  readonly __typename?: '_Schema'
119
- readonly enums: ReadonlyArray<_Enum>
120
117
  readonly entities: ReadonlyArray<_Entity>
118
+ readonly enums: ReadonlyArray<_Enum>
121
119
  }
122
120
 
123
121
  export type _UniqueConstraint = {
@@ -127,276 +125,11 @@ export type _UniqueConstraint = {
127
125
 
128
126
  export type _Validator = {
129
127
  readonly __typename?: '_Validator'
130
- readonly operation: Scalars['String']
131
128
  readonly arguments: ReadonlyArray<_Argument>
129
+ readonly operation: Scalars['String']
132
130
  }
133
131
 
134
132
  export type _ValidatorArgument = {
135
133
  readonly __typename?: '_ValidatorArgument'
136
134
  readonly validator: Scalars['Int']
137
135
  }
138
-
139
-
140
-
141
- export type ResolverTypeWrapper<T> = Promise<T> | T
142
-
143
-
144
- export type LegacyStitchingResolver<TResult, TParent, TContext, TArgs> = {
145
- fragment: string
146
- resolve: ResolverFn<TResult, TParent, TContext, TArgs>
147
- }
148
-
149
- export type NewStitchingResolver<TResult, TParent, TContext, TArgs> = {
150
- selectionSet: string
151
- resolve: ResolverFn<TResult, TParent, TContext, TArgs>
152
- }
153
- export type StitchingResolver<TResult, TParent, TContext, TArgs> = LegacyStitchingResolver<TResult, TParent, TContext, TArgs> | NewStitchingResolver<TResult, TParent, TContext, TArgs>
154
- export type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> =
155
- | ResolverFn<TResult, TParent, TContext, TArgs>
156
- | StitchingResolver<TResult, TParent, TContext, TArgs>
157
-
158
- export type ResolverFn<TResult, TParent, TContext, TArgs> = (
159
- parent: TParent,
160
- args: TArgs,
161
- context: TContext,
162
- info: GraphQLResolveInfo
163
- ) => Promise<TResult> | TResult
164
-
165
- export type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (
166
- parent: TParent,
167
- args: TArgs,
168
- context: TContext,
169
- info: GraphQLResolveInfo
170
- ) => AsyncIterator<TResult> | Promise<AsyncIterator<TResult>>
171
-
172
- export type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (
173
- parent: TParent,
174
- args: TArgs,
175
- context: TContext,
176
- info: GraphQLResolveInfo
177
- ) => TResult | Promise<TResult>
178
-
179
- export interface SubscriptionSubscriberObject<TResult, TKey extends string, TParent, TContext, TArgs> {
180
- subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>
181
- resolve?: SubscriptionResolveFn<TResult, { [key in TKey]: TResult }, TContext, TArgs>
182
- }
183
-
184
- export interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
185
- subscribe: SubscriptionSubscribeFn<any, TParent, TContext, TArgs>
186
- resolve: SubscriptionResolveFn<TResult, any, TContext, TArgs>
187
- }
188
-
189
- export type SubscriptionObject<TResult, TKey extends string, TParent, TContext, TArgs> =
190
- | SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
191
- | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>
192
-
193
- export type SubscriptionResolver<TResult, TKey extends string, TParent = {}, TContext = {}, TArgs = {}> =
194
- | ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
195
- | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>
196
-
197
- export type TypeResolveFn<TTypes, TParent = {}, TContext = {}> = (
198
- parent: TParent,
199
- context: TContext,
200
- info: GraphQLResolveInfo
201
- ) => Maybe<TTypes> | Promise<Maybe<TTypes>>
202
-
203
- export type IsTypeOfResolverFn<T = {}, TContext = {}> = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise<boolean>
204
-
205
- export type NextResolverFn<T> = () => Promise<T>
206
-
207
- export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs = {}> = (
208
- next: NextResolverFn<TResult>,
209
- parent: TParent,
210
- args: TArgs,
211
- context: TContext,
212
- info: GraphQLResolveInfo
213
- ) => TResult | Promise<TResult>
214
-
215
- /** Mapping between all available schema types and the resolvers types */
216
- export type ResolversTypes = {
217
- Json: ResolverTypeWrapper<Scalars['Json']>
218
- Query: ResolverTypeWrapper<{}>
219
- _Argument: ResolversTypes['_ValidatorArgument'] | ResolversTypes['_PathArgument'] | ResolversTypes['_LiteralArgument']
220
- _Column: ResolverTypeWrapper<_Column>
221
- String: ResolverTypeWrapper<Scalars['String']>
222
- Boolean: ResolverTypeWrapper<Scalars['Boolean']>
223
- _Entity: ResolverTypeWrapper<_Entity>
224
- _Enum: ResolverTypeWrapper<_Enum>
225
- _Field: ResolversTypes['_Column'] | ResolversTypes['_Relation']
226
- _LiteralArgument: ResolverTypeWrapper<_LiteralArgument>
227
- _OnDeleteBehaviour: _OnDeleteBehaviour
228
- _OrderBy: ResolverTypeWrapper<_OrderBy>
229
- _OrderByDirection: _OrderByDirection
230
- _PathArgument: ResolverTypeWrapper<_PathArgument>
231
- _Relation: ResolverTypeWrapper<_Relation>
232
- _RelationSide: _RelationSide
233
- _Rule: ResolverTypeWrapper<_Rule>
234
- Int: ResolverTypeWrapper<Scalars['Int']>
235
- _RuleMessage: ResolverTypeWrapper<_RuleMessage>
236
- _Schema: ResolverTypeWrapper<_Schema>
237
- _UniqueConstraint: ResolverTypeWrapper<_UniqueConstraint>
238
- _Validator: ResolverTypeWrapper<Omit<_Validator, 'arguments'> & { arguments: ReadonlyArray<ResolversTypes['_Argument']> }>
239
- _ValidatorArgument: ResolverTypeWrapper<_ValidatorArgument>
240
- }
241
-
242
- /** Mapping between all available schema types and the resolvers parents */
243
- export type ResolversParentTypes = {
244
- Json: Scalars['Json']
245
- Query: {}
246
- _Argument: ResolversParentTypes['_ValidatorArgument'] | ResolversParentTypes['_PathArgument'] | ResolversParentTypes['_LiteralArgument']
247
- _Column: _Column
248
- String: Scalars['String']
249
- Boolean: Scalars['Boolean']
250
- _Entity: _Entity
251
- _Enum: _Enum
252
- _Field: ResolversParentTypes['_Column'] | ResolversParentTypes['_Relation']
253
- _LiteralArgument: _LiteralArgument
254
- _OrderBy: _OrderBy
255
- _PathArgument: _PathArgument
256
- _Relation: _Relation
257
- _Rule: _Rule
258
- Int: Scalars['Int']
259
- _RuleMessage: _RuleMessage
260
- _Schema: _Schema
261
- _UniqueConstraint: _UniqueConstraint
262
- _Validator: Omit<_Validator, 'arguments'> & { arguments: ReadonlyArray<ResolversParentTypes['_Argument']> }
263
- _ValidatorArgument: _ValidatorArgument
264
- }
265
-
266
- export interface JsonScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes['Json'], any> {
267
- name: 'Json'
268
- }
269
-
270
- export type QueryResolvers<ContextType = any, ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query']> = {
271
- schema?: Resolver<Maybe<ResolversTypes['_Schema']>, ParentType, ContextType>
272
- }
273
-
274
- export type _ArgumentResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Argument'] = ResolversParentTypes['_Argument']> = {
275
- __resolveType: TypeResolveFn<'_ValidatorArgument' | '_PathArgument' | '_LiteralArgument', ParentType, ContextType>
276
- }
277
-
278
- export type _ColumnResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Column'] = ResolversParentTypes['_Column']> = {
279
- name?: Resolver<ResolversTypes['String'], ParentType, ContextType>
280
- type?: Resolver<ResolversTypes['String'], ParentType, ContextType>
281
- enumName?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>
282
- defaultValue?: Resolver<Maybe<ResolversTypes['Json']>, ParentType, ContextType>
283
- nullable?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
284
- rules?: Resolver<ReadonlyArray<ResolversTypes['_Rule']>, ParentType, ContextType>
285
- validators?: Resolver<ReadonlyArray<ResolversTypes['_Validator']>, ParentType, ContextType>
286
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
287
- }
288
-
289
- export type _EntityResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Entity'] = ResolversParentTypes['_Entity']> = {
290
- name?: Resolver<ResolversTypes['String'], ParentType, ContextType>
291
- customPrimaryAllowed?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>
292
- fields?: Resolver<ReadonlyArray<ResolversTypes['_Field']>, ParentType, ContextType>
293
- unique?: Resolver<ReadonlyArray<ResolversTypes['_UniqueConstraint']>, ParentType, ContextType>
294
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
295
- }
296
-
297
- export type _EnumResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Enum'] = ResolversParentTypes['_Enum']> = {
298
- name?: Resolver<ResolversTypes['String'], ParentType, ContextType>
299
- values?: Resolver<ReadonlyArray<ResolversTypes['String']>, ParentType, ContextType>
300
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
301
- }
302
-
303
- export type _FieldResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Field'] = ResolversParentTypes['_Field']> = {
304
- __resolveType: TypeResolveFn<'_Column' | '_Relation', ParentType, ContextType>
305
- name?: Resolver<ResolversTypes['String'], ParentType, ContextType>
306
- type?: Resolver<ResolversTypes['String'], ParentType, ContextType>
307
- nullable?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>
308
- rules?: Resolver<ReadonlyArray<ResolversTypes['_Rule']>, ParentType, ContextType>
309
- validators?: Resolver<ReadonlyArray<ResolversTypes['_Validator']>, ParentType, ContextType>
310
- }
311
-
312
- export type _LiteralArgumentResolvers<ContextType = any, ParentType extends ResolversParentTypes['_LiteralArgument'] = ResolversParentTypes['_LiteralArgument']> = {
313
- value?: Resolver<Maybe<ResolversTypes['Json']>, ParentType, ContextType>
314
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
315
- }
316
-
317
- export type _OrderByResolvers<ContextType = any, ParentType extends ResolversParentTypes['_OrderBy'] = ResolversParentTypes['_OrderBy']> = {
318
- path?: Resolver<ReadonlyArray<ResolversTypes['String']>, ParentType, ContextType>
319
- direction?: Resolver<ResolversTypes['_OrderByDirection'], ParentType, ContextType>
320
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
321
- }
322
-
323
- export type _PathArgumentResolvers<ContextType = any, ParentType extends ResolversParentTypes['_PathArgument'] = ResolversParentTypes['_PathArgument']> = {
324
- path?: Resolver<ReadonlyArray<ResolversTypes['String']>, ParentType, ContextType>
325
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
326
- }
327
-
328
- export type _RelationResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Relation'] = ResolversParentTypes['_Relation']> = {
329
- name?: Resolver<ResolversTypes['String'], ParentType, ContextType>
330
- type?: Resolver<ResolversTypes['String'], ParentType, ContextType>
331
- side?: Resolver<ResolversTypes['_RelationSide'], ParentType, ContextType>
332
- targetEntity?: Resolver<ResolversTypes['String'], ParentType, ContextType>
333
- ownedBy?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>
334
- inversedBy?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>
335
- nullable?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>
336
- onDelete?: Resolver<Maybe<ResolversTypes['_OnDeleteBehaviour']>, ParentType, ContextType>
337
- orphanRemoval?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>
338
- orderBy?: Resolver<Maybe<ReadonlyArray<ResolversTypes['_OrderBy']>>, ParentType, ContextType>
339
- rules?: Resolver<ReadonlyArray<ResolversTypes['_Rule']>, ParentType, ContextType>
340
- validators?: Resolver<ReadonlyArray<ResolversTypes['_Validator']>, ParentType, ContextType>
341
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
342
- }
343
-
344
- export type _RuleResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Rule'] = ResolversParentTypes['_Rule']> = {
345
- message?: Resolver<Maybe<ResolversTypes['_RuleMessage']>, ParentType, ContextType>
346
- validator?: Resolver<ResolversTypes['Int'], ParentType, ContextType>
347
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
348
- }
349
-
350
- export type _RuleMessageResolvers<ContextType = any, ParentType extends ResolversParentTypes['_RuleMessage'] = ResolversParentTypes['_RuleMessage']> = {
351
- text?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>
352
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
353
- }
354
-
355
- export type _SchemaResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Schema'] = ResolversParentTypes['_Schema']> = {
356
- enums?: Resolver<ReadonlyArray<ResolversTypes['_Enum']>, ParentType, ContextType>
357
- entities?: Resolver<ReadonlyArray<ResolversTypes['_Entity']>, ParentType, ContextType>
358
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
359
- }
360
-
361
- export type _UniqueConstraintResolvers<ContextType = any, ParentType extends ResolversParentTypes['_UniqueConstraint'] = ResolversParentTypes['_UniqueConstraint']> = {
362
- fields?: Resolver<ReadonlyArray<ResolversTypes['String']>, ParentType, ContextType>
363
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
364
- }
365
-
366
- export type _ValidatorResolvers<ContextType = any, ParentType extends ResolversParentTypes['_Validator'] = ResolversParentTypes['_Validator']> = {
367
- operation?: Resolver<ResolversTypes['String'], ParentType, ContextType>
368
- arguments?: Resolver<ReadonlyArray<ResolversTypes['_Argument']>, ParentType, ContextType>
369
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
370
- }
371
-
372
- export type _ValidatorArgumentResolvers<ContextType = any, ParentType extends ResolversParentTypes['_ValidatorArgument'] = ResolversParentTypes['_ValidatorArgument']> = {
373
- validator?: Resolver<ResolversTypes['Int'], ParentType, ContextType>
374
- __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>
375
- }
376
-
377
- export type Resolvers<ContextType = any> = {
378
- Json?: GraphQLScalarType
379
- Query?: QueryResolvers<ContextType>
380
- _Argument?: _ArgumentResolvers<ContextType>
381
- _Column?: _ColumnResolvers<ContextType>
382
- _Entity?: _EntityResolvers<ContextType>
383
- _Enum?: _EnumResolvers<ContextType>
384
- _Field?: _FieldResolvers<ContextType>
385
- _LiteralArgument?: _LiteralArgumentResolvers<ContextType>
386
- _OrderBy?: _OrderByResolvers<ContextType>
387
- _PathArgument?: _PathArgumentResolvers<ContextType>
388
- _Relation?: _RelationResolvers<ContextType>
389
- _Rule?: _RuleResolvers<ContextType>
390
- _RuleMessage?: _RuleMessageResolvers<ContextType>
391
- _Schema?: _SchemaResolvers<ContextType>
392
- _UniqueConstraint?: _UniqueConstraintResolvers<ContextType>
393
- _Validator?: _ValidatorResolvers<ContextType>
394
- _ValidatorArgument?: _ValidatorArgumentResolvers<ContextType>
395
- }
396
-
397
-
398
- /**
399
- * @deprecated
400
- * Use "Resolvers" root object instead. If you wish to get "IResolvers", add "typesPrefix: I" to your config.
401
- */
402
- export type IResolvers<ContextType = any> = Resolvers<ContextType>