@contember/engine-content-api 1.3.0-alpha.1 → 1.3.0-alpha.4

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 (263) hide show
  1. package/dist/src/ExecutionContainer.d.ts +141 -0
  2. package/dist/src/ExecutionContainer.d.ts.map +1 -0
  3. package/dist/src/ExecutionContainer.js +84 -0
  4. package/dist/src/ExecutionContainer.js.map +1 -0
  5. package/dist/src/index.d.ts +2 -1
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +18 -2
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/mapper/ColumnValue.d.ts +2 -2
  10. package/dist/src/mapper/ColumnValue.d.ts.map +1 -1
  11. package/dist/src/mapper/EventManager.d.ts +86 -0
  12. package/dist/src/mapper/EventManager.d.ts.map +1 -0
  13. package/dist/src/mapper/EventManager.js +118 -0
  14. package/dist/src/mapper/EventManager.js.map +1 -0
  15. package/dist/src/mapper/JunctionTableManager.d.ts +12 -11
  16. package/dist/src/mapper/JunctionTableManager.d.ts.map +1 -1
  17. package/dist/src/mapper/JunctionTableManager.js +20 -8
  18. package/dist/src/mapper/JunctionTableManager.js.map +1 -1
  19. package/dist/src/mapper/Mapper.d.ts +11 -6
  20. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  21. package/dist/src/mapper/Mapper.js +34 -17
  22. package/dist/src/mapper/Mapper.js.map +1 -1
  23. package/dist/src/mapper/MapperFactory.d.ts +33 -0
  24. package/dist/src/mapper/MapperFactory.d.ts.map +1 -0
  25. package/dist/src/mapper/MapperFactory.js +40 -0
  26. package/dist/src/mapper/MapperFactory.js.map +1 -0
  27. package/dist/src/mapper/Result.d.ts +3 -2
  28. package/dist/src/mapper/Result.d.ts.map +1 -1
  29. package/dist/src/mapper/Result.js +2 -1
  30. package/dist/src/mapper/Result.js.map +1 -1
  31. package/dist/src/mapper/delete/DeleteExecutor.d.ts.map +1 -1
  32. package/dist/src/mapper/delete/DeleteExecutor.js +41 -1
  33. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  34. package/dist/src/mapper/index.d.ts +3 -1
  35. package/dist/src/mapper/index.d.ts.map +1 -1
  36. package/dist/src/mapper/index.js +3 -1
  37. package/dist/src/mapper/index.js.map +1 -1
  38. package/dist/src/mapper/insert/InsertBuilder.d.ts +2 -2
  39. package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
  40. package/dist/src/mapper/insert/InsertBuilder.js +8 -2
  41. package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
  42. package/dist/src/mapper/insert/Inserter.js +3 -3
  43. package/dist/src/mapper/insert/Inserter.js.map +1 -1
  44. package/dist/src/mapper/select/OrderByHelper.d.ts +1 -1
  45. package/dist/src/mapper/select/OrderByHelper.d.ts.map +1 -1
  46. package/dist/src/mapper/select/OrderByHelper.js +3 -1
  47. package/dist/src/mapper/select/OrderByHelper.js.map +1 -1
  48. package/dist/src/mapper/select/RelationFetcher.js +2 -2
  49. package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
  50. package/dist/src/mapper/update/UpdateBuilder.d.ts +4 -4
  51. package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
  52. package/dist/src/mapper/update/UpdateBuilder.js +26 -8
  53. package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
  54. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts +1 -1
  55. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts.map +1 -1
  56. package/dist/src/mapper/update/UpdateBuilderFactory.js +2 -2
  57. package/dist/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  58. package/dist/src/mapper/update/Updater.d.ts.map +1 -1
  59. package/dist/src/mapper/update/Updater.js +6 -10
  60. package/dist/src/mapper/update/Updater.js.map +1 -1
  61. package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts +1 -3
  62. package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts.map +1 -1
  63. package/dist/src/resolvers/GraphQlQueryAstFactory.js +1 -4
  64. package/dist/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  65. package/dist/src/resolvers/MutationResolver.d.ts +1 -4
  66. package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
  67. package/dist/src/resolvers/MutationResolver.js +9 -11
  68. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  69. package/dist/src/resolvers/ReadResolver.d.ts +1 -3
  70. package/dist/src/resolvers/ReadResolver.d.ts.map +1 -1
  71. package/dist/src/resolvers/ReadResolver.js +6 -10
  72. package/dist/src/resolvers/ReadResolver.js.map +1 -1
  73. package/dist/src/resolvers/ValidationResolver.d.ts +1 -3
  74. package/dist/src/resolvers/ValidationResolver.d.ts.map +1 -1
  75. package/dist/src/resolvers/ValidationResolver.js +3 -4
  76. package/dist/src/resolvers/ValidationResolver.js.map +1 -1
  77. package/dist/src/resolvers/index.d.ts +0 -1
  78. package/dist/src/resolvers/index.d.ts.map +1 -1
  79. package/dist/src/resolvers/index.js +0 -1
  80. package/dist/src/resolvers/index.js.map +1 -1
  81. package/dist/src/schema/CustomTypesProvider.d.ts.map +1 -1
  82. package/dist/src/schema/CustomTypesProvider.js +1 -23
  83. package/dist/src/schema/CustomTypesProvider.js.map +1 -1
  84. package/dist/src/schema/MutationProvider.js +4 -4
  85. package/dist/src/schema/MutationProvider.js.map +1 -1
  86. package/dist/src/schema/QueryProvider.js +3 -3
  87. package/dist/src/schema/QueryProvider.js.map +1 -1
  88. package/dist/src/tsconfig.tsbuildinfo +1 -1
  89. package/dist/src/types.d.ts +2 -3
  90. package/dist/src/types.d.ts.map +1 -1
  91. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js +3 -5
  92. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js.map +1 -1
  93. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js +2 -2
  94. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js.map +1 -1
  95. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js +1 -1
  96. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map +1 -1
  97. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +45 -45
  98. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  99. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +5 -5
  100. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
  101. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js +2 -2
  102. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js.map +1 -1
  103. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +7 -7
  104. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
  105. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +7 -7
  106. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
  107. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js +2 -2
  108. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js.map +1 -1
  109. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js +3 -3
  110. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js.map +1 -1
  111. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts +2 -0
  112. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts.map +1 -0
  113. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js +67 -0
  114. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js.map +1 -0
  115. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +6 -18
  116. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
  117. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js +3 -4
  118. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js.map +1 -1
  119. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js +3 -8
  120. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js.map +1 -1
  121. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js +3 -9
  122. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js.map +1 -1
  123. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js +3 -9
  124. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js.map +1 -1
  125. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js +3 -9
  126. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js.map +1 -1
  127. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js +3 -9
  128. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js.map +1 -1
  129. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js +3 -10
  130. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js.map +1 -1
  131. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js +3 -10
  132. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js.map +1 -1
  133. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js +3 -9
  134. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js.map +1 -1
  135. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js +3 -9
  136. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js.map +1 -1
  137. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js +6 -18
  138. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js.map +1 -1
  139. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js +3 -11
  140. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js.map +1 -1
  141. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js +3 -8
  142. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js.map +1 -1
  143. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js +3 -6
  144. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js.map +1 -1
  145. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js +3 -6
  146. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js.map +1 -1
  147. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js +15 -50
  148. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js.map +1 -1
  149. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js +3 -10
  150. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js.map +1 -1
  151. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js +3 -10
  152. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
  153. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js +3 -6
  154. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js.map +1 -1
  155. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js +3 -7
  156. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js.map +1 -1
  157. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js +12 -32
  158. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
  159. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js +3 -3
  160. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js.map +1 -1
  161. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +6 -20
  162. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js.map +1 -1
  163. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js +3 -10
  164. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js.map +1 -1
  165. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js +3 -9
  166. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js.map +1 -1
  167. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js +6 -19
  168. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js.map +1 -1
  169. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js +6 -8
  170. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js.map +1 -1
  171. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js +9 -24
  172. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js.map +1 -1
  173. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js +3 -7
  174. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js.map +1 -1
  175. package/dist/tests/cases/unit/orderbyHelper.test.js +11 -0
  176. package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
  177. package/dist/tests/src/test.d.ts +1 -0
  178. package/dist/tests/src/test.d.ts.map +1 -1
  179. package/dist/tests/src/test.js +34 -6
  180. package/dist/tests/src/test.js.map +1 -1
  181. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +11 -11
  183. package/src/ExecutionContainer.ts +204 -0
  184. package/src/index.ts +24 -1
  185. package/src/mapper/ColumnValue.ts +2 -2
  186. package/src/mapper/EventManager.ts +158 -0
  187. package/src/mapper/JunctionTableManager.ts +50 -32
  188. package/src/mapper/Mapper.ts +39 -21
  189. package/src/mapper/MapperFactory.ts +67 -0
  190. package/src/mapper/Result.ts +2 -1
  191. package/src/mapper/delete/DeleteExecutor.ts +42 -1
  192. package/src/mapper/index.ts +3 -1
  193. package/src/mapper/insert/InsertBuilder.ts +12 -2
  194. package/src/mapper/insert/Inserter.ts +3 -3
  195. package/src/mapper/select/OrderByHelper.ts +2 -1
  196. package/src/mapper/select/RelationFetcher.ts +2 -2
  197. package/src/mapper/update/UpdateBuilder.ts +30 -7
  198. package/src/mapper/update/UpdateBuilderFactory.ts +2 -2
  199. package/src/mapper/update/Updater.ts +6 -11
  200. package/src/resolvers/GraphQlQueryAstFactory.ts +1 -2
  201. package/src/resolvers/MutationResolver.ts +12 -13
  202. package/src/resolvers/ReadResolver.ts +5 -9
  203. package/src/resolvers/ValidationResolver.ts +2 -4
  204. package/src/resolvers/index.ts +0 -1
  205. package/src/schema/CustomTypesProvider.ts +2 -27
  206. package/src/schema/MutationProvider.ts +4 -4
  207. package/src/schema/QueryProvider.ts +3 -3
  208. package/src/tsconfig.json +7 -21
  209. package/src/types.ts +2 -3
  210. package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +3 -5
  211. package/tests/cases/integration/graphQlDb/insert/insertSequence.test.ts +2 -2
  212. package/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts +1 -1
  213. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +9 -9
  214. package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +3 -3
  215. package/tests/cases/integration/graphQlDb/update/invalidInput.test.ts +2 -2
  216. package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +7 -7
  217. package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +7 -7
  218. package/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.ts +2 -2
  219. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.ts +3 -3
  220. package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +67 -0
  221. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +6 -18
  222. package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +3 -4
  223. package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +3 -8
  224. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +3 -9
  225. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +3 -9
  226. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +3 -9
  227. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +3 -9
  228. package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +3 -10
  229. package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +3 -10
  230. package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +3 -9
  231. package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +3 -9
  232. package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +6 -18
  233. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +3 -11
  234. package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +3 -8
  235. package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +3 -6
  236. package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +3 -6
  237. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +15 -50
  238. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +3 -10
  239. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +3 -10
  240. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +3 -6
  241. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +3 -7
  242. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +12 -32
  243. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +3 -3
  244. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +6 -20
  245. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +3 -10
  246. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +3 -9
  247. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +6 -19
  248. package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +6 -8
  249. package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +9 -24
  250. package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +3 -7
  251. package/tests/cases/unit/orderbyHelper.test.ts +13 -0
  252. package/tests/src/test.ts +38 -15
  253. package/tests/tsconfig.json +3 -9
  254. package/dist/src/mapper/MapperContainer.d.ts +0 -18
  255. package/dist/src/mapper/MapperContainer.d.ts.map +0 -1
  256. package/dist/src/mapper/MapperContainer.js +0 -55
  257. package/dist/src/mapper/MapperContainer.js.map +0 -1
  258. package/dist/src/resolvers/ExecutionContainerFactory.d.ts +0 -24
  259. package/dist/src/resolvers/ExecutionContainerFactory.d.ts.map +0 -1
  260. package/dist/src/resolvers/ExecutionContainerFactory.js +0 -45
  261. package/dist/src/resolvers/ExecutionContainerFactory.js.map +0 -1
  262. package/src/mapper/MapperContainer.ts +0 -142
  263. package/src/resolvers/ExecutionContainerFactory.ts +0 -74
