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

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 (328) hide show
  1. package/dist/src/ExecutionContainer.d.ts +144 -0
  2. package/dist/src/ExecutionContainer.d.ts.map +1 -0
  3. package/dist/src/ExecutionContainer.js +85 -0
  4. package/dist/src/ExecutionContainer.js.map +1 -0
  5. package/dist/src/acl/PermissionFactory.d.ts +5 -4
  6. package/dist/src/acl/PermissionFactory.d.ts.map +1 -1
  7. package/dist/src/acl/PermissionFactory.js +10 -13
  8. package/dist/src/acl/PermissionFactory.js.map +1 -1
  9. package/dist/src/acl/index.d.ts +0 -1
  10. package/dist/src/acl/index.d.ts.map +1 -1
  11. package/dist/src/acl/index.js +0 -1
  12. package/dist/src/acl/index.js.map +1 -1
  13. package/dist/src/index.d.ts +2 -1
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +18 -2
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/mapper/ColumnValue.d.ts +2 -2
  18. package/dist/src/mapper/ColumnValue.d.ts.map +1 -1
  19. package/dist/src/mapper/ErrorUtils.d.ts +3 -2
  20. package/dist/src/mapper/ErrorUtils.d.ts.map +1 -1
  21. package/dist/src/mapper/ErrorUtils.js +55 -35
  22. package/dist/src/mapper/ErrorUtils.js.map +1 -1
  23. package/dist/src/mapper/EventManager.d.ts +86 -0
  24. package/dist/src/mapper/EventManager.d.ts.map +1 -0
  25. package/dist/src/mapper/EventManager.js +118 -0
  26. package/dist/src/mapper/EventManager.js.map +1 -0
  27. package/dist/src/mapper/JunctionTableManager.d.ts +12 -11
  28. package/dist/src/mapper/JunctionTableManager.d.ts.map +1 -1
  29. package/dist/src/mapper/JunctionTableManager.js +20 -8
  30. package/dist/src/mapper/JunctionTableManager.js.map +1 -1
  31. package/dist/src/mapper/Mapper.d.ts +13 -6
  32. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  33. package/dist/src/mapper/Mapper.js +41 -21
  34. package/dist/src/mapper/Mapper.js.map +1 -1
  35. package/dist/src/mapper/MapperFactory.d.ts +34 -0
  36. package/dist/src/mapper/MapperFactory.d.ts.map +1 -0
  37. package/dist/src/mapper/MapperFactory.js +41 -0
  38. package/dist/src/mapper/MapperFactory.js.map +1 -0
  39. package/dist/src/mapper/Result.d.ts +5 -3
  40. package/dist/src/mapper/Result.d.ts.map +1 -1
  41. package/dist/src/mapper/Result.js +4 -3
  42. package/dist/src/mapper/Result.js.map +1 -1
  43. package/dist/src/mapper/delete/DeleteExecutor.d.ts.map +1 -1
  44. package/dist/src/mapper/delete/DeleteExecutor.js +41 -1
  45. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  46. package/dist/src/mapper/index.d.ts +3 -1
  47. package/dist/src/mapper/index.d.ts.map +1 -1
  48. package/dist/src/mapper/index.js +3 -1
  49. package/dist/src/mapper/index.js.map +1 -1
  50. package/dist/src/mapper/insert/InsertBuilder.d.ts +2 -2
  51. package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
  52. package/dist/src/mapper/insert/InsertBuilder.js +8 -2
  53. package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
  54. package/dist/src/mapper/insert/Inserter.d.ts +3 -2
  55. package/dist/src/mapper/insert/Inserter.d.ts.map +1 -1
  56. package/dist/src/mapper/insert/Inserter.js +7 -6
  57. package/dist/src/mapper/insert/Inserter.js.map +1 -1
  58. package/dist/src/mapper/select/OrderByHelper.d.ts +1 -1
  59. package/dist/src/mapper/select/OrderByHelper.d.ts.map +1 -1
  60. package/dist/src/mapper/select/OrderByHelper.js +3 -1
  61. package/dist/src/mapper/select/OrderByHelper.js.map +1 -1
  62. package/dist/src/mapper/select/RelationFetcher.js +2 -2
  63. package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
  64. package/dist/src/mapper/update/UpdateBuilder.d.ts +4 -4
  65. package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
  66. package/dist/src/mapper/update/UpdateBuilder.js +26 -8
  67. package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
  68. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts +1 -1
  69. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts.map +1 -1
  70. package/dist/src/mapper/update/UpdateBuilderFactory.js +2 -2
  71. package/dist/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  72. package/dist/src/mapper/update/Updater.d.ts +3 -1
  73. package/dist/src/mapper/update/Updater.d.ts.map +1 -1
  74. package/dist/src/mapper/update/Updater.js +9 -12
  75. package/dist/src/mapper/update/Updater.js.map +1 -1
  76. package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts +1 -3
  77. package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts.map +1 -1
  78. package/dist/src/resolvers/GraphQlQueryAstFactory.js +1 -4
  79. package/dist/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  80. package/dist/src/resolvers/MutationResolver.d.ts +3 -4
  81. package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
  82. package/dist/src/resolvers/MutationResolver.js +11 -12
  83. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  84. package/dist/src/resolvers/ReadResolver.d.ts +1 -3
  85. package/dist/src/resolvers/ReadResolver.d.ts.map +1 -1
  86. package/dist/src/resolvers/ReadResolver.js +6 -10
  87. package/dist/src/resolvers/ReadResolver.js.map +1 -1
  88. package/dist/src/resolvers/ValidationResolver.d.ts +1 -3
  89. package/dist/src/resolvers/ValidationResolver.d.ts.map +1 -1
  90. package/dist/src/resolvers/ValidationResolver.js +3 -4
  91. package/dist/src/resolvers/ValidationResolver.js.map +1 -1
  92. package/dist/src/resolvers/index.d.ts +0 -1
  93. package/dist/src/resolvers/index.d.ts.map +1 -1
  94. package/dist/src/resolvers/index.js +0 -1
  95. package/dist/src/resolvers/index.js.map +1 -1
  96. package/dist/src/schema/CustomTypesProvider.d.ts.map +1 -1
  97. package/dist/src/schema/CustomTypesProvider.js +1 -23
  98. package/dist/src/schema/CustomTypesProvider.js.map +1 -1
  99. package/dist/src/schema/MutationProvider.js +4 -4
  100. package/dist/src/schema/MutationProvider.js.map +1 -1
  101. package/dist/src/schema/QueryProvider.js +3 -3
  102. package/dist/src/schema/QueryProvider.js.map +1 -1
  103. package/dist/src/tsconfig.tsbuildinfo +1 -1
  104. package/dist/src/types.d.ts +3 -4
  105. package/dist/src/types.d.ts.map +1 -1
  106. package/dist/src/utils/index.d.ts +0 -1
  107. package/dist/src/utils/index.d.ts.map +1 -1
  108. package/dist/src/utils/index.js +0 -1
  109. package/dist/src/utils/index.js.map +1 -1
  110. package/dist/src/utils/uniqueWhereFields.js +1 -1
  111. package/dist/src/utils/uniqueWhereFields.js.map +1 -1
  112. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js +3 -5
  113. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js.map +1 -1
  114. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js +2 -2
  115. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js.map +1 -1
  116. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js +1 -1
  117. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map +1 -1
  118. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +45 -45
  119. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  120. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +5 -5
  121. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
  122. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js +2 -2
  123. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js.map +1 -1
  124. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +7 -7
  125. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
  126. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +7 -7
  127. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
  128. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js +2 -2
  129. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js.map +1 -1
  130. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js +3 -3
  131. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js.map +1 -1
  132. package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.d.ts +2 -0
  133. package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.d.ts.map +1 -0
  134. package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.js +91 -0
  135. package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.js.map +1 -0
  136. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.js +1 -1
  137. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.js.map +1 -1
  138. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts +2 -0
  139. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts.map +1 -0
  140. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js +67 -0
  141. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js.map +1 -0
  142. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +6 -18
  143. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
  144. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js +3 -4
  145. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js.map +1 -1
  146. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js +3 -8
  147. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js.map +1 -1
  148. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js +3 -9
  149. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js.map +1 -1
  150. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js +3 -9
  151. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js.map +1 -1
  152. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js +3 -9
  153. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js.map +1 -1
  154. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js +3 -9
  155. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js.map +1 -1
  156. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js +3 -10
  157. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js.map +1 -1
  158. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js +3 -10
  159. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js.map +1 -1
  160. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js +3 -9
  161. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js.map +1 -1
  162. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js +3 -9
  163. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js.map +1 -1
  164. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js +6 -18
  165. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js.map +1 -1
  166. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js +3 -11
  167. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js.map +1 -1
  168. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js +3 -8
  169. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js.map +1 -1
  170. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js +3 -6
  171. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js.map +1 -1
  172. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js +3 -6
  173. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js.map +1 -1
  174. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js +15 -50
  175. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js.map +1 -1
  176. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js +3 -10
  177. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js.map +1 -1
  178. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js +3 -10
  179. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
  180. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js +3 -6
  181. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js.map +1 -1
  182. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js +3 -7
  183. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js.map +1 -1
  184. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js +12 -32
  185. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
  186. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js +3 -3
  187. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js.map +1 -1
  188. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +6 -20
  189. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js.map +1 -1
  190. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js +3 -10
  191. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js.map +1 -1
  192. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js +3 -9
  193. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js.map +1 -1
  194. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js +6 -19
  195. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js.map +1 -1
  196. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js +6 -8
  197. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js.map +1 -1
  198. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js +9 -24
  199. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js.map +1 -1
  200. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js +3 -7
  201. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js.map +1 -1
  202. package/dist/tests/cases/unit/orderbyHelper.test.js +13 -2
  203. package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
  204. package/dist/tests/cases/unit/permissionMerger.test.js +8 -3
  205. package/dist/tests/cases/unit/permissionMerger.test.js.map +1 -1
  206. package/dist/tests/cases/unit/predicatesInjector.test.js +1 -1
  207. package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
  208. package/dist/tests/src/test.d.ts +1 -0
  209. package/dist/tests/src/test.d.ts.map +1 -1
  210. package/dist/tests/src/test.js +35 -6
  211. package/dist/tests/src/test.js.map +1 -1
  212. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  213. package/package.json +16 -13
  214. package/src/ExecutionContainer.ts +208 -0
  215. package/src/acl/PermissionFactory.ts +15 -13
  216. package/src/acl/index.ts +0 -1
  217. package/src/index.ts +24 -1
  218. package/src/mapper/ColumnValue.ts +2 -2
  219. package/src/mapper/ErrorUtils.ts +66 -41
  220. package/src/mapper/EventManager.ts +158 -0
  221. package/src/mapper/JunctionTableManager.ts +50 -32
  222. package/src/mapper/Mapper.ts +48 -27
  223. package/src/mapper/MapperFactory.ts +69 -0
  224. package/src/mapper/Result.ts +5 -2
  225. package/src/mapper/delete/DeleteExecutor.ts +42 -1
  226. package/src/mapper/index.ts +3 -1
  227. package/src/mapper/insert/InsertBuilder.ts +12 -2
  228. package/src/mapper/insert/Inserter.ts +7 -7
  229. package/src/mapper/select/OrderByHelper.ts +2 -1
  230. package/src/mapper/select/RelationFetcher.ts +2 -2
  231. package/src/mapper/update/UpdateBuilder.ts +30 -7
  232. package/src/mapper/update/UpdateBuilderFactory.ts +2 -2
  233. package/src/mapper/update/Updater.ts +9 -13
  234. package/src/resolvers/GraphQlQueryAstFactory.ts +1 -2
  235. package/src/resolvers/MutationResolver.ts +15 -14
  236. package/src/resolvers/ReadResolver.ts +5 -9
  237. package/src/resolvers/ValidationResolver.ts +2 -4
  238. package/src/resolvers/index.ts +0 -1
  239. package/src/schema/CustomTypesProvider.ts +2 -27
  240. package/src/schema/MutationProvider.ts +4 -4
  241. package/src/schema/QueryProvider.ts +3 -3
  242. package/src/tsconfig.json +7 -21
  243. package/src/types.ts +3 -4
  244. package/src/utils/index.ts +0 -1
  245. package/src/utils/uniqueWhereFields.ts +1 -1
  246. package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +3 -5
  247. package/tests/cases/integration/graphQlDb/insert/insertSequence.test.ts +2 -2
  248. package/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts +1 -1
  249. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +9 -9
  250. package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +3 -3
  251. package/tests/cases/integration/graphQlDb/update/invalidInput.test.ts +2 -2
  252. package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +7 -7
  253. package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +7 -7
  254. package/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.ts +2 -2
  255. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.ts +3 -3
  256. package/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts +77 -0
  257. package/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts +1 -1
  258. package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +67 -0
  259. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +6 -18
  260. package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +3 -4
  261. package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +3 -8
  262. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +3 -9
  263. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +3 -9
  264. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +3 -9
  265. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +3 -9
  266. package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +3 -10
  267. package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +3 -10
  268. package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +3 -9
  269. package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +3 -9
  270. package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +6 -18
  271. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +3 -11
  272. package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +3 -8
  273. package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +3 -6
  274. package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +3 -6
  275. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +15 -50
  276. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +3 -10
  277. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +3 -10
  278. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +3 -6
  279. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +3 -7
  280. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +12 -32
  281. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +3 -3
  282. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +6 -20
  283. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +3 -10
  284. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +3 -9
  285. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +6 -19
  286. package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +6 -8
  287. package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +9 -24
  288. package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +3 -7
  289. package/tests/cases/unit/orderbyHelper.test.ts +15 -2
  290. package/tests/cases/unit/permissionMerger.test.ts +9 -4
  291. package/tests/cases/unit/predicatesInjector.test.ts +1 -1
  292. package/tests/src/test.ts +40 -16
  293. package/tests/tsconfig.json +3 -9
  294. package/dist/src/acl/PermissionsByIdentityFactory.d.ts +0 -12
  295. package/dist/src/acl/PermissionsByIdentityFactory.d.ts.map +0 -1
  296. package/dist/src/acl/PermissionsByIdentityFactory.js +0 -15
  297. package/dist/src/acl/PermissionsByIdentityFactory.js.map +0 -1
  298. package/dist/src/mapper/MapperContainer.d.ts +0 -18
  299. package/dist/src/mapper/MapperContainer.d.ts.map +0 -1
  300. package/dist/src/mapper/MapperContainer.js +0 -55
  301. package/dist/src/mapper/MapperContainer.js.map +0 -1
  302. package/dist/src/resolvers/ExecutionContainerFactory.d.ts +0 -24
  303. package/dist/src/resolvers/ExecutionContainerFactory.d.ts.map +0 -1
  304. package/dist/src/resolvers/ExecutionContainerFactory.js +0 -45
  305. package/dist/src/resolvers/ExecutionContainerFactory.js.map +0 -1
  306. package/dist/src/utils/arrays.d.ts +0 -3
  307. package/dist/src/utils/arrays.d.ts.map +0 -1
  308. package/dist/src/utils/arrays.js +0 -22
  309. package/dist/src/utils/arrays.js.map +0 -1
  310. package/dist/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +0 -420
  311. package/dist/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +0 -229
  312. package/dist/tests/cases/integration/graphQlSchema/schema-acl-predicate.gql +0 -112
  313. package/dist/tests/cases/integration/graphQlSchema/schema-acl-predicate2.gql +0 -112
  314. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +0 -309
  315. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +0 -402
  316. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +0 -338
  317. package/dist/tests/cases/integration/graphQlSchema/schema-acl.gql +0 -221
  318. package/dist/tests/cases/integration/graphQlSchema/schema-aliased-type.gql +0 -226
  319. package/dist/tests/cases/integration/graphQlSchema/schema-basic.gql +0 -841
  320. package/dist/tests/cases/integration/graphQlSchema/schema-bug-66.gql +0 -540
  321. package/dist/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +0 -851
  322. package/dist/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +0 -453
  323. package/dist/tests/cases/integration/graphQlSchema/schema-new-builder.gql +0 -912
  324. package/dist/tests/cases/integration/graphQlSchema/schema-view-entity.gql +0 -112
  325. package/src/acl/PermissionsByIdentityFactory.ts +0 -21
  326. package/src/mapper/MapperContainer.ts +0 -142
  327. package/src/resolvers/ExecutionContainerFactory.ts +0 -74
  328. package/src/utils/arrays.ts +0 -19
