@contember/engine-content-api 1.2.0-alpha.10 → 1.2.0-alpha.11

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 (236) hide show
  1. package/dist/src/acl/PredicateFactory.d.ts +1 -1
  2. package/dist/src/acl/PredicateFactory.d.ts.map +1 -1
  3. package/dist/src/acl/PredicateFactory.js +6 -13
  4. package/dist/src/acl/PredicateFactory.js.map +1 -1
  5. package/dist/src/acl/PredicatesInjector.d.ts +1 -1
  6. package/dist/src/acl/PredicatesInjector.d.ts.map +1 -1
  7. package/dist/src/acl/PredicatesInjector.js +13 -20
  8. package/dist/src/acl/PredicatesInjector.js.map +1 -1
  9. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.d.ts +0 -1
  10. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.d.ts.map +1 -1
  11. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js +14 -15
  12. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  13. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts +1 -1
  14. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -1
  15. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +1 -1
  16. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  17. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts +5 -4
  18. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts.map +1 -1
  19. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js +11 -14
  20. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  21. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.d.ts.map +1 -1
  22. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js +2 -2
  23. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  24. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts +3 -3
  25. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts.map +1 -1
  26. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +3 -3
  27. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  28. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts +5 -4
  29. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts.map +1 -1
  30. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js +11 -15
  31. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  32. package/dist/src/input-validation/ColumnValueResolver.d.ts +4 -3
  33. package/dist/src/input-validation/ColumnValueResolver.d.ts.map +1 -1
  34. package/dist/src/input-validation/ColumnValueResolver.js.map +1 -1
  35. package/dist/src/input-validation/EntityRulesResolver.js +4 -4
  36. package/dist/src/input-validation/EntityRulesResolver.js.map +1 -1
  37. package/dist/src/input-validation/QueryAstFactory.js +1 -1
  38. package/dist/src/input-validation/QueryAstFactory.js.map +1 -1
  39. package/dist/src/input-validation/ValidationDataSelector.js +1 -1
  40. package/dist/src/input-validation/ValidationDataSelector.js.map +1 -1
  41. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts +7 -8
  42. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts.map +1 -1
  43. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  44. package/dist/src/input-validation/preValidation/InputPreValidator.js +4 -4
  45. package/dist/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  46. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts +7 -8
  47. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts.map +1 -1
  48. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  49. package/dist/src/inputProcessing/CreateInputProcessor.d.ts +8 -9
  50. package/dist/src/inputProcessing/CreateInputProcessor.d.ts.map +1 -1
  51. package/dist/src/inputProcessing/CreateInputVisitor.d.ts +7 -7
  52. package/dist/src/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  53. package/dist/src/inputProcessing/CreateInputVisitor.js +15 -46
  54. package/dist/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  55. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts +8 -9
  56. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts.map +1 -1
  57. package/dist/src/inputProcessing/UpdateInputVisitor.d.ts +7 -7
  58. package/dist/src/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  59. package/dist/src/inputProcessing/UpdateInputVisitor.js +13 -28
  60. package/dist/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  61. package/dist/src/inputProcessing/index.d.ts +0 -1
  62. package/dist/src/inputProcessing/index.d.ts.map +1 -1
  63. package/dist/src/inputProcessing/index.js +0 -1
  64. package/dist/src/inputProcessing/index.js.map +1 -1
  65. package/dist/src/introspection/IntrospectionSchemaFactory.js +7 -7
  66. package/dist/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  67. package/dist/src/mapper/Mapper.d.ts +6 -6
  68. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  69. package/dist/src/mapper/Mapper.js +28 -23
  70. package/dist/src/mapper/Mapper.js.map +1 -1
  71. package/dist/src/mapper/MapperContainer.d.ts.map +1 -1
  72. package/dist/src/mapper/MapperContainer.js +2 -2
  73. package/dist/src/mapper/MapperContainer.js.map +1 -1
  74. package/dist/src/mapper/delete/DeleteExecutor.js +3 -3
  75. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  76. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts +4 -2
  77. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  78. package/dist/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  79. package/dist/src/mapper/select/JoinVisitor.d.ts +6 -6
  80. package/dist/src/mapper/select/JoinVisitor.d.ts.map +1 -1
  81. package/dist/src/mapper/select/JoinVisitor.js +6 -6
  82. package/dist/src/mapper/select/JoinVisitor.js.map +1 -1
  83. package/dist/src/mapper/select/RelationFetcher.d.ts +11 -19
  84. package/dist/src/mapper/select/RelationFetcher.d.ts.map +1 -1
  85. package/dist/src/mapper/select/RelationFetcher.js +34 -25
  86. package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
  87. package/dist/src/mapper/select/SelectBuilder.d.ts +2 -1
  88. package/dist/src/mapper/select/SelectBuilder.d.ts.map +1 -1
  89. package/dist/src/mapper/select/SelectBuilder.js +4 -2
  90. package/dist/src/mapper/select/SelectBuilder.js.map +1 -1
  91. package/dist/src/mapper/select/SelectBuilderFactory.d.ts +2 -1
  92. package/dist/src/mapper/select/SelectBuilderFactory.d.ts.map +1 -1
  93. package/dist/src/mapper/select/SelectExecutionHandler.d.ts +1 -0
  94. package/dist/src/mapper/select/SelectExecutionHandler.d.ts.map +1 -1
  95. package/dist/src/mapper/select/WhereBuilder.d.ts +3 -2
  96. package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
  97. package/dist/src/mapper/select/WhereBuilder.js +29 -24
  98. package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
  99. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts +9 -8
  100. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  101. package/dist/src/mapper/select/handlers/FieldsVisitor.js +33 -25
  102. package/dist/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  103. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts.map +1 -1
  104. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js +1 -1
  105. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  106. package/dist/src/mapper/select/optimizer/ConditionOptimizer.d.ts.map +1 -1
  107. package/dist/src/mapper/select/optimizer/ConditionOptimizer.js +6 -0
  108. package/dist/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
  109. package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts +2 -1
  110. package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -1
  111. package/dist/src/mapper/select/optimizer/WhereOptimizer.js +52 -20
  112. package/dist/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  113. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts +4 -1
  114. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts.map +1 -1
  115. package/dist/src/mapper/select/optimizer/WhereReplacer.js +4 -3
  116. package/dist/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  117. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts +2 -3
  118. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  119. package/dist/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  120. package/dist/src/mapper/update/UpdateBuilder.js +3 -3
  121. package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
  122. package/dist/src/resolvers/MutationResolver.js +1 -1
  123. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  124. package/dist/src/resolvers/ReadHelpers.js +3 -3
  125. package/dist/src/resolvers/ReadHelpers.js.map +1 -1
  126. package/dist/src/resolvers/ReadResolver.js +2 -2
  127. package/dist/src/resolvers/ReadResolver.js.map +1 -1
  128. package/dist/src/schema/FieldAccessVisitor.d.ts +2 -2
  129. package/dist/src/schema/FieldAccessVisitor.d.ts.map +1 -1
  130. package/dist/src/schema/FieldAccessVisitor.js +2 -2
  131. package/dist/src/schema/FieldAccessVisitor.js.map +1 -1
  132. package/dist/src/schema/OrderByTypeProvider.js +1 -1
  133. package/dist/src/schema/OrderByTypeProvider.js.map +1 -1
  134. package/dist/src/schema/WhereTypeProvider.js +4 -4
  135. package/dist/src/schema/WhereTypeProvider.js.map +1 -1
  136. package/dist/src/schema/entities/FieldArgsVisitor.d.ts +3 -3
  137. package/dist/src/schema/entities/FieldArgsVisitor.d.ts.map +1 -1
  138. package/dist/src/schema/entities/FieldArgsVisitor.js +3 -3
  139. package/dist/src/schema/entities/FieldArgsVisitor.js.map +1 -1
  140. package/dist/src/schema/entities/FieldTypeVisitor.d.ts +3 -3
  141. package/dist/src/schema/entities/FieldTypeVisitor.d.ts.map +1 -1
  142. package/dist/src/schema/entities/FieldTypeVisitor.js +3 -3
  143. package/dist/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  144. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts +3 -3
  145. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -1
  146. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js +3 -3
  147. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  148. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts +6 -6
  149. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  150. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +6 -6
  151. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  152. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts +3 -3
  153. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  154. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +5 -5
  155. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  156. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts +10 -4
  157. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -1
  158. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js +3 -3
  159. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  160. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts +6 -6
  161. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  162. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +6 -6
  163. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  164. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts +2 -2
  165. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  166. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +2 -2
  167. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  168. package/dist/src/tsconfig.tsbuildinfo +1 -1
  169. package/dist/src/utils/uniqueWhereFields.js +3 -3
  170. package/dist/src/utils/uniqueWhereFields.js.map +1 -1
  171. package/dist/tests/cases/unit/predicatesFactory.test.js +7 -1
  172. package/dist/tests/cases/unit/predicatesFactory.test.js.map +1 -1
  173. package/dist/tests/cases/unit/whereOptimizer.test.js +82 -0
  174. package/dist/tests/cases/unit/whereOptimizer.test.js.map +1 -1
  175. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  176. package/package.json +10 -10
  177. package/src/acl/PredicateFactory.ts +7 -14
  178. package/src/acl/PredicatesInjector.ts +13 -18
  179. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts +17 -24
  180. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts +1 -6
  181. package/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts +10 -28
  182. package/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts +6 -3
  183. package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts +4 -22
  184. package/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts +10 -29
  185. package/src/input-validation/ColumnValueResolver.ts +2 -3
  186. package/src/input-validation/EntityRulesResolver.ts +4 -4
  187. package/src/input-validation/QueryAstFactory.ts +1 -1
  188. package/src/input-validation/ValidationDataSelector.ts +1 -1
  189. package/src/input-validation/preValidation/CreateInputPreValidationProcessor.ts +7 -8
  190. package/src/input-validation/preValidation/InputPreValidator.ts +4 -4
  191. package/src/input-validation/preValidation/UpdateInputPreValidationProcessor.ts +7 -8
  192. package/src/inputProcessing/CreateInputProcessor.ts +8 -9
  193. package/src/inputProcessing/CreateInputVisitor.ts +27 -89
  194. package/src/inputProcessing/UpdateInputProcessor.ts +8 -9
  195. package/src/inputProcessing/UpdateInputVisitor.ts +25 -71
  196. package/src/inputProcessing/index.ts +0 -1
  197. package/src/introspection/IntrospectionSchemaFactory.ts +7 -7
  198. package/src/mapper/Mapper.ts +36 -33
  199. package/src/mapper/MapperContainer.ts +3 -2
  200. package/src/mapper/delete/DeleteExecutor.ts +3 -3
  201. package/src/mapper/insert/SqlCreateInputProcessor.ts +3 -3
  202. package/src/mapper/select/JoinVisitor.ts +6 -33
  203. package/src/mapper/select/RelationFetcher.ts +49 -50
  204. package/src/mapper/select/SelectBuilder.ts +3 -1
  205. package/src/mapper/select/SelectBuilderFactory.ts +2 -1
  206. package/src/mapper/select/SelectExecutionHandler.ts +1 -0
  207. package/src/mapper/select/WhereBuilder.ts +45 -34
  208. package/src/mapper/select/handlers/FieldsVisitor.ts +32 -49
  209. package/src/mapper/select/handlers/FieldsVisitorFactory.ts +1 -0
  210. package/src/mapper/select/optimizer/ConditionOptimizer.ts +6 -0
  211. package/src/mapper/select/optimizer/WhereOptimizer.ts +58 -20
  212. package/src/mapper/select/optimizer/WhereReplacer.ts +8 -3
  213. package/src/mapper/update/SqlUpdateInputProcessor.ts +1 -1
  214. package/src/mapper/update/UpdateBuilder.ts +3 -3
  215. package/src/resolvers/MutationResolver.ts +1 -1
  216. package/src/resolvers/ReadHelpers.ts +3 -3
  217. package/src/resolvers/ReadResolver.ts +2 -2
  218. package/src/schema/FieldAccessVisitor.ts +2 -2
  219. package/src/schema/OrderByTypeProvider.ts +1 -1
  220. package/src/schema/WhereTypeProvider.ts +4 -4
  221. package/src/schema/entities/FieldArgsVisitor.ts +3 -3
  222. package/src/schema/entities/FieldTypeVisitor.ts +3 -3
  223. package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +3 -6
  224. package/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts +6 -20
  225. package/src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts +5 -18
  226. package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +3 -6
  227. package/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts +6 -20
  228. package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +2 -12
  229. package/src/utils/uniqueWhereFields.ts +3 -3
  230. package/tests/cases/unit/predicatesFactory.test.ts +8 -2
  231. package/tests/cases/unit/whereOptimizer.test.ts +94 -0
  232. package/dist/src/inputProcessing/InputContext.d.ts +0 -43
  233. package/dist/src/inputProcessing/InputContext.d.ts.map +0 -1
  234. package/dist/src/inputProcessing/InputContext.js +0 -3
  235. package/dist/src/inputProcessing/InputContext.js.map +0 -1
  236. package/src/inputProcessing/InputContext.ts +0 -49