@@ -0,0 +1,141 @@
1
+ import { PredicateFactory, PredicatesInjector, VariableInjector } from './acl';
2
+ import { ConditionBuilder, FieldsVisitorFactory, JoinBuilder, MetaHandler, OrderByBuilder, RelationFetcher, WhereBuilder } from './mapper/select';
3
+ import { UniqueWhereExpander } from './inputProcessing';
4
+ import { HasManyToHasOneReducerExecutionHandler } from './extensions';
5
+ import { DeleteExecutor, InsertBuilderFactory, Inserter, JunctionConnectHandler, JunctionDisconnectHandler, JunctionTableManager, MapperFactory, PathFactory, SelectBuilder, SelectHydrator, UpdateBuilderFactory, Updater } from './mapper';
6
+ import { Builder } from '@contember/dic';
7
+ import { Acl, Model, Schema } from '@contember/schema';
8
+ import { Client, SelectBuilder as DbSelectBuilder } from '@contember/database';
9
+ import { Providers } from '@contember/schema-utils';
10
+ import { PaginatedHasManyExecutionHandler } from './extensions/paginatedHasMany/PaginatedHasManyExecutionHandler';
11
+ import { WhereOptimizer } from './mapper/select/optimizer/WhereOptimizer';
12
+ import { GraphQlQueryAstFactory, MutationResolver, ReadResolver, ValidationResolver } from './resolvers';
13
+ import { ColumnValueResolver, DependencyCollector, EntityRulesResolver, InputPreValidator, QueryAstFactory, ValidationDataSelector } from './input-validation';
14
+ export declare type ExecutionContainerArgs = {
15
+ schema: Schema & {
16
+ id: number;
17
+ };
18
+ db: Client;
19
+ identityId: string;
20
+ identityVariables: Acl.VariablesMap;
21
+ permissions: Acl.Permissions;
22
+ systemSchema: string;
23
+ project: {
24
+ slug: string;
25
+ };
26
+ stage: {
27
+ id: string;
28
+ slug: string;
29
+ };
30
+ };
31
+ export interface ExecutionContainer {
32
+ readResolver: ReadResolver;
33
+ mutationResolver: MutationResolver;
34
+ validationResolver: ValidationResolver;
35
+ }
36
+ export declare type ExecutionContainerBuilder = ReturnType<ExecutionContainerFactory['createBuilderInternal']>;
37
+ export declare type ExecutionContainerHook = (builder: ExecutionContainerBuilder) => ExecutionContainerBuilder;
38
+ export declare class ExecutionContainerFactory {
39
+ private readonly providers;
40
+ readonly hooks: ExecutionContainerHook[];
41
+ constructor(providers: Providers);
42
+ createBuilder(args: ExecutionContainerArgs): ExecutionContainerBuilder;
43
+ createBuilderInternal({ permissions, identityVariables, identityId, db, schema, systemSchema, stage, project }: ExecutionContainerArgs): Builder<{
44
+ systemSchema: string;
45
+ } & {
46
+ db: Client<import("@contember/database/dist/src/client/Connection").Connection.ConnectionLike<{}>>;
47
+ } & {
48
+ project: {
49
+ slug: string;
50
+ };
51
+ } & {
52
+ stage: {
53
+ id: string;
54
+ slug: string;
55
+ };
56
+ } & {
57
+ schema: Schema & {
58
+ id: number;
59
+ };
60
+ } & {
61
+ providers: Providers;
62
+ } & {
63
+ variableInjector: VariableInjector;
64
+ } & {
65
+ predicateFactory: PredicateFactory;
66
+ } & {
67
+ predicatesInjector: PredicatesInjector;
68
+ } & {
69
+ joinBuilder: JoinBuilder;
70
+ } & {
71
+ conditionBuilder: ConditionBuilder;
72
+ } & {
73
+ pathFactory: PathFactory;
74
+ } & {
75
+ whereOptimized: WhereOptimizer;
76
+ } & {
77
+ whereBuilder: WhereBuilder;
78
+ } & {
79
+ orderByBuilder: OrderByBuilder;
80
+ } & {
81
+ relationFetcher: RelationFetcher;
82
+ } & {
83
+ fieldsVisitorFactory: FieldsVisitorFactory;
84
+ } & {
85
+ metaHandler: MetaHandler;
86
+ } & {
87
+ uniqueWhereExpander: UniqueWhereExpander;
88
+ } & {
89
+ hasManyToHasOneReducer: HasManyToHasOneReducerExecutionHandler;
90
+ } & {
91
+ paginatedHasManyExecutionHandler: PaginatedHasManyExecutionHandler;
92
+ } & {
93
+ selectHandlers: {
94
+ [x: string]: HasManyToHasOneReducerExecutionHandler | PaginatedHasManyExecutionHandler;
95
+ };
96
+ } & {
97
+ selectBuilderFactory: {
98
+ create(qb: DbSelectBuilder, hydrator: SelectHydrator, relationPath: Model.AnyRelationContext[]): SelectBuilder;
99
+ };
100
+ } & {
101
+ insertBuilderFactory: InsertBuilderFactory;
102
+ } & {
103
+ updateBuilderFactory: UpdateBuilderFactory;
104
+ } & {
105
+ connectJunctionHandler: JunctionConnectHandler;
106
+ } & {
107
+ disconnectJunctionHandler: JunctionDisconnectHandler;
108
+ } & {
109
+ junctionTableManager: JunctionTableManager;
110
+ } & {
111
+ deleteExecutor: DeleteExecutor;
112
+ } & {
113
+ updater: Updater;
114
+ } & {
115
+ inserter: Inserter;
116
+ } & {
117
+ mapperFactory: MapperFactory;
118
+ } & {
119
+ queryAstFactory: GraphQlQueryAstFactory;
120
+ } & {
121
+ readResolver: ReadResolver;
122
+ } & {
123
+ validationDependencyCollector: DependencyCollector;
124
+ } & {
125
+ validationQueryAstFactory: QueryAstFactory;
126
+ } & {
127
+ dataSelector: ValidationDataSelector;
128
+ } & {
129
+ columnValueResolver: ColumnValueResolver;
130
+ } & {
131
+ entityRulesResolver: EntityRulesResolver;
132
+ } & {
133
+ inputPreValidator: InputPreValidator;
134
+ } & {
135
+ mutationResolver: MutationResolver;
136
+ } & {
137
+ validationResolver: ValidationResolver;
138
+ }>;
139
+ create(args: ExecutionContainerArgs): ExecutionContainer;
140
+ }
141
+ //# sourceMappingURL=ExecutionContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecutionContainerFactory = void 0;
4
+ const acl_1 = require("./acl");
5
+ const select_1 = require("./mapper/select");
6
+ const inputProcessing_1 = require("./inputProcessing");
7
+ const extensions_1 = require("./extensions");
8
+ const mapper_1 = require("./mapper");
9
+ const dic_1 = require("@contember/dic");
10
+ const PaginatedHasManyExecutionHandler_1 = require("./extensions/paginatedHasMany/PaginatedHasManyExecutionHandler");
11
+ const PaginatedHasManyFieldProvider_1 = require("./extensions/paginatedHasMany/PaginatedHasManyFieldProvider");
12
+ const WhereOptimizer_1 = require("./mapper/select/optimizer/WhereOptimizer");
13
+ const ConditionOptimizer_1 = require("./mapper/select/optimizer/ConditionOptimizer");
14
+ const resolvers_1 = require("./resolvers");
15
+ const input_validation_1 = require("./input-validation");
16
+ class ExecutionContainerFactory {
17
+ constructor(providers) {
18
+ this.providers = providers;
19
+ this.hooks = [];
20
+ }
21
+ createBuilder(args) {
22
+ const builder = this.createBuilderInternal(args);
23
+ return this.hooks.reduce((acc, cb) => cb(acc), builder);
24
+ }
25
+ createBuilderInternal({ permissions, identityVariables, identityId, db, schema, systemSchema, stage, project }) {
26
+ return new dic_1.Builder({})
27
+ .addService('systemSchema', () => systemSchema)
28
+ .addService('db', () => db)
29
+ .addService('project', () => project)
30
+ .addService('stage', () => stage)
31
+ .addService('schema', () => schema)
32
+ .addService('providers', () => this.providers)
33
+ .addService('variableInjector', ({ schema }) => new acl_1.VariableInjector(schema.model, identityVariables))
34
+ .addService('predicateFactory', ({ variableInjector, schema }) => new acl_1.PredicateFactory(permissions, schema.model, variableInjector))
35
+ .addService('predicatesInjector', ({ predicateFactory, schema }) => new acl_1.PredicatesInjector(schema.model, predicateFactory))
36
+ .addService('joinBuilder', ({ schema }) => new select_1.JoinBuilder(schema.model))
37
+ .addService('conditionBuilder', () => new select_1.ConditionBuilder())
38
+ .addService('pathFactory', () => new mapper_1.PathFactory())
39
+ .addService('whereOptimized', ({ schema }) => new WhereOptimizer_1.WhereOptimizer(schema.model, new ConditionOptimizer_1.ConditionOptimizer()))
40
+ .addService('whereBuilder', ({ joinBuilder, conditionBuilder, pathFactory, whereOptimized, schema }) => new select_1.WhereBuilder(schema.model, joinBuilder, conditionBuilder, pathFactory, whereOptimized, schema.settings.useExistsInHasManyFilter === true))
41
+ .addService('orderByBuilder', ({ joinBuilder, schema }) => new select_1.OrderByBuilder(schema.model, joinBuilder))
42
+ .addService('relationFetcher', ({ whereBuilder, orderByBuilder, predicatesInjector, pathFactory }) => new select_1.RelationFetcher(whereBuilder, orderByBuilder, predicatesInjector, pathFactory))
43
+ .addService('fieldsVisitorFactory', ({ relationFetcher, predicateFactory, whereBuilder, schema }) => new select_1.FieldsVisitorFactory(schema.model, relationFetcher, predicateFactory, whereBuilder))
44
+ .addService('metaHandler', ({ whereBuilder, predicateFactory }) => new select_1.MetaHandler(whereBuilder, predicateFactory))
45
+ .addService('uniqueWhereExpander', ({ schema }) => new inputProcessing_1.UniqueWhereExpander(schema.model))
46
+ .addService('hasManyToHasOneReducer', ({ uniqueWhereExpander, schema }) => new extensions_1.HasManyToHasOneReducerExecutionHandler(schema.model, uniqueWhereExpander))
47
+ .addService('paginatedHasManyExecutionHandler', ({ relationFetcher, schema }) => new PaginatedHasManyExecutionHandler_1.PaginatedHasManyExecutionHandler(schema.model, relationFetcher))
48
+ .addService('selectHandlers', ({ hasManyToHasOneReducer, paginatedHasManyExecutionHandler }) => ({
49
+ [extensions_1.HasManyToHasOneReducer.extensionName]: hasManyToHasOneReducer,
50
+ [PaginatedHasManyFieldProvider_1.PaginatedHasManyFieldProvider.extensionName]: paginatedHasManyExecutionHandler,
51
+ }))
52
+ .addService('selectBuilderFactory', ({ whereBuilder, orderByBuilder, fieldsVisitorFactory, metaHandler, selectHandlers, pathFactory, predicateFactory, schema }) => new (class {
53
+ create(qb, hydrator, relationPath) {
54
+ return new mapper_1.SelectBuilder(schema.model, whereBuilder, orderByBuilder, metaHandler, qb, hydrator, fieldsVisitorFactory, selectHandlers, pathFactory, relationPath, predicateFactory);
55
+ }
56
+ })())
57
+ .addService('insertBuilderFactory', ({ whereBuilder, pathFactory, schema, predicateFactory }) => new mapper_1.InsertBuilderFactory(schema.model, whereBuilder, pathFactory, predicateFactory))
58
+ .addService('updateBuilderFactory', ({ whereBuilder, pathFactory, schema, predicateFactory }) => new mapper_1.UpdateBuilderFactory(schema.model, whereBuilder, pathFactory, predicateFactory))
59
+ .addService('connectJunctionHandler', () => new mapper_1.JunctionConnectHandler())
60
+ .addService('disconnectJunctionHandler', ({}) => new mapper_1.JunctionDisconnectHandler())
61
+ .addService('junctionTableManager', ({ predicateFactory, whereBuilder, connectJunctionHandler, disconnectJunctionHandler, pathFactory, schema }) => new mapper_1.JunctionTableManager(schema.model, predicateFactory, whereBuilder, connectJunctionHandler, disconnectJunctionHandler, pathFactory))
62
+ .addService('deleteExecutor', ({ predicateFactory, updateBuilderFactory, whereBuilder, pathFactory, schema }) => new mapper_1.DeleteExecutor(schema.model, predicateFactory, whereBuilder, updateBuilderFactory, pathFactory))
63
+ .addService('updater', ({ predicateFactory, updateBuilderFactory, schema }) => new mapper_1.Updater(schema.model, predicateFactory, updateBuilderFactory))
64
+ .addService('inserter', ({ insertBuilderFactory, providers, schema }) => new mapper_1.Inserter(schema.model, insertBuilderFactory, providers))
65
+ .addService('mapperFactory', ({ predicatesInjector, selectBuilderFactory, uniqueWhereExpander, whereBuilder, junctionTableManager, deleteExecutor, updater, inserter, pathFactory, providers, schema }) => {
66
+ return new mapper_1.MapperFactory(db, identityId, schema.model, predicatesInjector, selectBuilderFactory, uniqueWhereExpander, whereBuilder, junctionTableManager, deleteExecutor, updater, inserter, pathFactory, providers);
67
+ })
68
+ .addService('queryAstFactory', () => new resolvers_1.GraphQlQueryAstFactory())
69
+ .addService('readResolver', ({ mapperFactory, queryAstFactory }) => new resolvers_1.ReadResolver(mapperFactory, queryAstFactory))
70
+ .addService('validationDependencyCollector', () => new input_validation_1.DependencyCollector())
71
+ .addService('validationQueryAstFactory', ({ schema }) => new input_validation_1.QueryAstFactory(schema.model))
72
+ .addService('dataSelector', ({ validationQueryAstFactory, schema }) => new input_validation_1.ValidationDataSelector(schema.model, validationQueryAstFactory))
73
+ .addService('columnValueResolver', ({ providers }) => new input_validation_1.ColumnValueResolver(providers))
74
+ .addService('entityRulesResolver', ({ schema }) => new input_validation_1.EntityRulesResolver(schema.validation, schema.model))
75
+ .addService('inputPreValidator', ({ entityRulesResolver, columnValueResolver, dataSelector, schema }) => new input_validation_1.InputPreValidator(schema.model, entityRulesResolver, columnValueResolver, dataSelector))
76
+ .addService('mutationResolver', ({ mapperFactory, inputPreValidator, queryAstFactory, schema }) => new resolvers_1.MutationResolver(schema.model, mapperFactory, inputPreValidator, queryAstFactory))
77
+ .addService('validationResolver', ({ inputPreValidator, mapperFactory }) => new resolvers_1.ValidationResolver(mapperFactory, inputPreValidator));
78
+ }
79
+ create(args) {
80
+ return this.createBuilder(args).build().pick('validationResolver', 'readResolver', 'mutationResolver');
81
+ }
82
+ }
83
+ exports.ExecutionContainerFactory = ExecutionContainerFactory;
84
+ //# sourceMappingURL=ExecutionContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionContainer.js","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,8 @@ export * from './schema';
5
5
  export * from './inputProcessing';
