@contember/engine-content-api 2.0.0-alpha.9 → 2.0.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 (1022) hide show
  1. package/dist/development/index.cjs +3 -2
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +3 -2
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/src/ExecutionContainer.cjs +2 -2
  6. package/dist/development/src/ExecutionContainer.cjs.map +1 -1
  7. package/dist/development/src/ExecutionContainer.js +2 -2
  8. package/dist/development/src/ExecutionContainer.js.map +1 -1
  9. package/dist/development/src/acl/Authorizator.cjs.map +1 -1
  10. package/dist/development/src/acl/Authorizator.js.map +1 -1
  11. package/dist/development/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
  12. package/dist/development/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
  13. package/dist/development/src/acl/PermissionFactory.cjs.map +1 -1
  14. package/dist/development/src/acl/PermissionFactory.js.map +1 -1
  15. package/dist/development/src/acl/PredicateFactory.cjs.map +1 -1
  16. package/dist/development/src/acl/PredicateFactory.js.map +1 -1
  17. package/dist/development/src/acl/PredicatesInjector.cjs.map +1 -1
  18. package/dist/development/src/acl/PredicatesInjector.js.map +1 -1
  19. package/dist/development/src/acl/VariableInjector.cjs.map +1 -1
  20. package/dist/development/src/acl/VariableInjector.js.map +1 -1
  21. package/dist/development/src/acl/VariableUtils.cjs.map +1 -1
  22. package/dist/development/src/acl/VariableUtils.js.map +1 -1
  23. package/dist/development/src/exception.cjs.map +1 -1
  24. package/dist/development/src/exception.js.map +1 -1
  25. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
  26. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  27. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
  28. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  29. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs +31 -6
  30. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
  31. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +31 -6
  32. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  33. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
  34. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  35. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
  36. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  37. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
  38. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  39. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
  40. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  41. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
  42. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  43. package/dist/development/src/input-validation/ColumnValueResolver.cjs.map +1 -1
  44. package/dist/development/src/input-validation/ColumnValueResolver.js.map +1 -1
  45. package/dist/development/src/input-validation/EntityRulesResolver.cjs.map +1 -1
  46. package/dist/development/src/input-validation/EntityRulesResolver.js.map +1 -1
  47. package/dist/development/src/input-validation/QueryAstFactory.cjs.map +1 -1
  48. package/dist/development/src/input-validation/QueryAstFactory.js.map +1 -1
  49. package/dist/development/src/input-validation/ValidationContext.cjs.map +1 -1
  50. package/dist/development/src/input-validation/ValidationContext.js.map +1 -1
  51. package/dist/development/src/input-validation/ValidationDataSelector.cjs.map +1 -1
  52. package/dist/development/src/input-validation/ValidationDataSelector.js.map +1 -1
  53. package/dist/development/src/input-validation/ValidationEvaluation.cjs.map +1 -1
  54. package/dist/development/src/input-validation/ValidationEvaluation.js.map +1 -1
  55. package/dist/development/src/input-validation/ValidationPath.cjs.map +1 -1
  56. package/dist/development/src/input-validation/ValidationPath.js.map +1 -1
  57. package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
  58. package/dist/development/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
  59. package/dist/development/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
  60. package/dist/development/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
  61. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
  62. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  63. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
  64. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  65. package/dist/development/src/input-validation/preValidation/InputPreValidator.js +1 -1
  66. package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  67. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
  68. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  69. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs +16 -17
  70. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  71. package/dist/development/src/inputProcessing/CreateInputVisitor.js +16 -17
  72. package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  73. package/dist/development/src/inputProcessing/FieldNode.cjs.map +1 -1
  74. package/dist/development/src/inputProcessing/FieldNode.js.map +1 -1
  75. package/dist/development/src/inputProcessing/ObjectNode.cjs.map +1 -1
  76. package/dist/development/src/inputProcessing/ObjectNode.js.map +1 -1
  77. package/dist/development/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
  78. package/dist/development/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  79. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs +29 -27
  80. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  81. package/dist/development/src/inputProcessing/UpdateInputVisitor.js +29 -27
  82. package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  83. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.cjs +6 -163
  84. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
  85. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.js +5 -162
  86. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  87. package/dist/development/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
  88. package/dist/development/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  89. package/dist/development/src/introspection/introspection.schema.cjs +163 -0
  90. package/dist/development/src/introspection/introspection.schema.cjs.map +1 -0
  91. package/dist/development/src/introspection/introspection.schema.js +163 -0
  92. package/dist/development/src/introspection/introspection.schema.js.map +1 -0
  93. package/dist/development/src/mapper/CheckedPrimary.cjs.map +1 -1
  94. package/dist/development/src/mapper/CheckedPrimary.js.map +1 -1
  95. package/dist/development/src/mapper/ColumnValue.cjs +8 -18
  96. package/dist/development/src/mapper/ColumnValue.cjs.map +1 -1
  97. package/dist/development/src/mapper/ColumnValue.js +8 -18
  98. package/dist/development/src/mapper/ColumnValue.js.map +1 -1
  99. package/dist/development/src/mapper/ErrorUtils.cjs +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 +4 -7
  104. package/dist/development/src/mapper/EventManager.cjs.map +1 -1
  105. package/dist/development/src/mapper/EventManager.js +4 -7
  106. package/dist/development/src/mapper/EventManager.js.map +1 -1
  107. package/dist/development/src/mapper/JunctionTableManager.cjs.map +1 -1
  108. package/dist/development/src/mapper/JunctionTableManager.js.map +1 -1
  109. package/dist/development/src/mapper/Mapper.cjs +8 -28
  110. package/dist/development/src/mapper/Mapper.cjs.map +1 -1
  111. package/dist/development/src/mapper/Mapper.js +8 -28
  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 +10 -2
  116. package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  117. package/dist/development/src/mapper/MutationProcessorHelper.js +10 -2
  118. package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -1
  119. package/dist/development/src/mapper/Result.cjs +10 -27
  120. package/dist/development/src/mapper/Result.cjs.map +1 -1
  121. package/dist/development/src/mapper/Result.js +10 -27
  122. package/dist/development/src/mapper/Result.js.map +1 -1
  123. package/dist/development/src/mapper/delete/DeleteExecutor.cjs +4 -8
  124. package/dist/development/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
  125. package/dist/development/src/mapper/delete/DeleteExecutor.js +5 -9
  126. package/dist/development/src/mapper/delete/DeleteExecutor.js.map +1 -1
  127. package/dist/development/src/mapper/delete/DeleteState.cjs.map +1 -1
  128. package/dist/development/src/mapper/delete/DeleteState.js.map +1 -1
  129. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
  130. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  131. package/dist/development/src/mapper/delete/helpers.cjs.map +1 -1
  132. package/dist/development/src/mapper/delete/helpers.js.map +1 -1
  133. package/dist/development/src/mapper/insert/InsertBuilder.cjs +13 -21
  134. package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  135. package/dist/development/src/mapper/insert/InsertBuilder.js +14 -22
  136. package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -1
  137. package/dist/development/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
  138. package/dist/development/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  139. package/dist/development/src/mapper/insert/Inserter.cjs +43 -21
  140. package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
  141. package/dist/development/src/mapper/insert/Inserter.js +45 -23
  142. package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
  143. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs +23 -79
  144. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  145. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js +23 -79
  146. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  147. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +43 -0
  148. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  149. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +43 -0
  150. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  151. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +40 -0
  152. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  153. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +40 -0
  154. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  155. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +38 -0
  156. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  157. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +38 -0
  158. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  159. package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +23 -32
  160. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  161. package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +23 -32
  162. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  163. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +65 -0
  164. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  165. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +65 -0
  166. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  167. package/dist/development/src/mapper/select/ConditionBuilder.cjs.map +1 -1
  168. package/dist/development/src/mapper/select/ConditionBuilder.js.map +1 -1
  169. package/dist/development/src/mapper/select/JoinBuilder.cjs.map +1 -1
  170. package/dist/development/src/mapper/select/JoinBuilder.js.map +1 -1
  171. package/dist/development/src/mapper/select/JoinVisitor.cjs.map +1 -1
  172. package/dist/development/src/mapper/select/JoinVisitor.js.map +1 -1
  173. package/dist/development/src/mapper/select/OrderByBuilder.cjs.map +1 -1
  174. package/dist/development/src/mapper/select/OrderByBuilder.js.map +1 -1
  175. package/dist/development/src/mapper/select/OrderByHelper.cjs.map +1 -1
  176. package/dist/development/src/mapper/select/OrderByHelper.js.map +1 -1
  177. package/dist/development/src/mapper/select/Path.cjs.map +1 -1
  178. package/dist/development/src/mapper/select/Path.js.map +1 -1
  179. package/dist/development/src/mapper/select/RelationFetcher.cjs.map +1 -1
  180. package/dist/development/src/mapper/select/RelationFetcher.js.map +1 -1
  181. package/dist/development/src/mapper/select/SelectBuilder.cjs.map +1 -1
  182. package/dist/development/src/mapper/select/SelectBuilder.js.map +1 -1
  183. package/dist/development/src/mapper/select/SelectHydrator.cjs.map +1 -1
  184. package/dist/development/src/mapper/select/SelectHydrator.js.map +1 -1
  185. package/dist/development/src/mapper/select/WhereBuilder.cjs.map +1 -1
  186. package/dist/development/src/mapper/select/WhereBuilder.js.map +1 -1
  187. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs +3 -0
  188. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  189. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js +3 -0
  190. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  191. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
  192. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  193. package/dist/development/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
  194. package/dist/development/src/mapper/select/handlers/MetaHandler.js.map +1 -1
  195. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
  196. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
  197. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  198. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  199. package/dist/development/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -1
  200. package/dist/development/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  201. package/dist/development/src/mapper/select/optimizer/helpers.cjs.map +1 -1
  202. package/dist/development/src/mapper/select/optimizer/helpers.js.map +1 -1
  203. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
  204. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  205. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  206. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  207. package/dist/development/src/mapper/update/UpdateBuilder.cjs +14 -19
  208. package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  209. package/dist/development/src/mapper/update/UpdateBuilder.js +15 -20
  210. package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
  211. package/dist/development/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
  212. package/dist/development/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  213. package/dist/development/src/mapper/update/Updater.cjs +45 -17
  214. package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
  215. package/dist/development/src/mapper/update/Updater.js +47 -19
  216. package/dist/development/src/mapper/update/Updater.js.map +1 -1
  217. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +84 -0
  218. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  219. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +84 -0
  220. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  221. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +88 -0
  222. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  223. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +88 -0
  224. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  225. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +87 -0
  226. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  227. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +87 -0
  228. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  229. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs +147 -0
  230. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  231. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js +147 -0
  232. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  233. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +183 -0
  234. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  235. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +183 -0
  236. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  237. package/dist/development/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
  238. package/dist/development/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  239. package/dist/development/src/resolvers/MutationResolver.cjs +8 -4
  240. package/dist/development/src/resolvers/MutationResolver.cjs.map +1 -1
  241. package/dist/development/src/resolvers/MutationResolver.js +8 -4
  242. package/dist/development/src/resolvers/MutationResolver.js.map +1 -1
  243. package/dist/development/src/resolvers/ReadHelpers.cjs.map +1 -1
  244. package/dist/development/src/resolvers/ReadHelpers.js.map +1 -1
  245. package/dist/development/src/resolvers/ReadResolver.cjs.map +1 -1
  246. package/dist/development/src/resolvers/ReadResolver.js.map +1 -1
  247. package/dist/development/src/resolvers/ValidationResolver.cjs.map +1 -1
  248. package/dist/development/src/resolvers/ValidationResolver.js.map +1 -1
  249. package/dist/development/src/schema/ColumnTypeResolver.cjs.map +1 -1
  250. package/dist/development/src/schema/ColumnTypeResolver.js.map +1 -1
  251. package/dist/development/src/schema/ConditionTypeProvider.cjs.map +1 -1
  252. package/dist/development/src/schema/ConditionTypeProvider.js.map +1 -1
  253. package/dist/development/src/schema/CustomTypesProvider.cjs.map +1 -1
  254. package/dist/development/src/schema/CustomTypesProvider.js.map +1 -1
  255. package/dist/development/src/schema/EntityTypeProvider.cjs.map +1 -1
  256. package/dist/development/src/schema/EntityTypeProvider.js.map +1 -1
  257. package/dist/development/src/schema/EnumsProvider.cjs.map +1 -1
  258. package/dist/development/src/schema/EnumsProvider.js.map +1 -1
  259. package/dist/development/src/schema/FieldAccessVisitor.cjs.map +1 -1
  260. package/dist/development/src/schema/FieldAccessVisitor.js.map +1 -1
  261. package/dist/development/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
  262. package/dist/development/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  263. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
  264. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  265. package/dist/development/src/schema/MutationProvider.cjs.map +1 -1
  266. package/dist/development/src/schema/MutationProvider.js.map +1 -1
  267. package/dist/development/src/schema/OperationExtension.cjs.map +1 -1
  268. package/dist/development/src/schema/OperationExtension.js.map +1 -1
  269. package/dist/development/src/schema/OrderByTypeProvider.cjs.map +1 -1
  270. package/dist/development/src/schema/OrderByTypeProvider.js.map +1 -1
  271. package/dist/development/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -1
  272. package/dist/development/src/schema/PaginatedFieldConfigFactory.js.map +1 -1
  273. package/dist/development/src/schema/QueryProvider.cjs.map +1 -1
  274. package/dist/development/src/schema/QueryProvider.js.map +1 -1
  275. package/dist/development/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
  276. package/dist/development/src/schema/ResultSchemaTypeProvider.js.map +1 -1
  277. package/dist/development/src/schema/ValidationQueriesProvider.cjs.map +1 -1
  278. package/dist/development/src/schema/ValidationQueriesProvider.js.map +1 -1
  279. package/dist/development/src/schema/WhereTypeProvider.cjs.map +1 -1
  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 +2 -0
  302. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
  303. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +2 -0
  304. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  305. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
  306. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
  307. package/dist/development/src/schema/utils.cjs.map +1 -1
  308. package/dist/development/src/schema/utils.js.map +1 -1
  309. package/dist/development/src/utils/Mutex.cjs.map +1 -1
  310. package/dist/development/src/utils/Mutex.js.map +1 -1
  311. package/dist/development/src/utils/ResolveInfoUtils.cjs.map +1 -1
  312. package/dist/development/src/utils/ResolveInfoUtils.js.map +1 -1
  313. package/dist/development/src/utils/accessor.cjs.map +1 -1
  314. package/dist/development/src/utils/accessor.js.map +1 -1
  315. package/dist/development/src/utils/isIt.cjs.map +1 -1
  316. package/dist/development/src/utils/isIt.js.map +1 -1
  317. package/dist/development/src/utils/object.cjs.map +1 -1
  318. package/dist/development/src/utils/object.js.map +1 -1
  319. package/dist/development/src/utils/paginationUtils.cjs.map +1 -1
  320. package/dist/development/src/utils/paginationUtils.js.map +1 -1
  321. package/dist/development/src/utils/singletonFactory.cjs.map +1 -1
  322. package/dist/development/src/utils/singletonFactory.js.map +1 -1
  323. package/dist/development/src/utils/uniqueWhereFields.cjs.map +1 -1
  324. package/dist/development/src/utils/uniqueWhereFields.js.map +1 -1
  325. package/dist/production/index.cjs +3 -2
  326. package/dist/production/index.cjs.map +1 -1
  327. package/dist/production/index.js +3 -2
  328. package/dist/production/index.js.map +1 -1
  329. package/dist/production/src/ExecutionContainer.cjs +2 -2
  330. package/dist/production/src/ExecutionContainer.cjs.map +1 -1
  331. package/dist/production/src/ExecutionContainer.js +2 -2
  332. package/dist/production/src/ExecutionContainer.js.map +1 -1
  333. package/dist/production/src/acl/Authorizator.cjs.map +1 -1
  334. package/dist/production/src/acl/Authorizator.js.map +1 -1
  335. package/dist/production/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
  336. package/dist/production/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
  337. package/dist/production/src/acl/PermissionFactory.cjs.map +1 -1
  338. package/dist/production/src/acl/PermissionFactory.js.map +1 -1
  339. package/dist/production/src/acl/PredicateFactory.cjs.map +1 -1
  340. package/dist/production/src/acl/PredicateFactory.js.map +1 -1
  341. package/dist/production/src/acl/PredicatesInjector.cjs.map +1 -1
  342. package/dist/production/src/acl/PredicatesInjector.js.map +1 -1
  343. package/dist/production/src/acl/VariableInjector.cjs.map +1 -1
  344. package/dist/production/src/acl/VariableInjector.js.map +1 -1
  345. package/dist/production/src/acl/VariableUtils.cjs.map +1 -1
  346. package/dist/production/src/acl/VariableUtils.js.map +1 -1
  347. package/dist/production/src/exception.cjs.map +1 -1
  348. package/dist/production/src/exception.js.map +1 -1
  349. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
  350. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  351. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
  352. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  353. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs +31 -6
  354. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
  355. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +31 -6
  356. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  357. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
  358. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  359. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
  360. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  361. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
  362. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  363. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
  364. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  365. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
  366. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  367. package/dist/production/src/input-validation/ColumnValueResolver.cjs.map +1 -1
  368. package/dist/production/src/input-validation/ColumnValueResolver.js.map +1 -1
  369. package/dist/production/src/input-validation/EntityRulesResolver.cjs.map +1 -1
  370. package/dist/production/src/input-validation/EntityRulesResolver.js.map +1 -1
  371. package/dist/production/src/input-validation/QueryAstFactory.cjs.map +1 -1
  372. package/dist/production/src/input-validation/QueryAstFactory.js.map +1 -1
  373. package/dist/production/src/input-validation/ValidationContext.cjs.map +1 -1
  374. package/dist/production/src/input-validation/ValidationContext.js.map +1 -1
  375. package/dist/production/src/input-validation/ValidationDataSelector.cjs.map +1 -1
  376. package/dist/production/src/input-validation/ValidationDataSelector.js.map +1 -1
  377. package/dist/production/src/input-validation/ValidationEvaluation.cjs.map +1 -1
  378. package/dist/production/src/input-validation/ValidationEvaluation.js.map +1 -1
  379. package/dist/production/src/input-validation/ValidationPath.cjs.map +1 -1
  380. package/dist/production/src/input-validation/ValidationPath.js.map +1 -1
  381. package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
  382. package/dist/production/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
  383. package/dist/production/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
  384. package/dist/production/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
  385. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
  386. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  387. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
  388. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  389. package/dist/production/src/input-validation/preValidation/InputPreValidator.js +1 -1
  390. package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  391. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
  392. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  393. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs +16 -17
  394. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  395. package/dist/production/src/inputProcessing/CreateInputVisitor.js +16 -17
  396. package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  397. package/dist/production/src/inputProcessing/FieldNode.cjs.map +1 -1
  398. package/dist/production/src/inputProcessing/FieldNode.js.map +1 -1
  399. package/dist/production/src/inputProcessing/ObjectNode.cjs.map +1 -1
  400. package/dist/production/src/inputProcessing/ObjectNode.js.map +1 -1
  401. package/dist/production/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
  402. package/dist/production/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  403. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs +29 -27
  404. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  405. package/dist/production/src/inputProcessing/UpdateInputVisitor.js +29 -27
  406. package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  407. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.cjs +6 -163
  408. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
  409. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.js +5 -162
  410. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  411. package/dist/production/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
  412. package/dist/production/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  413. package/dist/production/src/introspection/introspection.schema.cjs +163 -0
  414. package/dist/production/src/introspection/introspection.schema.cjs.map +1 -0
  415. package/dist/production/src/introspection/introspection.schema.js +163 -0
  416. package/dist/production/src/introspection/introspection.schema.js.map +1 -0
  417. package/dist/production/src/mapper/CheckedPrimary.cjs.map +1 -1
  418. package/dist/production/src/mapper/CheckedPrimary.js.map +1 -1
  419. package/dist/production/src/mapper/ColumnValue.cjs +8 -18
  420. package/dist/production/src/mapper/ColumnValue.cjs.map +1 -1
  421. package/dist/production/src/mapper/ColumnValue.js +8 -18
  422. package/dist/production/src/mapper/ColumnValue.js.map +1 -1
  423. package/dist/production/src/mapper/ErrorUtils.cjs +1 -1
  424. package/dist/production/src/mapper/ErrorUtils.cjs.map +1 -1
  425. package/dist/production/src/mapper/ErrorUtils.js +1 -1
  426. package/dist/production/src/mapper/ErrorUtils.js.map +1 -1
  427. package/dist/production/src/mapper/EventManager.cjs +4 -7
  428. package/dist/production/src/mapper/EventManager.cjs.map +1 -1
  429. package/dist/production/src/mapper/EventManager.js +4 -7
  430. package/dist/production/src/mapper/EventManager.js.map +1 -1
  431. package/dist/production/src/mapper/JunctionTableManager.cjs.map +1 -1
  432. package/dist/production/src/mapper/JunctionTableManager.js.map +1 -1
  433. package/dist/production/src/mapper/Mapper.cjs +8 -28
  434. package/dist/production/src/mapper/Mapper.cjs.map +1 -1
  435. package/dist/production/src/mapper/Mapper.js +8 -28
  436. package/dist/production/src/mapper/Mapper.js.map +1 -1
  437. package/dist/production/src/mapper/MapperFactory.cjs.map +1 -1
  438. package/dist/production/src/mapper/MapperFactory.js.map +1 -1
  439. package/dist/production/src/mapper/MutationProcessorHelper.cjs +10 -2
  440. package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  441. package/dist/production/src/mapper/MutationProcessorHelper.js +10 -2
  442. package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
  443. package/dist/production/src/mapper/Result.cjs +10 -27
  444. package/dist/production/src/mapper/Result.cjs.map +1 -1
  445. package/dist/production/src/mapper/Result.js +10 -27
  446. package/dist/production/src/mapper/Result.js.map +1 -1
  447. package/dist/production/src/mapper/delete/DeleteExecutor.cjs +4 -8
  448. package/dist/production/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
  449. package/dist/production/src/mapper/delete/DeleteExecutor.js +5 -9
  450. package/dist/production/src/mapper/delete/DeleteExecutor.js.map +1 -1
  451. package/dist/production/src/mapper/delete/DeleteState.cjs.map +1 -1
  452. package/dist/production/src/mapper/delete/DeleteState.js.map +1 -1
  453. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
  454. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  455. package/dist/production/src/mapper/delete/helpers.cjs.map +1 -1
  456. package/dist/production/src/mapper/delete/helpers.js.map +1 -1
  457. package/dist/production/src/mapper/insert/InsertBuilder.cjs +13 -21
  458. package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  459. package/dist/production/src/mapper/insert/InsertBuilder.js +14 -22
  460. package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
  461. package/dist/production/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
  462. package/dist/production/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  463. package/dist/production/src/mapper/insert/Inserter.cjs +43 -21
  464. package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
  465. package/dist/production/src/mapper/insert/Inserter.js +45 -23
  466. package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
  467. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs +23 -79
  468. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  469. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js +23 -79
  470. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  471. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +43 -0
  472. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  473. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +43 -0
  474. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  475. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +40 -0
  476. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  477. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +40 -0
  478. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  479. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +38 -0
  480. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  481. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +38 -0
  482. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  483. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +23 -32
  484. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  485. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +23 -32
  486. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  487. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +65 -0
  488. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  489. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +65 -0
  490. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  491. package/dist/production/src/mapper/select/ConditionBuilder.cjs.map +1 -1
  492. package/dist/production/src/mapper/select/ConditionBuilder.js.map +1 -1
  493. package/dist/production/src/mapper/select/JoinBuilder.cjs.map +1 -1
  494. package/dist/production/src/mapper/select/JoinBuilder.js.map +1 -1
  495. package/dist/production/src/mapper/select/JoinVisitor.cjs.map +1 -1
  496. package/dist/production/src/mapper/select/JoinVisitor.js.map +1 -1
  497. package/dist/production/src/mapper/select/OrderByBuilder.cjs.map +1 -1
  498. package/dist/production/src/mapper/select/OrderByBuilder.js.map +1 -1
  499. package/dist/production/src/mapper/select/OrderByHelper.cjs.map +1 -1
  500. package/dist/production/src/mapper/select/OrderByHelper.js.map +1 -1
  501. package/dist/production/src/mapper/select/Path.cjs.map +1 -1
  502. package/dist/production/src/mapper/select/Path.js.map +1 -1
  503. package/dist/production/src/mapper/select/RelationFetcher.cjs.map +1 -1
  504. package/dist/production/src/mapper/select/RelationFetcher.js.map +1 -1
  505. package/dist/production/src/mapper/select/SelectBuilder.cjs.map +1 -1
  506. package/dist/production/src/mapper/select/SelectBuilder.js.map +1 -1
  507. package/dist/production/src/mapper/select/SelectHydrator.cjs.map +1 -1
  508. package/dist/production/src/mapper/select/SelectHydrator.js.map +1 -1
  509. package/dist/production/src/mapper/select/WhereBuilder.cjs.map +1 -1
  510. package/dist/production/src/mapper/select/WhereBuilder.js.map +1 -1
  511. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs +3 -0
  512. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  513. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js +3 -0
  514. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  515. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
  516. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  517. package/dist/production/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
  518. package/dist/production/src/mapper/select/handlers/MetaHandler.js.map +1 -1
  519. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
  520. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
  521. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  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 +36 -36
  528. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  529. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  530. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  531. package/dist/production/src/mapper/update/UpdateBuilder.cjs +14 -19
  532. package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  533. package/dist/production/src/mapper/update/UpdateBuilder.js +15 -20
  534. package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
  535. package/dist/production/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
  536. package/dist/production/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  537. package/dist/production/src/mapper/update/Updater.cjs +45 -17
  538. package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
  539. package/dist/production/src/mapper/update/Updater.js +47 -19
  540. package/dist/production/src/mapper/update/Updater.js.map +1 -1
  541. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +84 -0
  542. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  543. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +84 -0
  544. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  545. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +88 -0
  546. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  547. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +88 -0
  548. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  549. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +87 -0
  550. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  551. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +87 -0
  552. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  553. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs +147 -0
  554. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  555. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js +147 -0
  556. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  557. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +183 -0
  558. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  559. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +183 -0
  560. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  561. package/dist/production/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
  562. package/dist/production/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  563. package/dist/production/src/resolvers/MutationResolver.cjs +8 -4
  564. package/dist/production/src/resolvers/MutationResolver.cjs.map +1 -1
  565. package/dist/production/src/resolvers/MutationResolver.js +8 -4
  566. package/dist/production/src/resolvers/MutationResolver.js.map +1 -1
  567. package/dist/production/src/resolvers/ReadHelpers.cjs.map +1 -1
  568. package/dist/production/src/resolvers/ReadHelpers.js.map +1 -1
  569. package/dist/production/src/resolvers/ReadResolver.cjs.map +1 -1
  570. package/dist/production/src/resolvers/ReadResolver.js.map +1 -1
  571. package/dist/production/src/resolvers/ValidationResolver.cjs.map +1 -1
  572. package/dist/production/src/resolvers/ValidationResolver.js.map +1 -1
  573. package/dist/production/src/schema/ColumnTypeResolver.cjs.map +1 -1
  574. package/dist/production/src/schema/ColumnTypeResolver.js.map +1 -1
  575. package/dist/production/src/schema/ConditionTypeProvider.cjs.map +1 -1
  576. package/dist/production/src/schema/ConditionTypeProvider.js.map +1 -1
  577. package/dist/production/src/schema/CustomTypesProvider.cjs.map +1 -1
  578. package/dist/production/src/schema/CustomTypesProvider.js.map +1 -1
  579. package/dist/production/src/schema/EntityTypeProvider.cjs.map +1 -1
  580. package/dist/production/src/schema/EntityTypeProvider.js.map +1 -1
  581. package/dist/production/src/schema/EnumsProvider.cjs.map +1 -1
  582. package/dist/production/src/schema/EnumsProvider.js.map +1 -1
  583. package/dist/production/src/schema/FieldAccessVisitor.cjs.map +1 -1
  584. package/dist/production/src/schema/FieldAccessVisitor.js.map +1 -1
  585. package/dist/production/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
  586. package/dist/production/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  587. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
  588. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  589. package/dist/production/src/schema/MutationProvider.cjs.map +1 -1
  590. package/dist/production/src/schema/MutationProvider.js.map +1 -1
  591. package/dist/production/src/schema/OperationExtension.cjs.map +1 -1
  592. package/dist/production/src/schema/OperationExtension.js.map +1 -1
  593. package/dist/production/src/schema/OrderByTypeProvider.cjs.map +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.map +1 -1
  597. package/dist/production/src/schema/QueryProvider.cjs.map +1 -1
  598. package/dist/production/src/schema/QueryProvider.js.map +1 -1
  599. package/dist/production/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
  600. package/dist/production/src/schema/ResultSchemaTypeProvider.js.map +1 -1
  601. package/dist/production/src/schema/ValidationQueriesProvider.cjs.map +1 -1
  602. package/dist/production/src/schema/ValidationQueriesProvider.js.map +1 -1
  603. package/dist/production/src/schema/WhereTypeProvider.cjs.map +1 -1
  604. package/dist/production/src/schema/WhereTypeProvider.js.map +1 -1
  605. package/dist/production/src/schema/entities/FieldArgsVisitor.cjs.map +1 -1
  606. package/dist/production/src/schema/entities/FieldArgsVisitor.js.map +1 -1
  607. package/dist/production/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
  608. package/dist/production/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  609. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -1
  610. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -1
  611. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
  612. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  613. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  614. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  615. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -1
  616. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  617. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -1
  618. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
  619. package/dist/production/src/schema/mutations/EntityInputProvider.cjs.map +1 -1
  620. package/dist/production/src/schema/mutations/EntityInputProvider.js.map +1 -1
  621. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
  622. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  623. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  624. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  625. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs +2 -0
  626. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
  627. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +2 -0
  628. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  629. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
  630. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
  631. package/dist/production/src/schema/utils.cjs.map +1 -1
  632. package/dist/production/src/schema/utils.js.map +1 -1
  633. package/dist/production/src/utils/Mutex.cjs.map +1 -1
  634. package/dist/production/src/utils/Mutex.js.map +1 -1
  635. package/dist/production/src/utils/ResolveInfoUtils.cjs.map +1 -1
  636. package/dist/production/src/utils/ResolveInfoUtils.js.map +1 -1
  637. package/dist/production/src/utils/accessor.cjs.map +1 -1
  638. package/dist/production/src/utils/accessor.js.map +1 -1
  639. package/dist/production/src/utils/isIt.cjs.map +1 -1
  640. package/dist/production/src/utils/isIt.js.map +1 -1
  641. package/dist/production/src/utils/object.cjs.map +1 -1
  642. package/dist/production/src/utils/object.js.map +1 -1
  643. package/dist/production/src/utils/paginationUtils.cjs.map +1 -1
  644. package/dist/production/src/utils/paginationUtils.js.map +1 -1
  645. package/dist/production/src/utils/singletonFactory.cjs.map +1 -1
  646. package/dist/production/src/utils/singletonFactory.js.map +1 -1
  647. package/dist/production/src/utils/uniqueWhereFields.cjs.map +1 -1
  648. package/dist/production/src/utils/uniqueWhereFields.js.map +1 -1
  649. package/dist/tests/cases/integration/graphQlRequests/insert/jsonInsert.test.d.ts +2 -0
  650. package/dist/tests/cases/integration/graphQlRequests/insert/jsonInsert.test.d.ts.map +1 -0
  651. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.d.ts +2 -0
  652. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.d.ts.map +1 -0
  653. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.d.ts +2 -0
  654. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.d.ts.map +1 -0
  655. package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.d.ts +2 -2
  656. package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.d.ts.map +1 -1
  657. package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.d.ts +1 -1
  658. package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.d.ts.map +1 -1
  659. package/dist/tests/cases/integration/graphQlSchema/model.d.ts +4 -4
  660. package/dist/tests/cases/integration/graphQlSchema/model.d.ts.map +1 -1
  661. package/dist/tests/src/assert.d.ts +5 -0
  662. package/dist/tests/src/assert.d.ts.map +1 -0
  663. package/dist/tests/src/test.d.ts.map +1 -1
  664. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  665. package/dist/types/ExecutionContainer.d.ts +8 -5
  666. package/dist/types/ExecutionContainer.d.ts.map +1 -1
  667. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -1
  668. package/dist/types/input-validation/ColumnValueResolver.d.ts +1 -1
  669. package/dist/types/input-validation/ColumnValueResolver.d.ts.map +1 -1
  670. package/dist/types/input-validation/ValidationDataSelector.d.ts +1 -1
  671. package/dist/types/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts +3 -3
  672. package/dist/types/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts.map +1 -1
  673. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts +3 -3
  674. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts.map +1 -1
  675. package/dist/types/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts +4 -4
  676. package/dist/types/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts.map +1 -1
  677. package/dist/types/inputProcessing/CreateInputProcessor.d.ts +8 -6
  678. package/dist/types/inputProcessing/CreateInputProcessor.d.ts.map +1 -1
  679. package/dist/types/inputProcessing/CreateInputVisitor.d.ts +11 -10
  680. package/dist/types/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  681. package/dist/types/inputProcessing/UpdateInputProcessor.d.ts +14 -12
  682. package/dist/types/inputProcessing/UpdateInputProcessor.d.ts.map +1 -1
  683. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts +11 -10
  684. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  685. package/dist/types/introspection/IntrospectionSchemaDefinitionFactory.d.ts +1 -3
  686. package/dist/types/introspection/IntrospectionSchemaDefinitionFactory.d.ts.map +1 -1
  687. package/dist/types/introspection/index.d.ts +2 -1
  688. package/dist/types/introspection/index.d.ts.map +1 -1
  689. package/dist/types/introspection/introspection.schema.d.ts +5 -0
  690. package/dist/types/introspection/introspection.schema.d.ts.map +1 -0
  691. package/dist/types/mapper/ColumnValue.d.ts +4 -8
  692. package/dist/types/mapper/ColumnValue.d.ts.map +1 -1
  693. package/dist/types/mapper/EventManager.d.ts +9 -9
  694. package/dist/types/mapper/EventManager.d.ts.map +1 -1
  695. package/dist/types/mapper/Mapper.d.ts +6 -7
  696. package/dist/types/mapper/Mapper.d.ts.map +1 -1
  697. package/dist/types/mapper/MutationProcessorHelper.d.ts +2 -2
  698. package/dist/types/mapper/MutationProcessorHelper.d.ts.map +1 -1
  699. package/dist/types/mapper/Result.d.ts +16 -9
  700. package/dist/types/mapper/Result.d.ts.map +1 -1
  701. package/dist/types/mapper/delete/DeleteExecutor.d.ts.map +1 -1
  702. package/dist/types/mapper/insert/InsertBuilder.d.ts +4 -9
  703. package/dist/types/mapper/insert/InsertBuilder.d.ts.map +1 -1
  704. package/dist/types/mapper/insert/Inserter.d.ts +3 -3
  705. package/dist/types/mapper/insert/Inserter.d.ts.map +1 -1
  706. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts +11 -8
  707. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  708. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts +26 -0
  709. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts.map +1 -0
  710. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts +25 -0
  711. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts.map +1 -0
  712. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts +28 -0
  713. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts.map +1 -0
  714. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts +31 -0
  715. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
  716. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts +26 -0
  717. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
  718. package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  719. package/dist/types/mapper/types.d.ts +84 -1
  720. package/dist/types/mapper/types.d.ts.map +1 -1
  721. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts +12 -8
  722. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  723. package/dist/types/mapper/update/UpdateBuilder.d.ts +4 -8
  724. package/dist/types/mapper/update/UpdateBuilder.d.ts.map +1 -1
  725. package/dist/types/mapper/update/Updater.d.ts +2 -2
  726. package/dist/types/mapper/update/Updater.d.ts.map +1 -1
  727. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts +48 -0
  728. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts.map +1 -0
  729. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts +42 -0
  730. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts.map +1 -0
  731. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts +48 -0
  732. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts.map +1 -0
  733. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts +38 -0
  734. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
  735. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts +42 -0
  736. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
  737. package/dist/types/resolvers/MutationResolver.d.ts.map +1 -1
  738. package/dist/types/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  739. package/dist/types/tsconfig.tsbuildinfo +1 -1
  740. package/graphql.codegen.yml +2 -2
  741. package/package.json +14 -18
  742. package/src/ExecutionContainer.ts +5 -2
  743. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts +35 -2
  744. package/src/input-validation/ColumnValueResolver.ts +1 -1
  745. package/src/input-validation/preValidation/CreateInputPreValidationProcessor.ts +2 -2
  746. package/src/input-validation/preValidation/InputPreValidator.ts +10 -12
  747. package/src/input-validation/preValidation/UpdateInputPreValidationProcessor.ts +3 -3
  748. package/src/inputProcessing/CreateInputProcessor.ts +8 -6
  749. package/src/inputProcessing/CreateInputVisitor.ts +32 -33
  750. package/src/inputProcessing/UpdateInputProcessor.ts +13 -11
  751. package/src/inputProcessing/UpdateInputVisitor.ts +44 -40
  752. package/src/introspection/IntrospectionSchemaDefinitionFactory.ts +2 -194
  753. package/src/introspection/index.ts +2 -1
  754. package/src/introspection/introspection.schema.ts +194 -0
  755. package/src/mapper/ColumnValue.ts +11 -25
  756. package/src/mapper/ErrorUtils.ts +1 -1
  757. package/src/mapper/EventManager.ts +9 -13
  758. package/src/mapper/Mapper.ts +19 -37
  759. package/src/mapper/MutationProcessorHelper.ts +16 -8
  760. package/src/mapper/Result.ts +14 -49
  761. package/src/mapper/delete/DeleteExecutor.ts +4 -8
  762. package/src/mapper/insert/InsertBuilder.ts +23 -34
  763. package/src/mapper/insert/Inserter.ts +55 -41
  764. package/src/mapper/insert/SqlCreateInputProcessor.ts +36 -91
  765. package/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts +59 -0
  766. package/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts +57 -0
  767. package/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts +52 -0
  768. package/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts +90 -0
  769. package/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.ts +87 -0
  770. package/src/mapper/select/handlers/FieldsVisitor.ts +3 -0
  771. package/src/mapper/types.ts +115 -1
  772. package/src/mapper/update/SqlUpdateInputProcessor.ts +50 -47
  773. package/src/mapper/update/UpdateBuilder.ts +25 -31
  774. package/src/mapper/update/Updater.ts +55 -35
  775. package/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.ts +112 -0
  776. package/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.ts +125 -0
  777. package/src/mapper/update/relations/OneHasManyUpdateInputProcessor.ts +113 -0
  778. package/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.ts +184 -0
  779. package/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.ts +240 -0
  780. package/src/resolvers/MutationResolver.ts +6 -4
  781. package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +5 -0
  782. package/tests/cases/bugs/bug-filter-or.test.ts +1 -1
  783. package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +1 -1
  784. package/tests/cases/bugs/bug102.test.ts +1 -1
  785. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +1 -1
  786. package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +1 -1
  787. package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +1 -1
  788. package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +1 -1
  789. package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +1 -1
  790. package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +1 -1
  791. package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +1 -1
  792. package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +1 -1
  793. package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +1 -1
  794. package/tests/cases/integration/graphQlRequests/insert/basicInsert.test.ts +1 -1
  795. package/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.ts +1 -1
  796. package/tests/cases/integration/graphQlRequests/insert/jsonInsert.test.ts +37 -0
  797. package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.ts +1 -1
  798. package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.ts +1 -1
  799. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +1 -1
  800. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.ts +1 -1
  801. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.ts +1 -1
  802. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +9 -9
  803. package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.ts +1 -1
  804. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.ts +1 -1
  805. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.ts +1 -1
  806. package/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.ts +1 -1
  807. package/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.ts +1 -1
  808. package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +1 -1
  809. package/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts +1 -1
  810. package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +1 -1
  811. package/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.ts +1 -1
  812. package/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.ts +1 -1
  813. package/tests/cases/integration/graphQlRequests/query/acl/relationAcl.test.ts +1 -1
  814. package/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts +1 -1
  815. package/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.ts +1 -1
  816. package/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.ts +1 -1
  817. package/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.ts +1 -1
  818. package/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.ts +1 -1
  819. package/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.ts +1 -1
  820. package/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.ts +1 -1
  821. package/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.ts +1 -1
  822. package/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.ts +1 -1
  823. package/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.ts +1 -1
  824. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.ts +1 -1
  825. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.ts +1 -1
  826. package/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.ts +1 -1
  827. package/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.ts +1 -1
  828. package/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.ts +70 -1
  829. package/tests/cases/integration/graphQlRequests/query/misc/transaction.test.ts +1 -1
  830. package/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.ts +1 -1
  831. package/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.ts +1 -1
  832. package/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.ts +1 -1
  833. package/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.ts +1 -1
  834. package/tests/cases/integration/graphQlRequests/query/relations/advanced.test.ts +1 -1
  835. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.ts +1 -1
  836. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +2 -2
  837. package/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.ts +1 -1
  838. package/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.ts +1 -1
  839. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.ts +1 -1
  840. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.ts +1 -1
  841. package/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.ts +1 -1
  842. package/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.ts +1 -1
  843. package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +1 -1
  844. package/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.ts +1 -1
  845. package/tests/cases/integration/graphQlRequests/query/sorting/sortNulls.test.ts +1 -1
  846. package/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.ts +1 -1
  847. package/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.ts +1 -1
  848. package/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.ts +1 -1
  849. package/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.ts +1 -1
  850. package/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.ts +1 -1
  851. package/tests/cases/integration/graphQlRequests/query/view/view.test.ts +1 -1
  852. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +1 -1
  853. package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +1 -1
  854. package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +1 -1
  855. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.ts +1 -1
  856. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.ts +1 -1
  857. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +1 -1
  858. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.ts +1 -1
  859. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +1 -1
  860. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +1 -1
  861. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.ts +1 -1
  862. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.ts +100 -0
  863. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.ts +1 -1
  864. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +1 -1
  865. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.ts +1 -1
  866. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +1 -1
  867. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +1 -1
  868. package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +1 -1
  869. package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +1 -1
  870. package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +1 -1
  871. package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +1 -1
  872. package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +1 -6
  873. package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +1 -6
  874. package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +1 -1
  875. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +1 -1
  876. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +90 -0
  877. package/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.ts +1 -1
  878. package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +1 -1
  879. package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +1 -1
  880. package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +1 -1
  881. package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +1 -1
  882. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +1 -1
  883. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +1 -1
  884. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +1 -1
  885. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +1 -1
  886. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +1 -1
  887. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +10 -1
  888. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +1 -1
  889. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +1 -1
  890. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +1 -1
  891. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +1 -1
  892. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +1 -1
  893. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +1 -6
  894. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +1 -6
  895. package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +1 -1
  896. package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +1 -1
  897. package/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.ts +1 -1
  898. package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +1 -1
  899. package/tests/cases/integration/graphQlRequests/validation/conditions.test.ts +1 -1
  900. package/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.ts +1 -1
  901. package/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.ts +1 -1
  902. package/tests/cases/integration/graphQlRequests/validation/required.test.ts +1 -1
  903. package/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.ts +1 -1
  904. package/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.ts +1 -1
  905. package/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.ts +1 -1
  906. package/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.ts +1 -1
  907. package/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.ts +1 -1
  908. package/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.ts +1 -1
  909. package/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.ts +1 -1
  910. package/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.ts +1 -1
  911. package/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.ts +1 -2
  912. package/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.ts +1 -1
  913. package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +4 -4
  914. package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +6 -0
  915. package/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +28 -28
  916. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -0
  917. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +6 -0
  918. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +5 -0
  919. package/tests/cases/integration/graphQlSchema/schema-basic.gql +15 -0
  920. package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +7 -0
  921. package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +15 -0
  922. package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +7 -0
  923. package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +123 -107
  924. package/tests/cases/unit/aclVariablesFactory.test.ts +5 -5
  925. package/tests/cases/unit/conditionOptimizer.test.ts +7 -1
  926. package/tests/cases/unit/inputPreValidator.test.ts +3 -2
  927. package/tests/cases/unit/inputValidation.test.ts +7 -6
  928. package/tests/cases/unit/orderbyHelper.test.ts +3 -2
  929. package/tests/cases/unit/permissionMerger.test.ts +2 -1
  930. package/tests/cases/unit/predicatesFactory.test.ts +2 -1
  931. package/tests/cases/unit/predicatesInjector.test.ts +2 -1
  932. package/tests/cases/unit/uuidType.test.ts +5 -5
  933. package/tests/cases/unit/variableInjector.test.ts +2 -1
  934. package/tests/cases/unit/whereBuilder.test.ts +2 -1
  935. package/tests/cases/unit/whereOptimizer.test.ts +2 -1
  936. package/tests/src/assert.ts +10 -0
  937. package/tests/src/test.ts +4 -1
  938. package/tests/src/testGraphql.ts +3 -3
  939. package/dist/development/src/mapper/DataManipulationBuilder.cjs +0 -5
  940. package/dist/development/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  941. package/dist/development/src/mapper/DataManipulationBuilder.js +0 -5
  942. package/dist/development/src/mapper/DataManipulationBuilder.js.map +0 -1
  943. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  944. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  945. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  946. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  947. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  948. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  949. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  950. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  951. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  952. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  953. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  954. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  955. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  956. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  957. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs +0 -131
  958. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  959. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js +0 -131
  960. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  961. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  962. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  963. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  964. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  965. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  966. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  967. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  968. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  969. package/dist/production/src/mapper/DataManipulationBuilder.cjs +0 -5
  970. package/dist/production/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  971. package/dist/production/src/mapper/DataManipulationBuilder.js +0 -5
  972. package/dist/production/src/mapper/DataManipulationBuilder.js.map +0 -1
  973. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  974. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  975. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  976. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  977. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  978. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  979. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  980. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  981. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  982. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  983. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  984. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  985. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  986. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  987. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs +0 -131
  988. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  989. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js +0 -131
  990. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  991. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  992. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  993. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  994. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  995. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  996. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  997. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  998. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  999. package/dist/types/mapper/DataManipulationBuilder.d.ts +0 -7
  1000. package/dist/types/mapper/DataManipulationBuilder.d.ts.map +0 -1
  1001. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts +0 -32
  1002. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts.map +0 -1
  1003. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts +0 -32
  1004. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts.map +0 -1
  1005. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts +0 -29
  1006. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts.map +0 -1
  1007. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +0 -21
  1008. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +0 -1
  1009. package/dist/types/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts +0 -32
  1010. package/dist/types/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +0 -1
  1011. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +0 -21
  1012. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +0 -1
  1013. package/dist/types/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts +0 -37
  1014. package/dist/types/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +0 -1
  1015. package/src/mapper/DataManipulationBuilder.ts +0 -12
  1016. package/src/mapper/relations/ManyHasManyInputProcessor.ts +0 -108
  1017. package/src/mapper/relations/ManyHasOneInputProcessor.ts +0 -158
  1018. package/src/mapper/relations/OneHasManyInputProcessor.ts +0 -101
  1019. package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +0 -99
  1020. package/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts +0 -164
  1021. package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +0 -92
  1022. package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +0 -253