@@ -1 +1 @@
1
- {"version":3,"file":"JoinVisitor.js","sourceRoot":"","sources":["../../../../src/mapper/select/JoinVisitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JoinVisitor.js","sourceRoot":"","sources":["../../../../src/mapper/select/JoinVisitor.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IACvB,YAA6B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAE3C,oBAAoB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAgC;QAC5E,OAAO;YACN;gBACC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU;gBAC/C,YAAY,EAAE,YAAY,CAAC,aAAa;aACxC;SACD,CAAA;IACF,CAAC;IAED,qBAAqB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAiC;QAC5F,OAAO;YACN;gBACC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,UAAU;aACrD;SACD,CAAA;IACF,CAAC;IAED,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAA2B;QAClE,OAAO;YACN;gBACC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU;gBAC/C,YAAY,EAAE,YAAY,CAAC,aAAa;aACxC;SACD,CAAA;IACF,CAAC;IAED,eAAe,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAA2B;QAChF,OAAO;YACN;gBACC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,YAAY,EAAE,cAAc,CAAC,aAAa,CAAC,UAAU;gBACrD,IAAI,EAAE,IAAI;aACV;SACD,CAAA;IACF,CAAC;IAED,sBAAsB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAkC;QACxF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA;QACvE,OAAO;YACN;gBACC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,SAAS;gBAC1C,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,YAAY;gBACzB,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU;gBAC5D,IAAI,EAAE,IAAI;aACV;YACD;gBACC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU;gBACnE,YAAY,EAAE,YAAY,CAAC,aAAa;aACxC;SACD,CAAA;IACF,CAAC;IAED,uBAAuB,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAmC;QAChG,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA;QACvE,OAAO;YACN;gBACC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,SAAS;gBAChD,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,YAAY;gBACzB,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU;gBACzE,IAAI,EAAE,IAAI;aACV;YACD;gBACC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU;gBAClE,YAAY,EAAE,YAAY,CAAC,aAAa;aACxC;SACD,CAAA;IACF,CAAC;CACD;AAzFD,kCAyFC"}
@@ -10,31 +10,23 @@ export declare type GroupedCounts = Record<Input.PrimaryValue, number>;
10
10
  declare type CountOneHasManyGroupsArgs = {
11
11
  mapper: Mapper;
12
12
  filter: Input.OptionalWhere | undefined;
13
- targetEntity: Model.Entity;
14
- targetRelation: Model.ManyHasOneRelation;
13
+ relationPath: Model.AnyRelationContext[];
14
+ relationContext: Model.OneHasManyContext;
15
15
  ids: Input.PrimaryValue[];
16
16
  };
17
17
  declare type FetchOneHasManyGroupsArgs = {
18
18
  mapper: Mapper;
19
19
  objectNode: ObjectNode<Input.ListQueryInput>;
20
- targetEntity: Model.Entity;
21
- relation: Model.OneHasManyRelation;
22
- targetRelation: Model.ManyHasOneRelation;
20
+ relationPath: Model.AnyRelationContext[];
21
+ relationContext: Model.OneHasManyContext;
23
22
  ids: Input.PrimaryValue[];
24
23
  };
25
24
  declare type ManyHasManyBaseArgs = {
26
25
  mapper: Mapper;
27
- targetEntity: Model.Entity;
28
26
  ids: Input.PrimaryValue[];
29
- } & ({
30
- directionFrom: 'owning';
31
- sourceRelation: Model.ManyHasManyOwningRelation;
32
- targetRelation: Model.ManyHasManyInverseRelation | null;
33
- } | {
34
- directionFrom: 'inverse';
35
- sourceRelation: Model.ManyHasManyInverseRelation;
36
- targetRelation: Model.ManyHasManyOwningRelation;
37
- });
27
+ relationPath: Model.AnyRelationContext[];
28
+ relationContext: Model.ManyHasManyInverseContext | Model.ManyHasManyOwningContext;
29
+ };
38
30
  declare type CountManyHasManyGroupArgs = ManyHasManyBaseArgs & {
39
31
  filter: Input.OptionalWhere | undefined;
40
32
  };
@@ -47,11 +39,11 @@ export declare class RelationFetcher {
47
39
  private readonly predicateInjector;
48
40
  private readonly pathFactory;
49
41
  constructor(whereBuilder: WhereBuilder, orderBuilder: OrderByBuilder, predicateInjector: PredicatesInjector, pathFactory: PathFactory);
50
- countOneHasManyGroups({ mapper, filter, targetEntity, targetRelation, ids, }: CountOneHasManyGroupsArgs): Promise<GroupedCounts>;
51
- fetchOneHasManyGroups({ mapper, objectNode, targetEntity, relation, targetRelation, ids, }: FetchOneHasManyGroupsArgs): Promise<SelectGroupedObjects>;
42
+ countOneHasManyGroups({ mapper, filter, relationContext, relationPath, ids, }: CountOneHasManyGroupsArgs): Promise<GroupedCounts>;
43
+ fetchOneHasManyGroups({ mapper, objectNode, relationContext, relationPath, ids, }: FetchOneHasManyGroupsArgs): Promise<SelectGroupedObjects>;
52
44
  private createOneHasManyFilter;
53
- countManyHasManyGroups({ mapper, filter, targetEntity, directionFrom, sourceRelation, targetRelation, ids, }: CountManyHasManyGroupArgs): Promise<GroupedCounts>;
54
- fetchManyHasManyGroups({ mapper, field, sourceRelation, targetEntity, targetRelation, directionFrom, ids, }: FetchManyHasManyGroupsArgs): Promise<SelectGroupedObjects>;
45
+ countManyHasManyGroups({ mapper, filter, relationContext, relationPath, ids, }: CountManyHasManyGroupArgs): Promise<GroupedCounts>;
46
+ fetchManyHasManyGroups({ mapper, field, relationContext, relationPath, ids, }: FetchManyHasManyGroupsArgs): Promise<SelectGroupedObjects>;
55
47
  private resolveJoiningColumns;
56
48
  private buildManyHasManyGroups;
57
49
  private fetchJunction;
@@ -1 +1 @@
1
- {"version":3,"file":"RelationFetcher.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RelationFetcher.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
@@ -11,15 +11,23 @@ class RelationFetcher {
11
11
  this.predicateInjector = predicateInjector;
12
12
  this.pathFactory = pathFactory;
13
13
  }
14
- async countOneHasManyGroups({ mapper, filter, targetEntity, targetRelation, ids, }) {
14
+ async countOneHasManyGroups({ mapper, filter, relationContext, relationPath, ids, }) {
15
+ const { targetRelation, targetEntity } = relationContext;
15
16
  const filterWithParent = this.createOneHasManyFilter(targetEntity, targetRelation, ids, filter);
16
- return mapper.countGrouped(targetEntity, filterWithParent, targetRelation);
17
+ return mapper.countGrouped(targetEntity, filterWithParent, targetRelation, [
18
+ ...relationPath,
19
+ relationContext,
20
+ ]);
17
21
  }
18
- async fetchOneHasManyGroups({ mapper, objectNode, targetEntity, relation, targetRelation, ids, }) {
22
+ async fetchOneHasManyGroups({ mapper, objectNode, relationContext, relationPath, ids, }) {
23
+ const { relation, targetEntity, targetRelation } = relationContext;
19
24
  const filter = this.createOneHasManyFilter(targetEntity, targetRelation, ids, objectNode.args.filter);
20
25
  const objectNodeWithWhere = objectNode.withArg('filter', filter);
21
26
  const objectNodeWithOrder = OrderByHelper_1.OrderByHelper.appendDefaultOrderBy(targetEntity, objectNodeWithWhere, relation.orderBy || []);
22
- return mapper.selectGrouped(targetEntity, objectNodeWithOrder, targetRelation);
27
+ return mapper.selectGrouped(targetEntity, objectNodeWithOrder, targetRelation, [
28
+ ...relationPath,
29
+ relationContext,
30
+ ]);
23
31
  }
24
32
  createOneHasManyFilter(targetEntity, targetRelation, ids, filter) {
25
33
  const targetRelationFilter = { [targetEntity.primary]: { in: ids } };
@@ -30,10 +38,10 @@ class RelationFetcher {
30
38
  : { and: [filter[targetRelation.name], targetRelationFilter] },
31
39
  };
32
40
  }
33
- async countManyHasManyGroups({ mapper, filter, targetEntity, directionFrom, sourceRelation, targetRelation, ids, }) {
34
- const owningRelation = directionFrom === 'owning' ? sourceRelation : targetRelation;
35
- const joiningColumns = this.resolveJoiningColumns({ directionFrom, owningRelation });
36
- const qb = this.buildJunctionQb(owningRelation, ids, joiningColumns, targetEntity, { filter })
41
+ async countManyHasManyGroups({ mapper, filter, relationContext, relationPath, ids, }) {
42
+ const owningRelation = relationContext.type === 'manyHasManyInverse' ? relationContext.targetRelation : relationContext.relation;
43
+ const joiningColumns = this.resolveJoiningColumns({ relationType: relationContext.type, joiningTable: owningRelation.joiningTable });
44
+ const qb = this.buildJunctionQb(owningRelation, ids, joiningColumns, relationContext.targetEntity, { filter }, relationPath)
37
45
  .select(['junction_', joiningColumns.sourceColumn.columnName])
38
46
  .select(expr => expr.raw('count(*)'), 'row_count')
39
47
  .groupBy(['junction_', joiningColumns.sourceColumn.columnName]);
@@ -44,12 +52,13 @@ class RelationFetcher {
44
52
  }
45
53
  return Object.fromEntries(result);
46
54
  }
47
- async fetchManyHasManyGroups({ mapper, field, sourceRelation, targetEntity, targetRelation, directionFrom, ids, }) {
48
- const owningRelation = directionFrom === 'owning' ? sourceRelation : targetRelation;
49
- const joiningColumns = this.resolveJoiningColumns({ directionFrom, owningRelation });
50
- const defaultOrderBy = sourceRelation.orderBy || [];
51
- const objectNode = OrderByHelper_1.OrderByHelper.appendDefaultOrderBy(targetEntity, field, defaultOrderBy);
52
- const junctionValues = await this.fetchJunction(mapper.db, owningRelation, ids, joiningColumns, targetEntity, objectNode);
55
+ async fetchManyHasManyGroups({ mapper, field, relationContext, relationPath, ids, }) {
56
+ const owningRelation = relationContext.type === 'manyHasManyInverse' ? relationContext.targetRelation : relationContext.relation;
57
+ const joiningColumns = this.resolveJoiningColumns({ relationType: relationContext.type, joiningTable: owningRelation.joiningTable });
58
+ const defaultOrderBy = relationContext.relation.orderBy || [];
59
+ const objectNode = OrderByHelper_1.OrderByHelper.appendDefaultOrderBy(relationContext.targetEntity, field, defaultOrderBy);
60
+ const { targetEntity } = relationContext;
61
+ const junctionValues = await this.fetchJunction(mapper.db, owningRelation, ids, joiningColumns, targetEntity, objectNode, relationPath);
53
62
  if (junctionValues.length === 0) {
54
63
  return {};
55
64
  }
@@ -65,16 +74,16 @@ class RelationFetcher {
65
74
  },
66
75
  })
67
76
  .withField(primaryField);
68
- const result = await mapper.select(targetEntity, queryWithWhere, targetRelation);
77
+ const result = await mapper.select(targetEntity, queryWithWhere, [...relationPath, relationContext]);
69
78
  return this.buildManyHasManyGroups(targetEntity, joiningColumns, result, junctionValues);
70
79
  }
71
- resolveJoiningColumns({ directionFrom, owningRelation }) {
72
- return directionFrom === 'owning' ? {
73
- sourceColumn: owningRelation.joiningTable.joiningColumn,
74
- targetColumn: owningRelation.joiningTable.inverseJoiningColumn,
80
+ resolveJoiningColumns({ relationType, joiningTable }) {
81
+ return relationType === 'manyHasManyOwning' ? {
82
+ sourceColumn: joiningTable.joiningColumn,
83
+ targetColumn: joiningTable.inverseJoiningColumn,
75
84
  } : {
76
- sourceColumn: owningRelation.joiningTable.inverseJoiningColumn,
77
- targetColumn: owningRelation.joiningTable.joiningColumn,
85
+ sourceColumn: joiningTable.inverseJoiningColumn,
86
+ targetColumn: joiningTable.joiningColumn,
78
87
  };
79
88
  }
80
89
  buildManyHasManyGroups(entity, joiningColumns, resultObjects, junctionValues) {
@@ -96,9 +105,9 @@ class RelationFetcher {
96
105
  }
97
106
  return groupedResult;
98
107
  }
99
- async fetchJunction(db, relation, values, column, targetEntity, object) {
108
+ async fetchJunction(db, relation, values, column, targetEntity, object, relationPath) {
100
109
  const joiningTable = relation.joiningTable;
101
- const qb = this.buildJunctionQb(relation, values, column, targetEntity, object.args)
110
+ const qb = this.buildJunctionQb(relation, values, column, targetEntity, object.args, relationPath)
102
111
  .select(['junction_', joiningTable.inverseJoiningColumn.columnName])
103
112
  .select(['junction_', joiningTable.joiningColumn.columnName]);
104
113
  const wrapper = new database_1.LimitByGroupWrapper(['junction_', column.sourceColumn.columnName], (orderable, qb) => {
@@ -109,7 +118,7 @@ class RelationFetcher {
109
118
  }, object.args.offset, object.args.limit);
110
119
  return await wrapper.getResult(qb, db);
111
120
  }
112
- buildJunctionQb(relation, ids, column, targetEntity, objectArgs) {
121
+ buildJunctionQb(relation, ids, column, targetEntity, objectArgs, relationPath) {
113
122
  const joiningTable = relation.joiningTable;
114
123
  const whereColumn = column.sourceColumn.columnName;
115
124
  let qb = database_1.SelectBuilder.create()
@@ -129,7 +138,7 @@ class RelationFetcher {
129
138
  ]));
130
139
  }
131
140
  if (where && hasWhere) {
132
- qb = this.whereBuilder.build(qb, targetEntity, this.pathFactory.create([]), where);
141
+ qb = this.whereBuilder.build(qb, targetEntity, this.pathFactory.create([]), where, relationPath);
133
142
  }
134
143
  return qb;
135
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RelationFetcher.js","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RelationFetcher.js","sourceRoot":"","sources":["../../../../src/mapper/select/RelationFetcher.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,13 @@ export declare class SelectBuilder {
19
19
  private readonly fieldsVisitorFactory;
20
20
  private readonly selectHandlers;
21
21
  private readonly pathFactory;
22
+ private readonly relationPath;
22
23
  private resolver;
23
24
  readonly rows: Promise<SelectRow[]>;
24
25
  private queryWrapper;
25
26
  constructor(schema: Model.Schema, whereBuilder: WhereBuilder, orderByBuilder: OrderByBuilder, metaHandler: MetaHandler, qb: DbSelectBuilder<DbSelectBuilder.Result>, hydrator: SelectHydrator, fieldsVisitorFactory: FieldsVisitorFactory, selectHandlers: {
26
27
  [key: string]: SelectExecutionHandler<any>;
27
- }, pathFactory: PathFactory);
28
+ }, pathFactory: PathFactory, relationPath: Model.AnyRelationContext[]);
28
29
  execute(db: Client): Promise<SelectRow[]>;
29
30
  select(mapper: Mapper, entity: Model.Entity, input: ObjectNode<Input.ListQueryInput>, path: Path, groupBy?: string): void;
30
31
  private selectInternal;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAuB,aAAa,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAiC,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAa,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAG7D,qBAAa,aAAa;IASxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAhB7B,OAAO,CAAC,QAAQ,CAEf;IACD,SAAgB,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAoD;IAE9F,OAAO,CAAC,YAAY,CAAmC;gBAGrC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACjC,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,EAClC,QAAQ,EAAE,cAAc,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;KAAE,EAC9D,WAAW,EAAE,WAAW;IAG7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAW/C,MAAM,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,EACvC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,MAAM;IA8BjB,OAAO,CAAC,cAAc;YA0DR,eAAe;CAM7B"}
1
+ {"version":3,"file":"SelectBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAuB,aAAa,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAiC,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAa,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAG7D,qBAAa,aAAa;IASxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAjB9B,OAAO,CAAC,QAAQ,CAEf;IACD,SAAgB,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAoD;IAE9F,OAAO,CAAC,YAAY,CAAmC;gBAGrC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACjC,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,EAClC,QAAQ,EAAE,cAAc,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;KAAE,EAC9D,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;IAG7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAW/C,MAAM,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,EACvC,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,MAAM;IA8BjB,OAAO,CAAC,cAAc;YA2DR,eAAe;CAM7B"}
@@ -6,7 +6,7 @@ const database_1 = require("@contember/database");
6
6
  const inputProcessing_1 = require("../../inputProcessing");
7
7
  const utils_1 = require("../../utils");
8
8
  class SelectBuilder {
9
- constructor(schema, whereBuilder, orderByBuilder, metaHandler, qb, hydrator, fieldsVisitorFactory, selectHandlers, pathFactory) {
9
+ constructor(schema, whereBuilder, orderByBuilder, metaHandler, qb, hydrator, fieldsVisitorFactory, selectHandlers, pathFactory, relationPath) {
10
10
  this.schema = schema;
11
11
  this.whereBuilder = whereBuilder;
12
12
  this.orderByBuilder = orderByBuilder;
@@ -16,6 +16,7 @@ class SelectBuilder {
16
16
  this.fieldsVisitorFactory = fieldsVisitorFactory;
17
17
  this.selectHandlers = selectHandlers;
18
18
  this.pathFactory = pathFactory;
19
+ this.relationPath = relationPath;
19
20
  this.resolver = () => {
20
21
  throw new Error('SelectBuilder: Resolver called too soon');
21
22
  };
@@ -37,7 +38,7 @@ class SelectBuilder {
37
38
  this.selectInternal(mapper, entity, path, input);
38
39
  const where = input.args.filter;
39
40
  if (where) {
40
- this.qb = this.whereBuilder.build(this.qb, entity, path, where);
41
+ this.qb = this.whereBuilder.build(this.qb, entity, path, where, this.relationPath);
41
42
  }
42
43
  const orderBy = input.args.orderBy || [];
43
44
  if (groupBy) {
@@ -73,6 +74,7 @@ class SelectBuilder {
73
74
  })();
74
75
  const executionContext = {
75
76
  mapper,
77
+ relationPath: this.relationPath,
76
78
  addData: async (fieldName, cb, defaultValue = null) => {
77
79
  const columnName = (0, schema_utils_1.getColumnName)(this.schema, entity, fieldName);
78
80
  const ids = (await this.getColumnValues(path.for(fieldName), columnName)).filter(it => it !== null);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { SelectBuilder } from './SelectBuilder';
2
2
  import { SelectHydrator } from './SelectHydrator';
3
3
  import { SelectBuilder as DbSelectBuilder } from '@contember/database';
4
+ import { Model } from '@contember/schema';
4
5
  export interface SelectBuilderFactory {
5
- create(qb: DbSelectBuilder<DbSelectBuilder.Result>, hydrator: SelectHydrator): SelectBuilder;
6
+ create(qb: DbSelectBuilder<DbSelectBuilder.Result>, hydrator: SelectHydrator, relationPath: Model.AnyRelationContext[]): SelectBuilder;
6
7
  }
7
8
  //# sourceMappingURL=SelectBuilderFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEtE,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,aAAa,CAAA;CAC5F"}
1
+ {"version":3,"file":"SelectBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,GAAG,aAAa,CAAA;CACtI"}
@@ -12,6 +12,7 @@ export declare type SelectExecutionHandlerContext<FieldArgs = any, FieldExtensio
12
12
  mapper: Mapper;
13
13
  path: Path;
14
14
  entity: Model.Entity;
15
+ relationPath: Model.AnyRelationContext[];
15
16
  addColumn: (queryCallback: (qb: SelectBuilder<SelectBuilder.Result>) => SelectBuilder<SelectBuilder.Result>, path?: Path) => void;
16
17
  addData: (parentField: string, cb: DataCallback, defaultValue?: SelectNestedDefaultValue) => void;
17
18
  } & ({
@@ -1 +1 @@
1
- {"version":3,"file":"SelectExecutionHandler.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectExecutionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,WAAW,sBAAsB,CACtC,SAAS,GAAG,OAAO,EACnB,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEjE,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;CACjF;AAED,oBAAY,YAAY,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEnF,oBAAY,6BAA6B,CACxC,SAAS,GAAG,GAAG,EACf,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D;IACH,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,KAAK,CAAC,MAAM,CAAA;IAEpB,SAAS,EAAE,CACV,aAAa,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EAC/F,IAAI,CAAC,EAAE,IAAI,KACP,IAAI,CAAA;IACT,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAA;CACjG,GAAG,CACD;IACD,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,KAAK,CAAA;CAChB,GACD;IACD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;CAChD,CACH,CAAA"}
1
+ {"version":3,"file":"SelectExecutionHandler.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/SelectExecutionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,WAAW,sBAAsB,CACtC,SAAS,GAAG,OAAO,EACnB,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEjE,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;CACjF;AAED,oBAAY,YAAY,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEnF,oBAAY,6BAA6B,CACxC,SAAS,GAAG,GAAG,EACf,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D;IACH,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,KAAK,CAAC,MAAM,CAAA;IACpB,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IAExC,SAAS,EAAE,CACV,aAAa,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EAC/F,IAAI,CAAC,EAAE,IAAI,KACP,IAAI,CAAA;IACT,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAA;CACjG,GAAG,CACD;IACD,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,KAAK,CAAA;CAChB,GACD;IACD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;CAChD,CACH,CAAA"}
@@ -11,9 +11,10 @@ export declare class WhereBuilder {
11
11
  private readonly pathFactory;
12
12
  private readonly whereOptimizer;
13
13
  constructor(schema: Model.Schema, joinBuilder: JoinBuilder, conditionBuilder: ConditionBuilder, pathFactory: PathFactory, whereOptimizer: WhereOptimizer);
14
- build(qb: SelectBuilder<SelectBuilder.Result>, entity: Model.Entity, path: Path, where: Input.OptionalWhere, allowManyJoin?: boolean): SelectBuilder<SelectBuilder.Result>;
15
- buildAdvanced(entity: Model.Entity, path: Path, where: Input.OptionalWhere, callback: (clauseCb: (clause: SqlConditionBuilder) => SqlConditionBuilder) => SelectBuilder<SelectBuilder.Result>, allowManyJoin?: boolean): SelectBuilder<SelectBuilder.Result>;
14
+ build(qb: SelectBuilder<SelectBuilder.Result>, entity: Model.Entity, path: Path, where: Input.OptionalWhere, relationPath?: Model.AnyRelationContext[]): SelectBuilder<SelectBuilder.Result>;
15
+ buildAdvanced(entity: Model.Entity, path: Path, where: Input.OptionalWhere, callback: (clauseCb: (clause: SqlConditionBuilder) => SqlConditionBuilder) => SelectBuilder<SelectBuilder.Result>, relationPath?: Model.AnyRelationContext[]): SelectBuilder<SelectBuilder.Result>;
16
16
  private buildInternal;
17
+ private buildRecursive;
17
18
  private createManyHasManySubquery;
18
19
  private transformWhereToPrimaryCondition;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WhereBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAA0B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAJd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;IAGzC,KAAK,CACX,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,aAAa,GAAE,OAAe;IAKxB,aAAa,CACnB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACjH,aAAa,GAAE,OAAe;IAY/B,OAAO,CAAC,aAAa;IA0IrB,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gCAAgC;CA2CxC;AAED,oBAAY,mBAAmB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"WhereBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAA0B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAJd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc;IAGzC,KAAK,CACX,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,YAAY,GAAE,KAAK,CAAC,kBAAkB,EAAO;IAOvC,aAAa,CACnB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACjH,YAAY,GAAE,KAAK,CAAC,kBAAkB,EAAO;IAM9C,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,cAAc;IAyItB,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gCAAgC;CA2CxC;AAED,oBAAY,mBAAmB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -12,36 +12,40 @@ class WhereBuilder {
12
12
  this.pathFactory = pathFactory;
13
13
  this.whereOptimizer = whereOptimizer;
14
14
  }
15
- build(qb, entity, path, where, allowManyJoin = false) {
16
- return this.buildAdvanced(entity, path, where, cb => qb.where(clause => cb(clause)), allowManyJoin);
15
+ build(qb, entity, path, where, relationPath = []) {
16
+ const optimizedWhere = this.whereOptimizer.optimize(where, entity, relationPath);
17
+ return this.buildInternal(entity, path, optimizedWhere, cb => qb.where(clause => cb(clause)), false);
17
18
  }
18
- buildAdvanced(entity, path, where, callback, allowManyJoin = false) {
19
- const optimizedWhere = this.whereOptimizer.optimize(where, entity);
19
+ buildAdvanced(entity, path, where, callback, relationPath = []) {
20
+ const optimizedWhere = this.whereOptimizer.optimize(where, entity, relationPath);
21
+ return this.buildInternal(entity, path, optimizedWhere, callback, false);
22
+ }
23
+ buildInternal(entity, path, where, callback, allowManyJoin) {
20
24
  const joinList = [];
21
- const qbWithWhere = callback(clause => this.buildInternal(clause, entity, path, optimizedWhere, allowManyJoin, joinList));
25
+ const qbWithWhere = callback(clause => this.buildRecursive(clause, entity, path, where, allowManyJoin, joinList));
22
26
  return joinList.reduce((qb, { path, entity, relationName }) => this.joinBuilder.join(qb, path, entity, relationName), qbWithWhere);
23
27
  }
24
- buildInternal(conditionBuilder, entity, path, where, allowManyJoin, joinList) {
28
+ buildRecursive(conditionBuilder, entity, path, where, allowManyJoin, joinList) {
25
29
  const tableName = path.alias;
26
30
  if (where.and !== undefined && where.and.length > 0) {
27
31
  const expr = where.and;
28
- conditionBuilder = conditionBuilder.and(clause => expr.reduce((clause2, where) => !where ? clause2 : this.buildInternal(clause2, entity, path, where, allowManyJoin, joinList), clause));
32
+ conditionBuilder = conditionBuilder.and(clause => expr.reduce((clause2, where) => !where ? clause2 : this.buildRecursive(clause2, entity, path, where, allowManyJoin, joinList), clause));
29
33
  }
30
34
  if (where.or !== undefined && where.or.length > 0) {
31
35
  const expr = where.or;
32
36
  conditionBuilder = conditionBuilder.or(clause => expr.reduce((clause2, where) => !where
33
37
  ? clause2
34
- : clause2.and(clause3 => this.buildInternal(clause3, entity, path, where, allowManyJoin, joinList)), clause));
38
+ : clause2.and(clause3 => this.buildRecursive(clause3, entity, path, where, allowManyJoin, joinList)), clause));
35
39
  }
36
40
  if (where.not !== undefined) {
37
41
  const expr = where.not;
38
- conditionBuilder = conditionBuilder.not(clause => this.buildInternal(clause, entity, path, expr, allowManyJoin, joinList));
42
+ conditionBuilder = conditionBuilder.not(clause => this.buildRecursive(clause, entity, path, expr, allowManyJoin, joinList));
39
43
  }
40
44
  for (const fieldName in where) {
41
45
  if (fieldName === 'and' || fieldName === 'or' || fieldName === 'not') {
42
46
  continue;
43
47
  }
44
- const joinedWhere = (entity, relation, targetEntity) => {
48
+ const joinedWhere = ({ targetEntity, relation, entity }) => {
45
49
  const targetPath = path.for(fieldName);
46
50
  const relationWhere = where[fieldName];
47
51
  if (Object.keys(relationWhere).length === 0) {
@@ -54,39 +58,40 @@ class WhereBuilder {
54
58
  }
55
59
  }
56
60
  joinList.push({ path: targetPath, entity, relationName: relation.name });
57
- return this.buildInternal(conditionBuilder, targetEntity, targetPath, relationWhere, allowManyJoin, joinList);
61
+ return this.buildRecursive(conditionBuilder, targetEntity, targetPath, relationWhere, allowManyJoin, joinList);
58
62
  };
59
63
  conditionBuilder = (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, fieldName, {
60
- visitColumn: (entity, column) => {
64
+ visitColumn: ({ entity, column }) => {
61
65
  const subWhere = where[column.name];
62
66
  return this.conditionBuilder.build(conditionBuilder, tableName, column.columnName, column.columnType, subWhere);
63
67
  },
64
68
  visitOneHasOneInverse: joinedWhere,
65
69
  visitOneHasOneOwning: joinedWhere,
66
70
  visitManyHasOne: joinedWhere,
67
- visitManyHasManyInverse: (entity, relation, targetEntity, targetRelation) => {
71
+ visitManyHasManyInverse: context => {
68
72
  if (allowManyJoin) {
69
- return joinedWhere(entity, relation, targetEntity);
73
+ return joinedWhere(context);
70
74
  }
71
75
  const relationWhere = where[fieldName];
72
- return conditionBuilder.exists(this.createManyHasManySubquery([tableName, entity.primaryColumn], relationWhere, targetEntity, targetRelation.joiningTable, 'inverse'));
76
+ return conditionBuilder.exists(this.createManyHasManySubquery([tableName, entity.primaryColumn], relationWhere, context.targetEntity, context.targetRelation.joiningTable, 'inverse'));
73
77
  },
74
- visitManyHasManyOwning: (entity, relation, targetEntity) => {
78
+ visitManyHasManyOwning: context => {
75
79
  if (allowManyJoin) {
76
- return joinedWhere(entity, relation, targetEntity);
80
+ return joinedWhere(context);
77
81
  }
78
82
  const relationWhere = where[fieldName];
79
- return conditionBuilder.exists(this.createManyHasManySubquery([tableName, entity.primaryColumn], relationWhere, targetEntity, relation.joiningTable, 'owning'));
83
+ return conditionBuilder.exists(this.createManyHasManySubquery([tableName, entity.primaryColumn], relationWhere, context.targetEntity, context.relation.joiningTable, 'owning'));
80
84
  },
81
- visitOneHasMany: (entity, relation, targetEntity, targetRelation) => {
85
+ visitOneHasMany: context => {
82
86
  if (allowManyJoin) {
83
- return joinedWhere(entity, relation, targetEntity);
87
+ return joinedWhere(context);
84
88
  }
85
89
  const relationWhere = where[fieldName];
86
- return conditionBuilder.exists(this.build(database_1.SelectBuilder.create()
90
+ const qb = database_1.SelectBuilder.create()
87
91
  .select(it => it.raw('1'))
88
- .from(targetEntity.tableName, 'sub_')
89
- .where(it => it.columnsEq([tableName, entity.primaryColumn], ['sub_', targetRelation.joiningColumn.columnName])), targetEntity, this.pathFactory.create([], 'sub_'), relationWhere, true));
92
+ .from(context.targetEntity.tableName, 'sub_')
93
+ .where(it => it.columnsEq([tableName, entity.primaryColumn], ['sub_', context.targetRelation.joiningColumn.columnName]));
94
+ return conditionBuilder.exists(this.buildInternal(context.targetEntity, this.pathFactory.create([], 'sub_'), relationWhere, cb => qb.where(clause => cb(clause)), true));
90
95
  },
91
96
  });
92
97
  }
@@ -105,7 +110,7 @@ class WhereBuilder {
105
110
  return qb.where(condition => this.conditionBuilder.build(condition, 'junction_', toColumn, columnType, primaryCondition));
106
111
  }
107
112
  const qbJoined = qb.join(targetEntity.tableName, 'sub_', clause => clause.compareColumns(['junction_', toColumn], database_1.Operator.eq, ['sub_', targetEntity.primary]));
108
- return this.buildAdvanced(targetEntity, this.pathFactory.create([], 'sub_'), relationWhere, cb => qbJoined.where(clause => cb(clause)), true);
113
+ return this.buildInternal(targetEntity, this.pathFactory.create([], 'sub_'), relationWhere, cb => qbJoined.where(clause => cb(clause)), true);
109
114
  }
110
115
  transformWhereToPrimaryCondition(where, primaryField) {
111
116
  const keys = Object.keys(where);
@@ -1 +1 @@
1
- {"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,14 @@ export declare class FieldsVisitor implements Model.RelationByTypeVisitor<void>,
11
11
  private readonly whereBuilder;
12
12
  private readonly mapper;
13
13
  private readonly executionContext;
14
- constructor(schema: Model.Schema, relationFetcher: RelationFetcher, predicateFactory: PredicateFactory, whereBuilder: WhereBuilder, mapper: Mapper, executionContext: SelectExecutionHandlerContext);
15
- visitColumn(entity: Model.Entity, column: Model.AnyColumn): void;
16
- visitManyHasManyInverse(entity: Model.Entity, relation: Model.ManyHasManyInverseRelation, targetEntity: Model.Entity, targetRelation: Model.ManyHasManyOwningRelation): void;
17
- visitManyHasManyOwning(entity: Model.Entity, relation: Model.ManyHasManyOwningRelation, targetEntity: Model.Entity, targetRelation: Model.ManyHasManyInverseRelation | null): void;
18
- visitOneHasMany(entity: Model.Entity, relation: Model.OneHasManyRelation, targetEntity: Model.Entity, targetRelation: Model.ManyHasOneRelation): void;
19
- visitOneHasOneInverse(entity: Model.Entity, relation: Model.OneHasOneInverseRelation, targetEntity: Model.Entity, targetRelation: Model.OneHasOneOwningRelation): void;
20
- visitOneHasOneOwning(entity: Model.Entity, relation: Model.OneHasOneOwningRelation, targetEntity: Model.Entity, targetRelation: Model.OneHasOneInverseRelation | null): void;
21
- visitManyHasOne(entity: Model.Entity, relation: Model.ManyHasOneRelation, targetEntity: Model.Entity, targetRelation: Model.OneHasManyRelation | null): void;
14
+ private readonly relationPath;
15
+ constructor(schema: Model.Schema, relationFetcher: RelationFetcher, predicateFactory: PredicateFactory, whereBuilder: WhereBuilder, mapper: Mapper, executionContext: SelectExecutionHandlerContext, relationPath: Model.AnyRelationContext[]);
16
+ visitColumn({ entity, column }: Model.ColumnContext): void;
17
+ visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext): void;
18
+ visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext): void;
19
+ visitOneHasMany(relationContext: Model.OneHasManyContext): void;
20
+ visitOneHasOneInverse(relationContext: Model.OneHasOneInverseContext): void;
21
+ visitOneHasOneOwning(relationContext: Model.OneHasOneOwningContext): void;
22
+ visitManyHasOne(relationContext: Model.ManyHasOneContext): void;
22
23
  }
23
24
  //# sourceMappingURL=FieldsVisitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldsVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/handlers/FieldsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,qBAAa,aAAc,YAAW,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;IAEhG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBALhB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,6BAA6B;IAGjE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;IAkCzD,uBAAuB,CAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,0BAA0B,EAC1C,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,yBAAyB,GAC7C,IAAI;IAuBA,sBAAsB,CAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,yBAAyB,EACzC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,0BAA0B,GAAG,IAAI,GACrD,IAAI;IAsBA,eAAe,CACrB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAClC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,kBAAkB,GACtC,IAAI;IAqBA,qBAAqB,CAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,wBAAwB,EACxC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,uBAAuB,GAC3C,IAAI;IA0BA,oBAAoB,CAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,uBAAuB,EACvC,YAAY,EAAE,KAAK,CAAC,MAAM,EAC1B,cAAc,EAAE,KAAK,CAAC,wBAAwB,GAAG,IAAI,GACnD,IAAI;IAwBA,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI;CAuBnK"}
1
+ {"version":3,"file":"FieldsVisitor.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/handlers/FieldsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,qBAAa,aAAc,YAAW,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;IAEhG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,6BAA6B,EAC/C,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE;IAG1D,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI;IAkCnD,uBAAuB,CAAC,eAAe,EAAE,KAAK,CAAC,yBAAyB,GAAG,IAAI;IAqB/E,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,wBAAwB,GAAG,IAAI;IAoB7E,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI;IAoB/D,qBAAqB,CAAC,eAAe,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI;IA8B3E,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,sBAAsB,GAAG,IAAI;IA4BzE,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI;CA2BtE"}