@contember/engine-content-api 2.1.0-alpha.8 → 2.1.0-beta.1

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 (1019) hide show
  1. package/CLAUDE.md +54 -0
  2. package/dist/development/index.cjs +0 -2
  3. package/dist/development/index.cjs.map +1 -1
  4. package/dist/development/index.js +0 -2
  5. package/dist/development/index.js.map +1 -1
  6. package/dist/development/src/ExecutionContainer.cjs +82 -29
  7. package/dist/development/src/ExecutionContainer.cjs.map +1 -1
  8. package/dist/development/src/ExecutionContainer.js +82 -29
  9. package/dist/development/src/ExecutionContainer.js.map +1 -1
  10. package/dist/development/src/acl/Authorizator.cjs.map +1 -1
  11. package/dist/development/src/acl/Authorizator.js.map +1 -1
  12. package/dist/development/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
  13. package/dist/development/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
  14. package/dist/development/src/acl/PermissionFactory.cjs.map +1 -1
  15. package/dist/development/src/acl/PermissionFactory.js.map +1 -1
  16. package/dist/development/src/acl/PredicateFactory.cjs.map +1 -1
  17. package/dist/development/src/acl/PredicateFactory.js.map +1 -1
  18. package/dist/development/src/acl/PredicatesInjector.cjs +101 -12
  19. package/dist/development/src/acl/PredicatesInjector.cjs.map +1 -1
  20. package/dist/development/src/acl/PredicatesInjector.js +101 -12
  21. package/dist/development/src/acl/PredicatesInjector.js.map +1 -1
  22. package/dist/development/src/acl/VariableInjector.cjs.map +1 -1
  23. package/dist/development/src/acl/VariableInjector.js.map +1 -1
  24. package/dist/development/src/acl/VariableUtils.cjs.map +1 -1
  25. package/dist/development/src/acl/VariableUtils.js.map +1 -1
  26. package/dist/development/src/exception.cjs.map +1 -1
  27. package/dist/development/src/exception.js.map +1 -1
  28. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
  29. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  30. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
  31. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  32. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs +4 -4
  33. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
  34. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +4 -4
  35. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  36. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
  37. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  38. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
  39. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  40. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
  41. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  42. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
  43. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  44. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
  45. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  46. package/dist/development/src/input-validation/ColumnValueResolver.cjs.map +1 -1
  47. package/dist/development/src/input-validation/ColumnValueResolver.js.map +1 -1
  48. package/dist/development/src/input-validation/EntityRulesResolver.cjs.map +1 -1
  49. package/dist/development/src/input-validation/EntityRulesResolver.js.map +1 -1
  50. package/dist/development/src/input-validation/QueryAstFactory.cjs.map +1 -1
  51. package/dist/development/src/input-validation/QueryAstFactory.js.map +1 -1
  52. package/dist/development/src/input-validation/ValidationContext.cjs.map +1 -1
  53. package/dist/development/src/input-validation/ValidationContext.js.map +1 -1
  54. package/dist/development/src/input-validation/ValidationDataSelector.cjs.map +1 -1
  55. package/dist/development/src/input-validation/ValidationDataSelector.js.map +1 -1
  56. package/dist/development/src/input-validation/ValidationEvaluation.cjs.map +1 -1
  57. package/dist/development/src/input-validation/ValidationEvaluation.js.map +1 -1
  58. package/dist/development/src/input-validation/ValidationPath.cjs.map +1 -1
  59. package/dist/development/src/input-validation/ValidationPath.js.map +1 -1
  60. package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs +3 -3
  61. package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
  62. package/dist/development/src/input-validation/dependencies/DependencyCollector.js +3 -3
  63. package/dist/development/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
  64. package/dist/development/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
  65. package/dist/development/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
  66. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
  67. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  68. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs +2 -4
  69. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  70. package/dist/development/src/input-validation/preValidation/InputPreValidator.js +2 -4
  71. package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  72. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
  73. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  74. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs +6 -4
  75. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  76. package/dist/development/src/inputProcessing/CreateInputVisitor.js +6 -4
  77. package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  78. package/dist/development/src/inputProcessing/FieldNode.cjs.map +1 -1
  79. package/dist/development/src/inputProcessing/FieldNode.js.map +1 -1
  80. package/dist/development/src/inputProcessing/ObjectNode.cjs.map +1 -1
  81. package/dist/development/src/inputProcessing/ObjectNode.js.map +1 -1
  82. package/dist/development/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
  83. package/dist/development/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  84. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs +7 -5
  85. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  86. package/dist/development/src/inputProcessing/UpdateInputVisitor.js +7 -5
  87. package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  88. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
  89. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  90. package/dist/development/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
  91. package/dist/development/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  92. package/dist/development/src/introspection/content-schema.types.cjs.map +1 -1
  93. package/dist/development/src/introspection/content-schema.types.js.map +1 -1
  94. package/dist/development/src/introspection/introspection.schema.cjs.map +1 -1
  95. package/dist/development/src/introspection/introspection.schema.js.map +1 -1
  96. package/dist/development/src/mapper/CheckedPrimary.cjs.map +1 -1
  97. package/dist/development/src/mapper/CheckedPrimary.js.map +1 -1
  98. package/dist/development/src/mapper/ColumnValue.cjs.map +1 -1
  99. package/dist/development/src/mapper/ColumnValue.js.map +1 -1
  100. package/dist/development/src/mapper/ErrorUtils.cjs.map +1 -1
  101. package/dist/development/src/mapper/ErrorUtils.js +1 -1
  102. package/dist/development/src/mapper/ErrorUtils.js.map +1 -1
  103. package/dist/development/src/mapper/EventManager.cjs.map +1 -1
  104. package/dist/development/src/mapper/EventManager.js.map +1 -1
  105. package/dist/development/src/mapper/JunctionTableManager.cjs +16 -2
  106. package/dist/development/src/mapper/JunctionTableManager.cjs.map +1 -1
  107. package/dist/development/src/mapper/JunctionTableManager.js +17 -3
  108. package/dist/development/src/mapper/JunctionTableManager.js.map +1 -1
  109. package/dist/development/src/mapper/Mapper.cjs +8 -7
  110. package/dist/development/src/mapper/Mapper.cjs.map +1 -1
  111. package/dist/development/src/mapper/Mapper.js +8 -7
  112. package/dist/development/src/mapper/Mapper.js.map +1 -1
  113. package/dist/development/src/mapper/MapperFactory.cjs.map +1 -1
  114. package/dist/development/src/mapper/MapperFactory.js.map +1 -1
  115. package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  116. package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -1
  117. package/dist/development/src/mapper/Result.cjs +1 -1
  118. package/dist/development/src/mapper/Result.cjs.map +1 -1
  119. package/dist/development/src/mapper/Result.js +1 -1
  120. package/dist/development/src/mapper/Result.js.map +1 -1
  121. package/dist/development/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
  122. package/dist/development/src/mapper/delete/DeleteExecutor.js.map +1 -1
  123. package/dist/development/src/mapper/delete/DeleteState.cjs.map +1 -1
  124. package/dist/development/src/mapper/delete/DeleteState.js.map +1 -1
  125. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
  126. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  127. package/dist/development/src/mapper/delete/helpers.cjs.map +1 -1
  128. package/dist/development/src/mapper/delete/helpers.js.map +1 -1
  129. package/dist/development/src/mapper/insert/InsertBuilder.cjs +27 -31
  130. package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  131. package/dist/development/src/mapper/insert/InsertBuilder.js +27 -31
  132. package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -1
  133. package/dist/development/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
  134. package/dist/development/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  135. package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
  136. package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
  137. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  138. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  139. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -1
  140. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -1
  141. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -1
  142. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -1
  143. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -1
  144. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -1
  145. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -1
  146. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -1
  147. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -1
  148. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -1
  149. package/dist/development/src/mapper/select/ConditionBuilder.cjs +7 -5
  150. package/dist/development/src/mapper/select/ConditionBuilder.cjs.map +1 -1
  151. package/dist/development/src/mapper/select/ConditionBuilder.js +8 -6
  152. package/dist/development/src/mapper/select/ConditionBuilder.js.map +1 -1
  153. package/dist/development/src/mapper/select/JoinBuilder.cjs.map +1 -1
  154. package/dist/development/src/mapper/select/JoinBuilder.js.map +1 -1
  155. package/dist/development/src/mapper/select/JoinVisitor.cjs.map +1 -1
  156. package/dist/development/src/mapper/select/JoinVisitor.js.map +1 -1
  157. package/dist/development/src/mapper/select/OrderByBuilder.cjs.map +1 -1
  158. package/dist/development/src/mapper/select/OrderByBuilder.js.map +1 -1
  159. package/dist/development/src/mapper/select/OrderByHelper.cjs.map +1 -1
  160. package/dist/development/src/mapper/select/OrderByHelper.js.map +1 -1
  161. package/dist/development/src/mapper/select/Path.cjs.map +1 -1
  162. package/dist/development/src/mapper/select/Path.js.map +1 -1
  163. package/dist/development/src/mapper/select/RelationFetcher.cjs.map +1 -1
  164. package/dist/development/src/mapper/select/RelationFetcher.js.map +1 -1
  165. package/dist/development/src/mapper/select/SelectBuilder.cjs +7 -10
  166. package/dist/development/src/mapper/select/SelectBuilder.cjs.map +1 -1
  167. package/dist/development/src/mapper/select/SelectBuilder.js +7 -10
  168. package/dist/development/src/mapper/select/SelectBuilder.js.map +1 -1
  169. package/dist/development/src/mapper/select/SelectHydrator.cjs +1 -1
  170. package/dist/development/src/mapper/select/SelectHydrator.cjs.map +1 -1
  171. package/dist/development/src/mapper/select/SelectHydrator.js +1 -1
  172. package/dist/development/src/mapper/select/SelectHydrator.js.map +1 -1
  173. package/dist/development/src/mapper/select/WhereBuilder.cjs +20 -18
  174. package/dist/development/src/mapper/select/WhereBuilder.cjs.map +1 -1
  175. package/dist/development/src/mapper/select/WhereBuilder.js +20 -18
  176. package/dist/development/src/mapper/select/WhereBuilder.js.map +1 -1
  177. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs +1 -1
  178. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  179. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js +1 -1
  180. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  181. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
  182. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  183. package/dist/development/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
  184. package/dist/development/src/mapper/select/handlers/MetaHandler.js.map +1 -1
  185. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
  186. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
  187. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs +7 -3
  188. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  189. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js +7 -3
  190. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  191. package/dist/development/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -1
  192. package/dist/development/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  193. package/dist/development/src/mapper/select/optimizer/helpers.cjs.map +1 -1
  194. package/dist/development/src/mapper/select/optimizer/helpers.js.map +1 -1
  195. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  196. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  197. package/dist/development/src/mapper/update/UpdateBuilder.cjs +64 -68
  198. package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  199. package/dist/development/src/mapper/update/UpdateBuilder.js +64 -68
  200. package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
  201. package/dist/development/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
  202. package/dist/development/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  203. package/dist/development/src/mapper/update/Updater.cjs +15 -3
  204. package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
  205. package/dist/development/src/mapper/update/Updater.js +16 -4
  206. package/dist/development/src/mapper/update/Updater.js.map +1 -1
  207. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -1
  208. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -1
  209. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -1
  210. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -1
  211. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -1
  212. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -1
  213. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -1
  214. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -1
  215. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -1
  216. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -1
  217. package/dist/development/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
  218. package/dist/development/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  219. package/dist/development/src/resolvers/MutationResolver.cjs.map +1 -1
  220. package/dist/development/src/resolvers/MutationResolver.js.map +1 -1
  221. package/dist/development/src/resolvers/ReadHelpers.cjs.map +1 -1
  222. package/dist/development/src/resolvers/ReadHelpers.js.map +1 -1
  223. package/dist/development/src/resolvers/ReadResolver.cjs.map +1 -1
  224. package/dist/development/src/resolvers/ReadResolver.js.map +1 -1
  225. package/dist/development/src/resolvers/RefreshViewResolver.cjs.map +1 -1
  226. package/dist/development/src/resolvers/RefreshViewResolver.js.map +1 -1
  227. package/dist/development/src/resolvers/ValidationResolver.cjs.map +1 -1
  228. package/dist/development/src/resolvers/ValidationResolver.js.map +1 -1
  229. package/dist/development/src/schema/ColumnTypeResolver.cjs.map +1 -1
  230. package/dist/development/src/schema/ColumnTypeResolver.js.map +1 -1
  231. package/dist/development/src/schema/ConditionTypeProvider.cjs +2 -0
  232. package/dist/development/src/schema/ConditionTypeProvider.cjs.map +1 -1
  233. package/dist/development/src/schema/ConditionTypeProvider.js +3 -1
  234. package/dist/development/src/schema/ConditionTypeProvider.js.map +1 -1
  235. package/dist/development/src/schema/CustomTypesProvider.cjs.map +1 -1
  236. package/dist/development/src/schema/CustomTypesProvider.js.map +1 -1
  237. package/dist/development/src/schema/EntityTypeProvider.cjs +1 -3
  238. package/dist/development/src/schema/EntityTypeProvider.cjs.map +1 -1
  239. package/dist/development/src/schema/EntityTypeProvider.js +1 -3
  240. package/dist/development/src/schema/EntityTypeProvider.js.map +1 -1
  241. package/dist/development/src/schema/EnumsProvider.cjs.map +1 -1
  242. package/dist/development/src/schema/EnumsProvider.js.map +1 -1
  243. package/dist/development/src/schema/FieldAccessVisitor.cjs.map +1 -1
  244. package/dist/development/src/schema/FieldAccessVisitor.js.map +1 -1
  245. package/dist/development/src/schema/GraphQlSchemaBuilder.cjs +5 -11
  246. package/dist/development/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
  247. package/dist/development/src/schema/GraphQlSchemaBuilder.js +5 -11
  248. package/dist/development/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  249. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs +103 -3
  250. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
  251. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js +103 -3
  252. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  253. package/dist/development/src/schema/MutationProvider.cjs.map +1 -1
  254. package/dist/development/src/schema/MutationProvider.js +2 -2
  255. package/dist/development/src/schema/MutationProvider.js.map +1 -1
  256. package/dist/development/src/schema/OperationExtension.cjs +0 -1
  257. package/dist/development/src/schema/OperationExtension.cjs.map +1 -1
  258. package/dist/development/src/schema/OperationExtension.js +0 -1
  259. package/dist/development/src/schema/OperationExtension.js.map +1 -1
  260. package/dist/development/src/schema/OrderByTypeProvider.cjs.map +1 -1
  261. package/dist/development/src/schema/OrderByTypeProvider.js +1 -1
  262. package/dist/development/src/schema/OrderByTypeProvider.js.map +1 -1
  263. package/dist/development/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -1
  264. package/dist/development/src/schema/PaginatedFieldConfigFactory.js +1 -1
  265. package/dist/development/src/schema/PaginatedFieldConfigFactory.js.map +1 -1
  266. package/dist/development/src/schema/QueryProvider.cjs.map +1 -1
  267. package/dist/development/src/schema/QueryProvider.js +2 -2
  268. package/dist/development/src/schema/QueryProvider.js.map +1 -1
  269. package/dist/development/src/schema/RefreshViewMutationProvider.cjs.map +1 -1
  270. package/dist/development/src/schema/RefreshViewMutationProvider.js.map +1 -1
  271. package/dist/development/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
  272. package/dist/development/src/schema/ResultSchemaTypeProvider.js.map +1 -1
  273. package/dist/development/src/schema/ValidationQueriesProvider.cjs +2 -8
  274. package/dist/development/src/schema/ValidationQueriesProvider.cjs.map +1 -1
  275. package/dist/development/src/schema/ValidationQueriesProvider.js +2 -8
  276. package/dist/development/src/schema/ValidationQueriesProvider.js.map +1 -1
  277. package/dist/development/src/schema/WhereTypeProvider.cjs +1 -3
  278. package/dist/development/src/schema/WhereTypeProvider.cjs.map +1 -1
  279. package/dist/development/src/schema/WhereTypeProvider.js +1 -3
  280. package/dist/development/src/schema/WhereTypeProvider.js.map +1 -1
  281. package/dist/development/src/schema/entities/FieldArgsVisitor.cjs.map +1 -1
  282. package/dist/development/src/schema/entities/FieldArgsVisitor.js.map +1 -1
  283. package/dist/development/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
  284. package/dist/development/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  285. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -1
  286. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -1
  287. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
  288. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  289. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  290. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  291. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -1
  292. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  293. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -1
  294. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
  295. package/dist/development/src/schema/mutations/EntityInputProvider.cjs.map +1 -1
  296. package/dist/development/src/schema/mutations/EntityInputProvider.js.map +1 -1
  297. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
  298. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  299. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  300. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  301. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
  302. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +1 -1
  303. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  304. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
  305. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
  306. package/dist/development/src/schema/utils.cjs.map +1 -1
  307. package/dist/development/src/schema/utils.js.map +1 -1
  308. package/dist/development/src/utils/Mutex.cjs.map +1 -1
  309. package/dist/development/src/utils/Mutex.js.map +1 -1
  310. package/dist/development/src/utils/ResolveInfoUtils.cjs.map +1 -1
  311. package/dist/development/src/utils/ResolveInfoUtils.js.map +1 -1
  312. package/dist/development/src/utils/accessor.cjs.map +1 -1
  313. package/dist/development/src/utils/accessor.js.map +1 -1
  314. package/dist/development/src/utils/assertNever.cjs.map +1 -1
  315. package/dist/development/src/utils/assertNever.js.map +1 -1
  316. package/dist/development/src/utils/isIt.cjs.map +1 -1
  317. package/dist/development/src/utils/isIt.js.map +1 -1
  318. package/dist/development/src/utils/object.cjs.map +1 -1
  319. package/dist/development/src/utils/object.js.map +1 -1
  320. package/dist/development/src/utils/paginationUtils.cjs.map +1 -1
  321. package/dist/development/src/utils/paginationUtils.js.map +1 -1
  322. package/dist/development/src/utils/promises.cjs.map +1 -1
  323. package/dist/development/src/utils/promises.js.map +1 -1
  324. package/dist/development/src/utils/singletonFactory.cjs.map +1 -1
  325. package/dist/development/src/utils/singletonFactory.js.map +1 -1
  326. package/dist/development/src/utils/strings.cjs.map +1 -1
  327. package/dist/development/src/utils/strings.js.map +1 -1
  328. package/dist/development/src/utils/tuple.cjs.map +1 -1
  329. package/dist/development/src/utils/tuple.js.map +1 -1
  330. package/dist/development/src/utils/uniqueWhereFields.cjs.map +1 -1
  331. package/dist/development/src/utils/uniqueWhereFields.js.map +1 -1
  332. package/dist/development/src/utils/viewComputedId.cjs.map +1 -1
  333. package/dist/development/src/utils/viewComputedId.js.map +1 -1
  334. package/dist/production/index.cjs +0 -2
  335. package/dist/production/index.cjs.map +1 -1
  336. package/dist/production/index.js +0 -2
  337. package/dist/production/index.js.map +1 -1
  338. package/dist/production/src/ExecutionContainer.cjs +82 -29
  339. package/dist/production/src/ExecutionContainer.cjs.map +1 -1
  340. package/dist/production/src/ExecutionContainer.js +82 -29
  341. package/dist/production/src/ExecutionContainer.js.map +1 -1
  342. package/dist/production/src/acl/Authorizator.cjs.map +1 -1
  343. package/dist/production/src/acl/Authorizator.js.map +1 -1
  344. package/dist/production/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
  345. package/dist/production/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
  346. package/dist/production/src/acl/PermissionFactory.cjs.map +1 -1
  347. package/dist/production/src/acl/PermissionFactory.js.map +1 -1
  348. package/dist/production/src/acl/PredicateFactory.cjs.map +1 -1
  349. package/dist/production/src/acl/PredicateFactory.js.map +1 -1
  350. package/dist/production/src/acl/PredicatesInjector.cjs +101 -12
  351. package/dist/production/src/acl/PredicatesInjector.cjs.map +1 -1
  352. package/dist/production/src/acl/PredicatesInjector.js +101 -12
  353. package/dist/production/src/acl/PredicatesInjector.js.map +1 -1
  354. package/dist/production/src/acl/VariableInjector.cjs.map +1 -1
  355. package/dist/production/src/acl/VariableInjector.js.map +1 -1
  356. package/dist/production/src/acl/VariableUtils.cjs.map +1 -1
  357. package/dist/production/src/acl/VariableUtils.js.map +1 -1
  358. package/dist/production/src/exception.cjs.map +1 -1
  359. package/dist/production/src/exception.js.map +1 -1
  360. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
  361. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  362. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
  363. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  364. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs +4 -4
  365. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
  366. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +4 -4
  367. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  368. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
  369. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  370. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
  371. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  372. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
  373. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  374. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
  375. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  376. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
  377. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  378. package/dist/production/src/input-validation/ColumnValueResolver.cjs.map +1 -1
  379. package/dist/production/src/input-validation/ColumnValueResolver.js.map +1 -1
  380. package/dist/production/src/input-validation/EntityRulesResolver.cjs.map +1 -1
  381. package/dist/production/src/input-validation/EntityRulesResolver.js.map +1 -1
  382. package/dist/production/src/input-validation/QueryAstFactory.cjs.map +1 -1
  383. package/dist/production/src/input-validation/QueryAstFactory.js.map +1 -1
  384. package/dist/production/src/input-validation/ValidationContext.cjs.map +1 -1
  385. package/dist/production/src/input-validation/ValidationContext.js.map +1 -1
  386. package/dist/production/src/input-validation/ValidationDataSelector.cjs.map +1 -1
  387. package/dist/production/src/input-validation/ValidationDataSelector.js.map +1 -1
  388. package/dist/production/src/input-validation/ValidationEvaluation.cjs.map +1 -1
  389. package/dist/production/src/input-validation/ValidationEvaluation.js.map +1 -1
  390. package/dist/production/src/input-validation/ValidationPath.cjs.map +1 -1
  391. package/dist/production/src/input-validation/ValidationPath.js.map +1 -1
  392. package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs +3 -3
  393. package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
  394. package/dist/production/src/input-validation/dependencies/DependencyCollector.js +3 -3
  395. package/dist/production/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
  396. package/dist/production/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
  397. package/dist/production/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
  398. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
  399. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  400. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs +2 -4
  401. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  402. package/dist/production/src/input-validation/preValidation/InputPreValidator.js +2 -4
  403. package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  404. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
  405. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  406. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs +6 -4
  407. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  408. package/dist/production/src/inputProcessing/CreateInputVisitor.js +6 -4
  409. package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  410. package/dist/production/src/inputProcessing/FieldNode.cjs.map +1 -1
  411. package/dist/production/src/inputProcessing/FieldNode.js.map +1 -1
  412. package/dist/production/src/inputProcessing/ObjectNode.cjs.map +1 -1
  413. package/dist/production/src/inputProcessing/ObjectNode.js.map +1 -1
  414. package/dist/production/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
  415. package/dist/production/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  416. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs +7 -5
  417. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  418. package/dist/production/src/inputProcessing/UpdateInputVisitor.js +7 -5
  419. package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  420. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
  421. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  422. package/dist/production/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
  423. package/dist/production/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  424. package/dist/production/src/introspection/content-schema.types.cjs.map +1 -1
  425. package/dist/production/src/introspection/content-schema.types.js.map +1 -1
  426. package/dist/production/src/introspection/introspection.schema.cjs.map +1 -1
  427. package/dist/production/src/introspection/introspection.schema.js.map +1 -1
  428. package/dist/production/src/mapper/CheckedPrimary.cjs.map +1 -1
  429. package/dist/production/src/mapper/CheckedPrimary.js.map +1 -1
  430. package/dist/production/src/mapper/ColumnValue.cjs.map +1 -1
  431. package/dist/production/src/mapper/ColumnValue.js.map +1 -1
  432. package/dist/production/src/mapper/ErrorUtils.cjs.map +1 -1
  433. package/dist/production/src/mapper/ErrorUtils.js +1 -1
  434. package/dist/production/src/mapper/ErrorUtils.js.map +1 -1
  435. package/dist/production/src/mapper/EventManager.cjs.map +1 -1
  436. package/dist/production/src/mapper/EventManager.js.map +1 -1
  437. package/dist/production/src/mapper/JunctionTableManager.cjs +16 -2
  438. package/dist/production/src/mapper/JunctionTableManager.cjs.map +1 -1
  439. package/dist/production/src/mapper/JunctionTableManager.js +17 -3
  440. package/dist/production/src/mapper/JunctionTableManager.js.map +1 -1
  441. package/dist/production/src/mapper/Mapper.cjs +8 -7
  442. package/dist/production/src/mapper/Mapper.cjs.map +1 -1
  443. package/dist/production/src/mapper/Mapper.js +8 -7
  444. package/dist/production/src/mapper/Mapper.js.map +1 -1
  445. package/dist/production/src/mapper/MapperFactory.cjs.map +1 -1
  446. package/dist/production/src/mapper/MapperFactory.js.map +1 -1
  447. package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  448. package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
  449. package/dist/production/src/mapper/Result.cjs +1 -1
  450. package/dist/production/src/mapper/Result.cjs.map +1 -1
  451. package/dist/production/src/mapper/Result.js +1 -1
  452. package/dist/production/src/mapper/Result.js.map +1 -1
  453. package/dist/production/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
  454. package/dist/production/src/mapper/delete/DeleteExecutor.js.map +1 -1
  455. package/dist/production/src/mapper/delete/DeleteState.cjs.map +1 -1
  456. package/dist/production/src/mapper/delete/DeleteState.js.map +1 -1
  457. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
  458. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  459. package/dist/production/src/mapper/delete/helpers.cjs.map +1 -1
  460. package/dist/production/src/mapper/delete/helpers.js.map +1 -1
  461. package/dist/production/src/mapper/insert/InsertBuilder.cjs +27 -31
  462. package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  463. package/dist/production/src/mapper/insert/InsertBuilder.js +27 -31
  464. package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
  465. package/dist/production/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
  466. package/dist/production/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  467. package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
  468. package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
  469. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  470. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  471. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -1
  472. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -1
  473. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -1
  474. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -1
  475. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -1
  476. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -1
  477. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -1
  478. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -1
  479. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -1
  480. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -1
  481. package/dist/production/src/mapper/select/ConditionBuilder.cjs +7 -5
  482. package/dist/production/src/mapper/select/ConditionBuilder.cjs.map +1 -1
  483. package/dist/production/src/mapper/select/ConditionBuilder.js +8 -6
  484. package/dist/production/src/mapper/select/ConditionBuilder.js.map +1 -1
  485. package/dist/production/src/mapper/select/JoinBuilder.cjs.map +1 -1
  486. package/dist/production/src/mapper/select/JoinBuilder.js.map +1 -1
  487. package/dist/production/src/mapper/select/JoinVisitor.cjs.map +1 -1
  488. package/dist/production/src/mapper/select/JoinVisitor.js.map +1 -1
  489. package/dist/production/src/mapper/select/OrderByBuilder.cjs.map +1 -1
  490. package/dist/production/src/mapper/select/OrderByBuilder.js.map +1 -1
  491. package/dist/production/src/mapper/select/OrderByHelper.cjs.map +1 -1
  492. package/dist/production/src/mapper/select/OrderByHelper.js.map +1 -1
  493. package/dist/production/src/mapper/select/Path.cjs.map +1 -1
  494. package/dist/production/src/mapper/select/Path.js.map +1 -1
  495. package/dist/production/src/mapper/select/RelationFetcher.cjs.map +1 -1
  496. package/dist/production/src/mapper/select/RelationFetcher.js.map +1 -1
  497. package/dist/production/src/mapper/select/SelectBuilder.cjs +7 -10
  498. package/dist/production/src/mapper/select/SelectBuilder.cjs.map +1 -1
  499. package/dist/production/src/mapper/select/SelectBuilder.js +7 -10
  500. package/dist/production/src/mapper/select/SelectBuilder.js.map +1 -1
  501. package/dist/production/src/mapper/select/SelectHydrator.cjs +1 -1
  502. package/dist/production/src/mapper/select/SelectHydrator.cjs.map +1 -1
  503. package/dist/production/src/mapper/select/SelectHydrator.js +1 -1
  504. package/dist/production/src/mapper/select/SelectHydrator.js.map +1 -1
  505. package/dist/production/src/mapper/select/WhereBuilder.cjs +20 -18
  506. package/dist/production/src/mapper/select/WhereBuilder.cjs.map +1 -1
  507. package/dist/production/src/mapper/select/WhereBuilder.js +20 -18
  508. package/dist/production/src/mapper/select/WhereBuilder.js.map +1 -1
  509. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs +1 -1
  510. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  511. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js +1 -1
  512. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  513. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
  514. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  515. package/dist/production/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
  516. package/dist/production/src/mapper/select/handlers/MetaHandler.js.map +1 -1
  517. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
  518. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
  519. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs +7 -3
  520. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  521. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js +7 -3
  522. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  523. package/dist/production/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -1
  524. package/dist/production/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  525. package/dist/production/src/mapper/select/optimizer/helpers.cjs.map +1 -1
  526. package/dist/production/src/mapper/select/optimizer/helpers.js.map +1 -1
  527. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  528. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  529. package/dist/production/src/mapper/update/UpdateBuilder.cjs +64 -68
  530. package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  531. package/dist/production/src/mapper/update/UpdateBuilder.js +64 -68
  532. package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
  533. package/dist/production/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
  534. package/dist/production/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  535. package/dist/production/src/mapper/update/Updater.cjs +15 -3
  536. package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
  537. package/dist/production/src/mapper/update/Updater.js +16 -4
  538. package/dist/production/src/mapper/update/Updater.js.map +1 -1
  539. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -1
  540. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -1
  541. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -1
  542. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -1
  543. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -1
  544. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -1
  545. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -1
  546. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -1
  547. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -1
  548. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -1
  549. package/dist/production/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
  550. package/dist/production/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  551. package/dist/production/src/resolvers/MutationResolver.cjs.map +1 -1
  552. package/dist/production/src/resolvers/MutationResolver.js.map +1 -1
  553. package/dist/production/src/resolvers/ReadHelpers.cjs.map +1 -1
  554. package/dist/production/src/resolvers/ReadHelpers.js.map +1 -1
  555. package/dist/production/src/resolvers/ReadResolver.cjs.map +1 -1
  556. package/dist/production/src/resolvers/ReadResolver.js.map +1 -1
  557. package/dist/production/src/resolvers/RefreshViewResolver.cjs.map +1 -1
  558. package/dist/production/src/resolvers/RefreshViewResolver.js.map +1 -1
  559. package/dist/production/src/resolvers/ValidationResolver.cjs.map +1 -1
  560. package/dist/production/src/resolvers/ValidationResolver.js.map +1 -1
  561. package/dist/production/src/schema/ColumnTypeResolver.cjs.map +1 -1
  562. package/dist/production/src/schema/ColumnTypeResolver.js.map +1 -1
  563. package/dist/production/src/schema/ConditionTypeProvider.cjs +2 -0
  564. package/dist/production/src/schema/ConditionTypeProvider.cjs.map +1 -1
  565. package/dist/production/src/schema/ConditionTypeProvider.js +3 -1
  566. package/dist/production/src/schema/ConditionTypeProvider.js.map +1 -1
  567. package/dist/production/src/schema/CustomTypesProvider.cjs.map +1 -1
  568. package/dist/production/src/schema/CustomTypesProvider.js.map +1 -1
  569. package/dist/production/src/schema/EntityTypeProvider.cjs +1 -3
  570. package/dist/production/src/schema/EntityTypeProvider.cjs.map +1 -1
  571. package/dist/production/src/schema/EntityTypeProvider.js +1 -3
  572. package/dist/production/src/schema/EntityTypeProvider.js.map +1 -1
  573. package/dist/production/src/schema/EnumsProvider.cjs.map +1 -1
  574. package/dist/production/src/schema/EnumsProvider.js.map +1 -1
  575. package/dist/production/src/schema/FieldAccessVisitor.cjs.map +1 -1
  576. package/dist/production/src/schema/FieldAccessVisitor.js.map +1 -1
  577. package/dist/production/src/schema/GraphQlSchemaBuilder.cjs +5 -11
  578. package/dist/production/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
  579. package/dist/production/src/schema/GraphQlSchemaBuilder.js +5 -11
  580. package/dist/production/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  581. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs +103 -3
  582. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
  583. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js +103 -3
  584. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  585. package/dist/production/src/schema/MutationProvider.cjs.map +1 -1
  586. package/dist/production/src/schema/MutationProvider.js +2 -2
  587. package/dist/production/src/schema/MutationProvider.js.map +1 -1
  588. package/dist/production/src/schema/OperationExtension.cjs +0 -1
  589. package/dist/production/src/schema/OperationExtension.cjs.map +1 -1
  590. package/dist/production/src/schema/OperationExtension.js +0 -1
  591. package/dist/production/src/schema/OperationExtension.js.map +1 -1
  592. package/dist/production/src/schema/OrderByTypeProvider.cjs.map +1 -1
  593. package/dist/production/src/schema/OrderByTypeProvider.js +1 -1
  594. package/dist/production/src/schema/OrderByTypeProvider.js.map +1 -1
  595. package/dist/production/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -1
  596. package/dist/production/src/schema/PaginatedFieldConfigFactory.js +1 -1
  597. package/dist/production/src/schema/PaginatedFieldConfigFactory.js.map +1 -1
  598. package/dist/production/src/schema/QueryProvider.cjs.map +1 -1
  599. package/dist/production/src/schema/QueryProvider.js +2 -2
  600. package/dist/production/src/schema/QueryProvider.js.map +1 -1
  601. package/dist/production/src/schema/RefreshViewMutationProvider.cjs.map +1 -1
  602. package/dist/production/src/schema/RefreshViewMutationProvider.js.map +1 -1
  603. package/dist/production/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
  604. package/dist/production/src/schema/ResultSchemaTypeProvider.js.map +1 -1
  605. package/dist/production/src/schema/ValidationQueriesProvider.cjs +2 -8
  606. package/dist/production/src/schema/ValidationQueriesProvider.cjs.map +1 -1
  607. package/dist/production/src/schema/ValidationQueriesProvider.js +2 -8
  608. package/dist/production/src/schema/ValidationQueriesProvider.js.map +1 -1
  609. package/dist/production/src/schema/WhereTypeProvider.cjs +1 -3
  610. package/dist/production/src/schema/WhereTypeProvider.cjs.map +1 -1
  611. package/dist/production/src/schema/WhereTypeProvider.js +1 -3
  612. package/dist/production/src/schema/WhereTypeProvider.js.map +1 -1
  613. package/dist/production/src/schema/entities/FieldArgsVisitor.cjs.map +1 -1
  614. package/dist/production/src/schema/entities/FieldArgsVisitor.js.map +1 -1
  615. package/dist/production/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
  616. package/dist/production/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  617. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -1
  618. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -1
  619. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
  620. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  621. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  622. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  623. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -1
  624. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  625. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -1
  626. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
  627. package/dist/production/src/schema/mutations/EntityInputProvider.cjs.map +1 -1
  628. package/dist/production/src/schema/mutations/EntityInputProvider.js.map +1 -1
  629. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
  630. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  631. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  632. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  633. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
  634. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +1 -1
  635. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  636. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
  637. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
  638. package/dist/production/src/schema/utils.cjs.map +1 -1
  639. package/dist/production/src/schema/utils.js.map +1 -1
  640. package/dist/production/src/utils/Mutex.cjs.map +1 -1
  641. package/dist/production/src/utils/Mutex.js.map +1 -1
  642. package/dist/production/src/utils/ResolveInfoUtils.cjs.map +1 -1
  643. package/dist/production/src/utils/ResolveInfoUtils.js.map +1 -1
  644. package/dist/production/src/utils/accessor.cjs.map +1 -1
  645. package/dist/production/src/utils/accessor.js.map +1 -1
  646. package/dist/production/src/utils/assertNever.cjs.map +1 -1
  647. package/dist/production/src/utils/assertNever.js.map +1 -1
  648. package/dist/production/src/utils/isIt.cjs.map +1 -1
  649. package/dist/production/src/utils/isIt.js.map +1 -1
  650. package/dist/production/src/utils/object.cjs.map +1 -1
  651. package/dist/production/src/utils/object.js.map +1 -1
  652. package/dist/production/src/utils/paginationUtils.cjs.map +1 -1
  653. package/dist/production/src/utils/paginationUtils.js.map +1 -1
  654. package/dist/production/src/utils/promises.cjs.map +1 -1
  655. package/dist/production/src/utils/promises.js.map +1 -1
  656. package/dist/production/src/utils/singletonFactory.cjs.map +1 -1
  657. package/dist/production/src/utils/singletonFactory.js.map +1 -1
  658. package/dist/production/src/utils/strings.cjs.map +1 -1
  659. package/dist/production/src/utils/strings.js.map +1 -1
  660. package/dist/production/src/utils/tuple.cjs.map +1 -1
  661. package/dist/production/src/utils/tuple.js.map +1 -1
  662. package/dist/production/src/utils/uniqueWhereFields.cjs.map +1 -1
  663. package/dist/production/src/utils/uniqueWhereFields.js.map +1 -1
  664. package/dist/production/src/utils/viewComputedId.cjs.map +1 -1
  665. package/dist/production/src/utils/viewComputedId.js.map +1 -1
  666. package/dist/tests/cases/integration/graphQlRequests/insert/subOperationFail.test.d.ts +2 -0
  667. package/dist/tests/cases/integration/graphQlRequests/insert/subOperationFail.test.d.ts.map +1 -0
  668. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/schema.d.ts.map +1 -1
  669. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/schema.d.ts.map +1 -1
  670. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/schema.d.ts.map +1 -1
  671. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/schema.d.ts.map +1 -1
  672. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts.map +1 -1
  673. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts.map +1 -1
  674. package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.d.ts.map +1 -1
  675. package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.d.ts.map +1 -1
  676. package/dist/tests/cases/integration/graphQlRequests/validation/utils.d.ts.map +1 -1
  677. package/dist/tests/src/test.d.ts.map +1 -1
  678. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  679. package/dist/types/ExecutionContainer.d.ts +13 -3
  680. package/dist/types/ExecutionContainer.d.ts.map +1 -1
  681. package/dist/types/acl/Authorizator.d.ts.map +1 -1
  682. package/dist/types/acl/EvaluatedPredicateReplacer.d.ts.map +1 -1
  683. package/dist/types/acl/PermissionFactory.d.ts.map +1 -1
  684. package/dist/types/acl/PredicateFactory.d.ts.map +1 -1
  685. package/dist/types/acl/PredicatesInjector.d.ts +15 -1
  686. package/dist/types/acl/PredicatesInjector.d.ts.map +1 -1
  687. package/dist/types/acl/VariableUtils.d.ts.map +1 -1
  688. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.d.ts.map +1 -1
  689. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -1
  690. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts.map +1 -1
  691. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts.map +1 -1
  692. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts.map +1 -1
  693. package/dist/types/index.d.ts +1 -1
  694. package/dist/types/index.d.ts.map +1 -1
  695. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts.map +1 -1
  696. package/dist/types/inputProcessing/CreateInputProcessor.d.ts +1 -1
  697. package/dist/types/inputProcessing/CreateInputProcessor.d.ts.map +1 -1
  698. package/dist/types/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  699. package/dist/types/inputProcessing/UpdateInputProcessor.d.ts +1 -1
  700. package/dist/types/inputProcessing/UpdateInputProcessor.d.ts.map +1 -1
  701. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  702. package/dist/types/introspection/IntrospectionSchemaFactory.d.ts.map +1 -1
  703. package/dist/types/introspection/introspection.schema.d.ts.map +1 -1
  704. package/dist/types/mapper/ColumnValue.d.ts.map +1 -1
  705. package/dist/types/mapper/ErrorUtils.d.ts.map +1 -1
  706. package/dist/types/mapper/EventManager.d.ts.map +1 -1
  707. package/dist/types/mapper/JunctionTableManager.d.ts.map +1 -1
  708. package/dist/types/mapper/Mapper.d.ts.map +1 -1
  709. package/dist/types/mapper/MapperFactory.d.ts.map +1 -1
  710. package/dist/types/mapper/Result.d.ts +2 -2
  711. package/dist/types/mapper/Result.d.ts.map +1 -1
  712. package/dist/types/mapper/delete/DeleteExecutor.d.ts.map +1 -1
  713. package/dist/types/mapper/delete/DeleteState.d.ts.map +1 -1
  714. package/dist/types/mapper/delete/helpers.d.ts.map +1 -1
  715. package/dist/types/mapper/insert/InsertBuilder.d.ts.map +1 -1
  716. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  717. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts +2 -2
  718. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts.map +1 -1
  719. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts +2 -2
  720. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts.map +1 -1
  721. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts.map +1 -1
  722. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts +1 -1
  723. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -1
  724. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -1
  725. package/dist/types/mapper/select/ConditionBuilder.d.ts.map +1 -1
  726. package/dist/types/mapper/select/JoinBuilder.d.ts.map +1 -1
  727. package/dist/types/mapper/select/Path.d.ts +0 -1
  728. package/dist/types/mapper/select/Path.d.ts.map +1 -1
  729. package/dist/types/mapper/select/RelationFetcher.d.ts.map +1 -1
  730. package/dist/types/mapper/select/SelectBuilder.d.ts.map +1 -1
  731. package/dist/types/mapper/select/SelectExecutionHandler.d.ts.map +1 -1
  732. package/dist/types/mapper/select/WhereBuilder.d.ts.map +1 -1
  733. package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  734. package/dist/types/mapper/select/optimizer/ConditionOptimizer.d.ts.map +1 -1
  735. package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts +6 -1
  736. package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -1
  737. package/dist/types/mapper/select/optimizer/WhereReplacer.d.ts.map +1 -1
  738. package/dist/types/mapper/types.d.ts +1 -1
  739. package/dist/types/mapper/types.d.ts.map +1 -1
  740. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  741. package/dist/types/mapper/update/UpdateBuilder.d.ts.map +1 -1
  742. package/dist/types/mapper/update/Updater.d.ts +1 -5
  743. package/dist/types/mapper/update/Updater.d.ts.map +1 -1
  744. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts +7 -7
  745. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts +5 -5
  746. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts.map +1 -1
  747. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts +7 -7
  748. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -1
  749. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts +3 -3
  750. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -1
  751. package/dist/types/resolvers/GraphQlQueryAstFactory.d.ts.map +1 -1
  752. package/dist/types/resolvers/MutationResolver.d.ts.map +1 -1
  753. package/dist/types/schema/ConditionTypeProvider.d.ts.map +1 -1
  754. package/dist/types/schema/CustomTypesProvider.d.ts.map +1 -1
  755. package/dist/types/schema/EntityTypeProvider.d.ts.map +1 -1
  756. package/dist/types/schema/GraphQlSchemaBuilder.d.ts.map +1 -1
  757. package/dist/types/schema/GraphQlSchemaBuilderFactory.d.ts +0 -1
  758. package/dist/types/schema/GraphQlSchemaBuilderFactory.d.ts.map +1 -1
  759. package/dist/types/schema/MutationProvider.d.ts.map +1 -1
  760. package/dist/types/schema/OperationExtension.d.ts +1 -1
  761. package/dist/types/schema/OperationExtension.d.ts.map +1 -1
  762. package/dist/types/schema/ValidationQueriesProvider.d.ts.map +1 -1
  763. package/dist/types/schema/WhereTypeProvider.d.ts.map +1 -1
  764. package/dist/types/schema/entities/FieldArgsVisitor.d.ts.map +1 -1
  765. package/dist/types/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts.map +1 -1
  766. package/dist/types/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -1
  767. package/dist/types/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  768. package/dist/types/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  769. package/dist/types/schema/mutations/EntityInputProvider.d.ts.map +1 -1
  770. package/dist/types/schema/mutations/UpdateEntityInputFieldVisitor.d.ts +1 -1
  771. package/dist/types/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -1
  772. package/dist/types/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  773. package/dist/types/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  774. package/dist/types/tsconfig.tsbuildinfo +1 -1
  775. package/dist/types/utils/object.d.ts.map +1 -1
  776. package/graphql.codegen.yml +1 -1
  777. package/package.json +21 -16
  778. package/src/ExecutionContainer.ts +137 -122
  779. package/src/acl/Authorizator.ts +5 -3
  780. package/src/acl/EvaluatedPredicateReplacer.ts +0 -5
  781. package/src/acl/PermissionFactory.ts +9 -10
  782. package/src/acl/PredicateFactory.ts +0 -1
  783. package/src/acl/PredicatesInjector.ts +162 -12
  784. package/src/acl/VariableUtils.ts +0 -2
  785. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts +0 -2
  786. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts +9 -13
  787. package/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts +3 -4
  788. package/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts +2 -2
  789. package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts +2 -5
  790. package/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts +3 -4
  791. package/src/index.ts +8 -7
  792. package/src/input-validation/ValidationEvaluation.ts +3 -6
  793. package/src/input-validation/dependencies/DependencyCollector.ts +3 -3
  794. package/src/input-validation/preValidation/InputPreValidator.ts +6 -8
  795. package/src/inputProcessing/CreateInputProcessor.ts +1 -2
  796. package/src/inputProcessing/CreateInputVisitor.ts +7 -8
  797. package/src/inputProcessing/UpdateInputProcessor.ts +1 -2
  798. package/src/inputProcessing/UpdateInputVisitor.ts +9 -10
  799. package/src/introspection/IntrospectionSchemaFactory.ts +3 -4
  800. package/src/introspection/content-schema.types.ts +3 -3
  801. package/src/introspection/introspection.schema.ts +0 -2
  802. package/src/mapper/ColumnValue.ts +0 -1
  803. package/src/mapper/ErrorUtils.ts +19 -7
  804. package/src/mapper/EventManager.ts +0 -2
  805. package/src/mapper/JunctionTableManager.ts +19 -17
  806. package/src/mapper/Mapper.ts +13 -6
  807. package/src/mapper/MapperFactory.ts +0 -1
  808. package/src/mapper/Result.ts +2 -2
  809. package/src/mapper/delete/DeleteExecutor.ts +6 -7
  810. package/src/mapper/delete/DeleteState.ts +0 -1
  811. package/src/mapper/delete/helpers.ts +2 -3
  812. package/src/mapper/insert/InsertBuilder.ts +32 -35
  813. package/src/mapper/insert/Inserter.ts +0 -1
  814. package/src/mapper/insert/SqlCreateInputProcessor.ts +3 -6
  815. package/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts +0 -1
  816. package/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts +1 -2
  817. package/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts +0 -1
  818. package/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts +1 -4
  819. package/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.ts +2 -9
  820. package/src/mapper/select/ConditionBuilder.ts +19 -13
  821. package/src/mapper/select/JoinBuilder.ts +4 -2
  822. package/src/mapper/select/OrderByHelper.ts +2 -2
  823. package/src/mapper/select/Path.ts +0 -2
  824. package/src/mapper/select/RelationFetcher.ts +31 -26
  825. package/src/mapper/select/SelectBuilder.ts +16 -14
  826. package/src/mapper/select/SelectExecutionHandler.ts +30 -28
  827. package/src/mapper/select/SelectHydrator.ts +1 -1
  828. package/src/mapper/select/WhereBuilder.ts +49 -43
  829. package/src/mapper/select/handlers/FieldsVisitor.ts +1 -2
  830. package/src/mapper/select/optimizer/ConditionOptimizer.ts +0 -7
  831. package/src/mapper/select/optimizer/WhereOptimizer.ts +37 -15
  832. package/src/mapper/select/optimizer/WhereReplacer.ts +6 -3
  833. package/src/mapper/select/optimizer/helpers.ts +1 -1
  834. package/src/mapper/types.ts +19 -18
  835. package/src/mapper/update/SqlUpdateInputProcessor.ts +1 -1
  836. package/src/mapper/update/UpdateBuilder.ts +77 -81
  837. package/src/mapper/update/Updater.ts +23 -5
  838. package/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.ts +2 -4
  839. package/src/mapper/update/relations/OneHasManyUpdateInputProcessor.ts +2 -2
  840. package/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.ts +7 -4
  841. package/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.ts +23 -9
  842. package/src/resolvers/GraphQlQueryAstFactory.ts +0 -1
  843. package/src/resolvers/MutationResolver.ts +13 -15
  844. package/src/schema/ColumnTypeResolver.ts +1 -1
  845. package/src/schema/ConditionTypeProvider.ts +3 -1
  846. package/src/schema/CustomTypesProvider.ts +1 -2
  847. package/src/schema/EntityTypeProvider.ts +1 -3
  848. package/src/schema/GraphQlSchemaBuilder.ts +8 -7
  849. package/src/schema/GraphQlSchemaBuilderFactory.ts +150 -68
  850. package/src/schema/MutationProvider.ts +5 -10
  851. package/src/schema/OperationExtension.ts +1 -2
  852. package/src/schema/ValidationQueriesProvider.ts +2 -6
  853. package/src/schema/WhereTypeProvider.ts +1 -3
  854. package/src/schema/entities/FieldArgsVisitor.ts +5 -4
  855. package/src/schema/mutations/ConnectOrCreateRelationInputProvider.ts +0 -2
  856. package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +3 -4
  857. package/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts +3 -4
  858. package/src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts +10 -10
  859. package/src/schema/mutations/EntityInputProvider.ts +1 -7
  860. package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +3 -4
  861. package/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts +3 -4
  862. package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +6 -13
  863. package/src/utils/object.ts +3 -2
  864. package/tests/cases/bugs/bug-filter-or.test.ts +1 -5
  865. package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +3 -6
  866. package/tests/cases/bugs/bug102.test.ts +2 -9
  867. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +2 -3
  868. package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +1 -2
  869. package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +12 -19
  870. package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +0 -2
  871. package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +4 -5
  872. package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +6 -13
  873. package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +9 -13
  874. package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +0 -2
  875. package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +0 -1
  876. package/tests/cases/integration/graphQlRequests/insert/basicInsert.test.ts +0 -1
  877. package/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.ts +0 -1
  878. package/tests/cases/integration/graphQlRequests/insert/jsonInsert.test.ts +2 -2
  879. package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.ts +1 -3
  880. package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.ts +1 -4
  881. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +2 -10
  882. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.ts +1 -5
  883. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.ts +3 -4
  884. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +2 -5
  885. package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.ts +1 -3
  886. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.ts +1 -3
  887. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.ts +1 -3
  888. package/tests/cases/integration/graphQlRequests/insert/subOperationFail.test.ts +107 -0
  889. package/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.ts +1 -9
  890. package/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.ts +0 -4
  891. package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +1 -4
  892. package/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts +0 -4
  893. package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +1 -6
  894. package/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.ts +0 -2
  895. package/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.ts +676 -2
  896. package/tests/cases/integration/graphQlRequests/query/acl/relationAcl.test.ts +8 -11
  897. package/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts +2 -6
  898. package/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.ts +0 -2
  899. package/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.ts +1 -4
  900. package/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.ts +0 -1
  901. package/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.ts +0 -1
  902. package/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.ts +0 -1
  903. package/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.ts +16 -18
  904. package/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.ts +0 -1
  905. package/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.ts +1 -3
  906. package/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.ts +0 -1
  907. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.ts +0 -1
  908. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.ts +6 -8
  909. package/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.ts +0 -1
  910. package/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.ts +1 -3
  911. package/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.ts +2 -10
  912. package/tests/cases/integration/graphQlRequests/query/misc/transaction.test.ts +0 -2
  913. package/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.ts +3 -10
  914. package/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.ts +1 -3
  915. package/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.ts +1 -3
  916. package/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.ts +0 -1
  917. package/tests/cases/integration/graphQlRequests/query/relations/advanced.test.ts +3 -7
  918. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.ts +4 -9
  919. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +5 -8
  920. package/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.ts +0 -2
  921. package/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.ts +2 -5
  922. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.ts +1 -3
  923. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.ts +1 -3
  924. package/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.ts +6 -8
  925. package/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.ts +8 -8
  926. package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +0 -1
  927. package/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.ts +1 -5
  928. package/tests/cases/integration/graphQlRequests/query/sorting/sortNulls.test.ts +0 -1
  929. package/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.ts +0 -1
  930. package/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.ts +0 -1
  931. package/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.ts +2 -5
  932. package/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.ts +2 -5
  933. package/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.ts +0 -1
  934. package/tests/cases/integration/graphQlRequests/query/view/view.test.ts +0 -1
  935. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +8 -11
  936. package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +53 -3
  937. package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +2 -3
  938. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.ts +0 -1
  939. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.ts +0 -1
  940. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +0 -1
  941. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.ts +0 -1
  942. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/schema.ts +1 -2
  943. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +2 -2
  944. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +2 -2
  945. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.ts +0 -1
  946. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.ts +0 -2
  947. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.ts +0 -1
  948. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +0 -1
  949. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.ts +0 -1
  950. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/schema.ts +1 -2
  951. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +2 -2
  952. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +7 -6
  953. package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +2 -2
  954. package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +2 -2
  955. package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +8 -6
  956. package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +2 -3
  957. package/tests/cases/integration/graphQlRequests/update/manyHasOne/schema.ts +2 -5
  958. package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +2 -2
  959. package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +4 -3
  960. package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +0 -1
  961. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +2 -2
  962. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +2 -2
  963. package/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.ts +0 -1
  964. package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +0 -1
  965. package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +2 -2
  966. package/tests/cases/integration/graphQlRequests/update/oneHasMany/schema.ts +2 -8
  967. package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +7 -8
  968. package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +2 -2
  969. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +10 -6
  970. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +2 -2
  971. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +1 -4
  972. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +2 -2
  973. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts +2 -6
  974. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +2 -2
  975. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +2 -2
  976. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +8 -5
  977. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +2 -1
  978. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +4 -2
  979. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +5 -5
  980. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +2 -2
  981. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.ts +2 -6
  982. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +2 -2
  983. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +4 -3
  984. package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +4 -4
  985. package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +6 -5
  986. package/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.ts +9 -10
  987. package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +5 -9
  988. package/tests/cases/integration/graphQlRequests/validation/conditions.test.ts +1 -1
  989. package/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.ts +0 -2
  990. package/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.ts +0 -2
  991. package/tests/cases/integration/graphQlRequests/validation/required.test.ts +0 -2
  992. package/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.ts +1 -2
  993. package/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.ts +0 -1
  994. package/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.ts +0 -1
  995. package/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.ts +0 -1
  996. package/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.ts +0 -3
  997. package/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.ts +0 -4
  998. package/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.ts +0 -2
  999. package/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.ts +0 -3
  1000. package/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.ts +0 -1
  1001. package/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.ts +0 -1
  1002. package/tests/cases/integration/graphQlRequests/validation/utils.ts +2 -6
  1003. package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +31 -61
  1004. package/tests/cases/integration/graphQlSchema/schema-column-types.gql +1 -0
  1005. package/tests/cases/unit/aclVariablesFactory.test.ts +3 -7
  1006. package/tests/cases/unit/conditionOptimizer.test.ts +122 -77
  1007. package/tests/cases/unit/inputPreValidator.test.ts +5 -17
  1008. package/tests/cases/unit/inputValidation.test.ts +2 -7
  1009. package/tests/cases/unit/orderbyHelper.test.ts +8 -6
  1010. package/tests/cases/unit/permissionMerger.test.ts +1 -7
  1011. package/tests/cases/unit/predicatesFactory.test.ts +0 -1
  1012. package/tests/cases/unit/predicatesInjector.test.ts +1065 -13
  1013. package/tests/cases/unit/uuidType.test.ts +1 -2
  1014. package/tests/cases/unit/variableInjector.test.ts +1 -4
  1015. package/tests/cases/unit/whereBuilder.test.ts +8 -5
  1016. package/tests/cases/unit/whereOptimizer.test.ts +337 -244
  1017. package/tests/src/test.ts +3 -2
  1018. package/tests/src/testGraphql.ts +1 -1
  1019. package/tests/.eslintrc.cjs +0 -5