@@ -0,0 +1,163 @@
1
+ import { JSONType } from "@contember/graphql-utils";
2
+ import { GraphQLObjectType, GraphQLString, GraphQLNonNull, GraphQLInt, GraphQLList, GraphQLUnionType, GraphQLInterfaceType, GraphQLBoolean, GraphQLEnumType, GraphQLSchema } from "graphql";
3
+ const _RuleMessage = new GraphQLObjectType({
4
+ name: "_RuleMessage",
5
+ fields: {
6
+ text: { type: GraphQLString }
7
+ }
8
+ });
9
+ const _ValidatorArgument = new GraphQLObjectType({
10
+ name: "_ValidatorArgument",
11
+ fields: {
12
+ validator: { type: new GraphQLNonNull(GraphQLInt) }
13
+ }
14
+ });
15
+ const _PathArgument = new GraphQLObjectType({
16
+ name: "_PathArgument",
17
+ fields: {
18
+ path: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) }
19
+ }
20
+ });
21
+ const _LiteralArgument = new GraphQLObjectType({
22
+ name: "_LiteralArgument",
23
+ fields: {
24
+ value: { type: JSONType }
25
+ }
26
+ });
27
+ const _Argument = new GraphQLUnionType({
28
+ name: "_Argument",
29
+ types: [_ValidatorArgument, _PathArgument, _LiteralArgument]
30
+ });
31
+ const _Validator = new GraphQLObjectType({
32
+ name: "_Validator",
33
+ fields: {
34
+ operation: { type: new GraphQLNonNull(GraphQLString) },
35
+ arguments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) }
36
+ }
37
+ });
38
+ const _Rule = new GraphQLObjectType({
39
+ name: "_Rule",
40
+ fields: {
41
+ message: { type: _RuleMessage },
42
+ validator: { type: new GraphQLNonNull(GraphQLInt) }
43
+ }
44
+ });
45
+ const _FieldInterface = new GraphQLInterfaceType({
46
+ name: "_Field",
47
+ fields: {
48
+ name: { type: new GraphQLNonNull(GraphQLString) },
49
+ type: { type: new GraphQLNonNull(GraphQLString) },
50
+ nullable: { type: GraphQLBoolean },
51
+ rules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },
52
+ validators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) }
53
+ }
54
+ });
55
+ const _OrderByDirection = new GraphQLEnumType({
56
+ name: "_OrderByDirection",
57
+ values: {
58
+ asc: {},
59
+ desc: {}
60
+ }
61
+ });
62
+ const _OrderBy = new GraphQLObjectType({
63
+ name: "_OrderBy",
64
+ fields: {
65
+ path: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },
66
+ direction: { type: new GraphQLNonNull(_OrderByDirection) }
67
+ }
68
+ });
69
+ const _OnDeleteBehaviour = new GraphQLEnumType({
70
+ name: "_OnDeleteBehaviour",
71
+ values: {
72
+ restrict: {},
73
+ cascade: {},
74
+ setNull: {}
75
+ }
76
+ });
77
+ const _RelationSide = new GraphQLEnumType({
78
+ name: "_RelationSide",
79
+ values: {
80
+ owning: {},
81
+ inverse: {}
82
+ }
83
+ });
84
+ const _Relation = new GraphQLObjectType({
85
+ name: "_Relation",
86
+ interfaces: [_FieldInterface],
87
+ fields: {
88
+ name: { type: new GraphQLNonNull(GraphQLString) },
89
+ type: { type: new GraphQLNonNull(GraphQLString) },
90
+ side: { type: new GraphQLNonNull(_RelationSide) },
91
+ targetEntity: { type: new GraphQLNonNull(GraphQLString) },
92
+ ownedBy: { type: GraphQLString },
93
+ inversedBy: { type: GraphQLString },
94
+ nullable: { type: GraphQLBoolean },
95
+ onDelete: { type: _OnDeleteBehaviour },
96
+ orphanRemoval: { type: GraphQLBoolean },
97
+ orderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },
98
+ rules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },
99
+ validators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) }
100
+ }
101
+ });
102
+ const _Column = new GraphQLObjectType({
103
+ name: "_Column",
104
+ interfaces: [_FieldInterface],
105
+ fields: {
106
+ name: { type: new GraphQLNonNull(GraphQLString) },
107
+ type: { type: new GraphQLNonNull(GraphQLString) },
108
+ enumName: { type: GraphQLString },
109
+ defaultValue: { type: JSONType },
110
+ nullable: { type: new GraphQLNonNull(GraphQLBoolean) },
111
+ rules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },
112
+ validators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) }
113
+ }
114
+ });
115
+ const _UniqueConstraint = new GraphQLObjectType({
116
+ name: "_UniqueConstraint",
117
+ fields: {
118
+ fields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) }
119
+ }
120
+ });
121
+ const _Entity = new GraphQLObjectType({
122
+ name: "_Entity",
123
+ fields: {
124
+ name: { type: new GraphQLNonNull(GraphQLString) },
125
+ customPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },
126
+ fields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },
127
+ unique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) }
128
+ }
129
+ });
130
+ const _Enum = new GraphQLObjectType({
131
+ name: "_Enum",
132
+ fields: {
133
+ name: { type: new GraphQLNonNull(GraphQLString) },
134
+ values: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) }
135
+ }
136
+ });
137
+ const _Schema = new GraphQLObjectType({
138
+ name: "_Schema",
139
+ fields: {
140
+ enums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },
141
+ entities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) }
142
+ }
143
+ });
144
+ const createSchemaConfig = (resolver) => {
145
+ return {
146
+ query: new GraphQLObjectType({
147
+ name: "Query",
148
+ fields: {
149
+ schema: {
150
+ type: _Schema,
151
+ resolve: resolver
152
+ }
153
+ }
154
+ }),
155
+ types: [_Column, _Relation]
156
+ };
157
+ };
158
+ const introspection_schema = new GraphQLSchema(createSchemaConfig());
159
+ export {
160
+ createSchemaConfig,
161
+ introspection_schema as default
162
+ };
163
+ //# sourceMappingURL=introspection.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspection.schema.js","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckedPrimary.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAmC;AACvE;;"}
1
+ {"version":3,"file":"CheckedPrimary.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAA;AACpC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckedPrimary.js","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAmC;AACvE;"}
1
+ {"version":3,"file":"CheckedPrimary.js","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAA;AACpC;"}
@@ -1,25 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const promises = require("../utils/promises.cjs");
4
- require("@contember/schema-utils");
5
- const resolveGenericValue = (value) => {
6
- if (value instanceof Function) {
7
- value = value();
3
+ const rowDataToFieldValues = (values) => Object.fromEntries(values.map((it) => [it.fieldName, it.value]));
4
+ const normalizeDbValue = (value, type) => {
5
+ if (value === null) {
6
+ return null;
8
7
  }
9
- return Promise.resolve(value);
10
- };
11
- const resolveRowData = async (values) => {
12
- const valuePromises = values.map(async (it) => ({ ...it, resolvedValue: await it.value }));
13
- const settledValues = await Promise.allSettled(valuePromises);
14
- const failed = promises.getRejections(settledValues);
15
- if (failed.length > 0) {
16
- throw failed[0];
8
+ if ((type === "jsonb" || type === "json") && typeof value === "object") {
9
+ return JSON.stringify(value);
17
10
  }
18
- const fulfilled = promises.getFulfilledValues(settledValues);
19
- return fulfilled.filter((it) => it.resolvedValue !== void 0);
11
+ return value;
20
12
  };
21
- const rowDataToFieldValues = (values) => values.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {});
22
- exports.resolveGenericValue = resolveGenericValue;
23
- exports.resolveRowData = resolveRowData;
13
+ exports.normalizeDbValue = normalizeDbValue;
24
14
  exports.rowDataToFieldValues = rowDataToFieldValues;
25
15
  //# sourceMappingURL=ColumnValue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnValue.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":["getRejections","getFulfilledValues"],"mappings":";;;;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EACf;AACO,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAA,EAAQ;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAASA,uBAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EACf;AACM,QAAA,YAAYC,4BAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;;;;"}
1
+ {"version":3,"file":"ColumnValue.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\n\nexport type ColumnValue = {\n\tvalue: Value.FieldValue\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\n\nexport const rowDataToFieldValues = (values: ColumnValue[]): Record<string, Value.FieldValue> =>\n\tObject.fromEntries(values.map(it => [it.fieldName, it.value]))\n\nexport const normalizeDbValue = (value: Value.FieldValue, type: string): Value.FieldValue => {\n\tif (value === null) {\n\t\treturn null\n\t}\n\tif ((type === 'jsonb' || type === 'json') && typeof value === 'object') {\n\t\treturn JSON.stringify(value)\n\t}\n\treturn value\n}\n"],"names":[],"mappings":";;AAUO,MAAM,uBAAuB,CAAC,WACpC,OAAO,YAAY,OAAO,IAAI,CAAM,OAAA,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC;AAEjD,MAAA,mBAAmB,CAAC,OAAyB,SAAmC;AAC5F,MAAI,UAAU,MAAM;AACZ,WAAA;AAAA,EAAA;AAER,OAAK,SAAS,WAAW,SAAS,WAAW,OAAO,UAAU,UAAU;AAChE,WAAA,KAAK,UAAU,KAAK;AAAA,EAAA;AAErB,SAAA;AACR;;;"}
@@ -1,25 +1,15 @@
1
- import { getRejections, getFulfilledValues } from "../utils/promises.js";
2
- import "@contember/schema-utils";
3
- const resolveGenericValue = (value) => {
4
- if (value instanceof Function) {
5
- value = value();
1
+ const rowDataToFieldValues = (values) => Object.fromEntries(values.map((it) => [it.fieldName, it.value]));
2
+ const normalizeDbValue = (value, type) => {
3
+ if (value === null) {
4
+ return null;
6
5
  }
7
- return Promise.resolve(value);
8
- };
9
- const resolveRowData = async (values) => {
10
- const valuePromises = values.map(async (it) => ({ ...it, resolvedValue: await it.value }));
11
- const settledValues = await Promise.allSettled(valuePromises);
12
- const failed = getRejections(settledValues);
13
- if (failed.length > 0) {
14
- throw failed[0];
6
+ if ((type === "jsonb" || type === "json") && typeof value === "object") {
7
+ return JSON.stringify(value);
15
8
  }
16
- const fulfilled = getFulfilledValues(settledValues);
17
- return fulfilled.filter((it) => it.resolvedValue !== void 0);
9
+ return value;
18
10
  };
19
- const rowDataToFieldValues = (values) => values.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {});
20
11
  export {
21
- resolveGenericValue,
22
- resolveRowData,
12
+ normalizeDbValue,
23
13
  rowDataToFieldValues
24
14
  };
25
15
  //# sourceMappingURL=ColumnValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnValue.js","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":[],"mappings":";;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EACf;AACO,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAA,EAAQ;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAAS,cAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EACf;AACM,QAAA,YAAY,mBAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;"}
1
+ {"version":3,"file":"ColumnValue.js","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\n\nexport type ColumnValue = {\n\tvalue: Value.FieldValue\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\n\nexport const rowDataToFieldValues = (values: ColumnValue[]): Record<string, Value.FieldValue> =>\n\tObject.fromEntries(values.map(it => [it.fieldName, it.value]))\n\nexport const normalizeDbValue = (value: Value.FieldValue, type: string): Value.FieldValue => {\n\tif (value === null) {\n\t\treturn null\n\t}\n\tif ((type === 'jsonb' || type === 'json') && typeof value === 'object') {\n\t\treturn JSON.stringify(value)\n\t}\n\treturn value\n}\n"],"names":[],"mappings":"AAUO,MAAM,uBAAuB,CAAC,WACpC,OAAO,YAAY,OAAO,IAAI,CAAM,OAAA,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC;AAEjD,MAAA,mBAAmB,CAAC,OAAyB,SAAmC;AAC5F,MAAI,UAAU,MAAM;AACZ,WAAA;AAAA,EAAA;AAER,OAAK,SAAS,WAAW,SAAS,WAAW,OAAO,UAAU,UAAU;AAChE,WAAA,KAAK,UAAU,KAAK;AAAA,EAAA;AAErB,SAAA;AACR;"}
@@ -112,7 +112,7 @@ const convertError = (schema, databaseMetadata, e) => {
112
112
  if (e instanceof Database__namespace.TransactionAbortedError) {
113
113
  return new Result.MutationSqlError([], e.originalMessage, [Result.MutationResultHint.subSequentSqlError]);
114
114
  }
115
- if (e instanceof Database__namespace.QueryError) {
115
+ if (e instanceof Database__namespace.QueryError || e instanceof Database__namespace.CannotCommitError) {
116
116
  logger.logger.error(e, { loc: "convertError" });
117
117
  return new Result.MutationSqlError([], e.originalMessage, [Result.MutationResultHint.sqlError]);
118
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorUtils.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["tryGetColumnName","acceptFieldVisitor","relation","Database","MutationConstraintViolationError","ConstraintType","MutationResultHint","UniqueWhereError","MutationInputError","InputErrorKind","MutationSqlError","logger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,uBAAuB,CAAC,OAAqB,cAAsB,OAAO,OAAO,MAAM,QAAQ,EAAE,KAAK,CAAM,OAAA,GAAG,cAAc,SAAS;AAE5I,MAAM,uBAAuB,CAAC,OAAqB,kBAAoC,WAAmB,mBAA0D;AAC7J,QAAA,aAAa,iBAAiB,kBAAkB,OAAO,EAAE,WAAW,eAAA,CAAgB,EAAE;AAC5F,MAAI,CAAC,YAAY;AACT,WAAA;AAAA,EACR;AACA,QAAM,SAAS,qBAAqB,OAAO,WAAW,SAAS;AAC/D,MAAI,CAAC,QAAQ;AACL,WAAA;AAAA,EACR;AACA,QAAM,qBAA+B,CAAA;AACrC,aAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,UAAM,aAAaA,YAAAA,iBAAiB,OAAO,QAAQ,MAAM,IAAI;AAC7D,QAAI,cAAc,WAAW,YAAY,SAAS,UAAU,GAAG;AAC3C,yBAAA,KAAK,MAAM,IAAI;AAAA,IACnC;AAAA,EACD;AACA,MAAI,mBAAmB,WAAW,WAAW,YAAY,QAAQ;AACzD,WAAA,EAAE,QAAQ,QAAQ;EAC1B;AACO,SAAA;AACR;AAQA,MAAM,wBAAwB,CAAC,OAAqB,kBAAoC,WAAmB,mBAAgD;AACpJ,QAAA,aAAa,iBAAiB,YAAY,OAAO,EAAE,WAAW,WAAW,eAAA,CAAgB,EAAE;AACjG,MAAI,CAAC,YAAY;AACT,WAAA;AAAA,EACR;AACA,QAAM,eAAe,qBAAqB,OAAO,WAAW,SAAS;AACrE,MAAI,CAAC,cAAc;AAEX,WAAA;AAAA,EACR;AAEA,QAAM,eAAe,qBAAqB,OAAO,WAAW,OAAO;AACnE,MAAI,CAAC,cAAc;AACX,WAAA;AAAA,EACR;AACA,aAAW,SAAS,OAAO,OAAO,aAAa,MAAM,GAAG;AACvD,UAAM,WAAWC,YAAA,mBAA0E,OAAO,cAAc,OAAO;AAAA,MACtH,aAAa,MAAM;AAAA,MACnB,uBAAuB,MAAM;AAAA,MAC7B,yBAAyB,MAAM;AAAA,MAC/B,wBAAwB,MAAM;AAAA,MAC9B,iBAAiB,MAAM;AAAA,MACvB,sBAAsB,CAAC,EAAE,UAAAC,UAAeA,MAAAA;AAAAA,MACxC,iBAAiB,CAAC,EAAE,UAAAA,UAAeA,MAAAA;AAAAA,IAAA,CACnC;AACD,QAAI,YAAY,SAAS,cAAc,eAAe,WAAW,YAAY;AACrE,aAAA;AAAA,QACN;AAAA,QACA,gBAAgB;AAAA,QAChB;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AACO,SAAA;AACR;AAEO,MAAM,eAAe,CAC3B,QACA,kBACA,MACoB;AAEhB,MAAA,aAAaC,oBAAS,uBAAuB;AAChD,WAAO,IAAIC,OAAiC,iCAAA,IAAIC,OAAe,eAAA,SAAS,EAAE,iBAAiB;AAAA,MAC1FC,OAAAA,mBAAmB;AAAA,IAAA,CACnB;AAAA,EACF;AACI,MAAA,aAAaH,oBAAS,0BAA0B;AACnD,UAAM,eAAe,EAAE,cAAc,EAAE,QAAQ,sBAAsB,QAAQ,kBAAkB,EAAE,OAAO,EAAE,UAAU,IAAI;AACxH,UAAM,kBAA0B,YAAY,EAAE,WAAW,EAAE,SAAS,SAAS;AACvE,UAAA,cAAc,gBAAgB,MAAM,qDAAqD;AACzF,UAAA,UAAU,eACb,iBAAiB,cAAc,OAAO,YAAY,CAAC,CAAC,KAAK,aAAa,cACvD,aAAa,aAAa,IAAI,yCACJ,aAAa,aAAa,IAAI,KAAK,aAAa,eAAe,IAAI,8EAE5G,EAAE;AACE,WAAA,IAAIC,OAAAA,iCAAiC,CAAI,GAAAC,sBAAe,YAAY,SAAS,CAACC,OAAAA,mBAAmB,QAAQ,CAAC;AAAA,EAClH;AACI,MAAA,aAAaH,oBAAS,sBAAsB;AAC/C,UAAM,aAAa,EAAE,cAAc,EAAE,QAAQ,qBAAqB,QAAQ,kBAAkB,EAAE,OAAO,EAAE,UAAU,IAAI;AACrH,UAAM,kBAA0B,YAAY,EAAE,WAAW,EAAE,SAAS,SAAS;AACvE,UAAA,cAAc,gBAAgB,MAAM,wCAAwC;AAC5E,UAAA,SAAS,cAAc,CAAC;AAC9B,UAAM,UAAU,aACb,GAAG,SAAS,UAAU,MAAM,MAAM,eAAe,sCACX,WAAW,OAAO,KAAK,IAAI,CAAC,eAAe,WAAW,OAAO,IAAI,KACvG,EAAE;AACL,UAAM,QAAQ,aAAa,WAAW,OAAO,IAAI,CAAA,OAAM,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAA;AACnE,WAAA,IAAIC,OAAAA,iCAAiC,OAAOC,sBAAe,WAAW,SAAS,CAACC,OAAAA,mBAAmB,QAAQ,CAAC;AAAA,EACpH;AACA,MAAI,aAAaC,oBAAAA,kBAAkB;AAClC,WAAO,IAAIC,OAAmB,mBAAA,IAAIC,OAAAA,eAAe,gBAAgB,EAAE,OAAO;AAAA,EAC3E;AACI,MAAA,aAAaN,oBAAS,kBAAkB;AACpC,WAAA,IAAIK,OAAmB,mBAAA,IAAIC,OAAAA,eAAe,aAAa,EAAE,iBAAiB,CAACH,OAAAA,mBAAmB,QAAQ,CAAC;AAAA,EAC/G;AACI,MAAA,aAAaH,oBAAS,2BAA2B;AAC9C,UAAA;AAAA,EACP;AACI,MAAA,aAAaA,oBAAS,yBAAyB;AAC3C,WAAA,IAAIO,OAAAA,iBAAiB,CAAA,GAAI,EAAE,iBAAiB,CAACJ,OAAmB,mBAAA,kBAAkB,CAAC;AAAA,EAC3F;AACI,MAAA,aAAaH,oBAAS,YAAY;AACrCQ,WAAA,OAAO,MAAM,GAAG,EAAE,KAAK,eAAgB,CAAA;AAChC,WAAA,IAAID,OAAAA,iBAAiB,CAAA,GAAI,EAAE,iBAAiB,CAACJ,OAAmB,mBAAA,QAAQ,CAAC;AAAA,EACjF;AACM,QAAA;AACP;AAEO,MAAM,cAAc,OAAO,QAAsB,kBAAoC,OAAuE;AAC9J,MAAA;AACH,WAAO,MAAM,GAAG;AAAA,WACR,GAAG;AACX,WAAO,CAAC,aAAa,QAAQ,kBAAkB,CAAC,CAAC;AAAA,EAClD;AACD;;;"}
1
+ {"version":3,"file":"ErrorUtils.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError || e instanceof Database.CannotCommitError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["tryGetColumnName","acceptFieldVisitor","relation","Database","MutationConstraintViolationError","ConstraintType","MutationResultHint","UniqueWhereError","MutationInputError","InputErrorKind","MutationSqlError","logger"],"mappings":"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"}
@@ -93,7 +93,7 @@ const convertError = (schema, databaseMetadata, e) => {
93
93
  if (e instanceof Database.TransactionAbortedError) {
94
94
  return new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError]);
95
95
  }
96
- if (e instanceof Database.QueryError) {
96
+ if (e instanceof Database.QueryError || e instanceof Database.CannotCommitError) {
97
97
  logger.error(e, { loc: "convertError" });
98
98
  return new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError]);
99
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorUtils.js","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["relation"],"mappings":"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"}
1
+ {"version":3,"file":"ErrorUtils.js","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError || e instanceof Database.CannotCommitError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["relation"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const logger = require("@contember/logger");
4
3
  var __defProp = Object.defineProperty;
5
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -38,7 +37,7 @@ class AfterUpdateEvent {
38
37
  __publicField(this, "_hasChanges");
39
38
  }
40
39
  get hasChanges() {
41
- return this._hasChanges = this.data.some((it) => it.resolvedValue !== it.old);
40
+ return this._hasChanges = this.data.some((it) => it.value !== it.old);
42
41
  }
43
42
  }
44
43
  class BeforeDeleteEvent {
@@ -99,11 +98,9 @@ class EventManager {
99
98
  this.listeners[type].push(cb);
100
99
  }
101
100
  async fire(event) {
102
- (await Promise.allSettled(this.listeners[event.type].map((it) => it(event, this.mapper)))).map((it) => {
103
- if (it.status === "rejected") {
104
- logger.logger.error(it.reason);
105
- }
106
- });
101
+ for (const listener of this.listeners[event.type]) {
102
+ await listener(event, this.mapper);
103
+ }
107
104
  }
108
105
  }
109
106
  exports.AfterCommitEvent = AfterCommitEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"EventManager.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/EventManager.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { ResolvedColumnValue } from './ColumnValue'\nimport { Mapper } from './Mapper'\nimport { logger } from '@contember/logger'\n\nexport class BeforeInsertEvent {\n\tpublic type = 'BeforeInsertEvent' as const\n\n\tpublic afterEvent: AfterInsertEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ResolvedColumnValue[],\n\t) {\n\t}\n}\n\nexport class AfterInsertEvent {\n\tpublic type = 'AfterInsertEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ResolvedColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\n\nexport class BeforeUpdateEvent {\n\tpublic type = 'BeforeUpdateEvent' as const\n\n\tpublic afterEvent: AfterUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ResolvedColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class AfterUpdateEvent {\n\tpublic type = 'AfterUpdateEvent' as const\n\n\tprivate _hasChanges: boolean | undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: (ResolvedColumnValue & { old: Value.FieldValue })[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n\tget hasChanges() {\n\t\t// todo: deep equals\n\t\treturn this._hasChanges = this.data.some(it => it.resolvedValue !== it.old)\n\t}\n}\n\nexport class BeforeDeleteEvent {\n\tpublic type = 'BeforeDeleteEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class BeforeJunctionUpdateEvent {\n\tpublic type = 'BeforeJunctionUpdateEvent' as const\n\n\tpublic afterEvent: AfterJunctionUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t) {\n\t}\n}\n\n\nexport class AfterJunctionUpdateEvent {\n\tpublic type = 'AfterJunctionUpdateEvent' as const\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t\tpublic readonly hasChanges: boolean,\n\t) {\n\t}\n}\n\nexport class BeforeCommitEvent {\n\tpublic type = 'BeforeCommitEvent' as const\n}\n\nexport class AfterCommitEvent {\n\tpublic type = 'AfterCommitEvent' as const\n}\n\nexport type DataModificationEvent =\n\t| BeforeInsertEvent\n\t| AfterInsertEvent\n\t| BeforeUpdateEvent\n\t| AfterUpdateEvent\n\t| BeforeJunctionUpdateEvent\n\t| AfterJunctionUpdateEvent\n\t| BeforeDeleteEvent\n\nexport type AnyEvent =\n\t| DataModificationEvent\n\t| BeforeCommitEvent\n\t| AfterCommitEvent\n\nexport type EventMap<E extends AnyEvent = AnyEvent> = {\n\t[K in E['type']]: E extends { type: K } ? E : never\n}\n\nexport type EventListener<K extends keyof EventMap> = (event: EventMap[K], mapper: Mapper) => Promise<void>\n\nexport class EventManager {\n\tprivate listeners: { [K in keyof EventMap]: EventListener<K>[] } = {\n\t\tBeforeInsertEvent: [],\n\t\tAfterInsertEvent: [],\n\t\tBeforeUpdateEvent: [],\n\t\tAfterUpdateEvent: [],\n\t\tBeforeDeleteEvent: [],\n\t\tBeforeCommitEvent: [],\n\t\tAfterCommitEvent: [],\n\t\tBeforeJunctionUpdateEvent: [],\n\t\tAfterJunctionUpdateEvent: [],\n\t}\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic listen<K extends keyof EventMap>(type: K, cb: EventListener<K>) {\n\t\tthis.listeners[type].push(cb)\n\t}\n\n\tpublic async fire<K extends keyof EventMap>(event: EventMap[K]) {\n\t\t(await Promise.allSettled(this.listeners[event.type].map(it => (it as EventListener<K>)(event, this.mapper))))\n\t\t\t.map(it => {\n\t\t\t\tif (it.status === 'rejected') {\n\t\t\t\t\tlogger.error(it.reason)\n\t\t\t\t}\n\t\t\t})\n\t}\n}\n"],"names":["logger"],"mappings":"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"}
1
+ {"version":3,"file":"EventManager.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/EventManager.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from './Mapper'\nimport { ColumnValue } from './ColumnValue'\n\nexport class BeforeInsertEvent {\n\tpublic type = 'BeforeInsertEvent' as const\n\n\tpublic afterEvent: AfterInsertEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ColumnValue[],\n\t) {\n\t}\n}\n\nexport class AfterInsertEvent {\n\tpublic type = 'AfterInsertEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\n\nexport class BeforeUpdateEvent {\n\tpublic type = 'BeforeUpdateEvent' as const\n\n\tpublic afterEvent: AfterUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class AfterUpdateEvent {\n\tpublic type = 'AfterUpdateEvent' as const\n\n\tprivate _hasChanges: boolean | undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: (ColumnValue & { old: Value.FieldValue })[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n\tget hasChanges() {\n\t\t// todo: deep equals\n\t\treturn this._hasChanges = this.data.some(it => it.value !== it.old)\n\t}\n}\n\nexport class BeforeDeleteEvent {\n\tpublic type = 'BeforeDeleteEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class BeforeJunctionUpdateEvent {\n\tpublic type = 'BeforeJunctionUpdateEvent' as const\n\n\tpublic afterEvent: AfterJunctionUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t) {\n\t}\n}\n\n\nexport class AfterJunctionUpdateEvent {\n\tpublic type = 'AfterJunctionUpdateEvent' as const\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t\tpublic readonly hasChanges: boolean,\n\t) {\n\t}\n}\n\nexport class BeforeCommitEvent {\n\tpublic type = 'BeforeCommitEvent' as const\n}\n\nexport class AfterCommitEvent {\n\tpublic type = 'AfterCommitEvent' as const\n}\n\nexport type DataModificationEvent =\n\t| BeforeInsertEvent\n\t| AfterInsertEvent\n\t| BeforeUpdateEvent\n\t| AfterUpdateEvent\n\t| BeforeJunctionUpdateEvent\n\t| AfterJunctionUpdateEvent\n\t| BeforeDeleteEvent\n\nexport type AnyEvent =\n\t| DataModificationEvent\n\t| BeforeCommitEvent\n\t| AfterCommitEvent\n\nexport type EventMap<E extends AnyEvent = AnyEvent> = {\n\t[K in E['type']]: E extends { type: K } ? E : never\n}\n\nexport type EventListener<K extends keyof EventMap> = (event: EventMap[K], mapper: Mapper) => Promise<void>\n\nexport class EventManager {\n\tprivate listeners: { [K in keyof EventMap]: EventListener<K>[] } = {\n\t\tBeforeInsertEvent: [],\n\t\tAfterInsertEvent: [],\n\t\tBeforeUpdateEvent: [],\n\t\tAfterUpdateEvent: [],\n\t\tBeforeDeleteEvent: [],\n\t\tBeforeCommitEvent: [],\n\t\tAfterCommitEvent: [],\n\t\tBeforeJunctionUpdateEvent: [],\n\t\tAfterJunctionUpdateEvent: [],\n\t}\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic listen<K extends keyof EventMap>(type: K, cb: EventListener<K>) {\n\t\tthis.listeners[type].push(cb)\n\t}\n\n\tpublic async fire<K extends keyof EventMap>(event: EventMap[K]) {\n\t\tfor (const listener of this.listeners[event.type]) {\n\t\t\tawait listener(event, this.mapper)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,kBAAkB;AAAA,EAK9B,YACiB,QACA,MACf;AAFe,SAAA,SAAA;AACA,SAAA,OAAA;AANjB,kBAAA,MAAO,QAAO,mBAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAAA;AAOR;AAEO,MAAM,iBAAiB;AAAA,EAG7B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AALjB,kBAAA,MAAO,QAAO,kBAAA;AAAA,EAAA;AAQf;AAGO,MAAM,kBAAkB;AAAA,EAK9B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AAPjB,kBAAA,MAAO,QAAO,mBAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAAA;AAQR;AAEO,MAAM,iBAAiB;AAAA,EAK7B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AAPjB,kBAAA,MAAO,QAAO,kBAAA;AAEN,kBAAA,MAAA,aAAA;AAAA,EAAA;AAAA,EAQR,IAAI,aAAa;AAET,WAAA,KAAK,cAAc,KAAK,KAAK,KAAK,CAAM,OAAA,GAAG,UAAU,GAAG,GAAG;AAAA,EAAA;AAEpE;AAEO,MAAM,kBAAkB;AAAA,EAG9B,YACiB,QACA,IACf;AAFe,SAAA,SAAA;AACA,SAAA,KAAA;AAJjB,kBAAA,MAAO,QAAO,mBAAA;AAAA,EAAA;AAOf;AAEO,MAAM,0BAA0B;AAAA,EAKtC,YACiB,cACA,gBACA,UACA,WACA,WACf;AALe,SAAA,eAAA;AACA,SAAA,iBAAA;AACA,SAAA,WAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AATjB,kBAAA,MAAO,QAAO,2BAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAAA;AAUR;AAGO,MAAM,yBAAyB;AAAA,EAGrC,YACiB,cACA,gBACA,UACA,WACA,WACA,YACf;AANe,SAAA,eAAA;AACA,SAAA,iBAAA;AACA,SAAA,WAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AARjB,kBAAA,MAAO,QAAO,0BAAA;AAAA,EAAA;AAWf;AAEO,MAAM,kBAAkB;AAAA,EAAxB,cAAA;AACN,kBAAA,MAAO,QAAO,mBAAA;AAAA,EAAA;AACf;AAEO,MAAM,iBAAiB;AAAA,EAAvB,cAAA;AACN,kBAAA,MAAO,QAAO,kBAAA;AAAA,EAAA;AACf;AAsBO,MAAM,aAAa;AAAA,EAazB,YACkB,QAChB;AADgB,SAAA,SAAA;AAblB,kBAAA,MAAQ,aAA2D;AAAA,MAClE,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,mBAAmB,CAAC;AAAA,MACpB,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,2BAA2B,CAAC;AAAA,MAC5B,0BAA0B,CAAA;AAAA,IAAC,CAC5B;AAAA,EAAA;AAAA,EAOO,OAAiC,MAAS,IAAsB;AACtE,SAAK,UAAU,IAAI,EAAE,KAAK,EAAE;AAAA,EAAA;AAAA,EAG7B,MAAa,KAA+B,OAAoB;AAC/D,eAAW,YAAY,KAAK,UAAU,MAAM,IAAI,GAAG;AAC5C,YAAA,SAAS,OAAO,KAAK,MAAM;AAAA,IAAA;AAAA,EAClC;AAEF;;;;;;;;;;;"}
@@ -1,4 +1,3 @@
1
- import { logger } from "@contember/logger";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -36,7 +35,7 @@ class AfterUpdateEvent {
36
35
  __publicField(this, "_hasChanges");
37
36
  }
38
37
  get hasChanges() {
39
- return this._hasChanges = this.data.some((it) => it.resolvedValue !== it.old);
38
+ return this._hasChanges = this.data.some((it) => it.value !== it.old);
40
39
  }
41
40
  }
42
41
  class BeforeDeleteEvent {
@@ -97,11 +96,9 @@ class EventManager {
97
96
  this.listeners[type].push(cb);
98
97
  }
99
98
  async fire(event) {
100
- (await Promise.allSettled(this.listeners[event.type].map((it) => it(event, this.mapper)))).map((it) => {
101
- if (it.status === "rejected") {
102
- logger.error(it.reason);
103
- }
104
- });
99
+ for (const listener of this.listeners[event.type]) {
100
+ await listener(event, this.mapper);
101
+ }
105
102
  }
106
103
  }
107
104
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"EventManager.js","sources":["../../../../../packages/engine-content-api/src/mapper/EventManager.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { ResolvedColumnValue } from './ColumnValue'\nimport { Mapper } from './Mapper'\nimport { logger } from '@contember/logger'\n\nexport class BeforeInsertEvent {\n\tpublic type = 'BeforeInsertEvent' as const\n\n\tpublic afterEvent: AfterInsertEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ResolvedColumnValue[],\n\t) {\n\t}\n}\n\nexport class AfterInsertEvent {\n\tpublic type = 'AfterInsertEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ResolvedColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\n\nexport class BeforeUpdateEvent {\n\tpublic type = 'BeforeUpdateEvent' as const\n\n\tpublic afterEvent: AfterUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ResolvedColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class AfterUpdateEvent {\n\tpublic type = 'AfterUpdateEvent' as const\n\n\tprivate _hasChanges: boolean | undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: (ResolvedColumnValue & { old: Value.FieldValue })[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n\tget hasChanges() {\n\t\t// todo: deep equals\n\t\treturn this._hasChanges = this.data.some(it => it.resolvedValue !== it.old)\n\t}\n}\n\nexport class BeforeDeleteEvent {\n\tpublic type = 'BeforeDeleteEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class BeforeJunctionUpdateEvent {\n\tpublic type = 'BeforeJunctionUpdateEvent' as const\n\n\tpublic afterEvent: AfterJunctionUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t) {\n\t}\n}\n\n\nexport class AfterJunctionUpdateEvent {\n\tpublic type = 'AfterJunctionUpdateEvent' as const\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t\tpublic readonly hasChanges: boolean,\n\t) {\n\t}\n}\n\nexport class BeforeCommitEvent {\n\tpublic type = 'BeforeCommitEvent' as const\n}\n\nexport class AfterCommitEvent {\n\tpublic type = 'AfterCommitEvent' as const\n}\n\nexport type DataModificationEvent =\n\t| BeforeInsertEvent\n\t| AfterInsertEvent\n\t| BeforeUpdateEvent\n\t| AfterUpdateEvent\n\t| BeforeJunctionUpdateEvent\n\t| AfterJunctionUpdateEvent\n\t| BeforeDeleteEvent\n\nexport type AnyEvent =\n\t| DataModificationEvent\n\t| BeforeCommitEvent\n\t| AfterCommitEvent\n\nexport type EventMap<E extends AnyEvent = AnyEvent> = {\n\t[K in E['type']]: E extends { type: K } ? E : never\n}\n\nexport type EventListener<K extends keyof EventMap> = (event: EventMap[K], mapper: Mapper) => Promise<void>\n\nexport class EventManager {\n\tprivate listeners: { [K in keyof EventMap]: EventListener<K>[] } = {\n\t\tBeforeInsertEvent: [],\n\t\tAfterInsertEvent: [],\n\t\tBeforeUpdateEvent: [],\n\t\tAfterUpdateEvent: [],\n\t\tBeforeDeleteEvent: [],\n\t\tBeforeCommitEvent: [],\n\t\tAfterCommitEvent: [],\n\t\tBeforeJunctionUpdateEvent: [],\n\t\tAfterJunctionUpdateEvent: [],\n\t}\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic listen<K extends keyof EventMap>(type: K, cb: EventListener<K>) {\n\t\tthis.listeners[type].push(cb)\n\t}\n\n\tpublic async fire<K extends keyof EventMap>(event: EventMap[K]) {\n\t\t(await Promise.allSettled(this.listeners[event.type].map(it => (it as EventListener<K>)(event, this.mapper))))\n\t\t\t.map(it => {\n\t\t\t\tif (it.status === 'rejected') {\n\t\t\t\t\tlogger.error(it.reason)\n\t\t\t\t}\n\t\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,kBAAkB;AAAA,EAK9B,YACiB,QACA,MACf;AAFe,SAAA,SAAA;AACA,SAAA,OAAA;AANjB,kBAAA,MAAO,QAAO,mBAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAMP;AACD;AAEO,MAAM,iBAAiB;AAAA,EAG7B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AALjB,kBAAA,MAAO,QAAO,kBAAA;AAAA,EAOd;AACD;AAGO,MAAM,kBAAkB;AAAA,EAK9B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AAPjB,kBAAA,MAAO,QAAO,mBAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAOP;AACD;AAEO,MAAM,iBAAiB;AAAA,EAK7B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AAPjB,kBAAA,MAAO,QAAO,kBAAA;AAEN,kBAAA,MAAA,aAAA;AAAA,EAOR;AAAA,EACA,IAAI,aAAa;AAET,WAAA,KAAK,cAAc,KAAK,KAAK,KAAK,CAAM,OAAA,GAAG,kBAAkB,GAAG,GAAG;AAAA,EAC3E;AACD;AAEO,MAAM,kBAAkB;AAAA,EAG9B,YACiB,QACA,IACf;AAFe,SAAA,SAAA;AACA,SAAA,KAAA;AAJjB,kBAAA,MAAO,QAAO,mBAAA;AAAA,EAMd;AACD;AAEO,MAAM,0BAA0B;AAAA,EAKtC,YACiB,cACA,gBACA,UACA,WACA,WACf;AALe,SAAA,eAAA;AACA,SAAA,iBAAA;AACA,SAAA,WAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AATjB,kBAAA,MAAO,QAAO,2BAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EASP;AACD;AAGO,MAAM,yBAAyB;AAAA,EAGrC,YACiB,cACA,gBACA,UACA,WACA,WACA,YACf;AANe,SAAA,eAAA;AACA,SAAA,iBAAA;AACA,SAAA,WAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AARjB,kBAAA,MAAO,QAAO,0BAAA;AAAA,EAUd;AACD;AAEO,MAAM,kBAAkB;AAAA,EAAxB,cAAA;AACN,kBAAA,MAAO,QAAO,mBAAA;AAAA,EAAA;AACf;AAEO,MAAM,iBAAiB;AAAA,EAAvB,cAAA;AACN,kBAAA,MAAO,QAAO,kBAAA;AAAA,EAAA;AACf;AAsBO,MAAM,aAAa;AAAA,EAazB,YACkB,QAChB;AADgB,SAAA,SAAA;AAblB,kBAAA,MAAQ,aAA2D;AAAA,MAClE,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,mBAAmB,CAAC;AAAA,MACpB,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,2BAA2B,CAAC;AAAA,MAC5B,0BAA0B,CAAC;AAAA,IAAA,CAC5B;AAAA,EAKA;AAAA,EAEO,OAAiC,MAAS,IAAsB;AACtE,SAAK,UAAU,IAAI,EAAE,KAAK,EAAE;AAAA,EAC7B;AAAA,EAEA,MAAa,KAA+B,OAAoB;AAC/D,KAAC,MAAM,QAAQ,WAAW,KAAK,UAAU,MAAM,IAAI,EAAE,IAAI,CAAO,OAAA,GAAwB,OAAO,KAAK,MAAM,CAAC,CAAC,GAC1G,IAAI,CAAM,OAAA;AACN,UAAA,GAAG,WAAW,YAAY;AACtB,eAAA,MAAM,GAAG,MAAM;AAAA,MACvB;AAAA,IAAA,CACA;AAAA,EACH;AACD;"}
1
+ {"version":3,"file":"EventManager.js","sources":["../../../../../packages/engine-content-api/src/mapper/EventManager.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from './Mapper'\nimport { ColumnValue } from './ColumnValue'\n\nexport class BeforeInsertEvent {\n\tpublic type = 'BeforeInsertEvent' as const\n\n\tpublic afterEvent: AfterInsertEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ColumnValue[],\n\t) {\n\t}\n}\n\nexport class AfterInsertEvent {\n\tpublic type = 'AfterInsertEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\n\nexport class BeforeUpdateEvent {\n\tpublic type = 'BeforeUpdateEvent' as const\n\n\tpublic afterEvent: AfterUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: ColumnValue[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class AfterUpdateEvent {\n\tpublic type = 'AfterUpdateEvent' as const\n\n\tprivate _hasChanges: boolean | undefined\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly data: (ColumnValue & { old: Value.FieldValue })[],\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n\tget hasChanges() {\n\t\t// todo: deep equals\n\t\treturn this._hasChanges = this.data.some(it => it.value !== it.old)\n\t}\n}\n\nexport class BeforeDeleteEvent {\n\tpublic type = 'BeforeDeleteEvent' as const\n\n\tconstructor(\n\t\tpublic readonly entity: Model.Entity,\n\t\tpublic readonly id: Input.PrimaryValue,\n\t) {\n\t}\n}\n\nexport class BeforeJunctionUpdateEvent {\n\tpublic type = 'BeforeJunctionUpdateEvent' as const\n\n\tpublic afterEvent: AfterJunctionUpdateEvent | undefined = undefined\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t) {\n\t}\n}\n\n\nexport class AfterJunctionUpdateEvent {\n\tpublic type = 'AfterJunctionUpdateEvent' as const\n\n\tconstructor(\n\t\tpublic readonly owningEntity: Model.Entity,\n\t\tpublic readonly owningRelation: Model.ManyHasManyOwningRelation,\n\t\tpublic readonly owningId: Input.PrimaryValue,\n\t\tpublic readonly inverseId: Input.PrimaryValue,\n\t\tpublic readonly operation: 'connect' | 'disconnect',\n\t\tpublic readonly hasChanges: boolean,\n\t) {\n\t}\n}\n\nexport class BeforeCommitEvent {\n\tpublic type = 'BeforeCommitEvent' as const\n}\n\nexport class AfterCommitEvent {\n\tpublic type = 'AfterCommitEvent' as const\n}\n\nexport type DataModificationEvent =\n\t| BeforeInsertEvent\n\t| AfterInsertEvent\n\t| BeforeUpdateEvent\n\t| AfterUpdateEvent\n\t| BeforeJunctionUpdateEvent\n\t| AfterJunctionUpdateEvent\n\t| BeforeDeleteEvent\n\nexport type AnyEvent =\n\t| DataModificationEvent\n\t| BeforeCommitEvent\n\t| AfterCommitEvent\n\nexport type EventMap<E extends AnyEvent = AnyEvent> = {\n\t[K in E['type']]: E extends { type: K } ? E : never\n}\n\nexport type EventListener<K extends keyof EventMap> = (event: EventMap[K], mapper: Mapper) => Promise<void>\n\nexport class EventManager {\n\tprivate listeners: { [K in keyof EventMap]: EventListener<K>[] } = {\n\t\tBeforeInsertEvent: [],\n\t\tAfterInsertEvent: [],\n\t\tBeforeUpdateEvent: [],\n\t\tAfterUpdateEvent: [],\n\t\tBeforeDeleteEvent: [],\n\t\tBeforeCommitEvent: [],\n\t\tAfterCommitEvent: [],\n\t\tBeforeJunctionUpdateEvent: [],\n\t\tAfterJunctionUpdateEvent: [],\n\t}\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic listen<K extends keyof EventMap>(type: K, cb: EventListener<K>) {\n\t\tthis.listeners[type].push(cb)\n\t}\n\n\tpublic async fire<K extends keyof EventMap>(event: EventMap[K]) {\n\t\tfor (const listener of this.listeners[event.type]) {\n\t\t\tawait listener(event, this.mapper)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,kBAAkB;AAAA,EAK9B,YACiB,QACA,MACf;AAFe,SAAA,SAAA;AACA,SAAA,OAAA;AANjB,kBAAA,MAAO,QAAO,mBAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAAA;AAOR;AAEO,MAAM,iBAAiB;AAAA,EAG7B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AALjB,kBAAA,MAAO,QAAO,kBAAA;AAAA,EAAA;AAQf;AAGO,MAAM,kBAAkB;AAAA,EAK9B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AAPjB,kBAAA,MAAO,QAAO,mBAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAAA;AAQR;AAEO,MAAM,iBAAiB;AAAA,EAK7B,YACiB,QACA,MACA,IACf;AAHe,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,KAAA;AAPjB,kBAAA,MAAO,QAAO,kBAAA;AAEN,kBAAA,MAAA,aAAA;AAAA,EAAA;AAAA,EAQR,IAAI,aAAa;AAET,WAAA,KAAK,cAAc,KAAK,KAAK,KAAK,CAAM,OAAA,GAAG,UAAU,GAAG,GAAG;AAAA,EAAA;AAEpE;AAEO,MAAM,kBAAkB;AAAA,EAG9B,YACiB,QACA,IACf;AAFe,SAAA,SAAA;AACA,SAAA,KAAA;AAJjB,kBAAA,MAAO,QAAO,mBAAA;AAAA,EAAA;AAOf;AAEO,MAAM,0BAA0B;AAAA,EAKtC,YACiB,cACA,gBACA,UACA,WACA,WACf;AALe,SAAA,eAAA;AACA,SAAA,iBAAA;AACA,SAAA,WAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AATjB,kBAAA,MAAO,QAAO,2BAAA;AAEP,kBAAA,MAAA,YAAA;AAAA,EAAA;AAUR;AAGO,MAAM,yBAAyB;AAAA,EAGrC,YACiB,cACA,gBACA,UACA,WACA,WACA,YACf;AANe,SAAA,eAAA;AACA,SAAA,iBAAA;AACA,SAAA,WAAA;AACA,SAAA,YAAA;AACA,SAAA,YAAA;AACA,SAAA,aAAA;AARjB,kBAAA,MAAO,QAAO,0BAAA;AAAA,EAAA;AAWf;AAEO,MAAM,kBAAkB;AAAA,EAAxB,cAAA;AACN,kBAAA,MAAO,QAAO,mBAAA;AAAA,EAAA;AACf;AAEO,MAAM,iBAAiB;AAAA,EAAvB,cAAA;AACN,kBAAA,MAAO,QAAO,kBAAA;AAAA,EAAA;AACf;AAsBO,MAAM,aAAa;AAAA,EAazB,YACkB,QAChB;AADgB,SAAA,SAAA;AAblB,kBAAA,MAAQ,aAA2D;AAAA,MAClE,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,mBAAmB,CAAC;AAAA,MACpB,mBAAmB,CAAC;AAAA,MACpB,kBAAkB,CAAC;AAAA,MACnB,2BAA2B,CAAC;AAAA,MAC5B,0BAA0B,CAAA;AAAA,IAAC,CAC5B;AAAA,EAAA;AAAA,EAOO,OAAiC,MAAS,IAAsB;AACtE,SAAK,UAAU,IAAI,EAAE,KAAK,EAAE;AAAA,EAAA;AAAA,EAG7B,MAAa,KAA+B,OAAoB;AAC/D,eAAW,YAAY,KAAK,UAAU,MAAM,IAAI,GAAG;AAC5C,YAAA,SAAS,OAAO,KAAK,MAAM;AAAA,IAAA;AAAA,EAClC;AAEF;"}