6
6
  export { EntityRulesResolver } from './input-validation';
7
7
  export * from './types';
8
+ export * from './ExecutionContainer';
8
9
  export { graphql } from 'graphql';
9
10
  export { UserError } from './exception';
10
- export { createMapperContainer } from './mapper';
11
+ export { DataModificationEvent, AfterCommitEvent, AfterInsertEvent, AfterJunctionUpdateEvent, AfterUpdateEvent, BeforeCommitEvent, BeforeDeleteEvent, BeforeInsertEvent, BeforeJunctionUpdateEvent, BeforeUpdateEvent, EventManager, Mapper, MapperFactory, ExecutionContainer, ExecutionContainerBuilder, Path, WhereBuilder, PathFactory, ExecutionContainerFactory, ExecutionContainerHook, ExecutionContainerArgs, } from './mapper';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,UAAU,CAAA"}
package/dist/src/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.createMapperContainer = exports.UserError = exports.graphql = exports.EntityRulesResolver = void 0;
17
+ exports.ExecutionContainerFactory = exports.PathFactory = exports.WhereBuilder = exports.Path = exports.MapperFactory = exports.Mapper = exports.EventManager = exports.BeforeUpdateEvent = exports.BeforeJunctionUpdateEvent = exports.BeforeInsertEvent = exports.BeforeDeleteEvent = exports.BeforeCommitEvent = exports.AfterUpdateEvent = exports.AfterJunctionUpdateEvent = exports.AfterInsertEvent = exports.AfterCommitEvent = exports.UserError = exports.graphql = exports.EntityRulesResolver = void 0;
18
18
  __exportStar(require("./acl"), exports);