@@ -7,7 +7,6 @@ export type ColumnValue = {
7
7
  columnType: string
8
8
  }
9
9
 
10
-
11
10
  export const rowDataToFieldValues = (values: ColumnValue[]): Record<string, Value.FieldValue> =>
12
11
  Object.fromEntries(values.map(it => [it.fieldName, it.value]))
13
12
 
@@ -15,7 +15,6 @@ import { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'
15
15
  import { logger } from '@contember/logger'
16
16
  import { DatabaseMetadata } from '@contember/database'
17
17
 
18
-
19
18
  type UniqueConstraintResult = {
20
19
  entity: Model.Entity
21
20
  fields: string[]
@@ -23,7 +22,12 @@ type UniqueConstraintResult = {
23
22
 
24
23
  const getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)
25
24
 
26
- const findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {
25
+ const findUniqueConstraint = (
26
+ model: Model.Schema,
27
+ databaseMetadata: DatabaseMetadata,
28
+ tableName: string,
29
+ constraintName: string,
30
+ ): UniqueConstraintResult | null => {
27
31
  const constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()
28
32
  if (!constraint) {
29
33
  return null
@@ -51,7 +55,12 @@ type RelationInfo = {
51
55
  targetEntity: Model.Entity
52
56
  }
53
57
 
54
- const findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {
58
+ const findForeignConstraint = (
59
+ model: Model.Schema,
60
+ databaseMetadata: DatabaseMetadata,
61
+ tableName: string,
62
+ constraintName: string,
63
+ ): RelationInfo | null => {
55
64
  const constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()
56
65
  if (!constraint) {
57
66
  return null
@@ -92,7 +101,6 @@ export const convertError = (
92
101
  databaseMetadata: DatabaseMetadata,
93
102
  e: any,
94
103
  ): MutationResult => {
95
-
96
104
  if (e instanceof Database.NotNullViolationError) {
97
105
  return new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [
98
106
  MutationResultHint.sqlError,
@@ -116,8 +124,8 @@ export const convertError = (
116
124
  const matchResult = violationDetail.match(/^Key \(.+\)=\((.+)\) already exists\.$/)
117
125
  const values = matchResult?.[1]
118
126
  const message = constraint
119
- ? `${values ? `Value (${values})` : 'Unknown value'}` +
120
- ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`
127
+ ? `${values ? `Value (${values})` : 'Unknown value'}`
128
+ + ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`
121
129
  : e.originalMessage
122
130
  const paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []
123
131
  return new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])
@@ -141,7 +149,11 @@ export const convertError = (
141
149
  throw e
142
150
  }
143
151
 
144
- export const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {
152
+ export const tryMutation = async (
153
+ schema: Model.Schema,
154
+ databaseMetadata: DatabaseMetadata,
155
+ cb: () => Promise<MutationResultList>,
156
+ ): Promise<MutationResultList> => {
145
157
  try {
146
158
  return await cb()
147
159
  } catch (e) {
@@ -25,7 +25,6 @@ export class AfterInsertEvent {
25
25
  }
26
26
  }
27
27
 
28
-
29
28
  export class BeforeUpdateEvent {
30
29
  public type = 'BeforeUpdateEvent' as const
31
30
 
@@ -81,7 +80,6 @@ export class BeforeJunctionUpdateEvent {
81
80
  }
82
81
  }
83
82
 
84
-
85
83
  export class AfterJunctionUpdateEvent {
86
84
  public type = 'AfterJunctionUpdateEvent' as const
87
85
 
@@ -1,15 +1,7 @@
1
1
  import { getEntity } from '@contember/schema-utils'
2
2
  import { PathFactory, WhereBuilder } from './select'
3
3
  import { PredicateFactory } from '../acl'
4
- import {
5
- Client,
6
- ConflictActionType,
7
- DeleteBuilder,
8
- InsertBuilder,
9
- Literal,
10
- Operator,
11
- SelectBuilder,
12
- } from '@contember/database'
4
+ import { Client, ConflictActionType, DeleteBuilder, InsertBuilder, Literal, Operator, SelectBuilder } from '@contember/database'
13
5
  import { Acl, Input, Model } from '@contember/schema'
14
6
  import {
15
7
  MutationJunctionUpdateOk,
@@ -58,7 +50,14 @@ export class JunctionTableManager {
58
50
  this.connectJunctionHandler,
59
51
  )
60
52
  if (result.result !== MutationResultType.noResultError) {
61
- const afterEvent = new AfterJunctionUpdateEvent(owningEntity, relation, owningUnique, inverseUnique, 'connect', result.result === MutationResultType.ok)
53
+ const afterEvent = new AfterJunctionUpdateEvent(
54
+ owningEntity,
55
+ relation,
56
+ owningUnique,
57
+ inverseUnique,
58
+ 'connect',
59
+ result.result === MutationResultType.ok,
60
+ )
62
61
  await mapper.eventManager.fire(afterEvent)
63
62
  }
64
63
  return [result]
@@ -82,14 +81,20 @@ export class JunctionTableManager {
82
81
  this.disconnectJunctionHandler,
83
82
  )
84
83
  if (result.result !== MutationResultType.noResultError) {
85
- const afterEvent = new AfterJunctionUpdateEvent(owningEntity, relation, owningUnique, inverseUnique, 'disconnect', result.result === MutationResultType.ok)
84
+ const afterEvent = new AfterJunctionUpdateEvent(
85
+ owningEntity,
86
+ relation,
87
+ owningUnique,
88
+ inverseUnique,
89
+ 'disconnect',
90
+ result.result === MutationResultType.ok,
91
+ )
86
92
  beforeEvent.afterEvent = afterEvent
87
93
  await mapper.eventManager.fire(afterEvent)
88
94
  }
89
95
  return [result]
90
96
  }
91
97
 
92
-
93
98
  private async executeJunctionModification(
94
99
  db: Client,
95
100
  owningEntity: Model.Entity,
@@ -112,8 +117,7 @@ export class JunctionTableManager {
112
117
 
113
118
  const hasNoPredicates = Object.keys(owningPredicate).length === 0 && Object.keys(inversePredicate).length === 0
114
119
 
115
- const okResultFactory = () =>
116
- new MutationJunctionUpdateOk([], owningEntity, relation, owningPrimary, inversePrimary)
120
+ const okResultFactory = () => new MutationJunctionUpdateOk([], owningEntity, relation, owningPrimary, inversePrimary)
117
121
  if (hasNoPredicates) {
118
122
  return await handler.executeSimple({ db, joiningTable, owningPrimary, inversePrimary, okResultFactory })
119
123
  } else {
@@ -134,7 +138,6 @@ export class JunctionTableManager {
134
138
  )
135
139
  .select(expr => expr.raw('true'), 'selected')
136
140
  .from(new Literal('(values (null))'), 't')
137
-
138
141
  .join(owningEntity.tableName, 'owning', condition => condition.raw('true'))
139
142
  .join(inverseEntity.tableName, 'inverse', condition => condition.raw('true'))
140
143
  qb = this.whereBuilder.build(qb, owningEntity, this.pathFactory.create([], 'owning'), owningWhere)
@@ -200,8 +203,7 @@ export class JunctionConnectHandler implements JunctionHandler {
200
203
  .into(joiningTable.tableName)
201
204
  .values({
202
205
  [joiningTable.joiningColumn.columnName]: expr => expr.select(['data', joiningTable.joiningColumn.columnName]),
203
- [joiningTable.inverseJoiningColumn.columnName]: expr =>
204
- expr.select(['data', joiningTable.inverseJoiningColumn.columnName]),
206
+ [joiningTable.inverseJoiningColumn.columnName]: expr => expr.select(['data', joiningTable.inverseJoiningColumn.columnName]),
205
207
  })
206
208
  .returning(new Literal('true as inserted'))
207
209
  .from(qb => qb.from('data'))
@@ -82,7 +82,11 @@ export class Mapper<ConnectionType extends Connection.ConnectionLike = Connectio
82
82
  return await hydrator.hydrateAll(rows, indexByAlias)
83
83
  }
84
84
 
85
- public async select(entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, relationPath: Model.AnyRelationContext[]): Promise<SelectResultObject[]> {
85
+ public async select(
86
+ entity: Model.Entity,
87
+ input: ObjectNode<Input.ListQueryInput>,
88
+ relationPath: Model.AnyRelationContext[],
89
+ ): Promise<SelectResultObject[]> {
86
90
  const hydrator = new SelectHydrator()
87
91
  const qb: SelectBuilder<SelectBuilder.Result> = SelectBuilder.create()
88
92
 
@@ -135,7 +139,12 @@ export class Mapper<ConnectionType extends Connection.ConnectionLike = Connectio
135
139
  const augmentedBuilder = qb.from(entity.tableName, path.alias).meta('path', [...input.path, input.alias])
136
140
 
137
141
  const selector = this.selectBuilderFactory.create(augmentedBuilder, hydrator, relationPath)
138
- const filterWithPredicates = this.predicatesInjector.inject(entity, inputWithOrder.args.filter || {}, relationPath[relationPath.length - 1])
142
+ const filterWithPredicates = this.predicatesInjector.inject(
143
+ entity,
144
+ inputWithOrder.args.filter || {},
145
+ relationPath[relationPath.length - 1],
146
+ relationPath,
147
+ )
139
148
  const inputWithPredicates = inputWithOrder.withArg('filter', filterWithPredicates)
140
149
  selector.select(this, entity, inputWithPredicates, path, groupBy)
141
150
  return await selector.execute(this.db)
@@ -164,7 +173,7 @@ export class Mapper<ConnectionType extends Connection.ConnectionLike = Connectio
164
173
  .select(expr => expr.raw('count(*)'), 'row_count')
165
174
  .select([path.alias, relation.joiningColumn.columnName])
166
175
  .groupBy([path.alias, relation.joiningColumn.columnName])
167
- const withPredicates = this.predicatesInjector.inject(entity, filter, relationPath[relationPath.length - 1])
176
+ const withPredicates = this.predicatesInjector.inject(entity, filter, relationPath[relationPath.length - 1], relationPath)
168
177
  const qbWithWhere = this.whereBuilder.build(qb, entity, path, withPredicates, { relationPath })
169
178
  const rows = await qbWithWhere.getResult(this.db)
170
179
  const result = new Map<string, number>()
@@ -183,9 +192,7 @@ export class Mapper<ConnectionType extends Connection.ConnectionLike = Connectio
183
192
  throw new ImplementationException()
184
193
  }
185
194
  await this.setupSystemVariables()
186
- return tryMutation(this.schema, this.schemaDatabaseMetadata, () =>
187
- this.insertInternal(entity, data, builderCb),
188
- )
195
+ return tryMutation(this.schema, this.schemaDatabaseMetadata, () => this.insertInternal(entity, data, builderCb))
189
196
  }
190
197
 
191
198
  public async update(
@@ -13,7 +13,6 @@ import { Providers } from '@contember/schema-utils'
13
13
  export type MapperFactoryHook = (mapper: Mapper) => void
14
14
 
15
15
  export class MapperFactory {
16
-
17
16
  public readonly hooks: MapperFactoryHook[] = []
18
17
 
19
18
  constructor(
@@ -178,7 +178,7 @@ export class MutationEntryNotFoundError implements MutationResultInterface {
178
178
  hints: MutationResultHint[] = []
179
179
  message: string
180
180
 
181
- constructor(public readonly paths: Path[], public readonly where: Input.UniqueWhere | Input.Where) {
181
+ constructor(public readonly paths: Path[], public readonly where: Input.UniqueWhere | Input.OptionalWhere) {
182
182
  this.message = 'for input ' + JSON.stringify(where)
183
183
  }
184
184
  }
@@ -202,6 +202,6 @@ export const prependPath = (path: Path, results: MutationResultList): MutationRe
202
202
  }))
203
203
 
204
204
  export const getInsertPrimary = (result: MutationResultList) =>
205
- result[0] && result[0].result === MutationResultType.ok && result[0].type === ModificationType.create
205
+ !result.some(it => it.error) && result[0] && result[0].result === MutationResultType.ok && result[0].type === ModificationType.create
206
206
  ? result[0].primary
207
207
  : undefined
@@ -158,7 +158,6 @@ export class DeleteExecutor {
158
158
  return await this.processDeleteResult(state, mapper, entity, result, orphanRemovals)
159
159
  }
160
160
 
161
-
162
161
  private async collectOnDeleteInfo(state: DeleteState, mapper: Mapper, entity: Model.Entity, values: Input.PrimaryValue[]): Promise<void> {
163
162
  if (values.length === 0) {
164
163
  return
@@ -210,7 +209,6 @@ export class DeleteExecutor {
210
209
  await this.processDeleteResult(state, mapper, entity, result, orphanRemovals)
211
210
  }
212
211
 
213
-
214
212
  private async collectSetNullResult(
215
213
  state: DeleteState,
216
214
  mapper: Mapper,
@@ -240,7 +238,6 @@ export class DeleteExecutor {
240
238
  state.pushFailResult(new MutationConstraintViolationError([], ConstraintType.foreignKey, message))
241
239
  }
242
240
 
243
-
244
241
  private async collectRestrictResult(
245
242
  state: DeleteState,
246
243
  mapper: Mapper,
@@ -278,7 +275,6 @@ export class DeleteExecutor {
278
275
  const entity = getEntity(this.schema, orphanRemoval[0])
279
276
  const orphanResult = await this.collectDeleteInfo(state, mapper, entity, { [entity.primary]: { in: orphanRemoval[1] } })
280
277
  deleteQueue.push([entity, orphanResult])
281
-
282
278
  } while (true)
283
279
  }
284
280
 
@@ -294,7 +290,11 @@ export class DeleteExecutor {
294
290
  return orphanColumns.reduce((qb, column) => qb.select(['root_', column], `_${column}`), qb)
295
291
  }
296
292
 
297
- private createFetchByIdQueryBuilder(entity: Model.Entity, relation: Model.ManyHasOneRelation | Model.OneHasOneOwningRelation, values: Input.PrimaryValue[]) {
293
+ private createFetchByIdQueryBuilder(
294
+ entity: Model.Entity,
295
+ relation: Model.ManyHasOneRelation | Model.OneHasOneOwningRelation,
296
+ values: Input.PrimaryValue[],
297
+ ) {
298
298
  return SelectBuilder.create<EntityReferenceRow>()
299
299
  .from(entity.tableName, 'root_')
300
300
  .select(['root_', entity.primaryColumn], 'id')
@@ -302,11 +302,10 @@ export class DeleteExecutor {
302
302
  .where(expr => expr.in(['root_', relation.joiningColumn.columnName], values))
303
303
  }
304
304
 
305
- private filterPlannedForDelete<R extends {id: Input.PrimaryValue}>(state: DeleteState, entity: Model.Entity, values: R[]): R[] {
305
+ private filterPlannedForDelete<R extends { id: Input.PrimaryValue }>(state: DeleteState, entity: Model.Entity, values: R[]): R[] {
306
306
  return values.filter(it => !state.isPlannedDelete(entity.name, it.id))
307
307
  }
308
308
 
309
-
310
309
  private async processDeleteResult(
311
310
  state: DeleteState,
312
311
  mapper: Mapper,
@@ -33,7 +33,6 @@ export class DeleteState {
33
33
  this.failResult.push(...Array.isArray(result) ? result : [result])
34
34
  }
35
35
 
36
-
37
36
  public isPlannedDelete(entityName: string, primary: Input.PrimaryValue): boolean {
38
37
  return this.plannedDelete.isDeleted(entityName, primary)
39
38
  }
@@ -11,8 +11,7 @@ export const findRelationsWithOrphanRemoval = (schema: Model.Schema, entity: Mod
11
11
  visitManyHasManyOwning: () => null,
12
12
  visitOneHasOneInverse: () => null,
13
13
  visitOneHasMany: () => null,
14
- visitOneHasOneOwning: ({ relation, targetEntity }) =>
15
- relation.orphanRemoval ? [targetEntity, relation] : null,
14
+ visitOneHasOneOwning: ({ relation, targetEntity }) => relation.orphanRemoval ? [targetEntity, relation] : null,
16
15
  visitManyHasOne: () => null,
17
16
  }),
18
17
  ).filter((it): it is OneHasOneOwningRelationTuple => it !== null)
@@ -31,7 +30,7 @@ export const findOwningRelations = (schema: Model.Schema, entity: Model.Entity):
31
30
  visitOneHasMany: () => null,
32
31
  visitOneHasOneOwning: ({ relation }): EntityOwningRelationTuple => [entity, relation],
33
32
  visitManyHasOne: ({ relation }): EntityOwningRelationTuple => [entity, relation],
34
- }),
33
+ })
35
34
  )
36
35
  .reduce<EntityOwningRelationTuple[]>(
37
36
  (acc, value) => [
@@ -47,48 +47,45 @@ export class InsertBuilder {
47
47
  }
48
48
 
49
49
  public async execute(mapper: Mapper): Promise<InsertResult> {
50
- try {
51
- const resolvedData = [...this.rowData.values()]
50
+ const resolvedData = [...this.rowData.values()]
52
51
 
53
- const insertData = resolvedData.reduce<QueryBuilder.ColumnExpressionMap>(
54
- (result, item) => ({ ...result, [item.columnName]: expr => expr.select(['root_', item.columnName]) }),
55
- {},
56
- )
57
- const qb = DbInsertBuilder.create()
58
- .with('root_', qb => {
59
- return resolvedData.reduce(
60
- (qb, value) =>
61
- qb.select(
62
- expr => expr.selectValue(
52
+ const insertData = resolvedData.reduce<QueryBuilder.ColumnExpressionMap>(
53
+ (result, item) => ({ ...result, [item.columnName]: expr => expr.select(['root_', item.columnName]) }),
54
+ {},
55
+ )
56
+ const qb = DbInsertBuilder.create()
57
+ .with('root_', qb => {
58
+ return resolvedData.reduce(
59
+ (qb, value) =>
60
+ qb.select(
61
+ expr =>
62
+ expr.selectValue(
63
63
  normalizeDbValue(value.value, value.columnType),
64
64
  value.columnType,
65
65
  ),
66
- value.columnName,
67
- ),
68
- qb,
69
- )
70
- })
71
- .into(this.entity.tableName)
72
- .values(insertData)
73
- .from(qb => {
74
- qb = qb.from('root_')
75
- return this.whereBuilder.build(qb, this.entity, this.pathFactory.create([]), this.where)
76
- })
77
- .returning(this.entity.primaryColumn)
66
+ value.columnName,
67
+ ),
68
+ qb,
69
+ )
70
+ })
71
+ .into(this.entity.tableName)
72
+ .values(insertData)
73
+ .from(qb => {
74
+ qb = qb.from('root_')
75
+ return this.whereBuilder.build(qb, this.entity, this.pathFactory.create([]), this.where)
76
+ })
77
+ .returning(this.entity.primaryColumn)
78
78
 
79
- const beforeInsertEvent = new BeforeInsertEvent(this.entity, resolvedData)
80
- await mapper.eventManager.fire(beforeInsertEvent)
79
+ const beforeInsertEvent = new BeforeInsertEvent(this.entity, resolvedData)
80
+ await mapper.eventManager.fire(beforeInsertEvent)
81
81
 
82
- const returning = (await qb.execute(mapper.db)).map(it => it[this.entity.primaryColumn])
83
- const result = returning.length === 1 ? returning[0] : null
82
+ const returning = (await qb.execute(mapper.db)).map(it => it[this.entity.primaryColumn])
83
+ const result = returning.length === 1 ? returning[0] : null
84
84
 
85
- const afterInsertEvent = new AfterInsertEvent(this.entity, resolvedData, result)
86
- beforeInsertEvent.afterEvent = afterInsertEvent
87
- await mapper.eventManager.fire(afterInsertEvent)
85
+ const afterInsertEvent = new AfterInsertEvent(this.entity, resolvedData, result)
86
+ beforeInsertEvent.afterEvent = afterInsertEvent
87
+ await mapper.eventManager.fire(afterInsertEvent)
88
88
 
89
- return { values: resolvedData, executed: true, primaryValue: result }
90
- } catch (e) {
91
- throw e
92
- }
89
+ return { values: resolvedData, executed: true, primaryValue: result }
93
90
  }
94
91
  }
@@ -90,4 +90,3 @@ export class Inserter {
90
90
  return resultList
91
91
  }
92
92
  }
93
-
@@ -11,13 +11,11 @@ import { OneHasManyCreateInputProcessor } from './relations/OneHasManyCreateInpu
11
11
  import { ManyHasOneCreateInputProcessor } from './relations/ManyHasOneCreateInputProcessor'
12
12
  import { ManyHasManyCreateInputProcessor } from './relations/ManyHasManyCreateInputProcessor'
13
13
 
14
-
15
14
  export type SqlCreateInputProcessorResult = MutationResultList | ((ctx: { primary: Input.PrimaryValue }) => Promise<MutationResultList>)
16
15
  export class SqlCreateInputProcessor implements CreateInputProcessor<SqlCreateInputProcessorResult> {
17
-
18
- private oneHasOneInverseCreateInputProcessor: OneHasOneInverseCreateInputProcessor
19
- private oneHasOneOwningCreateInputProcessor: OneHasOneOwningCreateInputProcessor
20
- private oneHasManyCreateInputProcessor: OneHasManyCreateInputProcessor
16
+ private oneHasOneInverseCreateInputProcessor: OneHasOneInverseCreateInputProcessor
17
+ private oneHasOneOwningCreateInputProcessor: OneHasOneOwningCreateInputProcessor
18
+ private oneHasManyCreateInputProcessor: OneHasManyCreateInputProcessor
21
19
  private manyHasOneCreateInputProcessor: ManyHasOneCreateInputProcessor
22
20
  private manyHasManyCreateInputProcessor: ManyHasManyCreateInputProcessor
23
21
 
@@ -70,7 +68,6 @@ export class SqlCreateInputProcessor implements CreateInputProcessor<SqlCreateIn
70
68
  connectOrCreate: hasManyProcessor(ctx => this.oneHasManyCreateInputProcessor.connectOrCreate(ctx)),
71
69
  }
72
70
 
73
-
74
71
  oneHasOneOwning: CreateInputProcessor<SqlCreateInputProcessorResult>['oneHasOneOwning'] = {
75
72
  nothing: async ctx => {
76
73
  this.insertBuilder.addFieldValue(ctx.relation.name, null)
@@ -9,7 +9,6 @@ import { MapperInput } from '../../types'
9
9
  type Context = Model.ManyHasManyOwningContext | Model.ManyHasManyInverseContext
10
10
 
11
11
  export class ManyHasManyCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {
12
-
13
12
  constructor(
14
13
  private readonly mapper: Mapper,
15
14
  ) {
@@ -9,8 +9,7 @@ import { MapperInput } from '../../types'
9
9
 
10
10
  type Context = Model.ManyHasOneContext
11
11
 
12
- export class ManyHasOneCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {
13
-
12
+ export class ManyHasOneCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {
14
13
  constructor(
15
14
  private readonly mapper: Mapper,
16
15
  private readonly insertBuilder: InsertBuilder,
@@ -8,7 +8,6 @@ import { MapperInput } from '../../types'
8
8
  type Context = Model.OneHasManyContext
9
9
 
10
10
  export class OneHasManyCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {
11
-
12
11
  constructor(
13
12
  private readonly mapper: Mapper,
14
13
  ) {
@@ -8,8 +8,7 @@ import { MapperInput } from '../../types'
8
8
 
9
9
  type Context = Model.OneHasOneInverseContext
10
10
 
11
- export class OneHasOneInverseCreateInputProcessor implements CreateInputProcessor.HasOneRelationProcessor<Context, SqlCreateInputProcessorResult> {
12
-
11
+ export class OneHasOneInverseCreateInputProcessor implements CreateInputProcessor.HasOneRelationProcessor<Context, SqlCreateInputProcessorResult> {
13
12
  constructor(
14
13
  private readonly mapper: Mapper,
15
14
  ) {
@@ -25,7 +24,6 @@ export class OneHasOneInverseCreateInputProcessor implements CreateInputProcesso
25
24
  }
26
25
  }
27
26
 
28
-
29
27
  public async create(
30
28
  { input, targetRelation, targetEntity }: Context & { input: MapperInput.CreateDataInput },
31
29
  ) {
@@ -54,7 +52,6 @@ export class OneHasOneInverseCreateInputProcessor implements CreateInputProcesso
54
52
  { entity, targetEntity, targetRelation, relation, input }: Context & { input: CheckedPrimary },
55
53
  primary: Input.PrimaryValue,
56
54
  ) {
57
-
58
55
  const currentInverseSideOfOwner = await this.mapper.selectField(targetEntity, input, targetRelation.name)
59
56
  const orphanResult: MutationResultList = []
60
57
  if (currentInverseSideOfOwner) {
@@ -1,10 +1,4 @@
1
- import {
2
- ConstraintType,
3
- getInsertPrimary,
4
- MutationConstraintViolationError,
5
- MutationEntryNotFoundError,
6
- MutationResultList,
7
- } from '../../Result'
1
+ import { ConstraintType, getInsertPrimary, MutationConstraintViolationError, MutationEntryNotFoundError, MutationResultList } from '../../Result'
8
2
  import { InsertBuilder } from '../../insert'
9
3
  import { Mapper } from '../../Mapper'
10
4
  import { Input, Model } from '@contember/schema'
@@ -15,7 +9,7 @@ import { MapperInput } from '../../types'
15
9
 
16
10
  type Context = Model.OneHasOneOwningContext
17
11
 
18
- export class OneHasOneOwningCreateInputProcessor implements CreateInputProcessor.HasOneRelationProcessor<Context, SqlCreateInputProcessorResult>{
12
+ export class OneHasOneOwningCreateInputProcessor implements CreateInputProcessor.HasOneRelationProcessor<Context, SqlCreateInputProcessorResult> {
19
13
  constructor(
20
14
  private readonly mapper: Mapper,
21
15
  private readonly insertBuilder: InsertBuilder,
@@ -53,7 +47,6 @@ export class OneHasOneOwningCreateInputProcessor implements CreateInputProcessor
53
47
  return disconnectResult
54
48
  }
55
49
  return []
56
-
57
50
  } else {
58
51
  const insertResult = await this.mapper.insert(context.targetEntity, input.create)
59
52
  const primary = getInsertPrimary(insertResult)
@@ -1,5 +1,5 @@
1
1
  import { Input, Model } from '@contember/schema'
2
- import { QueryBuilder, ConditionBuilder as SqlConditionBuilder, Operator, Literal, formatColumnIdentifier, Compiler } from '@contember/database'
2
+ import { Compiler, ConditionBuilder as SqlConditionBuilder, formatColumnIdentifier, Literal, Operator, QueryBuilder } from '@contember/database'
3
3
  import { UserError } from '../../exception'
4
4
 
5
5
  export class ConditionBuilder {
@@ -14,16 +14,14 @@ export class ConditionBuilder {
14
14
  return builder
15
15
  }
16
16
  const entries = Object.entries(condition)
17
- .filter(<T extends keyof Input.Condition>(it: [string, any]): it is [T, Input.Condition[T]] =>
18
- it[1] !== null,
19
- )
17
+ .filter(<T extends keyof Input.Condition>(it: [string, any]): it is [T, Input.Condition[T]] => it[1] !== null)
20
18
  if (entries.length === 0) {
21
19
  return builder
22
20
  }
23
21
  if (entries.length > 1) {
24
22
  throw new UserError(
25
- 'Only single field is allowed. If you want to combine multiple conditions, use "and" or "or". Got: ' +
26
- JSON.stringify(condition),
23
+ 'Only single field is allowed. If you want to combine multiple conditions, use "and" or "or". Got: '
24
+ + JSON.stringify(condition),
27
25
  )
28
26
  }
29
27
  const columnIdentifier: QueryBuilder.ColumnIdentifier = [tableName, columnName]
@@ -34,8 +32,10 @@ export class ConditionBuilder {
34
32
  param: Exclude<Input.Condition<any>[K], undefined>,
35
33
  ) => SqlConditionBuilder
36
34
  } = {
37
- and: (builder, expressions) => builder.and(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, columnType, expr), builder2)),
38
- or: (builder, expressions) => builder.or(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, columnType, expr), builder2)),
35
+ and: (builder, expressions) =>
36
+ builder.and(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, columnType, expr), builder2)),
37
+ or: (builder, expressions) =>
38
+ builder.or(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, columnType, expr), builder2)),
39
39
  not: (builder, expression) => builder.not(builder2 => this.build(builder2, tableName, columnName, columnType, expression)),
40
40
 
41
41
  isNull: (builder, value) => value ? builder.isNull(columnIdentifier) : builder.not(clause => clause.isNull(columnIdentifier)),
@@ -49,12 +49,18 @@ export class ConditionBuilder {
49
49
  gt: (builder, value) => builder.compare(columnIdentifier, Operator.gt, value),
50
50
  gte: (builder, value) => builder.compare(columnIdentifier, Operator.gte, value),
51
51
 
52
- includes: (builder, value) => {
53
- const cast = columnType.type === Model.ColumnType.Enum
54
- ? `${Compiler.SCHEMA_PLACEHOLDER}."${columnType.columnType}"`
55
- : columnType.columnType
52
+ includes: (builder, value: any) => {
53
+ if (columnType.type === Model.ColumnType.Json) {
54
+ // For JSON columns, use @> operator to check if JSON contains the value
55
+ return builder.raw(`${formatColumnIdentifier(columnIdentifier)} @> ?::jsonb`, JSON.stringify(value))
56
+ } else {
57
+ // For array columns, use @> operator with array casting
58
+ const cast = columnType.type === Model.ColumnType.Enum
59
+ ? `${Compiler.SCHEMA_PLACEHOLDER}."${columnType.columnType}"`
60
+ : columnType.columnType
56
61
 
57
- return builder.raw(`${formatColumnIdentifier(columnIdentifier)} @> ARRAY[?]::${cast}[]`, value)
62
+ return builder.raw(`${formatColumnIdentifier(columnIdentifier)} @> ARRAY[?]::${cast}[]`, value)
63
+ }
58
64
  },
59
65
  maxLength: (builder, value) => builder.raw(`array_length(${formatColumnIdentifier(columnIdentifier)}, 1) <= ?`, value),
60
66
  minLength: (builder, value) => builder.raw(`array_length(${formatColumnIdentifier(columnIdentifier)}, 1) >= ?`, value),
@@ -28,8 +28,10 @@ export class JoinBuilder {
28
28
  }
29
29
  const sourceAlias = join.sourceAlias || path.back().alias
30
30
 
31
- return qb.leftJoin(join.tableName, targetAlias, clause =>
32
- clause.compareColumns([sourceAlias, join.sourceColumn], Operator.eq, [targetAlias, join.targetColumn]),
31
+ return qb.leftJoin(
32
+ join.tableName,
33
+ targetAlias,
34
+ clause => clause.compareColumns([sourceAlias, join.sourceColumn], Operator.eq, [targetAlias, join.targetColumn]),
33
35
  )
34
36
  }, qb)
35
37
  }
@@ -17,8 +17,8 @@ export class OrderByHelper {
17
17
  const hasLimit = typeof objectNode.args.limit === 'number'
18
18
  const hasOffset = typeof objectNode.args.offset === 'number'
19
19
  if (
20
- (!hasLimit && !hasOffset && !hasOrderBy) ||
21
- (hasOrderBy && (inputOrder[0]._random || inputOrder[0]._randomSeeded !== undefined))
20
+ (!hasLimit && !hasOffset && !hasOrderBy)
21
+ || (hasOrderBy && (inputOrder[0]._random || inputOrder[0]._randomSeeded !== undefined))
22
22
  ) {
23
23
  return objectNode
24
24
  }
@@ -17,8 +17,6 @@ export class AliasContext {
17
17
  export class PathFactory {
18
18
  private aliasContext = new AliasContext()
19
19
 
20
- public constructor() {}
21
-
22
20
  public create(path: string[], rootAlias = 'root_') {
23
21
  return new Path(path, this.aliasContext, rootAlias)
24
22
  }