@@ -31,11 +31,10 @@ test('query portal', async () => {
31
31
  parameters: [testUuid(1)],
32
32
  },
33
33
  {
34
- sql: SQL`with "newData_" as
35
- (select ? :: text as "title", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
36
- update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id"`,
34
+ sql: SQL`with "newData_" as (select ? :: text as "title", "root_"."title" as "title_old__", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
35
+ update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id" returning "title_old__"`,
37
36
  parameters: ['Hello', testUuid(1)],
38
- response: { rowCount: 1 },
37
+ response: { rows: [{ title_old__: 'Hi' }] },
39
38
  },
40
39
  ]),
41
40
  {
@@ -90,11 +89,10 @@ test('transaction with query portal', async () => {
90
89
  parameters: [testUuid(1)],
91
90
  },
92
91
  {
93
- sql: SQL`with "newData_" as
94
- (select ? :: text as "title", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
95
- update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id"`,
92
+ sql: SQL`with "newData_" as (select ? :: text as "title", "root_"."title" as "title_old__", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
93
+ update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id" returning "title_old__"`,
96
94
  parameters: ['Hello', testUuid(1)],
97
- response: { rowCount: 1 },
95
+ response: { rows: [{ title_old__: 'Hi' }] },
98
96
  },
99
97
  {
100
98
  sql: SQL`select "root_"."id" as "root_id"
@@ -41,15 +41,10 @@ test('executes in a transaction', async () => {
41
41
  response: { rows: [{ id: testUuid(1) }] },
42
42
  },
43
43
  {
44
- sql: SQL`with "newData_" as (select
45
- ? :: text as "name",
46
- "root_"."id"
47
- from "public"."author" as "root_"
48
- where "root_"."id" = ?) update "public"."author"
49
- set "name" = "newData_"."name" from "newData_"
50
- where "author"."id" = "newData_"."id"`,
44
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id" from "public"."author" as "root_" where "root_"."id" = ?)
45
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
51
46
  parameters: ['John', testUuid(1)],
52
- response: { rowCount: 1 },
47
+ response: { rows: [{ name_old__: 'Jack' }] },
53
48
  },
54
49
  {
55
50
  sql: SQL`select "root_"."id" as "root_id"
@@ -66,15 +61,10 @@ test('executes in a transaction', async () => {
66
61
  response: { rows: [{ id: testUuid(2) }] },
67
62
  },
68
63
  {
69
- sql: SQL`with "newData_" as (select
70
- ? :: text as "name",
71
- "root_"."id"
72
- from "public"."author" as "root_"
73
- where "root_"."id" = ?) update "public"."author"
74
- set "name" = "newData_"."name" from "newData_"
75
- where "author"."id" = "newData_"."id"`,
64
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id" from "public"."author" as "root_" where "root_"."id" = ?)
65
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
76
66
  parameters: ['Jack', testUuid(2)],
77
- response: { rowCount: 1 },
67
+ response: { rows: [{ name_old__: 'Jack' }] },
78
68
  },
79
69
  {
80
70
  sql: SQL`select "root_"."id" as "root_id"
@@ -146,15 +136,10 @@ test('executes fails a transaction', async () => {
146
136
  response: { rows: [{ id: testUuid(1) }] },
147
137
  },
148
138
  {
149
- sql: SQL`with "newData_" as (select
150
- ? :: text as "name",
151
- "root_"."id"
152
- from "public"."author" as "root_"
153
- where "root_"."id" = ?) update "public"."author"
154
- set "name" = "newData_"."name" from "newData_"
155
- where "author"."id" = "newData_"."id"`,
139
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id" from "public"."author" as "root_" where "root_"."id" = ?)
140
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
156
141
  parameters: ['John', testUuid(1)],
157
- response: { rowCount: 1 },
142
+ response: { rows: [{ name_old__: 'Jack' }] },
158
143
  },
159
144
  {
160
145
  sql: SQL`select "root_"."id" as "root_id"
@@ -88,14 +88,10 @@ test('upsert author (exists)', async () => {
88
88
  response: { rows: [{ id: testUuid(2) }] },
89
89
  },
90
90
  {
91
- sql: SQL`
92
- with "newData_" as
93
- (select ? :: text as "name", "root_"."id", "root_"."slug" from "public"."author" as "root_" where "root_"."id" = ?)
94
- update "public"."author" set "name" = "newData_"."name"
95
- from "newData_" where "author"."id" = "newData_"."id"
96
- `,
91
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id", "root_"."slug" from "public"."author" as "root_" where "root_"."id" = ?)
92
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
97
93
  parameters: ['John Doe', testUuid(2)],
98
- response: { rowCount: 1 },
94
+ response: { rows: [{ name_old__: 'Foo' }] },
99
95
  },
100
96
  {
101
97
  sql: SQL`select "root_"."id" as "root_id" from "public"."author" as "root_" where "root_"."slug" = ?`,
@@ -9,9 +9,9 @@ const entity: Model.Entity = {
9
9
  primaryColumn: 'id',
10
10
  tableName: 'foo',
11
11
  fields: {},
12
- unique: {},
12
+ unique: [],
13
13
  eventLog: { enabled: true },
14
- indexes: {},
14
+ indexes: [],
15
15
  }
16
16
 
17
17
  describe('order by helper', () => {
@@ -68,4 +68,17 @@ describe('order by helper', () => {
68
68
  const newNode = OrderByHelper.appendDefaultOrderBy(entity, objectNode, [])
69
69
  assert.isUndefined(newNode.args.orderBy)
70
70
  })
71
+
72
+ it('set default order by without defined order', () => {
73
+ const objectNode = new ObjectNode('test', 'test', [], {}, {}, [])
74
+
75
+ const newNode = OrderByHelper.appendDefaultOrderBy({
76
+ ...entity,
77
+ orderBy: [{ path: ['lorem', 'ipsum'], direction: Input.OrderDirection.desc }],
78
+ }, objectNode, undefined)
79
+ assert.deepStrictEqual(newNode.args.orderBy, [
80
+ { lorem: { ipsum: Input.OrderDirection.desc } },
81
+ { id: Input.OrderDirection.asc },
82
+ ])
83
+ })
71
84
  })
@@ -1,7 +1,8 @@
1
1
  import { Acl, Model } from '@contember/schema'
2
2
  import { PermissionFactory } from '../../../src/acl'
3
3
  import { SchemaBuilder } from '@contember/schema-definition'
4
- import { describe, it, assert } from 'vitest'
4
+ import { assert, describe, it } from 'vitest'
5
+ import { emptySchema } from '@contember/schema-utils'
5
6
 
6
7
  interface Test {
7
8
  acl: Acl.Schema
@@ -10,13 +11,17 @@ interface Test {
10
11
  }
11
12
 
12
13
  const execute = (test: Test) => {
13
- const schema: Model.Schema = new SchemaBuilder()
14
+ const model: Model.Schema = new SchemaBuilder()
14
15
  .entity('Entity1', e => e.column('lorem').column('bar'))
15
16
  .entity('Entity2', e => e.oneHasOne('xyz', r => r.target('Entity1')))
16
17
  .buildSchema()
17
- const merger = new PermissionFactory(schema)
18
+ const merger = new PermissionFactory()
18
19
  const initialAcl = JSON.parse(JSON.stringify(test.acl))
19
- const result = merger.create(test.acl, test.roles)
20
+ const result = merger.create({
21
+ ...emptySchema,
22
+ model,
23
+ acl: test.acl,
24
+ }, test.roles)
20
25
  assert.deepStrictEqual(result, test.result)
21
26
  assert.deepStrictEqual(test.acl, initialAcl)
22
27
  }
@@ -160,7 +160,7 @@ namespace DeepFilterModel {
160
160
 
161
161
  describe('predicates injector elimination', () => {
162
162
  const schema = createSchema(DeepFilterModel)
163
- const permissions = new PermissionFactory(schema.model).create(schema.acl, ['reader'])
163
+ const permissions = new PermissionFactory().create(schema, ['reader'])
164
164
 
165
165
  const injector = new PredicatesInjector(
166
166
  schema.model,
package/tests/src/test.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { Acl, Model, Schema, Validation } from '@contember/schema'
2
- import { Authorizator, ExecutionContainerFactory, GraphQlSchemaBuilderFactory } from '../../src'
3
- import { AllowAllPermissionFactory, emptySchema } from '@contember/schema-utils'
2
+ import { Authorizator, GraphQlSchemaBuilderFactory, ExecutionContainerFactory } from '../../src'
3
+ import { AllowAllPermissionFactory, dummySchemaDatabaseMetadata, emptySchema } from '@contember/schema-utils'
4
4
  import { executeGraphQlTest } from './testGraphql'
5
5
  import { Client } from '@contember/database'
6
6
  import { createConnectionMock } from '@contember/database-tester'
7
7
  import { createUuidGenerator } from '@contember/engine-api-tester'
8
- import { getArgumentValues } from 'graphql'
9
8
  import { SQL } from './tags'
9
+ import { testUuid } from './testUuid'
10
10
 
11
11
  export interface SqlQuery {
12
12
  sql: string
@@ -36,6 +36,19 @@ const SQL_REPEATABLE_READ = {
36
36
  response: {},
37
37
  }
38
38
 
39
+ export const systemVariableQueries: SqlQuery[] = [
40
+ {
41
+ sql: 'select set_config(?, ?, false)',
42
+ parameters: ['tenant.identity_id', '00000000-0000-0000-0000-000000000000'],
43
+ response: {},
44
+ },
45
+ {
46
+ sql: 'select set_config(?, ?, false)',
47
+ parameters: ['system.transaction_id', testUuid(1)],
48
+ response: {},
49
+ },
50
+ ]
51
+
39
52
  export const sqlTransaction = (executes: SqlQuery[]): SqlQuery[] => {
40
53
  return [
41
54
  SQL_BEGIN,
@@ -72,23 +85,34 @@ export const execute = async (test: Test) => {
72
85
 
73
86
  const db = new Client(connection, 'public', {})
74
87
  const schema: Schema = { ...emptySchema, model: test.schema, validation: test.validation || {} }
88
+ const providers = {
89
+ uuid: createUuidGenerator('a456', 0),
90
+ now: () => new Date('2019-09-04 12:00'),
91
+ }
92
+ const executionContainerFactory = new ExecutionContainerFactory(providers)
93
+ executionContainerFactory.hooks.push(it => {
94
+ return it.setupService('mapperFactory', mapperFactory => {
95
+ mapperFactory.hooks.push(mapper => {
96
+ (mapper as any).systemVariablesSetupDone = Promise.resolve(true)
97
+ })
98
+ })
99
+ })
75
100
  await executeGraphQlTest({
76
101
  context: {
77
102
  db: db,
78
103
  identityVariables: test.variables || {},
79
- executionContainer: new ExecutionContainerFactory(
80
- schema,
81
- permissions,
82
- {
83
- uuid: createUuidGenerator(),
84
- now: () => new Date('2019-09-04 12:00'),
85
- },
86
- getArgumentValues,
87
- () => Promise.resolve(),
88
- ).create({
89
- db,
90
- identityVariables: test.variables || {},
91
- }),
104
+ executionContainer: executionContainerFactory
105
+ .create({
106
+ permissions,
107
+ schema: { ...schema, id: 1 },
108
+ db,
109
+ identityVariables: test.variables || {},
110
+ identityId: '00000000-0000-0000-0000-000000000000',
111
+ systemSchema: 'system',
112
+ stage: { id: '00000000-0000-0000-0000-000000000000', slug: 'live' },
113
+ project: { slug: 'test' },
114
+ schemaDatabaseMetadata: dummySchemaDatabaseMetadata,
115
+ }),
92
116
  timer: (label: any, cb: any) => cb(),
93
117
  },
94
118
  query: test.query,
@@ -5,14 +5,8 @@
5
5
  "esModuleInterop": true
6
6
  },
7
7
  "references": [
8
- {
9
- "path": "../src"
10
- },
11
- {
12
- "path": "../../engine-api-tester/src"
13
- },
14
- {
15
- "path": "../../schema-definition/src"
16
- }
8
+ { "path": "../src" },
9
+ { "path": "../../engine-api-tester/src" },
10
+ { "path": "../../schema-definition/src" }
17
11
  ]
18
12
  }
@@ -1,12 +0,0 @@
1
- import { Acl, Schema } from '@contember/schema';
2
- export declare class PermissionsByIdentityFactory {
3
- createPermissions(schema: Schema, identity: Identity): PermissionResult;
4
- }
5
- export interface Identity {
6
- projectRoles: string[];
7
- }
8
- export interface PermissionResult {
9
- permissions: Acl.Permissions;
10
- verifier: (identity: Identity) => boolean;
11
- }
12
- //# sourceMappingURL=PermissionsByIdentityFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PermissionsByIdentityFactory.d.ts","sourceRoot":"","sources":["../../../src/acl/PermissionsByIdentityFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,4BAA4B;IACjC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB;CAM9E;AAED,MAAM,WAAW,QAAQ;IACxB,YAAY,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAChC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAA;IAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAA;CACzC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PermissionsByIdentityFactory = void 0;
4
- const PermissionFactory_1 = require("./PermissionFactory");
5
- const utils_1 = require("../utils");
6
- class PermissionsByIdentityFactory {
7
- createPermissions(schema, identity) {
8
- return {
9
- permissions: new PermissionFactory_1.PermissionFactory(schema.model).create(schema.acl, identity.projectRoles),
10
- verifier: otherIdentity => (0, utils_1.arrayEquals)(identity.projectRoles, otherIdentity.projectRoles),
11
- };
12
- }
13
- }
14
- exports.PermissionsByIdentityFactory = PermissionsByIdentityFactory;
15
- //# sourceMappingURL=PermissionsByIdentityFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PermissionsByIdentityFactory.js","sourceRoot":"","sources":["../../../src/acl/PermissionsByIdentityFactory.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AACvD,oCAAsC;AAGtC,MAAa,4BAA4B;IACjC,iBAAiB,CAAC,MAAc,EAAE,QAAkB;QAC1D,OAAO;YACN,WAAW,EAAE,IAAI,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC;YAC1F,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC;SACzF,CAAA;IACF,CAAC;CACD;AAPD,oEAOC"}
@@ -1,18 +0,0 @@
1
- import { Mapper, MapperFactory } from '../mapper';
2
- import { Acl, Schema } from '@contember/schema';
3
- import { Client } from '@contember/database';
4
- import { Providers } from '@contember/schema-utils';
5
- declare type MapperContainerArgs = {
6
- schema: Schema;
7
- identityVariables: Acl.VariablesMap;
8
- permissions: Acl.Permissions;
9
- providers: Providers;
10
- };
11
- export interface MapperContainer {
12
- mapperFactory: MapperFactory;
13
- }
14
- export declare const createMapperContainer: ({ permissions, schema, identityVariables, providers }: MapperContainerArgs) => import("@contember/dic").Container<{
15
- mapperFactory: (db: Client) => Mapper;
16
- }>;
17
- export {};
18
- //# sourceMappingURL=MapperContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapperContainer.d.ts","sourceRoot":"","sources":["../../../src/mapper/MapperContainer.ts"],"names":[],"mappings":"AAYA,OAAO,EAON,MAAM,EACN,aAAa,EAOb,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,GAAG,EAAS,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAoC,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAMnD,aAAK,mBAAmB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAA;IACnC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAA;IAC5B,SAAS,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,eAAe;IAC/B,aAAa,EAAE,aAAa,CAAA;CAC5B;AAED,eAAO,MAAM,qBAAqB,0DAA2D,mBAAmB;wBA6EjG,MAAM;EAgBpB,CAAA"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMapperContainer = void 0;
4
- const acl_1 = require("../acl");
5
- const select_1 = require("./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("./select/optimizer/WhereOptimizer");
13
- const ConditionOptimizer_1 = require("./select/optimizer/ConditionOptimizer");
14
- const createMapperContainer = ({ permissions, schema, identityVariables, providers }) => {
15
- const builder = new dic_1.Builder({})
16
- .addService('providers', () => providers)
17
- .addService('variableInjector', () => new acl_1.VariableInjector(schema.model, identityVariables))
18
- .addService('predicateFactory', ({ variableInjector }) => new acl_1.PredicateFactory(permissions, schema.model, variableInjector))
19
- .addService('predicatesInjector', ({ predicateFactory }) => new acl_1.PredicatesInjector(schema.model, predicateFactory))
20
- .addService('joinBuilder', () => new select_1.JoinBuilder(schema.model))
21
- .addService('conditionBuilder', () => new select_1.ConditionBuilder())
22
- .addService('pathFactory', () => new mapper_1.PathFactory())
23
- .addService('whereOptimized', () => new WhereOptimizer_1.WhereOptimizer(schema.model, new ConditionOptimizer_1.ConditionOptimizer()))
24
- .addService('whereBuilder', ({ joinBuilder, conditionBuilder, pathFactory, whereOptimized }) => new select_1.WhereBuilder(schema.model, joinBuilder, conditionBuilder, pathFactory, whereOptimized, schema.settings.useExistsInHasManyFilter === true))
25
- .addService('orderByBuilder', ({ joinBuilder }) => new select_1.OrderByBuilder(schema.model, joinBuilder))
26
- .addService('relationFetcher', ({ whereBuilder, orderByBuilder, predicatesInjector, pathFactory }) => new select_1.RelationFetcher(whereBuilder, orderByBuilder, predicatesInjector, pathFactory))
27
- .addService('fieldsVisitorFactory', ({ relationFetcher, predicateFactory, whereBuilder }) => new select_1.FieldsVisitorFactory(schema.model, relationFetcher, predicateFactory, whereBuilder))
28
- .addService('metaHandler', ({ whereBuilder, predicateFactory }) => new select_1.MetaHandler(whereBuilder, predicateFactory))
29
- .addService('uniqueWhereExpander', () => new inputProcessing_1.UniqueWhereExpander(schema.model))
30
- .addService('hasManyToHasOneReducer', ({ uniqueWhereExpander }) => new extensions_1.HasManyToHasOneReducerExecutionHandler(schema.model, uniqueWhereExpander))
31
- .addService('paginatedHasManyExecutionHandler', ({ relationFetcher }) => new PaginatedHasManyExecutionHandler_1.PaginatedHasManyExecutionHandler(schema.model, relationFetcher))
32
- .addService('selectHandlers', ({ hasManyToHasOneReducer, paginatedHasManyExecutionHandler }) => ({
33
- [extensions_1.HasManyToHasOneReducer.extensionName]: hasManyToHasOneReducer,
34
- [PaginatedHasManyFieldProvider_1.PaginatedHasManyFieldProvider.extensionName]: paginatedHasManyExecutionHandler,
35
- }))
36
- .addService('selectBuilderFactory', ({ whereBuilder, orderByBuilder, fieldsVisitorFactory, metaHandler, selectHandlers, pathFactory, predicateFactory }) => new (class {
37
- create(qb, hydrator, relationPath) {
38
- return new mapper_1.SelectBuilder(schema.model, whereBuilder, orderByBuilder, metaHandler, qb, hydrator, fieldsVisitorFactory, selectHandlers, pathFactory, relationPath, predicateFactory);
39
- }
40
- })())
41
- .addService('insertBuilderFactory', ({ whereBuilder, pathFactory, predicateFactory }) => new mapper_1.InsertBuilderFactory(schema.model, whereBuilder, pathFactory, predicateFactory))
42
- .addService('updateBuilderFactory', ({ whereBuilder, pathFactory, predicateFactory }) => new mapper_1.UpdateBuilderFactory(schema.model, whereBuilder, pathFactory, predicateFactory))
43
- .addService('connectJunctionHandler', () => new mapper_1.JunctionConnectHandler())
44
- .addService('disconnectJunctionHandler', ({}) => new mapper_1.JunctionDisconnectHandler())
45
- .addService('junctionTableManager', ({ predicateFactory, whereBuilder, connectJunctionHandler, disconnectJunctionHandler, pathFactory }) => new mapper_1.JunctionTableManager(schema.model, predicateFactory, whereBuilder, connectJunctionHandler, disconnectJunctionHandler, pathFactory))
46
- .addService('deleteExecutor', ({ predicateFactory, updateBuilderFactory, whereBuilder, pathFactory }) => new mapper_1.DeleteExecutor(schema.model, predicateFactory, whereBuilder, updateBuilderFactory, pathFactory))
47
- .addService('updater', ({ predicateFactory, updateBuilderFactory }) => new mapper_1.Updater(schema.model, predicateFactory, updateBuilderFactory))
48
- .addService('inserter', ({ insertBuilderFactory, providers }) => new mapper_1.Inserter(schema.model, insertBuilderFactory, providers))
49
- .addService('mapperFactory', ({ predicatesInjector, selectBuilderFactory, uniqueWhereExpander, whereBuilder, junctionTableManager, deleteExecutor, updater, inserter, pathFactory }) => {
50
- return (db) => new mapper_1.Mapper(schema.model, db, predicatesInjector, selectBuilderFactory, uniqueWhereExpander, whereBuilder, junctionTableManager, deleteExecutor, updater, inserter, pathFactory);
51
- });
52
- return builder.build().pick('mapperFactory');
53
- };
54
- exports.createMapperContainer = createMapperContainer;
55
- //# sourceMappingURL=MapperContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapperContainer.js","sourceRoot":"","sources":["../../../src/mapper/MapperContainer.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { Container } from '@contember/dic';
2
- import { Acl, Schema } from '@contember/schema';
3
- import { Context } from '../types';
4
- import { ReadResolver } from './ReadResolver';
5
- import { MutationResolver } from './MutationResolver';
6
- import { Client } from '@contember/database';
7
- import { ValidationResolver } from './ValidationResolver';
8
- import { Providers } from '@contember/schema-utils';
9
- import { getArgumentValues } from 'graphql';
10
- export interface ExecutionContainer {
11
- readResolver: ReadResolver;
12
- mutationResolver: MutationResolver;
13
- validationResolver: ValidationResolver;
14
- }
15
- export declare class ExecutionContainerFactory {
16
- private readonly schema;
17
- private readonly permissions;
18
- private readonly providers;
19
- private readonly argumentValuesResolver;
20
- private readonly setupSystemVariables;
21
- constructor(schema: Schema, permissions: Acl.Permissions, providers: Providers, argumentValuesResolver: typeof getArgumentValues, setupSystemVariables: (db: Client) => Promise<void>);
22
- create(context: Pick<Context, 'db' | 'identityVariables'>): Container<ExecutionContainer>;
23
- }
24
- //# sourceMappingURL=ExecutionContainerFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionContainerFactory.d.ts","sourceRoot":"","sources":["../../../src/resolvers/ExecutionContainerFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAS5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAG3C,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kBAAkB,EAAE,kBAAkB,CAAA;CACtC;AAED,qBAAa,yBAAyB;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAJpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,OAAO,iBAAiB,EAChD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;IAG9D,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC;CAsChG"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExecutionContainerFactory = void 0;
4
- const dic_1 = require("@contember/dic");
5
- const ReadResolver_1 = require("./ReadResolver");
6
- const MutationResolver_1 = require("./MutationResolver");
7
- const input_validation_1 = require("../input-validation");
8
- const ValidationResolver_1 = require("./ValidationResolver");
9
- const GraphQlQueryAstFactory_1 = require("./GraphQlQueryAstFactory");
10
- const mapper_1 = require("../mapper");
11
- class ExecutionContainerFactory {
12
- constructor(schema, permissions, providers, argumentValuesResolver, setupSystemVariables) {
13
- this.schema = schema;
14
- this.permissions = permissions;
15
- this.providers = providers;
16
- this.argumentValuesResolver = argumentValuesResolver;
17
- this.setupSystemVariables = setupSystemVariables;
18
- }
19
- create(context) {
20
- const mapperContainer = (0, mapper_1.createMapperContainer)({
21
- permissions: this.permissions,
22
- identityVariables: context.identityVariables,
23
- providers: this.providers,
24
- schema: this.schema,
25
- });
26
- const innerDic = new dic_1.Builder({})
27
- .addService('db', () => context.db)
28
- .addService('providers', () => this.providers)
29
- .addService('mapperFactory', () => mapperContainer.mapperFactory)
30
- .addService('queryAstFactory', () => new GraphQlQueryAstFactory_1.GraphQlQueryAstFactory(this.argumentValuesResolver))
31
- .addService('readResolver', ({ db, mapperFactory, queryAstFactory }) => new ReadResolver_1.ReadResolver(db, mapperFactory, queryAstFactory))
32
- .addService('validationDependencyCollector', () => new input_validation_1.DependencyCollector())
33
- .addService('validationQueryAstFactory', () => new input_validation_1.QueryAstFactory(this.schema.model))
34
- .addService('dataSelector', ({ validationQueryAstFactory }) => new input_validation_1.ValidationDataSelector(this.schema.model, validationQueryAstFactory))
35
- .addService('columnValueResolver', ({ providers }) => new input_validation_1.ColumnValueResolver(providers))
36
- .addService('entityRulesResolver', () => new input_validation_1.EntityRulesResolver(this.schema.validation, this.schema.model))
37
- .addService('inputPreValidator', ({ entityRulesResolver, columnValueResolver, dataSelector }) => new input_validation_1.InputPreValidator(this.schema.model, entityRulesResolver, columnValueResolver, dataSelector))
38
- .addService('mutationResolver', ({ db, mapperFactory, inputPreValidator, queryAstFactory }) => new MutationResolver_1.MutationResolver(this.schema.model, db, mapperFactory, this.setupSystemVariables, inputPreValidator, queryAstFactory))
39
- .addService('validationResolver', ({ inputPreValidator, db, mapperFactory }) => new ValidationResolver_1.ValidationResolver(db, mapperFactory, inputPreValidator))
40
- .build();
41
- return innerDic.pick('readResolver', 'mutationResolver', 'validationResolver');
42
- }
43
- }
44
- exports.ExecutionContainerFactory = ExecutionContainerFactory;
45
- //# sourceMappingURL=ExecutionContainerFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionContainerFactory.js","sourceRoot":"","sources":["../../../src/resolvers/ExecutionContainerFactory.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare const arrayEquals: (a: unknown[] | null, b: unknown[] | null) => boolean;
2
- export { arrayEquals };
3
- //# sourceMappingURL=arrays.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../src/utils/arrays.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,WAAW,MAAO,OAAO,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,GAAG,IAAI,KAAG,OAgB/D,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayEquals = void 0;
4
- const arrayEquals = (a, b) => {
5
- if (a === b) {
6
- return true;
7
- }
8
- if (a === null || b === null) {
9
- return false;
10
- }
11
- if (a.length !== b.length) {
12
- return false;
13
- }
14
- for (let i = 0; i < a.length; ++i) {
15
- if (a[i] !== b[i]) {
16
- return false;
17
- }
18
- }
19
- return true;
20
- };
21
- exports.arrayEquals = arrayEquals;
22
- //# sourceMappingURL=arrays.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/utils/arrays.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,CAAC,CAAmB,EAAE,CAAmB,EAAW,EAAE;IACzE,IAAI,CAAC,KAAK,CAAC,EAAE;QACZ,OAAO,IAAI,CAAA;KACX;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;QAC7B,OAAO,KAAK,CAAA;KACZ;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QAC1B,OAAO,KAAK,CAAA;KACZ;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAClB,OAAO,KAAK,CAAA;SACZ;KACD;IACD,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA;AAEQ,kCAAW"}