19
19
  __exportStar(require("./resolvers"), exports);
20
20
  __exportStar(require("./introspection"), exports);
@@ -23,10 +23,26 @@ __exportStar(require("./inputProcessing"), exports);
23
23
  var input_validation_1 = require("./input-validation");
24
24
  Object.defineProperty(exports, "EntityRulesResolver", { enumerable: true, get: function () { return input_validation_1.EntityRulesResolver; } });
25
25
  __exportStar(require("./types"), exports);
26
+ __exportStar(require("./ExecutionContainer"), exports);
26
27
  var graphql_1 = require("graphql");
27
28
  Object.defineProperty(exports, "graphql", { enumerable: true, get: function () { return graphql_1.graphql; } });
28
29
  var exception_1 = require("./exception");
29
30
  Object.defineProperty(exports, "UserError", { enumerable: true, get: function () { return exception_1.UserError; } });
30
31
  var mapper_1 = require("./mapper");
31
- Object.defineProperty(exports, "createMapperContainer", { enumerable: true, get: function () { return mapper_1.createMapperContainer; } });
32
+ Object.defineProperty(exports, "AfterCommitEvent", { enumerable: true, get: function () { return mapper_1.AfterCommitEvent; } });
33
+ Object.defineProperty(exports, "AfterInsertEvent", { enumerable: true, get: function () { return mapper_1.AfterInsertEvent; } });
34
+ Object.defineProperty(exports, "AfterJunctionUpdateEvent", { enumerable: true, get: function () { return mapper_1.AfterJunctionUpdateEvent; } });
35
+ Object.defineProperty(exports, "AfterUpdateEvent", { enumerable: true, get: function () { return mapper_1.AfterUpdateEvent; } });
36
+ Object.defineProperty(exports, "BeforeCommitEvent", { enumerable: true, get: function () { return mapper_1.BeforeCommitEvent; } });
37
+ Object.defineProperty(exports, "BeforeDeleteEvent", { enumerable: true, get: function () { return mapper_1.BeforeDeleteEvent; } });
38
+ Object.defineProperty(exports, "BeforeInsertEvent", { enumerable: true, get: function () { return mapper_1.BeforeInsertEvent; } });
39
+ Object.defineProperty(exports, "BeforeJunctionUpdateEvent", { enumerable: true, get: function () { return mapper_1.BeforeJunctionUpdateEvent; } });
40
+ Object.defineProperty(exports, "BeforeUpdateEvent", { enumerable: true, get: function () { return mapper_1.BeforeUpdateEvent; } });
41
+ Object.defineProperty(exports, "EventManager", { enumerable: true, get: function () { return mapper_1.EventManager; } });
42
+ Object.defineProperty(exports, "Mapper", { enumerable: true, get: function () { return mapper_1.Mapper; } });
43
+ Object.defineProperty(exports, "MapperFactory", { enumerable: true, get: function () { return mapper_1.MapperFactory; } });
44
+ Object.defineProperty(exports, "Path", { enumerable: true, get: function () { return mapper_1.Path; } });
45
+ Object.defineProperty(exports, "WhereBuilder", { enumerable: true, get: function () { return mapper_1.WhereBuilder; } });
46
+ Object.defineProperty(exports, "PathFactory", { enumerable: true, get: function () { return mapper_1.PathFactory; } });
47
+ Object.defineProperty(exports, "ExecutionContainerFactory", { enumerable: true, get: function () { return mapper_1.ExecutionContainerFactory; } });
32
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,8CAA2B;AAC3B,kDAA+B;AAC/B,2CAAwB;AACxB,oDAAiC;AACjC,uDAAwD;AAA/C,uHAAA,mBAAmB,OAAA;AAC5B,0CAAuB;AACvB,mCAAiC;AAAxB,kGAAA,OAAO,OAAA;AAChB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,mCAAgD;AAAvC,+GAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,8CAA2B;AAC3B,kDAA+B;AAC/B,2CAAwB;AACxB,oDAAiC;AACjC,uDAAwD;AAA/C,uHAAA,mBAAmB,OAAA;AAC5B,0CAAuB;AACvB,uDAAoC;AACpC,mCAAiC;AAAxB,kGAAA,OAAO,OAAA;AAChB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,mCAsBiB;AApBhB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,0GAAA,gBAAgB,OAAA;AAChB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,mHAAA,yBAAyB,OAAA;AACzB,2GAAA,iBAAiB,OAAA;AACjB,sGAAA,YAAY,OAAA;AACZ,gGAAA,MAAM,OAAA;AACN,uGAAA,aAAa,OAAA;AAGb,8FAAA,IAAI,OAAA;AACJ,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AACX,mHAAA,yBAAyB,OAAA"}
@@ -1,12 +1,12 @@
1
1
  import { Value } from '@contember/schema';
2
2
  export declare type ColumnValue<E = never> = {
3
- value: PromiseLike<Value.AtomicValue<E> | undefined>;
3
+ value: PromiseLike<Value.FieldValue<E> | undefined>;
4
4
  fieldName: string;
5
5
  columnName: string;
6
6
  columnType: string;
7
7
  };
8
8
  export declare type ResolvedColumnValue<E = never> = ColumnValue<E> & {
9
- resolvedValue: Value.AtomicValue<E>;
9
+ resolvedValue: Value.FieldValue<E>;
10
10
  };
11
11
  export declare const resolveGenericValue: <T>(value: Value.GenericValueLike<T>) => Promise<T>;
12
12
  export declare const resolveRowData: <E>(values: ColumnValue<E>[]) => Promise<ResolvedColumnValue<Exclude<E, undefined>>[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnValue.d.ts","sourceRoot":"","sources":["../../../src/mapper/ColumnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGzC,oBAAY,WAAW,CAAC,CAAC,GAAG,KAAK,IAAI;IACpC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,oBAAY,mBAAmB,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAC7D,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,mBAAmB,qDAK/B,CAAA;AAED,eAAO,MAAM,cAAc,wFAW1B,CAAA;AAED,eAAO,MAAM,oBAAoB,WAAY,mBAAmB,EAAE,KAAG,OAAO,MAAM,EAAE,MAAM,WAAW,CAClB,CAAA"}
1
+ {"version":3,"file":"ColumnValue.d.ts","sourceRoot":"","sources":["../../../src/mapper/ColumnValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGzC,oBAAY,WAAW,CAAC,CAAC,GAAG,KAAK,IAAI;IACpC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,oBAAY,mBAAmB,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAC7D,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,mBAAmB,qDAK/B,CAAA;AAED,eAAO,MAAM,cAAc,wFAW1B,CAAA;AAED,eAAO,MAAM,oBAAoB,WAAY,mBAAmB,EAAE,KAAG,OAAO,MAAM,EAAE,MAAM,WAAW,CAClB,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { Input, Model, Value } from '@contember/schema';
2
+ import { ResolvedColumnValue } from './ColumnValue';
3
+ import { Mapper } from './Mapper';
4
+ export declare class BeforeInsertEvent {
5
+ readonly entity: Model.Entity;
6
+ readonly data: ResolvedColumnValue[];
7
+ type: "BeforeInsertEvent";
8
+ afterEvent: AfterInsertEvent | undefined;
9
+ constructor(entity: Model.Entity, data: ResolvedColumnValue[]);
10
+ }
11
+ export declare class AfterInsertEvent {
12
+ readonly entity: Model.Entity;
13
+ readonly data: ResolvedColumnValue[];
14
+ readonly id: Input.PrimaryValue;
15
+ type: "AfterInsertEvent";
16
+ constructor(entity: Model.Entity, data: ResolvedColumnValue[], id: Input.PrimaryValue);
17
+ }
18
+ export declare class BeforeUpdateEvent {
19
+ readonly entity: Model.Entity;
20
+ readonly data: ResolvedColumnValue[];
21
+ readonly id: Input.PrimaryValue;
22
+ type: "BeforeUpdateEvent";
23
+ afterEvent: AfterUpdateEvent | undefined;
24
+ constructor(entity: Model.Entity, data: ResolvedColumnValue[], id: Input.PrimaryValue);
25
+ }
26
+ export declare class AfterUpdateEvent {
27
+ readonly entity: Model.Entity;
28
+ readonly data: (ResolvedColumnValue & {
29
+ old: Value.FieldValue;
30
+ })[];
31
+ readonly id: Input.PrimaryValue;
32
+ type: "AfterUpdateEvent";
33
+ private _hasChanges;
34
+ constructor(entity: Model.Entity, data: (ResolvedColumnValue & {
35
+ old: Value.FieldValue;
36
+ })[], id: Input.PrimaryValue);
37
+ get hasChanges(): boolean;
38
+ }
39
+ export declare class BeforeDeleteEvent {
40
+ readonly entity: Model.Entity;
41
+ readonly id: Input.PrimaryValue;
42
+ type: "BeforeDeleteEvent";
43
+ constructor(entity: Model.Entity, id: Input.PrimaryValue);
44
+ }
45
+ export declare class BeforeJunctionUpdateEvent {
46
+ readonly owningEntity: Model.Entity;
47
+ readonly owningRelation: Model.ManyHasManyOwningRelation;
48
+ readonly owningId: Input.PrimaryValue;
49
+ readonly inverseId: Input.PrimaryValue;
50
+ readonly operation: 'connect' | 'disconnect';
51
+ type: "BeforeJunctionUpdateEvent";
52
+ afterEvent: AfterJunctionUpdateEvent | undefined;
53
+ constructor(owningEntity: Model.Entity, owningRelation: Model.ManyHasManyOwningRelation, owningId: Input.PrimaryValue, inverseId: Input.PrimaryValue, operation: 'connect' | 'disconnect');
54
+ }
55
+ export declare class AfterJunctionUpdateEvent {
56
+ readonly owningEntity: Model.Entity;
57
+ readonly owningRelation: Model.ManyHasManyOwningRelation;
58
+ readonly owningId: Input.PrimaryValue;
59
+ readonly inverseId: Input.PrimaryValue;
60
+ readonly operation: 'connect' | 'disconnect';
61
+ readonly hasChanges: boolean;
62
+ type: "AfterJunctionUpdateEvent";
63
+ constructor(owningEntity: Model.Entity, owningRelation: Model.ManyHasManyOwningRelation, owningId: Input.PrimaryValue, inverseId: Input.PrimaryValue, operation: 'connect' | 'disconnect', hasChanges: boolean);
64
+ }
65
+ export declare class BeforeCommitEvent {
66
+ type: "BeforeCommitEvent";
67
+ }
68
+ export declare class AfterCommitEvent {
69
+ type: "AfterCommitEvent";
70
+ }
71
+ export declare type DataModificationEvent = BeforeInsertEvent | AfterInsertEvent | BeforeUpdateEvent | AfterUpdateEvent | BeforeJunctionUpdateEvent | AfterJunctionUpdateEvent | BeforeDeleteEvent;
72
+ export declare type AnyEvent = DataModificationEvent | BeforeCommitEvent | AfterCommitEvent;
73
+ export declare type EventMap<E extends AnyEvent = AnyEvent> = {
74
+ [K in E['type']]: E extends {
75
+ type: K;
76
+ } ? E : never;
77
+ };
78
+ export declare type EventListener<K extends keyof EventMap> = (event: EventMap[K], mapper: Mapper) => Promise<void>;
79
+ export declare class EventManager {
80
+ private readonly mapper;
81
+ private listeners;
82
+ constructor(mapper: Mapper);
83
+ listen<K extends keyof EventMap>(type: K, cb: EventListener<K>): void;
84
+ fire<K extends keyof EventMap>(event: EventMap[K]): Promise<void>;
85
+ }
86
+ //# sourceMappingURL=EventManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventManager.d.ts","sourceRoot":"","sources":["../../../src/mapper/EventManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventManager = exports.AfterCommitEvent = exports.BeforeCommitEvent = exports.AfterJunctionUpdateEvent = exports.BeforeJunctionUpdateEvent = exports.BeforeDeleteEvent = exports.AfterUpdateEvent = exports.BeforeUpdateEvent = exports.AfterInsertEvent = exports.BeforeInsertEvent = void 0;
4
+ const logger_1 = require("@contember/logger");
5
+ class BeforeInsertEvent {
6
+ constructor(entity, data) {
7
+ this.entity = entity;
8
+ this.data = data;
9
+ this.type = 'BeforeInsertEvent';
10
+ this.afterEvent = undefined;
11
+ }
12
+ }
13
+ exports.BeforeInsertEvent = BeforeInsertEvent;
14
+ class AfterInsertEvent {
15
+ constructor(entity, data, id) {
16
+ this.entity = entity;
17
+ this.data = data;
18
+ this.id = id;
19
+ this.type = 'AfterInsertEvent';
20
+ }
21
+ }
22
+ exports.AfterInsertEvent = AfterInsertEvent;
23
+ class BeforeUpdateEvent {
24
+ constructor(entity, data, id) {
25
+ this.entity = entity;
26
+ this.data = data;
27
+ this.id = id;
28
+ this.type = 'BeforeUpdateEvent';
29
+ this.afterEvent = undefined;
30
+ }
31
+ }
32
+ exports.BeforeUpdateEvent = BeforeUpdateEvent;
33
+ class AfterUpdateEvent {
34
+ constructor(entity, data, id) {
35
+ this.entity = entity;
36
+ this.data = data;
37
+ this.id = id;
38
+ this.type = 'AfterUpdateEvent';
39
+ }
40
+ get hasChanges() {
41
+ // todo: deep equals
42
+ return this._hasChanges = this.data.some(it => it.resolvedValue !== it.old);
43
+ }
44
+ }
45
+ exports.AfterUpdateEvent = AfterUpdateEvent;
46
+ class BeforeDeleteEvent {
47
+ constructor(entity, id) {
48
+ this.entity = entity;
49
+ this.id = id;
50
+ this.type = 'BeforeDeleteEvent';
51
+ }
52
+ }
53
+ exports.BeforeDeleteEvent = BeforeDeleteEvent;
54
+ class BeforeJunctionUpdateEvent {
55
+ constructor(owningEntity, owningRelation, owningId, inverseId, operation) {
56
+ this.owningEntity = owningEntity;
57
+ this.owningRelation = owningRelation;
58
+ this.owningId = owningId;
59
+ this.inverseId = inverseId;
60
+ this.operation = operation;
61
+ this.type = 'BeforeJunctionUpdateEvent';
62
+ this.afterEvent = undefined;
63
+ }
64
+ }
65
+ exports.BeforeJunctionUpdateEvent = BeforeJunctionUpdateEvent;
66
+ class AfterJunctionUpdateEvent {
67
+ constructor(owningEntity, owningRelation, owningId, inverseId, operation, hasChanges) {
68
+ this.owningEntity = owningEntity;
69
+ this.owningRelation = owningRelation;
70
+ this.owningId = owningId;
71
+ this.inverseId = inverseId;
72
+ this.operation = operation;
73
+ this.hasChanges = hasChanges;
74
+ this.type = 'AfterJunctionUpdateEvent';
75
+ }
76
+ }
77
+ exports.AfterJunctionUpdateEvent = AfterJunctionUpdateEvent;
78
+ class BeforeCommitEvent {
79
+ constructor() {
80
+ this.type = 'BeforeCommitEvent';
81
+ }
82
+ }
83
+ exports.BeforeCommitEvent = BeforeCommitEvent;
84
+ class AfterCommitEvent {
85
+ constructor() {
86
+ this.type = 'AfterCommitEvent';
87
+ }
88
+ }
89
+ exports.AfterCommitEvent = AfterCommitEvent;
90
+ class EventManager {
91
+ constructor(mapper) {
92
+ this.mapper = mapper;
93
+ this.listeners = {
94
+ BeforeInsertEvent: [],
95
+ AfterInsertEvent: [],
96
+ BeforeUpdateEvent: [],
97
+ AfterUpdateEvent: [],
98
+ BeforeDeleteEvent: [],
99
+ BeforeCommitEvent: [],
100
+ AfterCommitEvent: [],
101
+ BeforeJunctionUpdateEvent: [],
102
+ AfterJunctionUpdateEvent: [],
103
+ };
104
+ }
105
+ listen(type, cb) {
106
+ this.listeners[type].push(cb);
107
+ }
108
+ async fire(event) {
109
+ (await Promise.allSettled(this.listeners[event.type].map(it => it(event, this.mapper))))
110
+ .map(it => {
111
+ if (it.status === 'rejected') {
112
+ logger_1.logger.error(it.reason);
113
+ }
114
+ });
115
+ }
116
+ }
117
+ exports.EventManager = EventManager;
118
+ //# sourceMappingURL=EventManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../../src/mapper/EventManager.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { PathFactory } from './select';
2
- import { WhereBuilder } from './select';
1
+ import { PathFactory, WhereBuilder } from './select';
3
2
  import { PredicateFactory } from '../acl';
4
3
  import { Client, SelectBuilder } from '@contember/database';
5
4
  import { Input, Model } from '@contember/schema';
6
- import { MutationJunctionUpdateOk, MutationResult, MutationResultList } from './Result';
5
+ import { MutationJunctionUpdateOk, MutationNoResultError, MutationNothingToDo, MutationResultList } from './Result';
6
+ import { Mapper } from './Mapper';
7
7
  declare type OkResultFactory = () => MutationJunctionUpdateOk;
8
+ declare type JunctionMutationResult = MutationJunctionUpdateOk | MutationNothingToDo | MutationNoResultError;
8
9
  export declare class JunctionTableManager {
9
10
  private readonly schema;
10
11
  private readonly predicateFactory;
@@ -13,8 +14,8 @@ export declare class JunctionTableManager {
13
14
  private readonly disconnectJunctionHandler;
14
15
  private readonly pathFactory;
15
16
  constructor(schema: Model.Schema, predicateFactory: PredicateFactory, whereBuilder: WhereBuilder, connectJunctionHandler: JunctionConnectHandler, disconnectJunctionHandler: JunctionDisconnectHandler, pathFactory: PathFactory);
16
- connectJunction(db: Client, owningEntity: Model.Entity, relation: Model.ManyHasManyOwningRelation, owningUnique: Input.PrimaryValue, inverseUnique: Input.PrimaryValue): Promise<MutationResultList>;
17
- disconnectJunction(db: Client, owningEntity: Model.Entity, relation: Model.ManyHasManyOwningRelation, owningUnique: Input.PrimaryValue, inverseUnique: Input.PrimaryValue): Promise<MutationResultList>;
17
+ connectJunction(mapper: Mapper, owningEntity: Model.Entity, relation: Model.ManyHasManyOwningRelation, owningUnique: Input.PrimaryValue, inverseUnique: Input.PrimaryValue): Promise<MutationResultList>;
18
+ disconnectJunction(mapper: Mapper, owningEntity: Model.Entity, relation: Model.ManyHasManyOwningRelation, owningUnique: Input.PrimaryValue, inverseUnique: Input.PrimaryValue): Promise<MutationResultList>;
18
19
  private executeJunctionModification;
19
20
  }
20
21
  interface JunctionSimpleExecutionArgs {
@@ -31,16 +32,16 @@ interface JunctionComplexExecutionArgs {
31
32
  okResultFactory: OkResultFactory;
32
33
  }
33
34
  interface JunctionHandler {
34
- executeSimple(args: JunctionSimpleExecutionArgs): Promise<MutationResult>;
35
- executeComplex(args: JunctionComplexExecutionArgs): Promise<MutationResult>;
35
+ executeSimple(args: JunctionSimpleExecutionArgs): Promise<JunctionMutationResult>;
36
+ executeComplex(args: JunctionComplexExecutionArgs): Promise<JunctionMutationResult>;
36
37
  }
37
38
  export declare class JunctionConnectHandler implements JunctionHandler {
38
- executeSimple({ db, joiningTable, owningPrimary, inversePrimary, okResultFactory, }: JunctionSimpleExecutionArgs): Promise<MutationResult>;
39
- executeComplex({ db, joiningTable, dataCallback, okResultFactory, }: JunctionComplexExecutionArgs): Promise<MutationResult>;
39
+ executeSimple({ db, joiningTable, owningPrimary, inversePrimary, okResultFactory, }: JunctionSimpleExecutionArgs): Promise<JunctionMutationResult>;
40
+ executeComplex({ db, joiningTable, dataCallback, okResultFactory, }: JunctionComplexExecutionArgs): Promise<JunctionMutationResult>;
40
41
  }
41
42
  export declare class JunctionDisconnectHandler implements JunctionHandler {
42
- executeSimple({ db, joiningTable, owningPrimary, inversePrimary, okResultFactory, }: JunctionSimpleExecutionArgs): Promise<MutationResult>;
43
- executeComplex({ db, joiningTable, dataCallback, okResultFactory, }: JunctionComplexExecutionArgs): Promise<MutationResult>;
43
+ executeSimple({ db, joiningTable, owningPrimary, inversePrimary, okResultFactory, }: JunctionSimpleExecutionArgs): Promise<JunctionMutationResult>;
44
+ executeComplex({ db, joiningTable, dataCallback, okResultFactory, }: JunctionComplexExecutionArgs): Promise<JunctionMutationResult>;
44
45
  }
45
46
  export {};
46
47
  //# sourceMappingURL=JunctionTableManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JunctionTableManager.d.ts","sourceRoot":"","sources":["../../../src/mapper/JunctionTableManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JunctionTableManager.d.ts","sourceRoot":"","sources":["../../../src/mapper/JunctionTableManager.ts"],"names":[],"mappings":"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"}