@contember/engine-content-api 2.0.0-alpha.32 → 2.0.0-alpha.36

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 (661) hide show
  1. package/dist/development/src/ExecutionContainer.cjs.map +1 -1
  2. package/dist/development/src/ExecutionContainer.js.map +1 -1
  3. package/dist/development/src/acl/Authorizator.cjs.map +1 -1
  4. package/dist/development/src/acl/Authorizator.js.map +1 -1
  5. package/dist/development/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
  6. package/dist/development/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
  7. package/dist/development/src/acl/PermissionFactory.cjs.map +1 -1
  8. package/dist/development/src/acl/PermissionFactory.js.map +1 -1
  9. package/dist/development/src/acl/PredicateFactory.cjs.map +1 -1
  10. package/dist/development/src/acl/PredicateFactory.js.map +1 -1
  11. package/dist/development/src/acl/PredicatesInjector.cjs.map +1 -1
  12. package/dist/development/src/acl/PredicatesInjector.js.map +1 -1
  13. package/dist/development/src/acl/VariableInjector.cjs.map +1 -1
  14. package/dist/development/src/acl/VariableInjector.js.map +1 -1
  15. package/dist/development/src/acl/VariableUtils.cjs.map +1 -1
  16. package/dist/development/src/acl/VariableUtils.js.map +1 -1
  17. package/dist/development/src/exception.cjs.map +1 -1
  18. package/dist/development/src/exception.js.map +1 -1
  19. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
  20. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  21. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
  22. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  23. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
  24. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  25. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
  26. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  27. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
  28. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  29. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
  30. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  31. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
  32. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  33. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
  34. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  35. package/dist/development/src/input-validation/ColumnValueResolver.cjs.map +1 -1
  36. package/dist/development/src/input-validation/ColumnValueResolver.js.map +1 -1
  37. package/dist/development/src/input-validation/EntityRulesResolver.cjs.map +1 -1
  38. package/dist/development/src/input-validation/EntityRulesResolver.js.map +1 -1
  39. package/dist/development/src/input-validation/QueryAstFactory.cjs.map +1 -1
  40. package/dist/development/src/input-validation/QueryAstFactory.js.map +1 -1
  41. package/dist/development/src/input-validation/ValidationContext.cjs.map +1 -1
  42. package/dist/development/src/input-validation/ValidationContext.js.map +1 -1
  43. package/dist/development/src/input-validation/ValidationDataSelector.cjs.map +1 -1
  44. package/dist/development/src/input-validation/ValidationDataSelector.js.map +1 -1
  45. package/dist/development/src/input-validation/ValidationEvaluation.cjs.map +1 -1
  46. package/dist/development/src/input-validation/ValidationEvaluation.js.map +1 -1
  47. package/dist/development/src/input-validation/ValidationPath.cjs.map +1 -1
  48. package/dist/development/src/input-validation/ValidationPath.js.map +1 -1
  49. package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
  50. package/dist/development/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
  51. package/dist/development/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
  52. package/dist/development/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
  53. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
  54. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  55. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  56. package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  57. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
  58. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  59. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  60. package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  61. package/dist/development/src/inputProcessing/FieldNode.cjs.map +1 -1
  62. package/dist/development/src/inputProcessing/FieldNode.js.map +1 -1
  63. package/dist/development/src/inputProcessing/ObjectNode.cjs.map +1 -1
  64. package/dist/development/src/inputProcessing/ObjectNode.js.map +1 -1
  65. package/dist/development/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
  66. package/dist/development/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  67. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  68. package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  69. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
  70. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  71. package/dist/development/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
  72. package/dist/development/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  73. package/dist/development/src/introspection/introspection.schema.cjs.map +1 -1
  74. package/dist/development/src/introspection/introspection.schema.js.map +1 -1
  75. package/dist/development/src/mapper/CheckedPrimary.cjs.map +1 -1
  76. package/dist/development/src/mapper/CheckedPrimary.js.map +1 -1
  77. package/dist/development/src/mapper/ColumnValue.cjs.map +1 -1
  78. package/dist/development/src/mapper/ColumnValue.js.map +1 -1
  79. package/dist/development/src/mapper/ErrorUtils.cjs.map +1 -1
  80. package/dist/development/src/mapper/ErrorUtils.js.map +1 -1
  81. package/dist/development/src/mapper/EventManager.cjs.map +1 -1
  82. package/dist/development/src/mapper/EventManager.js.map +1 -1
  83. package/dist/development/src/mapper/JunctionTableManager.cjs.map +1 -1
  84. package/dist/development/src/mapper/JunctionTableManager.js.map +1 -1
  85. package/dist/development/src/mapper/Mapper.cjs.map +1 -1
  86. package/dist/development/src/mapper/Mapper.js.map +1 -1
  87. package/dist/development/src/mapper/MapperFactory.cjs.map +1 -1
  88. package/dist/development/src/mapper/MapperFactory.js.map +1 -1
  89. package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  90. package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -1
  91. package/dist/development/src/mapper/Result.cjs.map +1 -1
  92. package/dist/development/src/mapper/Result.js.map +1 -1
  93. package/dist/development/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
  94. package/dist/development/src/mapper/delete/DeleteExecutor.js.map +1 -1
  95. package/dist/development/src/mapper/delete/DeleteState.cjs.map +1 -1
  96. package/dist/development/src/mapper/delete/DeleteState.js.map +1 -1
  97. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
  98. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  99. package/dist/development/src/mapper/delete/helpers.cjs.map +1 -1
  100. package/dist/development/src/mapper/delete/helpers.js.map +1 -1
  101. package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  102. package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -1
  103. package/dist/development/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
  104. package/dist/development/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  105. package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
  106. package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
  107. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  108. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  109. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -1
  110. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -1
  111. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -1
  112. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -1
  113. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -1
  114. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -1
  115. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -1
  116. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -1
  117. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -1
  118. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -1
  119. package/dist/development/src/mapper/select/ConditionBuilder.cjs.map +1 -1
  120. package/dist/development/src/mapper/select/ConditionBuilder.js.map +1 -1
  121. package/dist/development/src/mapper/select/JoinBuilder.cjs.map +1 -1
  122. package/dist/development/src/mapper/select/JoinBuilder.js.map +1 -1
  123. package/dist/development/src/mapper/select/JoinVisitor.cjs.map +1 -1
  124. package/dist/development/src/mapper/select/JoinVisitor.js.map +1 -1
  125. package/dist/development/src/mapper/select/OrderByBuilder.cjs.map +1 -1
  126. package/dist/development/src/mapper/select/OrderByBuilder.js.map +1 -1
  127. package/dist/development/src/mapper/select/OrderByHelper.cjs.map +1 -1
  128. package/dist/development/src/mapper/select/OrderByHelper.js.map +1 -1
  129. package/dist/development/src/mapper/select/Path.cjs.map +1 -1
  130. package/dist/development/src/mapper/select/Path.js.map +1 -1
  131. package/dist/development/src/mapper/select/RelationFetcher.cjs.map +1 -1
  132. package/dist/development/src/mapper/select/RelationFetcher.js.map +1 -1
  133. package/dist/development/src/mapper/select/SelectBuilder.cjs.map +1 -1
  134. package/dist/development/src/mapper/select/SelectBuilder.js.map +1 -1
  135. package/dist/development/src/mapper/select/SelectHydrator.cjs.map +1 -1
  136. package/dist/development/src/mapper/select/SelectHydrator.js.map +1 -1
  137. package/dist/development/src/mapper/select/WhereBuilder.cjs.map +1 -1
  138. package/dist/development/src/mapper/select/WhereBuilder.js.map +1 -1
  139. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  140. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  141. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
  142. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  143. package/dist/development/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
  144. package/dist/development/src/mapper/select/handlers/MetaHandler.js.map +1 -1
  145. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
  146. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
  147. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  148. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  149. package/dist/development/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -1
  150. package/dist/development/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  151. package/dist/development/src/mapper/select/optimizer/helpers.cjs.map +1 -1
  152. package/dist/development/src/mapper/select/optimizer/helpers.js.map +1 -1
  153. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  154. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  155. package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  156. package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
  157. package/dist/development/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
  158. package/dist/development/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  159. package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
  160. package/dist/development/src/mapper/update/Updater.js.map +1 -1
  161. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -1
  162. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -1
  163. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -1
  164. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -1
  165. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -1
  166. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -1
  167. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -1
  168. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -1
  169. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -1
  170. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -1
  171. package/dist/development/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
  172. package/dist/development/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  173. package/dist/development/src/resolvers/MutationResolver.cjs.map +1 -1
  174. package/dist/development/src/resolvers/MutationResolver.js.map +1 -1
  175. package/dist/development/src/resolvers/ReadHelpers.cjs.map +1 -1
  176. package/dist/development/src/resolvers/ReadHelpers.js.map +1 -1
  177. package/dist/development/src/resolvers/ReadResolver.cjs.map +1 -1
  178. package/dist/development/src/resolvers/ReadResolver.js.map +1 -1
  179. package/dist/development/src/resolvers/ValidationResolver.cjs.map +1 -1
  180. package/dist/development/src/resolvers/ValidationResolver.js.map +1 -1
  181. package/dist/development/src/schema/ColumnTypeResolver.cjs.map +1 -1
  182. package/dist/development/src/schema/ColumnTypeResolver.js.map +1 -1
  183. package/dist/development/src/schema/ConditionTypeProvider.cjs.map +1 -1
  184. package/dist/development/src/schema/ConditionTypeProvider.js.map +1 -1
  185. package/dist/development/src/schema/CustomTypesProvider.cjs.map +1 -1
  186. package/dist/development/src/schema/CustomTypesProvider.js.map +1 -1
  187. package/dist/development/src/schema/EntityTypeProvider.cjs.map +1 -1
  188. package/dist/development/src/schema/EntityTypeProvider.js.map +1 -1
  189. package/dist/development/src/schema/EnumsProvider.cjs.map +1 -1
  190. package/dist/development/src/schema/EnumsProvider.js.map +1 -1
  191. package/dist/development/src/schema/FieldAccessVisitor.cjs.map +1 -1
  192. package/dist/development/src/schema/FieldAccessVisitor.js.map +1 -1
  193. package/dist/development/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
  194. package/dist/development/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  195. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
  196. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  197. package/dist/development/src/schema/MutationProvider.cjs.map +1 -1
  198. package/dist/development/src/schema/MutationProvider.js.map +1 -1
  199. package/dist/development/src/schema/OperationExtension.cjs.map +1 -1
  200. package/dist/development/src/schema/OperationExtension.js.map +1 -1
  201. package/dist/development/src/schema/OrderByTypeProvider.cjs.map +1 -1
  202. package/dist/development/src/schema/OrderByTypeProvider.js.map +1 -1
  203. package/dist/development/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -1
  204. package/dist/development/src/schema/PaginatedFieldConfigFactory.js.map +1 -1
  205. package/dist/development/src/schema/QueryProvider.cjs.map +1 -1
  206. package/dist/development/src/schema/QueryProvider.js.map +1 -1
  207. package/dist/development/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
  208. package/dist/development/src/schema/ResultSchemaTypeProvider.js.map +1 -1
  209. package/dist/development/src/schema/ValidationQueriesProvider.cjs.map +1 -1
  210. package/dist/development/src/schema/ValidationQueriesProvider.js.map +1 -1
  211. package/dist/development/src/schema/WhereTypeProvider.cjs.map +1 -1
  212. package/dist/development/src/schema/WhereTypeProvider.js.map +1 -1
  213. package/dist/development/src/schema/entities/FieldArgsVisitor.cjs.map +1 -1
  214. package/dist/development/src/schema/entities/FieldArgsVisitor.js.map +1 -1
  215. package/dist/development/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
  216. package/dist/development/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  217. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -1
  218. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -1
  219. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
  220. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  221. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  222. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  223. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -1
  224. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  225. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -1
  226. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
  227. package/dist/development/src/schema/mutations/EntityInputProvider.cjs.map +1 -1
  228. package/dist/development/src/schema/mutations/EntityInputProvider.js.map +1 -1
  229. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
  230. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  231. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  232. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  233. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
  234. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  235. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
  236. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
  237. package/dist/development/src/schema/utils.cjs.map +1 -1
  238. package/dist/development/src/schema/utils.js.map +1 -1
  239. package/dist/development/src/utils/Mutex.cjs.map +1 -1
  240. package/dist/development/src/utils/Mutex.js.map +1 -1
  241. package/dist/development/src/utils/ResolveInfoUtils.cjs.map +1 -1
  242. package/dist/development/src/utils/ResolveInfoUtils.js.map +1 -1
  243. package/dist/development/src/utils/accessor.cjs.map +1 -1
  244. package/dist/development/src/utils/accessor.js.map +1 -1
  245. package/dist/development/src/utils/isIt.cjs.map +1 -1
  246. package/dist/development/src/utils/isIt.js.map +1 -1
  247. package/dist/development/src/utils/object.cjs.map +1 -1
  248. package/dist/development/src/utils/object.js.map +1 -1
  249. package/dist/development/src/utils/paginationUtils.cjs.map +1 -1
  250. package/dist/development/src/utils/paginationUtils.js.map +1 -1
  251. package/dist/development/src/utils/singletonFactory.cjs.map +1 -1
  252. package/dist/development/src/utils/singletonFactory.js.map +1 -1
  253. package/dist/development/src/utils/uniqueWhereFields.cjs.map +1 -1
  254. package/dist/development/src/utils/uniqueWhereFields.js.map +1 -1
  255. package/dist/production/src/ExecutionContainer.cjs.map +1 -1
  256. package/dist/production/src/ExecutionContainer.js.map +1 -1
  257. package/dist/production/src/acl/Authorizator.cjs.map +1 -1
  258. package/dist/production/src/acl/Authorizator.js.map +1 -1
  259. package/dist/production/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
  260. package/dist/production/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
  261. package/dist/production/src/acl/PermissionFactory.cjs.map +1 -1
  262. package/dist/production/src/acl/PermissionFactory.js.map +1 -1
  263. package/dist/production/src/acl/PredicateFactory.cjs.map +1 -1
  264. package/dist/production/src/acl/PredicateFactory.js.map +1 -1
  265. package/dist/production/src/acl/PredicatesInjector.cjs.map +1 -1
  266. package/dist/production/src/acl/PredicatesInjector.js.map +1 -1
  267. package/dist/production/src/acl/VariableInjector.cjs.map +1 -1
  268. package/dist/production/src/acl/VariableInjector.js.map +1 -1
  269. package/dist/production/src/acl/VariableUtils.cjs.map +1 -1
  270. package/dist/production/src/acl/VariableUtils.js.map +1 -1
  271. package/dist/production/src/exception.cjs.map +1 -1
  272. package/dist/production/src/exception.js.map +1 -1
  273. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
  274. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  275. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
  276. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
  277. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
  278. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  279. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
  280. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
  281. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
  282. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
  283. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
  284. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  285. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
  286. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  287. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
  288. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
  289. package/dist/production/src/input-validation/ColumnValueResolver.cjs.map +1 -1
  290. package/dist/production/src/input-validation/ColumnValueResolver.js.map +1 -1
  291. package/dist/production/src/input-validation/EntityRulesResolver.cjs.map +1 -1
  292. package/dist/production/src/input-validation/EntityRulesResolver.js.map +1 -1
  293. package/dist/production/src/input-validation/QueryAstFactory.cjs.map +1 -1
  294. package/dist/production/src/input-validation/QueryAstFactory.js.map +1 -1
  295. package/dist/production/src/input-validation/ValidationContext.cjs.map +1 -1
  296. package/dist/production/src/input-validation/ValidationContext.js.map +1 -1
  297. package/dist/production/src/input-validation/ValidationDataSelector.cjs.map +1 -1
  298. package/dist/production/src/input-validation/ValidationDataSelector.js.map +1 -1
  299. package/dist/production/src/input-validation/ValidationEvaluation.cjs.map +1 -1
  300. package/dist/production/src/input-validation/ValidationEvaluation.js.map +1 -1
  301. package/dist/production/src/input-validation/ValidationPath.cjs.map +1 -1
  302. package/dist/production/src/input-validation/ValidationPath.js.map +1 -1
  303. package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
  304. package/dist/production/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
  305. package/dist/production/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
  306. package/dist/production/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
  307. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
  308. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  309. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  310. package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  311. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
  312. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  313. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  314. package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  315. package/dist/production/src/inputProcessing/FieldNode.cjs.map +1 -1
  316. package/dist/production/src/inputProcessing/FieldNode.js.map +1 -1
  317. package/dist/production/src/inputProcessing/ObjectNode.cjs.map +1 -1
  318. package/dist/production/src/inputProcessing/ObjectNode.js.map +1 -1
  319. package/dist/production/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
  320. package/dist/production/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  321. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  322. package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  323. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
  324. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  325. package/dist/production/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
  326. package/dist/production/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  327. package/dist/production/src/introspection/introspection.schema.cjs.map +1 -1
  328. package/dist/production/src/introspection/introspection.schema.js.map +1 -1
  329. package/dist/production/src/mapper/CheckedPrimary.cjs.map +1 -1
  330. package/dist/production/src/mapper/CheckedPrimary.js.map +1 -1
  331. package/dist/production/src/mapper/ColumnValue.cjs.map +1 -1
  332. package/dist/production/src/mapper/ColumnValue.js.map +1 -1
  333. package/dist/production/src/mapper/ErrorUtils.cjs.map +1 -1
  334. package/dist/production/src/mapper/ErrorUtils.js.map +1 -1
  335. package/dist/production/src/mapper/EventManager.cjs.map +1 -1
  336. package/dist/production/src/mapper/EventManager.js.map +1 -1
  337. package/dist/production/src/mapper/JunctionTableManager.cjs.map +1 -1
  338. package/dist/production/src/mapper/JunctionTableManager.js.map +1 -1
  339. package/dist/production/src/mapper/Mapper.cjs.map +1 -1
  340. package/dist/production/src/mapper/Mapper.js.map +1 -1
  341. package/dist/production/src/mapper/MapperFactory.cjs.map +1 -1
  342. package/dist/production/src/mapper/MapperFactory.js.map +1 -1
  343. package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  344. package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
  345. package/dist/production/src/mapper/Result.cjs.map +1 -1
  346. package/dist/production/src/mapper/Result.js.map +1 -1
  347. package/dist/production/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
  348. package/dist/production/src/mapper/delete/DeleteExecutor.js.map +1 -1
  349. package/dist/production/src/mapper/delete/DeleteState.cjs.map +1 -1
  350. package/dist/production/src/mapper/delete/DeleteState.js.map +1 -1
  351. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
  352. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  353. package/dist/production/src/mapper/delete/helpers.cjs.map +1 -1
  354. package/dist/production/src/mapper/delete/helpers.js.map +1 -1
  355. package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  356. package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
  357. package/dist/production/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
  358. package/dist/production/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  359. package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
  360. package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
  361. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  362. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  363. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -1
  364. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -1
  365. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -1
  366. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -1
  367. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -1
  368. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -1
  369. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -1
  370. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -1
  371. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -1
  372. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -1
  373. package/dist/production/src/mapper/select/ConditionBuilder.cjs.map +1 -1
  374. package/dist/production/src/mapper/select/ConditionBuilder.js.map +1 -1
  375. package/dist/production/src/mapper/select/JoinBuilder.cjs.map +1 -1
  376. package/dist/production/src/mapper/select/JoinBuilder.js.map +1 -1
  377. package/dist/production/src/mapper/select/JoinVisitor.cjs.map +1 -1
  378. package/dist/production/src/mapper/select/JoinVisitor.js.map +1 -1
  379. package/dist/production/src/mapper/select/OrderByBuilder.cjs.map +1 -1
  380. package/dist/production/src/mapper/select/OrderByBuilder.js.map +1 -1
  381. package/dist/production/src/mapper/select/OrderByHelper.cjs.map +1 -1
  382. package/dist/production/src/mapper/select/OrderByHelper.js.map +1 -1
  383. package/dist/production/src/mapper/select/Path.cjs.map +1 -1
  384. package/dist/production/src/mapper/select/Path.js.map +1 -1
  385. package/dist/production/src/mapper/select/RelationFetcher.cjs.map +1 -1
  386. package/dist/production/src/mapper/select/RelationFetcher.js.map +1 -1
  387. package/dist/production/src/mapper/select/SelectBuilder.cjs.map +1 -1
  388. package/dist/production/src/mapper/select/SelectBuilder.js.map +1 -1
  389. package/dist/production/src/mapper/select/SelectHydrator.cjs.map +1 -1
  390. package/dist/production/src/mapper/select/SelectHydrator.js.map +1 -1
  391. package/dist/production/src/mapper/select/WhereBuilder.cjs.map +1 -1
  392. package/dist/production/src/mapper/select/WhereBuilder.js.map +1 -1
  393. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  394. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  395. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
  396. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  397. package/dist/production/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
  398. package/dist/production/src/mapper/select/handlers/MetaHandler.js.map +1 -1
  399. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
  400. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
  401. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  402. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  403. package/dist/production/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -1
  404. package/dist/production/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  405. package/dist/production/src/mapper/select/optimizer/helpers.cjs.map +1 -1
  406. package/dist/production/src/mapper/select/optimizer/helpers.js.map +1 -1
  407. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  408. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  409. package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  410. package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
  411. package/dist/production/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
  412. package/dist/production/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  413. package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
  414. package/dist/production/src/mapper/update/Updater.js.map +1 -1
  415. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -1
  416. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -1
  417. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -1
  418. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -1
  419. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -1
  420. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -1
  421. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -1
  422. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -1
  423. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -1
  424. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -1
  425. package/dist/production/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
  426. package/dist/production/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  427. package/dist/production/src/resolvers/MutationResolver.cjs.map +1 -1
  428. package/dist/production/src/resolvers/MutationResolver.js.map +1 -1
  429. package/dist/production/src/resolvers/ReadHelpers.cjs.map +1 -1
  430. package/dist/production/src/resolvers/ReadHelpers.js.map +1 -1
  431. package/dist/production/src/resolvers/ReadResolver.cjs.map +1 -1
  432. package/dist/production/src/resolvers/ReadResolver.js.map +1 -1
  433. package/dist/production/src/resolvers/ValidationResolver.cjs.map +1 -1
  434. package/dist/production/src/resolvers/ValidationResolver.js.map +1 -1
  435. package/dist/production/src/schema/ColumnTypeResolver.cjs.map +1 -1
  436. package/dist/production/src/schema/ColumnTypeResolver.js.map +1 -1
  437. package/dist/production/src/schema/ConditionTypeProvider.cjs.map +1 -1
  438. package/dist/production/src/schema/ConditionTypeProvider.js.map +1 -1
  439. package/dist/production/src/schema/CustomTypesProvider.cjs.map +1 -1
  440. package/dist/production/src/schema/CustomTypesProvider.js.map +1 -1
  441. package/dist/production/src/schema/EntityTypeProvider.cjs.map +1 -1
  442. package/dist/production/src/schema/EntityTypeProvider.js.map +1 -1
  443. package/dist/production/src/schema/EnumsProvider.cjs.map +1 -1
  444. package/dist/production/src/schema/EnumsProvider.js.map +1 -1
  445. package/dist/production/src/schema/FieldAccessVisitor.cjs.map +1 -1
  446. package/dist/production/src/schema/FieldAccessVisitor.js.map +1 -1
  447. package/dist/production/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
  448. package/dist/production/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  449. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
  450. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  451. package/dist/production/src/schema/MutationProvider.cjs.map +1 -1
  452. package/dist/production/src/schema/MutationProvider.js.map +1 -1
  453. package/dist/production/src/schema/OperationExtension.cjs.map +1 -1
  454. package/dist/production/src/schema/OperationExtension.js.map +1 -1
  455. package/dist/production/src/schema/OrderByTypeProvider.cjs.map +1 -1
  456. package/dist/production/src/schema/OrderByTypeProvider.js.map +1 -1
  457. package/dist/production/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -1
  458. package/dist/production/src/schema/PaginatedFieldConfigFactory.js.map +1 -1
  459. package/dist/production/src/schema/QueryProvider.cjs.map +1 -1
  460. package/dist/production/src/schema/QueryProvider.js.map +1 -1
  461. package/dist/production/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
  462. package/dist/production/src/schema/ResultSchemaTypeProvider.js.map +1 -1
  463. package/dist/production/src/schema/ValidationQueriesProvider.cjs.map +1 -1
  464. package/dist/production/src/schema/ValidationQueriesProvider.js.map +1 -1
  465. package/dist/production/src/schema/WhereTypeProvider.cjs.map +1 -1
  466. package/dist/production/src/schema/WhereTypeProvider.js.map +1 -1
  467. package/dist/production/src/schema/entities/FieldArgsVisitor.cjs.map +1 -1
  468. package/dist/production/src/schema/entities/FieldArgsVisitor.js.map +1 -1
  469. package/dist/production/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
  470. package/dist/production/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  471. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -1
  472. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -1
  473. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
  474. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  475. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  476. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  477. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -1
  478. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  479. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -1
  480. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
  481. package/dist/production/src/schema/mutations/EntityInputProvider.cjs.map +1 -1
  482. package/dist/production/src/schema/mutations/EntityInputProvider.js.map +1 -1
  483. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
  484. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  485. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
  486. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  487. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
  488. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  489. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
  490. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
  491. package/dist/production/src/schema/utils.cjs.map +1 -1
  492. package/dist/production/src/schema/utils.js.map +1 -1
  493. package/dist/production/src/utils/Mutex.cjs.map +1 -1
  494. package/dist/production/src/utils/Mutex.js.map +1 -1
  495. package/dist/production/src/utils/ResolveInfoUtils.cjs.map +1 -1
  496. package/dist/production/src/utils/ResolveInfoUtils.js.map +1 -1
  497. package/dist/production/src/utils/accessor.cjs.map +1 -1
  498. package/dist/production/src/utils/accessor.js.map +1 -1
  499. package/dist/production/src/utils/isIt.cjs.map +1 -1
  500. package/dist/production/src/utils/isIt.js.map +1 -1
  501. package/dist/production/src/utils/object.cjs.map +1 -1
  502. package/dist/production/src/utils/object.js.map +1 -1
  503. package/dist/production/src/utils/paginationUtils.cjs.map +1 -1
  504. package/dist/production/src/utils/paginationUtils.js.map +1 -1
  505. package/dist/production/src/utils/singletonFactory.cjs.map +1 -1
  506. package/dist/production/src/utils/singletonFactory.js.map +1 -1
  507. package/dist/production/src/utils/uniqueWhereFields.cjs.map +1 -1
  508. package/dist/production/src/utils/uniqueWhereFields.js.map +1 -1
  509. package/dist/tests/src/assert.d.ts +5 -0
  510. package/dist/tests/src/assert.d.ts.map +1 -0
  511. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  512. package/dist/types/tsconfig.tsbuildinfo +1 -1
  513. package/graphql.codegen.yml +1 -1
  514. package/package.json +11 -11
  515. package/tests/cases/bugs/bug-filter-or.test.ts +1 -1
  516. package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +1 -1
  517. package/tests/cases/bugs/bug102.test.ts +1 -1
  518. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +1 -1
  519. package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +1 -1
  520. package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +1 -1
  521. package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +1 -1
  522. package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +1 -1
  523. package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +1 -1
  524. package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +1 -1
  525. package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +1 -1
  526. package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +1 -1
  527. package/tests/cases/integration/graphQlRequests/insert/basicInsert.test.ts +1 -1
  528. package/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.ts +1 -1
  529. package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.ts +1 -1
  530. package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.ts +1 -1
  531. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +1 -1
  532. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.ts +1 -1
  533. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.ts +1 -1
  534. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +1 -1
  535. package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.ts +1 -1
  536. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.ts +1 -1
  537. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.ts +1 -1
  538. package/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.ts +1 -1
  539. package/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.ts +1 -1
  540. package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +1 -1
  541. package/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts +1 -1
  542. package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +1 -1
  543. package/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.ts +1 -1
  544. package/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.ts +1 -1
  545. package/tests/cases/integration/graphQlRequests/query/acl/relationAcl.test.ts +1 -1
  546. package/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts +1 -1
  547. package/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.ts +1 -1
  548. package/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.ts +1 -1
  549. package/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.ts +1 -1
  550. package/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.ts +1 -1
  551. package/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.ts +1 -1
  552. package/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.ts +1 -1
  553. package/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.ts +1 -1
  554. package/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.ts +1 -1
  555. package/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.ts +1 -1
  556. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.ts +1 -1
  557. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.ts +1 -1
  558. package/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.ts +1 -1
  559. package/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.ts +1 -1
  560. package/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.ts +1 -1
  561. package/tests/cases/integration/graphQlRequests/query/misc/transaction.test.ts +1 -1
  562. package/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.ts +1 -1
  563. package/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.ts +1 -1
  564. package/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.ts +1 -1
  565. package/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.ts +1 -1
  566. package/tests/cases/integration/graphQlRequests/query/relations/advanced.test.ts +1 -1
  567. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.ts +1 -1
  568. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +2 -2
  569. package/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.ts +1 -1
  570. package/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.ts +1 -1
  571. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.ts +1 -1
  572. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.ts +1 -1
  573. package/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.ts +1 -1
  574. package/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.ts +1 -1
  575. package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +1 -1
  576. package/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.ts +1 -1
  577. package/tests/cases/integration/graphQlRequests/query/sorting/sortNulls.test.ts +1 -1
  578. package/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.ts +1 -1
  579. package/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.ts +1 -1
  580. package/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.ts +1 -1
  581. package/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.ts +1 -1
  582. package/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.ts +1 -1
  583. package/tests/cases/integration/graphQlRequests/query/view/view.test.ts +1 -1
  584. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +1 -1
  585. package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +1 -1
  586. package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +1 -1
  587. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.ts +1 -1
  588. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.ts +1 -1
  589. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +1 -1
  590. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.ts +1 -1
  591. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +1 -1
  592. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +1 -1
  593. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.ts +1 -1
  594. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.ts +1 -1
  595. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.ts +1 -1
  596. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +1 -1
  597. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.ts +1 -1
  598. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +1 -1
  599. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +1 -1
  600. package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +1 -1
  601. package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +1 -1
  602. package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +1 -1
  603. package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +1 -1
  604. package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +1 -1
  605. package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +1 -1
  606. package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +1 -1
  607. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +1 -1
  608. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +1 -1
  609. package/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.ts +1 -1
  610. package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +1 -1
  611. package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +1 -1
  612. package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +1 -1
  613. package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +1 -1
  614. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +1 -1
  615. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +1 -1
  616. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +1 -1
  617. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +1 -1
  618. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +1 -1
  619. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +1 -1
  620. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +1 -1
  621. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +1 -1
  622. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +1 -1
  623. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +1 -1
  624. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +1 -1
  625. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +1 -1
  626. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +1 -1
  627. package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +1 -1
  628. package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +1 -1
  629. package/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.ts +1 -1
  630. package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +1 -1
  631. package/tests/cases/integration/graphQlRequests/validation/conditions.test.ts +1 -1
  632. package/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.ts +1 -1
  633. package/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.ts +1 -1
  634. package/tests/cases/integration/graphQlRequests/validation/required.test.ts +1 -1
  635. package/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.ts +1 -1
  636. package/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.ts +1 -1
  637. package/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.ts +1 -1
  638. package/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.ts +1 -1
  639. package/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.ts +1 -1
  640. package/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.ts +1 -1
  641. package/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.ts +1 -1
  642. package/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.ts +1 -1
  643. package/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.ts +1 -2
  644. package/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.ts +1 -1
  645. package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +4 -4
  646. package/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +28 -28
  647. package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +108 -108
  648. package/tests/cases/unit/aclVariablesFactory.test.ts +5 -5
  649. package/tests/cases/unit/conditionOptimizer.test.ts +7 -1
  650. package/tests/cases/unit/inputPreValidator.test.ts +2 -1
  651. package/tests/cases/unit/inputValidation.test.ts +7 -6
  652. package/tests/cases/unit/orderbyHelper.test.ts +3 -2
  653. package/tests/cases/unit/permissionMerger.test.ts +2 -1
  654. package/tests/cases/unit/predicatesFactory.test.ts +2 -1
  655. package/tests/cases/unit/predicatesInjector.test.ts +2 -1
  656. package/tests/cases/unit/uuidType.test.ts +5 -5
  657. package/tests/cases/unit/variableInjector.test.ts +2 -1
  658. package/tests/cases/unit/whereBuilder.test.ts +2 -1
  659. package/tests/cases/unit/whereOptimizer.test.ts +2 -1
  660. package/tests/src/assert.ts +10 -0
  661. package/tests/src/testGraphql.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneReducer.js","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts"],"sourcesContent":["import { EntityFieldsProvider, FieldMap } from '../EntityFieldsProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { HasManyToHasOneRelationReducerFieldVisitor } from './HasManyToHasOneRelationReducerVisitor'\n\nexport class HasManyToHasOneReducer implements EntityFieldsProvider<HasManyToHasOneReducerExtension> {\n\tstatic extensionName: string = 'HasManyToHasOneReducer'\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly visitor: HasManyToHasOneRelationReducerFieldVisitor,\n\t) {}\n\n\tgetFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<HasManyToHasOneReducerExtension> {\n\t\tconst fieldMap: FieldMap<HasManyToHasOneReducerExtension> = {}\n\t\tfor (const field of accessibleFields) {\n\t\t\tif (field.type !== Model.RelationType.OneHasMany) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tfor (const [name, resultField] of acceptFieldVisitor(this.schema, entity, field, this.visitor)) {\n\t\t\t\tfieldMap[name] = resultField\n\t\t\t}\n\t\t}\n\t\treturn fieldMap\n\t}\n}\n\nexport interface HasManyToHasOneReducerExtension {\n\trelationName: string\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,uBAAwF;AAAA,EAGpG,YACkB,QACA,SAChB;AAFgB,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EACf;AAAA,EAEH,UAAU,QAAsB,kBAA+E;AAC9G,UAAM,WAAsD,CAAA;AAC5D,eAAW,SAAS,kBAAkB;AACrC,UAAI,MAAM,SAAS,MAAM,aAAa,YAAY;AACjD;AAAA,MACD;AAEW,iBAAA,CAAC,MAAM,WAAW,KAAK,mBAAmB,KAAK,QAAQ,QAAQ,OAAO,KAAK,OAAO,GAAG;AAC/F,iBAAS,IAAI,IAAI;AAAA,MAClB;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;AApBC,cADY,wBACL,iBAAwB,wBAAA;"}
1
+ {"version":3,"file":"HasManyToHasOneReducer.js","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts"],"sourcesContent":["import { EntityFieldsProvider, FieldMap } from '../EntityFieldsProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { HasManyToHasOneRelationReducerFieldVisitor } from './HasManyToHasOneRelationReducerVisitor'\n\nexport class HasManyToHasOneReducer implements EntityFieldsProvider<HasManyToHasOneReducerExtension> {\n\tstatic extensionName: string = 'HasManyToHasOneReducer'\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly visitor: HasManyToHasOneRelationReducerFieldVisitor,\n\t) {}\n\n\tgetFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<HasManyToHasOneReducerExtension> {\n\t\tconst fieldMap: FieldMap<HasManyToHasOneReducerExtension> = {}\n\t\tfor (const field of accessibleFields) {\n\t\t\tif (field.type !== Model.RelationType.OneHasMany) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tfor (const [name, resultField] of acceptFieldVisitor(this.schema, entity, field, this.visitor)) {\n\t\t\t\tfieldMap[name] = resultField\n\t\t\t}\n\t\t}\n\t\treturn fieldMap\n\t}\n}\n\nexport interface HasManyToHasOneReducerExtension {\n\trelationName: string\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,uBAAwF;AAAA,EAGpG,YACkB,QACA,SAChB;AAFgB,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAGlB,UAAU,QAAsB,kBAA+E;AAC9G,UAAM,WAAsD,CAAC;AAC7D,eAAW,SAAS,kBAAkB;AACrC,UAAI,MAAM,SAAS,MAAM,aAAa,YAAY;AACjD;AAAA,MAAA;AAGU,iBAAA,CAAC,MAAM,WAAW,KAAK,mBAAmB,KAAK,QAAQ,QAAQ,OAAO,KAAK,OAAO,GAAG;AAC/F,iBAAS,IAAI,IAAI;AAAA,MAAA;AAAA,IAClB;AAEM,WAAA;AAAA,EAAA;AAET;AApBC,cADY,wBACL,iBAAwB,wBAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneReducerExecutionHandler.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { isIt } from '../../utils'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { ImplementationException } from '../../exception'\nimport { UniqueWhereExpander } from '../../inputProcessing'\nimport { HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\n\nexport class HasManyToHasOneReducerExecutionHandler implements SelectExecutionHandler<Input.UniqueQueryInput, HasManyToHasOneReducerExtension> {\n\n\tconstructor(private readonly schema: Model.Schema, private readonly uniqueWhereExpander: UniqueWhereExpander) {}\n\n\tprocess(context: SelectExecutionHandlerContext<Input.UniqueQueryInput, HasManyToHasOneReducerExtension>): void {\n\t\tconst { addData, entity, objectNode } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\taddData({\n\t\t\tfield: entity.primary,\n\t\t\tdataProvider: async (ids: Input.PrimaryValue[]) => {\n\n\t\t\t\tconst relationContext = acceptFieldVisitor(this.schema, entity, objectNode.extensions.relationName, {\n\t\t\t\t\tvisitRelation: context => context,\n\t\t\t\t\tvisitColumn: (): never => {\n\t\t\t\t\t\tthrow new ImplementationException('HasManyToHasOneReducerExecutionHandler: Not applicable for a column')\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst { targetEntity, targetRelation } = relationContext\n\t\t\t\tif (!targetRelation || !isIt<Model.JoiningColumnRelation>(targetRelation, 'joiningColumn')) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only applicable for relations with joiningColumn')\n\t\t\t\t}\n\n\t\t\t\tconst uniqueWhere = this.uniqueWhereExpander.expand(targetEntity, {\n\t\t\t\t\t...objectNode.args.by,\n\t\t\t\t\t[targetRelation.name]: { [entity.primary]: ids },\n\t\t\t\t})\n\t\t\t\tif (Object.keys(uniqueWhere).length !== 2) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only tuple unique keys are allowed')\n\t\t\t\t}\n\t\t\t\tconst whereWithParentId = {\n\t\t\t\t\tand: [objectNode.args.filter || {}, uniqueWhere],\n\t\t\t\t}\n\t\t\t\tconst newObjectNode = objectNode.withArgs<Input.ListQueryInput>({ filter: whereWithParentId })\n\n\t\t\t\treturn context.mapper.selectAssoc(targetEntity, newObjectNode, [\n\t\t\t\t\t...context.relationPath,\n\t\t\t\t\trelationContext,\n\t\t\t\t], targetRelation.name)\n\t\t\t},\n\t\t\tdefaultValue: null,\n\t\t})\n\t}\n}\n"],"names":["acceptFieldVisitor","context","ImplementationException","isIt"],"mappings":";;;;;AAQO,MAAM,uCAAkI;AAAA,EAE9I,YAA6B,QAAuC,qBAA0C;AAAjF,SAAA,SAAA;AAAuC,SAAA,sBAAA;AAAA,EAA2C;AAAA,EAE/G,QAAQ,SAAuG;AAC9G,UAAM,EAAE,SAAS,QAAQ,WAAA,IAAe;AACxC,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IACjB;AACQ,YAAA;AAAA,MACP,OAAO,OAAO;AAAA,MACd,cAAc,OAAO,QAA8B;AAElD,cAAM,kBAAkBA,YAAmB,mBAAA,KAAK,QAAQ,QAAQ,WAAW,WAAW,cAAc;AAAA,UACnG,eAAe,CAAAC,aAAWA;AAAAA,UAC1B,aAAa,MAAa;AACnB,kBAAA,IAAIC,UAAAA,wBAAwB,qEAAqE;AAAA,UACxG;AAAA,QAAA,CACA;AAEK,cAAA,EAAE,cAAc,eAAmB,IAAA;AACzC,YAAI,CAAC,kBAAkB,CAACC,KAAkC,KAAA,gBAAgB,eAAe,GAAG;AACrF,gBAAA,IAAI,MAAM,0FAA0F;AAAA,QAC3G;AAEA,cAAM,cAAc,KAAK,oBAAoB,OAAO,cAAc;AAAA,UACjE,GAAG,WAAW,KAAK;AAAA,UACnB,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,IAAI;AAAA,QAAA,CAC/C;AACD,YAAI,OAAO,KAAK,WAAW,EAAE,WAAW,GAAG;AACpC,gBAAA,IAAI,MAAM,4EAA4E;AAAA,QAC7F;AACA,cAAM,oBAAoB;AAAA,UACzB,KAAK,CAAC,WAAW,KAAK,UAAU,CAAA,GAAI,WAAW;AAAA,QAAA;AAEhD,cAAM,gBAAgB,WAAW,SAA+B,EAAE,QAAQ,mBAAmB;AAE7F,eAAO,QAAQ,OAAO,YAAY,cAAc,eAAe;AAAA,UAC9D,GAAG,QAAQ;AAAA,UACX;AAAA,QAAA,GACE,eAAe,IAAI;AAAA,MACvB;AAAA,MACA,cAAc;AAAA,IAAA,CACd;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"HasManyToHasOneReducerExecutionHandler.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { isIt } from '../../utils'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { ImplementationException } from '../../exception'\nimport { UniqueWhereExpander } from '../../inputProcessing'\nimport { HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\n\nexport class HasManyToHasOneReducerExecutionHandler implements SelectExecutionHandler<Input.UniqueQueryInput, HasManyToHasOneReducerExtension> {\n\n\tconstructor(private readonly schema: Model.Schema, private readonly uniqueWhereExpander: UniqueWhereExpander) {}\n\n\tprocess(context: SelectExecutionHandlerContext<Input.UniqueQueryInput, HasManyToHasOneReducerExtension>): void {\n\t\tconst { addData, entity, objectNode } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\taddData({\n\t\t\tfield: entity.primary,\n\t\t\tdataProvider: async (ids: Input.PrimaryValue[]) => {\n\n\t\t\t\tconst relationContext = acceptFieldVisitor(this.schema, entity, objectNode.extensions.relationName, {\n\t\t\t\t\tvisitRelation: context => context,\n\t\t\t\t\tvisitColumn: (): never => {\n\t\t\t\t\t\tthrow new ImplementationException('HasManyToHasOneReducerExecutionHandler: Not applicable for a column')\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst { targetEntity, targetRelation } = relationContext\n\t\t\t\tif (!targetRelation || !isIt<Model.JoiningColumnRelation>(targetRelation, 'joiningColumn')) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only applicable for relations with joiningColumn')\n\t\t\t\t}\n\n\t\t\t\tconst uniqueWhere = this.uniqueWhereExpander.expand(targetEntity, {\n\t\t\t\t\t...objectNode.args.by,\n\t\t\t\t\t[targetRelation.name]: { [entity.primary]: ids },\n\t\t\t\t})\n\t\t\t\tif (Object.keys(uniqueWhere).length !== 2) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only tuple unique keys are allowed')\n\t\t\t\t}\n\t\t\t\tconst whereWithParentId = {\n\t\t\t\t\tand: [objectNode.args.filter || {}, uniqueWhere],\n\t\t\t\t}\n\t\t\t\tconst newObjectNode = objectNode.withArgs<Input.ListQueryInput>({ filter: whereWithParentId })\n\n\t\t\t\treturn context.mapper.selectAssoc(targetEntity, newObjectNode, [\n\t\t\t\t\t...context.relationPath,\n\t\t\t\t\trelationContext,\n\t\t\t\t], targetRelation.name)\n\t\t\t},\n\t\t\tdefaultValue: null,\n\t\t})\n\t}\n}\n"],"names":["acceptFieldVisitor","context","ImplementationException","isIt"],"mappings":";;;;;AAQO,MAAM,uCAAkI;AAAA,EAE9I,YAA6B,QAAuC,qBAA0C;AAAjF,SAAA,SAAA;AAAuC,SAAA,sBAAA;AAAA,EAAA;AAAA,EAEpE,QAAQ,SAAuG;AAC9G,UAAM,EAAE,SAAS,QAAQ,WAAe,IAAA;AACxC,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IAAA;AAET,YAAA;AAAA,MACP,OAAO,OAAO;AAAA,MACd,cAAc,OAAO,QAA8B;AAElD,cAAM,kBAAkBA,YAAmB,mBAAA,KAAK,QAAQ,QAAQ,WAAW,WAAW,cAAc;AAAA,UACnG,eAAe,CAAAC,aAAWA;AAAAA,UAC1B,aAAa,MAAa;AACnB,kBAAA,IAAIC,kCAAwB,qEAAqE;AAAA,UAAA;AAAA,QACxG,CACA;AAEK,cAAA,EAAE,cAAc,eAAA,IAAmB;AACzC,YAAI,CAAC,kBAAkB,CAACC,KAAkC,KAAA,gBAAgB,eAAe,GAAG;AACrF,gBAAA,IAAI,MAAM,0FAA0F;AAAA,QAAA;AAG3G,cAAM,cAAc,KAAK,oBAAoB,OAAO,cAAc;AAAA,UACjE,GAAG,WAAW,KAAK;AAAA,UACnB,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,IAAI;AAAA,QAAA,CAC/C;AACD,YAAI,OAAO,KAAK,WAAW,EAAE,WAAW,GAAG;AACpC,gBAAA,IAAI,MAAM,4EAA4E;AAAA,QAAA;AAE7F,cAAM,oBAAoB;AAAA,UACzB,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,WAAW;AAAA,QAChD;AACA,cAAM,gBAAgB,WAAW,SAA+B,EAAE,QAAQ,mBAAmB;AAE7F,eAAO,QAAQ,OAAO,YAAY,cAAc,eAAe;AAAA,UAC9D,GAAG,QAAQ;AAAA,UACX;AAAA,QAAA,GACE,eAAe,IAAI;AAAA,MACvB;AAAA,MACA,cAAc;AAAA,IAAA,CACd;AAAA,EAAA;AAEH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneReducerExecutionHandler.js","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { isIt } from '../../utils'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { ImplementationException } from '../../exception'\nimport { UniqueWhereExpander } from '../../inputProcessing'\nimport { HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\n\nexport class HasManyToHasOneReducerExecutionHandler implements SelectExecutionHandler<Input.UniqueQueryInput, HasManyToHasOneReducerExtension> {\n\n\tconstructor(private readonly schema: Model.Schema, private readonly uniqueWhereExpander: UniqueWhereExpander) {}\n\n\tprocess(context: SelectExecutionHandlerContext<Input.UniqueQueryInput, HasManyToHasOneReducerExtension>): void {\n\t\tconst { addData, entity, objectNode } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\taddData({\n\t\t\tfield: entity.primary,\n\t\t\tdataProvider: async (ids: Input.PrimaryValue[]) => {\n\n\t\t\t\tconst relationContext = acceptFieldVisitor(this.schema, entity, objectNode.extensions.relationName, {\n\t\t\t\t\tvisitRelation: context => context,\n\t\t\t\t\tvisitColumn: (): never => {\n\t\t\t\t\t\tthrow new ImplementationException('HasManyToHasOneReducerExecutionHandler: Not applicable for a column')\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst { targetEntity, targetRelation } = relationContext\n\t\t\t\tif (!targetRelation || !isIt<Model.JoiningColumnRelation>(targetRelation, 'joiningColumn')) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only applicable for relations with joiningColumn')\n\t\t\t\t}\n\n\t\t\t\tconst uniqueWhere = this.uniqueWhereExpander.expand(targetEntity, {\n\t\t\t\t\t...objectNode.args.by,\n\t\t\t\t\t[targetRelation.name]: { [entity.primary]: ids },\n\t\t\t\t})\n\t\t\t\tif (Object.keys(uniqueWhere).length !== 2) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only tuple unique keys are allowed')\n\t\t\t\t}\n\t\t\t\tconst whereWithParentId = {\n\t\t\t\t\tand: [objectNode.args.filter || {}, uniqueWhere],\n\t\t\t\t}\n\t\t\t\tconst newObjectNode = objectNode.withArgs<Input.ListQueryInput>({ filter: whereWithParentId })\n\n\t\t\t\treturn context.mapper.selectAssoc(targetEntity, newObjectNode, [\n\t\t\t\t\t...context.relationPath,\n\t\t\t\t\trelationContext,\n\t\t\t\t], targetRelation.name)\n\t\t\t},\n\t\t\tdefaultValue: null,\n\t\t})\n\t}\n}\n"],"names":["context"],"mappings":";;;AAQO,MAAM,uCAAkI;AAAA,EAE9I,YAA6B,QAAuC,qBAA0C;AAAjF,SAAA,SAAA;AAAuC,SAAA,sBAAA;AAAA,EAA2C;AAAA,EAE/G,QAAQ,SAAuG;AAC9G,UAAM,EAAE,SAAS,QAAQ,WAAA,IAAe;AACxC,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IACjB;AACQ,YAAA;AAAA,MACP,OAAO,OAAO;AAAA,MACd,cAAc,OAAO,QAA8B;AAElD,cAAM,kBAAkB,mBAAmB,KAAK,QAAQ,QAAQ,WAAW,WAAW,cAAc;AAAA,UACnG,eAAe,CAAAA,aAAWA;AAAAA,UAC1B,aAAa,MAAa;AACnB,kBAAA,IAAI,wBAAwB,qEAAqE;AAAA,UACxG;AAAA,QAAA,CACA;AAEK,cAAA,EAAE,cAAc,eAAmB,IAAA;AACzC,YAAI,CAAC,kBAAkB,CAAC,KAAkC,gBAAgB,eAAe,GAAG;AACrF,gBAAA,IAAI,MAAM,0FAA0F;AAAA,QAC3G;AAEA,cAAM,cAAc,KAAK,oBAAoB,OAAO,cAAc;AAAA,UACjE,GAAG,WAAW,KAAK;AAAA,UACnB,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,IAAI;AAAA,QAAA,CAC/C;AACD,YAAI,OAAO,KAAK,WAAW,EAAE,WAAW,GAAG;AACpC,gBAAA,IAAI,MAAM,4EAA4E;AAAA,QAC7F;AACA,cAAM,oBAAoB;AAAA,UACzB,KAAK,CAAC,WAAW,KAAK,UAAU,CAAA,GAAI,WAAW;AAAA,QAAA;AAEhD,cAAM,gBAAgB,WAAW,SAA+B,EAAE,QAAQ,mBAAmB;AAE7F,eAAO,QAAQ,OAAO,YAAY,cAAc,eAAe;AAAA,UAC9D,GAAG,QAAQ;AAAA,UACX;AAAA,QAAA,GACE,eAAe,IAAI;AAAA,MACvB;AAAA,MACA,cAAc;AAAA,IAAA,CACd;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"HasManyToHasOneReducerExecutionHandler.js","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { isIt } from '../../utils'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { ImplementationException } from '../../exception'\nimport { UniqueWhereExpander } from '../../inputProcessing'\nimport { HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\n\nexport class HasManyToHasOneReducerExecutionHandler implements SelectExecutionHandler<Input.UniqueQueryInput, HasManyToHasOneReducerExtension> {\n\n\tconstructor(private readonly schema: Model.Schema, private readonly uniqueWhereExpander: UniqueWhereExpander) {}\n\n\tprocess(context: SelectExecutionHandlerContext<Input.UniqueQueryInput, HasManyToHasOneReducerExtension>): void {\n\t\tconst { addData, entity, objectNode } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\taddData({\n\t\t\tfield: entity.primary,\n\t\t\tdataProvider: async (ids: Input.PrimaryValue[]) => {\n\n\t\t\t\tconst relationContext = acceptFieldVisitor(this.schema, entity, objectNode.extensions.relationName, {\n\t\t\t\t\tvisitRelation: context => context,\n\t\t\t\t\tvisitColumn: (): never => {\n\t\t\t\t\t\tthrow new ImplementationException('HasManyToHasOneReducerExecutionHandler: Not applicable for a column')\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst { targetEntity, targetRelation } = relationContext\n\t\t\t\tif (!targetRelation || !isIt<Model.JoiningColumnRelation>(targetRelation, 'joiningColumn')) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only applicable for relations with joiningColumn')\n\t\t\t\t}\n\n\t\t\t\tconst uniqueWhere = this.uniqueWhereExpander.expand(targetEntity, {\n\t\t\t\t\t...objectNode.args.by,\n\t\t\t\t\t[targetRelation.name]: { [entity.primary]: ids },\n\t\t\t\t})\n\t\t\t\tif (Object.keys(uniqueWhere).length !== 2) {\n\t\t\t\t\tthrow new Error('HasManyToHasOneReducerExecutionHandler: only tuple unique keys are allowed')\n\t\t\t\t}\n\t\t\t\tconst whereWithParentId = {\n\t\t\t\t\tand: [objectNode.args.filter || {}, uniqueWhere],\n\t\t\t\t}\n\t\t\t\tconst newObjectNode = objectNode.withArgs<Input.ListQueryInput>({ filter: whereWithParentId })\n\n\t\t\t\treturn context.mapper.selectAssoc(targetEntity, newObjectNode, [\n\t\t\t\t\t...context.relationPath,\n\t\t\t\t\trelationContext,\n\t\t\t\t], targetRelation.name)\n\t\t\t},\n\t\t\tdefaultValue: null,\n\t\t})\n\t}\n}\n"],"names":["context"],"mappings":";;;AAQO,MAAM,uCAAkI;AAAA,EAE9I,YAA6B,QAAuC,qBAA0C;AAAjF,SAAA,SAAA;AAAuC,SAAA,sBAAA;AAAA,EAAA;AAAA,EAEpE,QAAQ,SAAuG;AAC9G,UAAM,EAAE,SAAS,QAAQ,WAAe,IAAA;AACxC,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IAAA;AAET,YAAA;AAAA,MACP,OAAO,OAAO;AAAA,MACd,cAAc,OAAO,QAA8B;AAElD,cAAM,kBAAkB,mBAAmB,KAAK,QAAQ,QAAQ,WAAW,WAAW,cAAc;AAAA,UACnG,eAAe,CAAAA,aAAWA;AAAAA,UAC1B,aAAa,MAAa;AACnB,kBAAA,IAAI,wBAAwB,qEAAqE;AAAA,UAAA;AAAA,QACxG,CACA;AAEK,cAAA,EAAE,cAAc,eAAA,IAAmB;AACzC,YAAI,CAAC,kBAAkB,CAAC,KAAkC,gBAAgB,eAAe,GAAG;AACrF,gBAAA,IAAI,MAAM,0FAA0F;AAAA,QAAA;AAG3G,cAAM,cAAc,KAAK,oBAAoB,OAAO,cAAc;AAAA,UACjE,GAAG,WAAW,KAAK;AAAA,UACnB,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,IAAI;AAAA,QAAA,CAC/C;AACD,YAAI,OAAO,KAAK,WAAW,EAAE,WAAW,GAAG;AACpC,gBAAA,IAAI,MAAM,4EAA4E;AAAA,QAAA;AAE7F,cAAM,oBAAoB;AAAA,UACzB,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,WAAW;AAAA,QAChD;AACA,cAAM,gBAAgB,WAAW,SAA+B,EAAE,QAAQ,mBAAmB;AAE7F,eAAO,QAAQ,OAAO,YAAY,cAAc,eAAe;AAAA,UAC9D,GAAG,QAAQ;AAAA,UACX;AAAA,QAAA,GACE,eAAe,IAAI;AAAA,MACvB;AAAA,MACA,cAAc;AAAA,IAAA,CACd;AAAA,EAAA;AAEH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"sourcesContent":["import { GraphQLInputObjectType, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { aliasAwareResolver, EntityTypeProvider, FieldAccessVisitor, GqlTypeName, WhereTypeProvider } from '../../schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Authorizator } from '../../acl'\nimport { getFieldsForUniqueWhere } from '../../utils'\nimport { HasManyToHasOneReducer, HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: HasManyToHasOneReducerExtension\n\t}\n]\n\nexport class HasManyToHasOneRelationReducerFieldVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t) {}\n\n\tpublic visitColumn() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasOne() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasMany({ entity, targetEntity, targetRelation, relation }: Model.OneHasManyContext) {\n\t\tif (!targetRelation) {\n\t\t\treturn []\n\t\t}\n\t\tconst uniqueConstraints = getFieldsForUniqueWhere(this.schema, targetEntity)\n\t\tconst composedUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 2) //todo support all uniques\n\t\t\t.filter(fields => fields.includes(targetRelation.name))\n\t\t\t.map(fields => fields.filter(it => it !== targetRelation.name))\n\t\t\t.map(fields => fields[0])\n\t\tconst singleUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 1 && fields[0] !== targetEntity.primary)\n\t\t\t.map(fields => fields[0])\n\t\t\t.filter(it => it !== targetRelation.name)\n\n\n\t\tconst existing = new Set<string>()\n\t\treturn [...composedUnique, ...singleUnique]\n\t\t\t.filter(field =>\n\t\t\t\tacceptFieldVisitor(\n\t\t\t\t\tthis.schema,\n\t\t\t\t\ttargetEntity.name,\n\t\t\t\t\tfield,\n\t\t\t\t\tnew FieldAccessVisitor(Acl.Operation.read, this.authorizator),\n\t\t\t\t),\n\t\t\t)\n\t\t\t.map<Result | null>(fieldName => {\n\t\t\t\tif (existing.has(fieldName)) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\texisting.add(fieldName)\n\t\t\t\tconst graphQlName = relation.name + GqlTypeName`By${fieldName}`\n\t\t\t\tconst uniqueWhere: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\t\t\t//todo this can be simplified to ${targetEntity.name}By${fieldName}, but singleton must be used\n\t\t\t\t\tname: GqlTypeName`${entity.name}${relation.name}By${fieldName}UniqueWhere`,\n\t\t\t\t\tfields: () => {\n\t\t\t\t\t\treturn this.whereTypeProvider.getUniqueWhereFields(targetEntity, [[fieldName]])\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst entityType = this.entityTypeProvider.getEntity(targetEntity.name)\n\n\t\t\t\treturn [\n\t\t\t\t\tgraphQlName,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: entityType,\n\t\t\t\t\t\textensions: {\n\t\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\t\textensionKey: HasManyToHasOneReducer.extensionName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\tby: { type: new GraphQLNonNull(uniqueWhere) },\n\t\t\t\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(targetEntity.name) },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t})\n\t\t\t.filter((it): it is Result => it !== null)\n\t}\n}\n"],"names":["schema","getFieldsForUniqueWhere","acceptFieldVisitor","FieldAccessVisitor","Acl","GqlTypeName","GraphQLInputObjectType","HasManyToHasOneReducer","GraphQLNonNull","aliasAwareResolver"],"mappings":";;;;;;;;;;;;AAgBO,MAAM,2CAE0B;AAAA,EAEtC,YACkBA,SACA,cACA,oBACA,mBAChB;AAJgB,SAAA,SAAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oBAAA;AAAA,EACf;AAAA,EAEI,cAAc;AACpB,WAAO;EACR;AAAA,EAEO,uBAAuB;AAC7B,WAAO;EACR;AAAA,EAEO,wBAAwB;AAC9B,WAAO;EACR;AAAA,EAEO,kBAAkB;AACxB,WAAO;EACR;AAAA,EAEO,0BAA0B;AAChC,WAAO;EACR;AAAA,EAEO,yBAAyB;AAC/B,WAAO;EACR;AAAA,EAEO,gBAAgB,EAAE,QAAQ,cAAc,gBAAgB,YAAqC;AACnG,QAAI,CAAC,gBAAgB;AACpB,aAAO;IACR;AACA,UAAM,oBAAoBC,kBAAA,wBAAwB,KAAK,QAAQ,YAAY;AAC3E,UAAM,iBAAiB,kBACrB,OAAO,CAAA,WAAU,OAAO,WAAW,CAAC,EACpC,OAAO,CAAA,WAAU,OAAO,SAAS,eAAe,IAAI,CAAC,EACrD,IAAI,CAAU,WAAA,OAAO,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI,CAAC,EAC7D,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC;AACnB,UAAA,eAAe,kBACnB,OAAO,CAAA,WAAU,OAAO,WAAW,KAAK,OAAO,CAAC,MAAM,aAAa,OAAO,EAC1E,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC,EACvB,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI;AAGnC,UAAA,+BAAe;AACrB,WAAO,CAAC,GAAG,gBAAgB,GAAG,YAAY,EACxC;AAAA,MAAO,CACP,UAAAC,YAAA;AAAA,QACC,KAAK;AAAA,QACL,aAAa;AAAA,QACb;AAAA,QACA,IAAIC,mBAAAA,mBAAmBC,OAAAA,IAAI,UAAU,MAAM,KAAK,YAAY;AAAA,MAC7D;AAAA,IAAA,EAEA,IAAmB,CAAa,cAAA;AAC5B,UAAA,SAAS,IAAI,SAAS,GAAG;AACrB,eAAA;AAAA,MACR;AACA,eAAS,IAAI,SAAS;AACtB,YAAM,cAAc,SAAS,OAAOC,MAAA,gBAAgB,SAAS;AACvD,YAAA,cAAsC,IAAIC,+BAAuB;AAAA;AAAA,QAEtE,MAAMD,MAAAA,cAAc,OAAO,IAAI,GAAG,SAAS,IAAI,KAAK,SAAS;AAAA,QAC7D,QAAQ,MAAM;AACN,iBAAA,KAAK,kBAAkB,qBAAqB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;AAAA,QAC/E;AAAA,MAAA,CACA;AAED,YAAM,aAAa,KAAK,mBAAmB,UAAU,aAAa,IAAI;AAE/D,aAAA;AAAA,QACN;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAcE,uBAAuB,uBAAA;AAAA,UACtC;AAAA,UACA,MAAM;AAAA,YACL,IAAI,EAAE,MAAM,IAAIC,QAAA,eAAe,WAAW,EAAE;AAAA,YAC5C,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,aAAa,IAAI,EAAE;AAAA,UAC9E;AAAA,UACA,SAASC,MAAA;AAAA,QACV;AAAA,MAAA;AAAA,IAED,CAAA,EACA,OAAO,CAAC,OAAqB,OAAO,IAAI;AAAA,EAC3C;AACD;;"}
1
+ {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"sourcesContent":["import { GraphQLInputObjectType, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { aliasAwareResolver, EntityTypeProvider, FieldAccessVisitor, GqlTypeName, WhereTypeProvider } from '../../schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Authorizator } from '../../acl'\nimport { getFieldsForUniqueWhere } from '../../utils'\nimport { HasManyToHasOneReducer, HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: HasManyToHasOneReducerExtension\n\t}\n]\n\nexport class HasManyToHasOneRelationReducerFieldVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t) {}\n\n\tpublic visitColumn() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasOne() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasMany({ entity, targetEntity, targetRelation, relation }: Model.OneHasManyContext) {\n\t\tif (!targetRelation) {\n\t\t\treturn []\n\t\t}\n\t\tconst uniqueConstraints = getFieldsForUniqueWhere(this.schema, targetEntity)\n\t\tconst composedUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 2) //todo support all uniques\n\t\t\t.filter(fields => fields.includes(targetRelation.name))\n\t\t\t.map(fields => fields.filter(it => it !== targetRelation.name))\n\t\t\t.map(fields => fields[0])\n\t\tconst singleUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 1 && fields[0] !== targetEntity.primary)\n\t\t\t.map(fields => fields[0])\n\t\t\t.filter(it => it !== targetRelation.name)\n\n\n\t\tconst existing = new Set<string>()\n\t\treturn [...composedUnique, ...singleUnique]\n\t\t\t.filter(field =>\n\t\t\t\tacceptFieldVisitor(\n\t\t\t\t\tthis.schema,\n\t\t\t\t\ttargetEntity.name,\n\t\t\t\t\tfield,\n\t\t\t\t\tnew FieldAccessVisitor(Acl.Operation.read, this.authorizator),\n\t\t\t\t),\n\t\t\t)\n\t\t\t.map<Result | null>(fieldName => {\n\t\t\t\tif (existing.has(fieldName)) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\texisting.add(fieldName)\n\t\t\t\tconst graphQlName = relation.name + GqlTypeName`By${fieldName}`\n\t\t\t\tconst uniqueWhere: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\t\t\t//todo this can be simplified to ${targetEntity.name}By${fieldName}, but singleton must be used\n\t\t\t\t\tname: GqlTypeName`${entity.name}${relation.name}By${fieldName}UniqueWhere`,\n\t\t\t\t\tfields: () => {\n\t\t\t\t\t\treturn this.whereTypeProvider.getUniqueWhereFields(targetEntity, [[fieldName]])\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst entityType = this.entityTypeProvider.getEntity(targetEntity.name)\n\n\t\t\t\treturn [\n\t\t\t\t\tgraphQlName,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: entityType,\n\t\t\t\t\t\textensions: {\n\t\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\t\textensionKey: HasManyToHasOneReducer.extensionName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\tby: { type: new GraphQLNonNull(uniqueWhere) },\n\t\t\t\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(targetEntity.name) },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t})\n\t\t\t.filter((it): it is Result => it !== null)\n\t}\n}\n"],"names":["schema","getFieldsForUniqueWhere","acceptFieldVisitor","FieldAccessVisitor","Acl","GqlTypeName","GraphQLInputObjectType","HasManyToHasOneReducer","GraphQLNonNull","aliasAwareResolver"],"mappings":";;;;;;;;;;;;AAgBO,MAAM,2CAE0B;AAAA,EAEtC,YACkBA,SACA,cACA,oBACA,mBAChB;AAJgB,SAAA,SAAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oBAAA;AAAA,EAAA;AAAA,EAGX,cAAc;AACpB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,uBAAuB;AAC7B,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,wBAAwB;AAC9B,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,kBAAkB;AACxB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,0BAA0B;AAChC,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,yBAAyB;AAC/B,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,gBAAgB,EAAE,QAAQ,cAAc,gBAAgB,YAAqC;AACnG,QAAI,CAAC,gBAAgB;AACpB,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,oBAAoBC,kBAAA,wBAAwB,KAAK,QAAQ,YAAY;AAC3E,UAAM,iBAAiB,kBACrB,OAAO,CAAA,WAAU,OAAO,WAAW,CAAC,EACpC,OAAO,CAAA,WAAU,OAAO,SAAS,eAAe,IAAI,CAAC,EACrD,IAAI,CAAU,WAAA,OAAO,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI,CAAC,EAC7D,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC;AACnB,UAAA,eAAe,kBACnB,OAAO,CAAA,WAAU,OAAO,WAAW,KAAK,OAAO,CAAC,MAAM,aAAa,OAAO,EAC1E,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC,EACvB,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI;AAGnC,UAAA,+BAAe,IAAY;AACjC,WAAO,CAAC,GAAG,gBAAgB,GAAG,YAAY,EACxC;AAAA,MAAO,CACP,UAAAC,YAAA;AAAA,QACC,KAAK;AAAA,QACL,aAAa;AAAA,QACb;AAAA,QACA,IAAIC,mBAAmB,mBAAAC,OAAA,IAAI,UAAU,MAAM,KAAK,YAAY;AAAA,MAAA;AAAA,IAC7D,EAEA,IAAmB,CAAa,cAAA;AAC5B,UAAA,SAAS,IAAI,SAAS,GAAG;AACrB,eAAA;AAAA,MAAA;AAER,eAAS,IAAI,SAAS;AACtB,YAAM,cAAc,SAAS,OAAOC,MAAAA,gBAAgB,SAAS;AACvD,YAAA,cAAsC,IAAIC,+BAAuB;AAAA;AAAA,QAEtE,MAAMD,MAAAA,cAAc,OAAO,IAAI,GAAG,SAAS,IAAI,KAAK,SAAS;AAAA,QAC7D,QAAQ,MAAM;AACN,iBAAA,KAAK,kBAAkB,qBAAqB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;AAAA,QAAA;AAAA,MAC/E,CACA;AAED,YAAM,aAAa,KAAK,mBAAmB,UAAU,aAAa,IAAI;AAE/D,aAAA;AAAA,QACN;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAcE,uBAAAA,uBAAuB;AAAA,UACtC;AAAA,UACA,MAAM;AAAA,YACL,IAAI,EAAE,MAAM,IAAIC,QAAA,eAAe,WAAW,EAAE;AAAA,YAC5C,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,aAAa,IAAI,EAAE;AAAA,UAC9E;AAAA,UACA,SAASC,MAAAA;AAAAA,QAAA;AAAA,MAEX;AAAA,IACA,CAAA,EACA,OAAO,CAAC,OAAqB,OAAO,IAAI;AAAA,EAAA;AAE5C;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"sourcesContent":["import { GraphQLInputObjectType, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { aliasAwareResolver, EntityTypeProvider, FieldAccessVisitor, GqlTypeName, WhereTypeProvider } from '../../schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Authorizator } from '../../acl'\nimport { getFieldsForUniqueWhere } from '../../utils'\nimport { HasManyToHasOneReducer, HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: HasManyToHasOneReducerExtension\n\t}\n]\n\nexport class HasManyToHasOneRelationReducerFieldVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t) {}\n\n\tpublic visitColumn() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasOne() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasMany({ entity, targetEntity, targetRelation, relation }: Model.OneHasManyContext) {\n\t\tif (!targetRelation) {\n\t\t\treturn []\n\t\t}\n\t\tconst uniqueConstraints = getFieldsForUniqueWhere(this.schema, targetEntity)\n\t\tconst composedUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 2) //todo support all uniques\n\t\t\t.filter(fields => fields.includes(targetRelation.name))\n\t\t\t.map(fields => fields.filter(it => it !== targetRelation.name))\n\t\t\t.map(fields => fields[0])\n\t\tconst singleUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 1 && fields[0] !== targetEntity.primary)\n\t\t\t.map(fields => fields[0])\n\t\t\t.filter(it => it !== targetRelation.name)\n\n\n\t\tconst existing = new Set<string>()\n\t\treturn [...composedUnique, ...singleUnique]\n\t\t\t.filter(field =>\n\t\t\t\tacceptFieldVisitor(\n\t\t\t\t\tthis.schema,\n\t\t\t\t\ttargetEntity.name,\n\t\t\t\t\tfield,\n\t\t\t\t\tnew FieldAccessVisitor(Acl.Operation.read, this.authorizator),\n\t\t\t\t),\n\t\t\t)\n\t\t\t.map<Result | null>(fieldName => {\n\t\t\t\tif (existing.has(fieldName)) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\texisting.add(fieldName)\n\t\t\t\tconst graphQlName = relation.name + GqlTypeName`By${fieldName}`\n\t\t\t\tconst uniqueWhere: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\t\t\t//todo this can be simplified to ${targetEntity.name}By${fieldName}, but singleton must be used\n\t\t\t\t\tname: GqlTypeName`${entity.name}${relation.name}By${fieldName}UniqueWhere`,\n\t\t\t\t\tfields: () => {\n\t\t\t\t\t\treturn this.whereTypeProvider.getUniqueWhereFields(targetEntity, [[fieldName]])\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst entityType = this.entityTypeProvider.getEntity(targetEntity.name)\n\n\t\t\t\treturn [\n\t\t\t\t\tgraphQlName,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: entityType,\n\t\t\t\t\t\textensions: {\n\t\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\t\textensionKey: HasManyToHasOneReducer.extensionName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\tby: { type: new GraphQLNonNull(uniqueWhere) },\n\t\t\t\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(targetEntity.name) },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t})\n\t\t\t.filter((it): it is Result => it !== null)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAgBO,MAAM,2CAE0B;AAAA,EAEtC,YACkB,QACA,cACA,oBACA,mBAChB;AAJgB,SAAA,SAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oBAAA;AAAA,EACf;AAAA,EAEI,cAAc;AACpB,WAAO;EACR;AAAA,EAEO,uBAAuB;AAC7B,WAAO;EACR;AAAA,EAEO,wBAAwB;AAC9B,WAAO;EACR;AAAA,EAEO,kBAAkB;AACxB,WAAO;EACR;AAAA,EAEO,0BAA0B;AAChC,WAAO;EACR;AAAA,EAEO,yBAAyB;AAC/B,WAAO;EACR;AAAA,EAEO,gBAAgB,EAAE,QAAQ,cAAc,gBAAgB,YAAqC;AACnG,QAAI,CAAC,gBAAgB;AACpB,aAAO;IACR;AACA,UAAM,oBAAoB,wBAAwB,KAAK,QAAQ,YAAY;AAC3E,UAAM,iBAAiB,kBACrB,OAAO,CAAA,WAAU,OAAO,WAAW,CAAC,EACpC,OAAO,CAAA,WAAU,OAAO,SAAS,eAAe,IAAI,CAAC,EACrD,IAAI,CAAU,WAAA,OAAO,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI,CAAC,EAC7D,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC;AACnB,UAAA,eAAe,kBACnB,OAAO,CAAA,WAAU,OAAO,WAAW,KAAK,OAAO,CAAC,MAAM,aAAa,OAAO,EAC1E,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC,EACvB,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI;AAGnC,UAAA,+BAAe;AACrB,WAAO,CAAC,GAAG,gBAAgB,GAAG,YAAY,EACxC;AAAA,MAAO,CACP,UAAA;AAAA,QACC,KAAK;AAAA,QACL,aAAa;AAAA,QACb;AAAA,QACA,IAAI,mBAAmB,IAAI,UAAU,MAAM,KAAK,YAAY;AAAA,MAC7D;AAAA,IAAA,EAEA,IAAmB,CAAa,cAAA;AAC5B,UAAA,SAAS,IAAI,SAAS,GAAG;AACrB,eAAA;AAAA,MACR;AACA,eAAS,IAAI,SAAS;AACtB,YAAM,cAAc,SAAS,OAAO,gBAAgB,SAAS;AACvD,YAAA,cAAsC,IAAI,uBAAuB;AAAA;AAAA,QAEtE,MAAM,cAAc,OAAO,IAAI,GAAG,SAAS,IAAI,KAAK,SAAS;AAAA,QAC7D,QAAQ,MAAM;AACN,iBAAA,KAAK,kBAAkB,qBAAqB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;AAAA,QAC/E;AAAA,MAAA,CACA;AAED,YAAM,aAAa,KAAK,mBAAmB,UAAU,aAAa,IAAI;AAE/D,aAAA;AAAA,QACN;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAc,uBAAuB;AAAA,UACtC;AAAA,UACA,MAAM;AAAA,YACL,IAAI,EAAE,MAAM,IAAI,eAAe,WAAW,EAAE;AAAA,YAC5C,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,aAAa,IAAI,EAAE;AAAA,UAC9E;AAAA,UACA,SAAS;AAAA,QACV;AAAA,MAAA;AAAA,IAED,CAAA,EACA,OAAO,CAAC,OAAqB,OAAO,IAAI;AAAA,EAC3C;AACD;"}
1
+ {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"sourcesContent":["import { GraphQLInputObjectType, GraphQLNonNull } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { aliasAwareResolver, EntityTypeProvider, FieldAccessVisitor, GqlTypeName, WhereTypeProvider } from '../../schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Authorizator } from '../../acl'\nimport { getFieldsForUniqueWhere } from '../../utils'\nimport { HasManyToHasOneReducer, HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: HasManyToHasOneReducerExtension\n\t}\n]\n\nexport class HasManyToHasOneRelationReducerFieldVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t) {}\n\n\tpublic visitColumn() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasOne() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyInverse() {\n\t\treturn []\n\t}\n\n\tpublic visitManyHasManyOwning() {\n\t\treturn []\n\t}\n\n\tpublic visitOneHasMany({ entity, targetEntity, targetRelation, relation }: Model.OneHasManyContext) {\n\t\tif (!targetRelation) {\n\t\t\treturn []\n\t\t}\n\t\tconst uniqueConstraints = getFieldsForUniqueWhere(this.schema, targetEntity)\n\t\tconst composedUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 2) //todo support all uniques\n\t\t\t.filter(fields => fields.includes(targetRelation.name))\n\t\t\t.map(fields => fields.filter(it => it !== targetRelation.name))\n\t\t\t.map(fields => fields[0])\n\t\tconst singleUnique = uniqueConstraints\n\t\t\t.filter(fields => fields.length === 1 && fields[0] !== targetEntity.primary)\n\t\t\t.map(fields => fields[0])\n\t\t\t.filter(it => it !== targetRelation.name)\n\n\n\t\tconst existing = new Set<string>()\n\t\treturn [...composedUnique, ...singleUnique]\n\t\t\t.filter(field =>\n\t\t\t\tacceptFieldVisitor(\n\t\t\t\t\tthis.schema,\n\t\t\t\t\ttargetEntity.name,\n\t\t\t\t\tfield,\n\t\t\t\t\tnew FieldAccessVisitor(Acl.Operation.read, this.authorizator),\n\t\t\t\t),\n\t\t\t)\n\t\t\t.map<Result | null>(fieldName => {\n\t\t\t\tif (existing.has(fieldName)) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\texisting.add(fieldName)\n\t\t\t\tconst graphQlName = relation.name + GqlTypeName`By${fieldName}`\n\t\t\t\tconst uniqueWhere: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\t\t\t//todo this can be simplified to ${targetEntity.name}By${fieldName}, but singleton must be used\n\t\t\t\t\tname: GqlTypeName`${entity.name}${relation.name}By${fieldName}UniqueWhere`,\n\t\t\t\t\tfields: () => {\n\t\t\t\t\t\treturn this.whereTypeProvider.getUniqueWhereFields(targetEntity, [[fieldName]])\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tconst entityType = this.entityTypeProvider.getEntity(targetEntity.name)\n\n\t\t\t\treturn [\n\t\t\t\t\tgraphQlName,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: entityType,\n\t\t\t\t\t\textensions: {\n\t\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\t\textensionKey: HasManyToHasOneReducer.extensionName,\n\t\t\t\t\t\t},\n\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\tby: { type: new GraphQLNonNull(uniqueWhere) },\n\t\t\t\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(targetEntity.name) },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t})\n\t\t\t.filter((it): it is Result => it !== null)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;AAgBO,MAAM,2CAE0B;AAAA,EAEtC,YACkB,QACA,cACA,oBACA,mBAChB;AAJgB,SAAA,SAAA;AACA,SAAA,eAAA;AACA,SAAA,qBAAA;AACA,SAAA,oBAAA;AAAA,EAAA;AAAA,EAGX,cAAc;AACpB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,uBAAuB;AAC7B,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,wBAAwB;AAC9B,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,kBAAkB;AACxB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,0BAA0B;AAChC,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,yBAAyB;AAC/B,WAAO,CAAC;AAAA,EAAA;AAAA,EAGF,gBAAgB,EAAE,QAAQ,cAAc,gBAAgB,YAAqC;AACnG,QAAI,CAAC,gBAAgB;AACpB,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,oBAAoB,wBAAwB,KAAK,QAAQ,YAAY;AAC3E,UAAM,iBAAiB,kBACrB,OAAO,CAAA,WAAU,OAAO,WAAW,CAAC,EACpC,OAAO,CAAA,WAAU,OAAO,SAAS,eAAe,IAAI,CAAC,EACrD,IAAI,CAAU,WAAA,OAAO,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI,CAAC,EAC7D,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC;AACnB,UAAA,eAAe,kBACnB,OAAO,CAAA,WAAU,OAAO,WAAW,KAAK,OAAO,CAAC,MAAM,aAAa,OAAO,EAC1E,IAAI,CAAU,WAAA,OAAO,CAAC,CAAC,EACvB,OAAO,CAAA,OAAM,OAAO,eAAe,IAAI;AAGnC,UAAA,+BAAe,IAAY;AACjC,WAAO,CAAC,GAAG,gBAAgB,GAAG,YAAY,EACxC;AAAA,MAAO,CACP,UAAA;AAAA,QACC,KAAK;AAAA,QACL,aAAa;AAAA,QACb;AAAA,QACA,IAAI,mBAAmB,IAAI,UAAU,MAAM,KAAK,YAAY;AAAA,MAAA;AAAA,IAC7D,EAEA,IAAmB,CAAa,cAAA;AAC5B,UAAA,SAAS,IAAI,SAAS,GAAG;AACrB,eAAA;AAAA,MAAA;AAER,eAAS,IAAI,SAAS;AACtB,YAAM,cAAc,SAAS,OAAO,gBAAgB,SAAS;AACvD,YAAA,cAAsC,IAAI,uBAAuB;AAAA;AAAA,QAEtE,MAAM,cAAc,OAAO,IAAI,GAAG,SAAS,IAAI,KAAK,SAAS;AAAA,QAC7D,QAAQ,MAAM;AACN,iBAAA,KAAK,kBAAkB,qBAAqB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;AAAA,QAAA;AAAA,MAC/E,CACA;AAED,YAAM,aAAa,KAAK,mBAAmB,UAAU,aAAa,IAAI;AAE/D,aAAA;AAAA,QACN;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAc,uBAAuB;AAAA,UACtC;AAAA,UACA,MAAM;AAAA,YACL,IAAI,EAAE,MAAM,IAAI,eAAe,WAAW,EAAE;AAAA,YAC5C,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,aAAa,IAAI,EAAE;AAAA,UAC9E;AAAA,UACA,SAAS;AAAA,QAAA;AAAA,MAEX;AAAA,IACA,CAAA,EACA,OAAO,CAAC,OAAqB,OAAO,IAAI;AAAA,EAAA;AAE5C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyCountVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { GroupedCounts, Mapper, RelationFetcher } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyCountVisitor implements\n\tModel.ColumnVisitor<Promise<GroupedCounts>>,\n\tModel.RelationByTypeVisitor<Promise<GroupedCounts>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,6BAEwC;AAAA,EAEpD,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAM,gBAAgB,iBAAkE;AAChF,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,uBAAuB,iBAAyE;AAC9F,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,wBAAwB,iBAA0E;AAChG,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EACjB;AACD;;"}
1
+ {"version":3,"file":"PaginatedHasManyCountVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { GroupedCounts, Mapper, RelationFetcher } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyCountVisitor implements\n\tModel.ColumnVisitor<Promise<GroupedCounts>>,\n\tModel.RelationByTypeVisitor<Promise<GroupedCounts>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,6BAEwC;AAAA,EAEpD,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,gBAAgB,iBAAkE;AAChF,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,uBAAuB,iBAAyE;AAC9F,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,iBAA0E;AAChG,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EAAA;AAElB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyCountVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { GroupedCounts, Mapper, RelationFetcher } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyCountVisitor implements\n\tModel.ColumnVisitor<Promise<GroupedCounts>>,\n\tModel.RelationByTypeVisitor<Promise<GroupedCounts>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,6BAEwC;AAAA,EAEpD,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAM,gBAAgB,iBAAkE;AAChF,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,uBAAuB,iBAAyE;AAC9F,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,wBAAwB,iBAA0E;AAChG,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EACjB;AACD;"}
1
+ {"version":3,"file":"PaginatedHasManyCountVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { GroupedCounts, Mapper, RelationFetcher } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyCountVisitor implements\n\tModel.ColumnVisitor<Promise<GroupedCounts>>,\n\tModel.RelationByTypeVisitor<Promise<GroupedCounts>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext): Promise<GroupedCounts> {\n\t\treturn await this.relationFetcher.countManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfilter: this.objectNode.args.filter,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,6BAEwC;AAAA,EAEpD,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,gBAAgB,iBAAkE;AAChF,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,uBAAuB,iBAAyE;AAC9F,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,iBAA0E;AAChG,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,QAAQ,KAAK,WAAW,KAAK;AAAA,QAC7B;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EAAA;AAElB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyExecutionHandler.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { RelationFetcher, SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { createPaginationHelper } from '../../utils'\nimport { PaginatedHasManyCountVisitor } from './PaginatedHasManyCountVisitor'\nimport { PaginatedHasManyNodesVisitor } from './PaginatedHasManyNodesVisitor'\n\nexport class PaginatedHasManyExecutionHandler implements SelectExecutionHandler<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension> {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t) {}\n\n\tprocess(\n\t\tcontext: SelectExecutionHandlerContext<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension>,\n\t): void {\n\t\tconst { addData, entity, objectNode, mapper } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tconst pagination = createPaginationHelper(objectNode)\n\t\taddData({\n\t\t\tfield: context.entity.primary,\n\t\t\tdataProvider: async ids => {\n\t\t\t\tconst counts = pagination.requiresTotalCount\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyCountVisitor(ids, objectNode, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: {}\n\n\t\t\t\tconst nodes = pagination.nodeField\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyNodesVisitor(ids, pagination.nodeField, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t\tconst result = new Map<Input.PrimaryValue, any>()\n\t\t\t\tfor (const id of ids) {\n\t\t\t\t\tresult.set(id, pagination.createResponse(counts?.[id] ?? 0, nodes?.[id] ?? []))\n\t\t\t\t}\n\t\t\t\treturn Object.fromEntries(result)\n\t\t\t},\n\t\t\tdefaultValue: pagination.createResponse(0, []),\n\t\t})\n\t}\n}\n"],"names":["createPaginationHelper","acceptFieldVisitor","PaginatedHasManyCountVisitor","PaginatedHasManyNodesVisitor"],"mappings":";;;;;;AAQO,MAAM,iCAAuI;AAAA,EACnJ,YACkB,QACA,iBAChB;AAFgB,SAAA,SAAA;AACA,SAAA,kBAAA;AAAA,EACf;AAAA,EAEH,QACC,SACO;AACP,UAAM,EAAE,SAAS,QAAQ,YAAY,WAAW;AAChD,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IACjB;AACM,UAAA,aAAaA,uCAAuB,UAAU;AAC5C,YAAA;AAAA,MACP,OAAO,QAAQ,OAAO;AAAA,MACtB,cAAc,OAAM,QAAO;AACpB,cAAA,SAAS,WAAW,qBACvB,MAAMC,YAAA;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAIC,0DAA6B,KAAK,YAAY,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,YAEnG;AAEG,cAAA,QAAQ,WAAW,YACtB,MAAMD,YAAA;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAIE,0DAA6B,KAAK,WAAW,WAAW,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,QAE7G,IAAA;AACG,cAAA,6BAAa;AACnB,mBAAW,MAAM,KAAK;AACrB,iBAAO,IAAI,IAAI,WAAW,eAAe,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAA,CAAE,CAAC;AAAA,QAC/E;AACO,eAAA,OAAO,YAAY,MAAM;AAAA,MACjC;AAAA,MACA,cAAc,WAAW,eAAe,GAAG,CAAA,CAAE;AAAA,IAAA,CAC7C;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"PaginatedHasManyExecutionHandler.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { RelationFetcher, SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { createPaginationHelper } from '../../utils'\nimport { PaginatedHasManyCountVisitor } from './PaginatedHasManyCountVisitor'\nimport { PaginatedHasManyNodesVisitor } from './PaginatedHasManyNodesVisitor'\n\nexport class PaginatedHasManyExecutionHandler implements SelectExecutionHandler<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension> {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t) {}\n\n\tprocess(\n\t\tcontext: SelectExecutionHandlerContext<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension>,\n\t): void {\n\t\tconst { addData, entity, objectNode, mapper } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tconst pagination = createPaginationHelper(objectNode)\n\t\taddData({\n\t\t\tfield: context.entity.primary,\n\t\t\tdataProvider: async ids => {\n\t\t\t\tconst counts = pagination.requiresTotalCount\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyCountVisitor(ids, objectNode, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: {}\n\n\t\t\t\tconst nodes = pagination.nodeField\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyNodesVisitor(ids, pagination.nodeField, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t\tconst result = new Map<Input.PrimaryValue, any>()\n\t\t\t\tfor (const id of ids) {\n\t\t\t\t\tresult.set(id, pagination.createResponse(counts?.[id] ?? 0, nodes?.[id] ?? []))\n\t\t\t\t}\n\t\t\t\treturn Object.fromEntries(result)\n\t\t\t},\n\t\t\tdefaultValue: pagination.createResponse(0, []),\n\t\t})\n\t}\n}\n"],"names":["createPaginationHelper","acceptFieldVisitor","PaginatedHasManyCountVisitor","PaginatedHasManyNodesVisitor"],"mappings":";;;;;;AAQO,MAAM,iCAAuI;AAAA,EACnJ,YACkB,QACA,iBAChB;AAFgB,SAAA,SAAA;AACA,SAAA,kBAAA;AAAA,EAAA;AAAA,EAGlB,QACC,SACO;AACP,UAAM,EAAE,SAAS,QAAQ,YAAY,OAAW,IAAA;AAChD,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IAAA;AAEX,UAAA,aAAaA,uCAAuB,UAAU;AAC5C,YAAA;AAAA,MACP,OAAO,QAAQ,OAAO;AAAA,MACtB,cAAc,OAAM,QAAO;AACpB,cAAA,SAAS,WAAW,qBACvB,MAAMC,YAAA;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAIC,6BAAAA,6BAA6B,KAAK,YAAY,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,QAAA,IAEnG,CAAC;AAEE,cAAA,QAAQ,WAAW,YACtB,MAAMD,YAAA;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAIE,0DAA6B,KAAK,WAAW,WAAW,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,QAE7G,IAAA;AACG,cAAA,6BAAa,IAA6B;AAChD,mBAAW,MAAM,KAAK;AACrB,iBAAO,IAAI,IAAI,WAAW,eAAe,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAE,CAAA,CAAC;AAAA,QAAA;AAExE,eAAA,OAAO,YAAY,MAAM;AAAA,MACjC;AAAA,MACA,cAAc,WAAW,eAAe,GAAG,CAAE,CAAA;AAAA,IAAA,CAC7C;AAAA,EAAA;AAEH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyExecutionHandler.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { RelationFetcher, SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { createPaginationHelper } from '../../utils'\nimport { PaginatedHasManyCountVisitor } from './PaginatedHasManyCountVisitor'\nimport { PaginatedHasManyNodesVisitor } from './PaginatedHasManyNodesVisitor'\n\nexport class PaginatedHasManyExecutionHandler implements SelectExecutionHandler<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension> {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t) {}\n\n\tprocess(\n\t\tcontext: SelectExecutionHandlerContext<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension>,\n\t): void {\n\t\tconst { addData, entity, objectNode, mapper } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tconst pagination = createPaginationHelper(objectNode)\n\t\taddData({\n\t\t\tfield: context.entity.primary,\n\t\t\tdataProvider: async ids => {\n\t\t\t\tconst counts = pagination.requiresTotalCount\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyCountVisitor(ids, objectNode, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: {}\n\n\t\t\t\tconst nodes = pagination.nodeField\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyNodesVisitor(ids, pagination.nodeField, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t\tconst result = new Map<Input.PrimaryValue, any>()\n\t\t\t\tfor (const id of ids) {\n\t\t\t\t\tresult.set(id, pagination.createResponse(counts?.[id] ?? 0, nodes?.[id] ?? []))\n\t\t\t\t}\n\t\t\t\treturn Object.fromEntries(result)\n\t\t\t},\n\t\t\tdefaultValue: pagination.createResponse(0, []),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;AAQO,MAAM,iCAAuI;AAAA,EACnJ,YACkB,QACA,iBAChB;AAFgB,SAAA,SAAA;AACA,SAAA,kBAAA;AAAA,EACf;AAAA,EAEH,QACC,SACO;AACP,UAAM,EAAE,SAAS,QAAQ,YAAY,WAAW;AAChD,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IACjB;AACM,UAAA,aAAa,uBAAuB,UAAU;AAC5C,YAAA;AAAA,MACP,OAAO,QAAQ,OAAO;AAAA,MACtB,cAAc,OAAM,QAAO;AACpB,cAAA,SAAS,WAAW,qBACvB,MAAM;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAI,6BAA6B,KAAK,YAAY,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,YAEnG;AAEG,cAAA,QAAQ,WAAW,YACtB,MAAM;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAI,6BAA6B,KAAK,WAAW,WAAW,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,QAE7G,IAAA;AACG,cAAA,6BAAa;AACnB,mBAAW,MAAM,KAAK;AACrB,iBAAO,IAAI,IAAI,WAAW,eAAe,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAA,CAAE,CAAC;AAAA,QAC/E;AACO,eAAA,OAAO,YAAY,MAAM;AAAA,MACjC;AAAA,MACA,cAAc,WAAW,eAAe,GAAG,CAAA,CAAE;AAAA,IAAA,CAC7C;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"PaginatedHasManyExecutionHandler.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { RelationFetcher, SelectExecutionHandler, SelectExecutionHandlerContext } from '../../mapper'\nimport { PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { createPaginationHelper } from '../../utils'\nimport { PaginatedHasManyCountVisitor } from './PaginatedHasManyCountVisitor'\nimport { PaginatedHasManyNodesVisitor } from './PaginatedHasManyNodesVisitor'\n\nexport class PaginatedHasManyExecutionHandler implements SelectExecutionHandler<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension> {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t) {}\n\n\tprocess(\n\t\tcontext: SelectExecutionHandlerContext<Input.PaginationQueryInput, PaginatedHasManyFieldProviderExtension>,\n\t): void {\n\t\tconst { addData, entity, objectNode, mapper } = context\n\t\tif (!objectNode) {\n\t\t\tthrow new Error()\n\t\t}\n\t\tconst pagination = createPaginationHelper(objectNode)\n\t\taddData({\n\t\t\tfield: context.entity.primary,\n\t\t\tdataProvider: async ids => {\n\t\t\t\tconst counts = pagination.requiresTotalCount\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyCountVisitor(ids, objectNode, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: {}\n\n\t\t\t\tconst nodes = pagination.nodeField\n\t\t\t\t\t? await acceptFieldVisitor(\n\t\t\t\t\t\tthis.schema,\n\t\t\t\t\t\tentity,\n\t\t\t\t\t\tobjectNode.extensions.relationName,\n\t\t\t\t\t\tnew PaginatedHasManyNodesVisitor(ids, pagination.nodeField, this.relationFetcher, mapper, context.relationPath),\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t\tconst result = new Map<Input.PrimaryValue, any>()\n\t\t\t\tfor (const id of ids) {\n\t\t\t\t\tresult.set(id, pagination.createResponse(counts?.[id] ?? 0, nodes?.[id] ?? []))\n\t\t\t\t}\n\t\t\t\treturn Object.fromEntries(result)\n\t\t\t},\n\t\t\tdefaultValue: pagination.createResponse(0, []),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;AAQO,MAAM,iCAAuI;AAAA,EACnJ,YACkB,QACA,iBAChB;AAFgB,SAAA,SAAA;AACA,SAAA,kBAAA;AAAA,EAAA;AAAA,EAGlB,QACC,SACO;AACP,UAAM,EAAE,SAAS,QAAQ,YAAY,OAAW,IAAA;AAChD,QAAI,CAAC,YAAY;AAChB,YAAM,IAAI,MAAM;AAAA,IAAA;AAEX,UAAA,aAAa,uBAAuB,UAAU;AAC5C,YAAA;AAAA,MACP,OAAO,QAAQ,OAAO;AAAA,MACtB,cAAc,OAAM,QAAO;AACpB,cAAA,SAAS,WAAW,qBACvB,MAAM;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAI,6BAA6B,KAAK,YAAY,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,QAAA,IAEnG,CAAC;AAEE,cAAA,QAAQ,WAAW,YACtB,MAAM;AAAA,UACP,KAAK;AAAA,UACL;AAAA,UACA,WAAW,WAAW;AAAA,UACtB,IAAI,6BAA6B,KAAK,WAAW,WAAW,KAAK,iBAAiB,QAAQ,QAAQ,YAAY;AAAA,QAE7G,IAAA;AACG,cAAA,6BAAa,IAA6B;AAChD,mBAAW,MAAM,KAAK;AACrB,iBAAO,IAAI,IAAI,WAAW,eAAe,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAE,CAAA,CAAC;AAAA,QAAA;AAExE,eAAA,OAAO,YAAY,MAAM;AAAA,MACjC;AAAA,MACA,cAAc,WAAW,eAAe,GAAG,CAAE,CAAA;AAAA,IAAA,CAC7C;AAAA,EAAA;AAEH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProvider.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"sourcesContent":["import { EntityFieldsProvider, FieldMap } from '../EntityFieldsProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProviderVisitor } from './PaginatedHasManyFieldProviderVisitor'\n\nexport class PaginatedHasManyFieldProvider implements EntityFieldsProvider<PaginatedHasManyFieldProviderExtension> {\n\tstatic extensionName: string = 'PaginatedHasMany'\n\n\tconstructor(private readonly schema: Model.Schema, private readonly visitor: PaginatedHasManyFieldProviderVisitor) {}\n\n\tgetFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<PaginatedHasManyFieldProviderExtension> {\n\t\tconst fields: FieldMap<PaginatedHasManyFieldProviderExtension> = {}\n\t\tfor (const field of accessibleFields) {\n\t\t\tfor (const [name, fieldConfig] of acceptFieldVisitor(this.schema, entity, field, this.visitor)) {\n\t\t\t\tfields[name] = fieldConfig\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n}\n\nexport interface PaginatedHasManyFieldProviderExtension {\n\trelationName: string\n}\n"],"names":["acceptFieldVisitor"],"mappings":";;;;;;AAKO,MAAM,8BAAsG;AAAA,EAGlH,YAA6B,QAAuC,SAA+C;AAAtF,SAAA,SAAA;AAAuC,SAAA,UAAA;AAAA,EAAgD;AAAA,EAEpH,UAAU,QAAsB,kBAAsF;AACrH,UAAM,SAA2D,CAAA;AACjE,eAAW,SAAS,kBAAkB;AAC1B,iBAAA,CAAC,MAAM,WAAW,KAAKA,YAAAA,mBAAmB,KAAK,QAAQ,QAAQ,OAAO,KAAK,OAAO,GAAG;AAC/F,eAAO,IAAI,IAAI;AAAA,MAChB;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;AAbC,cADY,+BACL,iBAAwB,kBAAA;;"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProvider.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"sourcesContent":["import { EntityFieldsProvider, FieldMap } from '../EntityFieldsProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProviderVisitor } from './PaginatedHasManyFieldProviderVisitor'\n\nexport class PaginatedHasManyFieldProvider implements EntityFieldsProvider<PaginatedHasManyFieldProviderExtension> {\n\tstatic extensionName: string = 'PaginatedHasMany'\n\n\tconstructor(private readonly schema: Model.Schema, private readonly visitor: PaginatedHasManyFieldProviderVisitor) {}\n\n\tgetFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<PaginatedHasManyFieldProviderExtension> {\n\t\tconst fields: FieldMap<PaginatedHasManyFieldProviderExtension> = {}\n\t\tfor (const field of accessibleFields) {\n\t\t\tfor (const [name, fieldConfig] of acceptFieldVisitor(this.schema, entity, field, this.visitor)) {\n\t\t\t\tfields[name] = fieldConfig\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n}\n\nexport interface PaginatedHasManyFieldProviderExtension {\n\trelationName: string\n}\n"],"names":["acceptFieldVisitor"],"mappings":";;;;;;AAKO,MAAM,8BAAsG;AAAA,EAGlH,YAA6B,QAAuC,SAA+C;AAAtF,SAAA,SAAA;AAAuC,SAAA,UAAA;AAAA,EAAA;AAAA,EAEpE,UAAU,QAAsB,kBAAsF;AACrH,UAAM,SAA2D,CAAC;AAClE,eAAW,SAAS,kBAAkB;AAC1B,iBAAA,CAAC,MAAM,WAAW,KAAKA,YAAAA,mBAAmB,KAAK,QAAQ,QAAQ,OAAO,KAAK,OAAO,GAAG;AAC/F,eAAO,IAAI,IAAI;AAAA,MAAA;AAAA,IAChB;AAEM,WAAA;AAAA,EAAA;AAET;AAbC,cADY,+BACL,iBAAwB,kBAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProvider.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"sourcesContent":["import { EntityFieldsProvider, FieldMap } from '../EntityFieldsProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProviderVisitor } from './PaginatedHasManyFieldProviderVisitor'\n\nexport class PaginatedHasManyFieldProvider implements EntityFieldsProvider<PaginatedHasManyFieldProviderExtension> {\n\tstatic extensionName: string = 'PaginatedHasMany'\n\n\tconstructor(private readonly schema: Model.Schema, private readonly visitor: PaginatedHasManyFieldProviderVisitor) {}\n\n\tgetFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<PaginatedHasManyFieldProviderExtension> {\n\t\tconst fields: FieldMap<PaginatedHasManyFieldProviderExtension> = {}\n\t\tfor (const field of accessibleFields) {\n\t\t\tfor (const [name, fieldConfig] of acceptFieldVisitor(this.schema, entity, field, this.visitor)) {\n\t\t\t\tfields[name] = fieldConfig\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n}\n\nexport interface PaginatedHasManyFieldProviderExtension {\n\trelationName: string\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,8BAAsG;AAAA,EAGlH,YAA6B,QAAuC,SAA+C;AAAtF,SAAA,SAAA;AAAuC,SAAA,UAAA;AAAA,EAAgD;AAAA,EAEpH,UAAU,QAAsB,kBAAsF;AACrH,UAAM,SAA2D,CAAA;AACjE,eAAW,SAAS,kBAAkB;AAC1B,iBAAA,CAAC,MAAM,WAAW,KAAK,mBAAmB,KAAK,QAAQ,QAAQ,OAAO,KAAK,OAAO,GAAG;AAC/F,eAAO,IAAI,IAAI;AAAA,MAChB;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;AAbC,cADY,+BACL,iBAAwB,kBAAA;"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProvider.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"sourcesContent":["import { EntityFieldsProvider, FieldMap } from '../EntityFieldsProvider'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProviderVisitor } from './PaginatedHasManyFieldProviderVisitor'\n\nexport class PaginatedHasManyFieldProvider implements EntityFieldsProvider<PaginatedHasManyFieldProviderExtension> {\n\tstatic extensionName: string = 'PaginatedHasMany'\n\n\tconstructor(private readonly schema: Model.Schema, private readonly visitor: PaginatedHasManyFieldProviderVisitor) {}\n\n\tgetFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<PaginatedHasManyFieldProviderExtension> {\n\t\tconst fields: FieldMap<PaginatedHasManyFieldProviderExtension> = {}\n\t\tfor (const field of accessibleFields) {\n\t\t\tfor (const [name, fieldConfig] of acceptFieldVisitor(this.schema, entity, field, this.visitor)) {\n\t\t\t\tfields[name] = fieldConfig\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n}\n\nexport interface PaginatedHasManyFieldProviderExtension {\n\trelationName: string\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,8BAAsG;AAAA,EAGlH,YAA6B,QAAuC,SAA+C;AAAtF,SAAA,SAAA;AAAuC,SAAA,UAAA;AAAA,EAAA;AAAA,EAEpE,UAAU,QAAsB,kBAAsF;AACrH,UAAM,SAA2D,CAAC;AAClE,eAAW,SAAS,kBAAkB;AAC1B,iBAAA,CAAC,MAAM,WAAW,KAAK,mBAAmB,KAAK,QAAQ,QAAQ,OAAO,KAAK,OAAO,GAAG;AAC/F,eAAO,IAAI,IAAI;AAAA,MAAA;AAAA,IAChB;AAEM,WAAA;AAAA,EAAA;AAET;AAbC,cADY,+BACL,iBAAwB,kBAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProvider, PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { capitalizeFirstLetter } from '../../utils'\nimport { PaginatedFieldConfigFactory } from '../../schema/PaginatedFieldConfigFactory'\nimport { aliasAwareResolver } from '../../schema'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: PaginatedHasManyFieldProviderExtension\n\t}\n]\n\nexport class PaginatedHasManyFieldProviderVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(private readonly paginatedFieldFactory: PaginatedFieldConfigFactory) {}\n\n\tvisitOneHasMany({ targetEntity, relation }: Model.OneHasManyContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyOwning({ targetEntity, relation }: Model.ManyHasManyOwningContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyInverse({ targetEntity, relation }: Model.ManyHasManyInverseContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tprivate createField(entity: Model.Entity, relation: Model.Relation): Result[] {\n\t\treturn [\n\t\t\t[\n\t\t\t\t`paginate${capitalizeFirstLetter(relation.name)}`,\n\t\t\t\t{\n\t\t\t\t\t...this.paginatedFieldFactory.createFieldConfig(entity),\n\t\t\t\t\textensions: {\n\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\textensionKey: PaginatedHasManyFieldProvider.extensionName,\n\t\t\t\t\t},\n\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t},\n\t\t\t],\n\t\t]\n\t}\n\n\tvisitColumn() {\n\t\treturn []\n\t}\n\n\tvisitManyHasOne() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneOwning() {\n\t\treturn []\n\t}\n}\n"],"names":["capitalizeFirstLetter","PaginatedHasManyFieldProvider","aliasAwareResolver"],"mappings":";;;;;;;;;;;AAcO,MAAM,qCAE0B;AAAA,EAEtC,YAA6B,uBAAoD;AAApD,SAAA,wBAAA;AAAA,EAAqD;AAAA,EAElF,gBAAgB,EAAE,cAAc,YAAqC;AAC7D,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAC/C;AAAA,EAEA,uBAAuB,EAAE,cAAc,YAA4C;AAC3E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAC/C;AAAA,EAEA,wBAAwB,EAAE,cAAc,YAA6C;AAC7E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAC/C;AAAA,EAEQ,YAAY,QAAsB,UAAoC;AACtE,WAAA;AAAA,MACN;AAAA,QACC,WAAWA,QAAA,sBAAsB,SAAS,IAAI,CAAC;AAAA,QAC/C;AAAA,UACC,GAAG,KAAK,sBAAsB,kBAAkB,MAAM;AAAA,UACtD,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAcC,8BAA8B,8BAAA;AAAA,UAC7C;AAAA,UACA,SAASC,MAAA;AAAA,QACV;AAAA,MACD;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,cAAc;AACb,WAAO;EACR;AAAA,EAEA,kBAAkB;AACjB,WAAO;EACR;AAAA,EAEA,wBAAwB;AACvB,WAAO;EACR;AAAA,EAEA,uBAAuB;AACtB,WAAO;EACR;AACD;;"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProvider, PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { capitalizeFirstLetter } from '../../utils'\nimport { PaginatedFieldConfigFactory } from '../../schema/PaginatedFieldConfigFactory'\nimport { aliasAwareResolver } from '../../schema'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: PaginatedHasManyFieldProviderExtension\n\t}\n]\n\nexport class PaginatedHasManyFieldProviderVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(private readonly paginatedFieldFactory: PaginatedFieldConfigFactory) {}\n\n\tvisitOneHasMany({ targetEntity, relation }: Model.OneHasManyContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyOwning({ targetEntity, relation }: Model.ManyHasManyOwningContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyInverse({ targetEntity, relation }: Model.ManyHasManyInverseContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tprivate createField(entity: Model.Entity, relation: Model.Relation): Result[] {\n\t\treturn [\n\t\t\t[\n\t\t\t\t`paginate${capitalizeFirstLetter(relation.name)}`,\n\t\t\t\t{\n\t\t\t\t\t...this.paginatedFieldFactory.createFieldConfig(entity),\n\t\t\t\t\textensions: {\n\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\textensionKey: PaginatedHasManyFieldProvider.extensionName,\n\t\t\t\t\t},\n\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t},\n\t\t\t],\n\t\t]\n\t}\n\n\tvisitColumn() {\n\t\treturn []\n\t}\n\n\tvisitManyHasOne() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneOwning() {\n\t\treturn []\n\t}\n}\n"],"names":["capitalizeFirstLetter","PaginatedHasManyFieldProvider","aliasAwareResolver"],"mappings":";;;;;;;;;;;AAcO,MAAM,qCAE0B;AAAA,EAEtC,YAA6B,uBAAoD;AAApD,SAAA,wBAAA;AAAA,EAAA;AAAA,EAE7B,gBAAgB,EAAE,cAAc,YAAqC;AAC7D,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAAA;AAAA,EAG/C,uBAAuB,EAAE,cAAc,YAA4C;AAC3E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAAA;AAAA,EAG/C,wBAAwB,EAAE,cAAc,YAA6C;AAC7E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAAA;AAAA,EAGvC,YAAY,QAAsB,UAAoC;AACtE,WAAA;AAAA,MACN;AAAA,QACC,WAAWA,QAAA,sBAAsB,SAAS,IAAI,CAAC;AAAA,QAC/C;AAAA,UACC,GAAG,KAAK,sBAAsB,kBAAkB,MAAM;AAAA,UACtD,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAcC,8BAAAA,8BAA8B;AAAA,UAC7C;AAAA,UACA,SAASC,MAAAA;AAAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAAA,EAAA;AAAA,EAGD,cAAc;AACb,WAAO,CAAC;AAAA,EAAA;AAAA,EAGT,kBAAkB;AACjB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGT,wBAAwB;AACvB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGT,uBAAuB;AACtB,WAAO,CAAC;AAAA,EAAA;AAEV;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProvider, PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { capitalizeFirstLetter } from '../../utils'\nimport { PaginatedFieldConfigFactory } from '../../schema/PaginatedFieldConfigFactory'\nimport { aliasAwareResolver } from '../../schema'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: PaginatedHasManyFieldProviderExtension\n\t}\n]\n\nexport class PaginatedHasManyFieldProviderVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(private readonly paginatedFieldFactory: PaginatedFieldConfigFactory) {}\n\n\tvisitOneHasMany({ targetEntity, relation }: Model.OneHasManyContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyOwning({ targetEntity, relation }: Model.ManyHasManyOwningContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyInverse({ targetEntity, relation }: Model.ManyHasManyInverseContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tprivate createField(entity: Model.Entity, relation: Model.Relation): Result[] {\n\t\treturn [\n\t\t\t[\n\t\t\t\t`paginate${capitalizeFirstLetter(relation.name)}`,\n\t\t\t\t{\n\t\t\t\t\t...this.paginatedFieldFactory.createFieldConfig(entity),\n\t\t\t\t\textensions: {\n\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\textensionKey: PaginatedHasManyFieldProvider.extensionName,\n\t\t\t\t\t},\n\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t},\n\t\t\t],\n\t\t]\n\t}\n\n\tvisitColumn() {\n\t\treturn []\n\t}\n\n\tvisitManyHasOne() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneOwning() {\n\t\treturn []\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;AAcO,MAAM,qCAE0B;AAAA,EAEtC,YAA6B,uBAAoD;AAApD,SAAA,wBAAA;AAAA,EAAqD;AAAA,EAElF,gBAAgB,EAAE,cAAc,YAAqC;AAC7D,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAC/C;AAAA,EAEA,uBAAuB,EAAE,cAAc,YAA4C;AAC3E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAC/C;AAAA,EAEA,wBAAwB,EAAE,cAAc,YAA6C;AAC7E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAC/C;AAAA,EAEQ,YAAY,QAAsB,UAAoC;AACtE,WAAA;AAAA,MACN;AAAA,QACC,WAAW,sBAAsB,SAAS,IAAI,CAAC;AAAA,QAC/C;AAAA,UACC,GAAG,KAAK,sBAAsB,kBAAkB,MAAM;AAAA,UACtD,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAc,8BAA8B;AAAA,UAC7C;AAAA,UACA,SAAS;AAAA,QACV;AAAA,MACD;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,cAAc;AACb,WAAO;EACR;AAAA,EAEA,kBAAkB;AACjB,WAAO;EACR;AAAA,EAEA,wBAAwB;AACvB,WAAO;EACR;AAAA,EAEA,uBAAuB;AACtB,WAAO;EACR;AACD;"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { PaginatedHasManyFieldProvider, PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider'\nimport { capitalizeFirstLetter } from '../../utils'\nimport { PaginatedFieldConfigFactory } from '../../schema/PaginatedFieldConfigFactory'\nimport { aliasAwareResolver } from '../../schema'\nimport { GraphQLFieldConfig } from 'graphql'\n\ntype Result = [\n\tstring,\n\tGraphQLFieldConfig<any, any> & {\n\t\textensions: PaginatedHasManyFieldProviderExtension\n\t}\n]\n\nexport class PaginatedHasManyFieldProviderVisitor implements\n\tModel.ColumnVisitor<Result[]>,\n\tModel.RelationByTypeVisitor<Result[]> {\n\n\tconstructor(private readonly paginatedFieldFactory: PaginatedFieldConfigFactory) {}\n\n\tvisitOneHasMany({ targetEntity, relation }: Model.OneHasManyContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyOwning({ targetEntity, relation }: Model.ManyHasManyOwningContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tvisitManyHasManyInverse({ targetEntity, relation }: Model.ManyHasManyInverseContext) {\n\t\treturn this.createField(targetEntity, relation)\n\t}\n\n\tprivate createField(entity: Model.Entity, relation: Model.Relation): Result[] {\n\t\treturn [\n\t\t\t[\n\t\t\t\t`paginate${capitalizeFirstLetter(relation.name)}`,\n\t\t\t\t{\n\t\t\t\t\t...this.paginatedFieldFactory.createFieldConfig(entity),\n\t\t\t\t\textensions: {\n\t\t\t\t\t\trelationName: relation.name,\n\t\t\t\t\t\textensionKey: PaginatedHasManyFieldProvider.extensionName,\n\t\t\t\t\t},\n\t\t\t\t\tresolve: aliasAwareResolver,\n\t\t\t\t},\n\t\t\t],\n\t\t]\n\t}\n\n\tvisitColumn() {\n\t\treturn []\n\t}\n\n\tvisitManyHasOne() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneInverse() {\n\t\treturn []\n\t}\n\n\tvisitOneHasOneOwning() {\n\t\treturn []\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;AAcO,MAAM,qCAE0B;AAAA,EAEtC,YAA6B,uBAAoD;AAApD,SAAA,wBAAA;AAAA,EAAA;AAAA,EAE7B,gBAAgB,EAAE,cAAc,YAAqC;AAC7D,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAAA;AAAA,EAG/C,uBAAuB,EAAE,cAAc,YAA4C;AAC3E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAAA;AAAA,EAG/C,wBAAwB,EAAE,cAAc,YAA6C;AAC7E,WAAA,KAAK,YAAY,cAAc,QAAQ;AAAA,EAAA;AAAA,EAGvC,YAAY,QAAsB,UAAoC;AACtE,WAAA;AAAA,MACN;AAAA,QACC,WAAW,sBAAsB,SAAS,IAAI,CAAC;AAAA,QAC/C;AAAA,UACC,GAAG,KAAK,sBAAsB,kBAAkB,MAAM;AAAA,UACtD,YAAY;AAAA,YACX,cAAc,SAAS;AAAA,YACvB,cAAc,8BAA8B;AAAA,UAC7C;AAAA,UACA,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IAEF;AAAA,EAAA;AAAA,EAGD,cAAc;AACb,WAAO,CAAC;AAAA,EAAA;AAAA,EAGT,kBAAkB;AACjB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGT,wBAAwB;AACvB,WAAO,CAAC;AAAA,EAAA;AAAA,EAGT,uBAAuB;AACtB,WAAO,CAAC;AAAA,EAAA;AAEV;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyNodesVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { Mapper, RelationFetcher, SelectGroupedObjects } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyNodesVisitor implements\n\tModel.ColumnVisitor<Promise<SelectGroupedObjects>>,\n\tModel.RelationByTypeVisitor<Promise<SelectGroupedObjects>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext) {\n\t\treturn await this.relationFetcher.fetchOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tobjectNode: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,6BAE+C;AAAA,EAE3D,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAM,gBAAgB,iBAA0C;AACxD,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,YAAY,KAAK;AAAA,QACjB;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,uBAAuB,iBAAiD;AACtE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,wBAAwB,iBAAkD;AACxE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EACjB;AACD;;"}
1
+ {"version":3,"file":"PaginatedHasManyNodesVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { Mapper, RelationFetcher, SelectGroupedObjects } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyNodesVisitor implements\n\tModel.ColumnVisitor<Promise<SelectGroupedObjects>>,\n\tModel.RelationByTypeVisitor<Promise<SelectGroupedObjects>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext) {\n\t\treturn await this.relationFetcher.fetchOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tobjectNode: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,6BAE+C;AAAA,EAE3D,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,gBAAgB,iBAA0C;AACxD,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,YAAY,KAAK;AAAA,QACjB;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,uBAAuB,iBAAiD;AACtE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,iBAAkD;AACxE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EAAA;AAElB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyNodesVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { Mapper, RelationFetcher, SelectGroupedObjects } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyNodesVisitor implements\n\tModel.ColumnVisitor<Promise<SelectGroupedObjects>>,\n\tModel.RelationByTypeVisitor<Promise<SelectGroupedObjects>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext) {\n\t\treturn await this.relationFetcher.fetchOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tobjectNode: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,6BAE+C;AAAA,EAE3D,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EACf;AAAA,EAEH,MAAM,gBAAgB,iBAA0C;AACxD,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,YAAY,KAAK;AAAA,QACjB;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,uBAAuB,iBAAiD;AACtE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAM,wBAAwB,iBAAkD;AACxE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MACX;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEA,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EACjB;AACD;"}
1
+ {"version":3,"file":"PaginatedHasManyNodesVisitor.js","sources":["../../../../../../packages/engine-content-api/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { Mapper, RelationFetcher, SelectGroupedObjects } from '../../mapper'\nimport { ObjectNode } from '../../inputProcessing'\n\nexport class PaginatedHasManyNodesVisitor implements\n\tModel.ColumnVisitor<Promise<SelectGroupedObjects>>,\n\tModel.RelationByTypeVisitor<Promise<SelectGroupedObjects>> {\n\n\tconstructor(\n\t\tprivate readonly ids: Input.PrimaryValue[],\n\t\tprivate readonly objectNode: ObjectNode<Input.PaginationQueryInput>,\n\t\tprivate readonly relationFetcher: RelationFetcher,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly relationPath: Model.AnyRelationContext[],\n\t) {}\n\n\tasync visitOneHasMany(relationContext: Model.OneHasManyContext) {\n\t\treturn await this.relationFetcher.fetchOneHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tobjectNode: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyOwning(relationContext: Model.ManyHasManyOwningContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tasync visitManyHasManyInverse(relationContext: Model.ManyHasManyInverseContext) {\n\t\treturn await this.relationFetcher.fetchManyHasManyGroups(\n\t\t\t{\n\t\t\t\tmapper: this.mapper,\n\t\t\t\tfield: this.objectNode,\n\t\t\t\trelationContext,\n\t\t\t\trelationPath: this.relationPath,\n\t\t\t\tids: this.ids,\n\t\t\t},\n\t\t)\n\t}\n\n\tvisitColumn(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitManyHasOne(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneInverse(): never {\n\t\tthrow new Error()\n\t}\n\n\tvisitOneHasOneOwning(): never {\n\t\tthrow new Error()\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,6BAE+C;AAAA,EAE3D,YACkB,KACA,YACA,iBACA,QACA,cAChB;AALgB,SAAA,MAAA;AACA,SAAA,aAAA;AACA,SAAA,kBAAA;AACA,SAAA,SAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,gBAAgB,iBAA0C;AACxD,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,YAAY,KAAK;AAAA,QACjB;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,uBAAuB,iBAAiD;AACtE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,MAAM,wBAAwB,iBAAkD;AACxE,WAAA,MAAM,KAAK,gBAAgB;AAAA,MACjC;AAAA,QACC,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,KAAK,KAAK;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAGD,cAAqB;AACpB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,kBAAyB;AACxB,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,wBAA+B;AAC9B,UAAM,IAAI,MAAM;AAAA,EAAA;AAAA,EAGjB,uBAA8B;AAC7B,UAAM,IAAI,MAAM;AAAA,EAAA;AAElB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnValueResolver.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/ColumnValueResolver.ts"],"sourcesContent":["import { NoDataError, Providers, resolveColumnValue } from '@contember/schema-utils'\nimport { Model, Value } from '@contember/schema'\n\nexport class ColumnValueResolver {\n\tconstructor(private readonly providers: Providers) {}\n\n\tgetDefaultValidationValue(context: Model.ColumnContext & { input: Value.FieldValue | undefined }): Value.AtomicValue | undefined {\n\t\tif (context.column.name === context.entity.primary) {\n\t\t\treturn '00000000-0000-0000-0000-000000000000'\n\t\t}\n\t\ttry {\n\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t} catch (e) {\n\t\t\tif (e instanceof NoDataError) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["resolveColumnValue","NoDataError"],"mappings":";;;AAGO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,WAAsB;AAAtB,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpD,0BAA0B,SAAuG;AAChI,QAAI,QAAQ,OAAO,SAAS,QAAQ,OAAO,SAAS;AAC5C,aAAA;AAAA,IACR;AACI,QAAA;AACI,aAAAA,+BAAmB,SAAS,KAAK,SAAS;AAAA,aACzC,GAAG;AACX,UAAI,aAAaC,YAAAA,aAAa;AACtB,eAAA;AAAA,MACR;AACM,YAAA;AAAA,IACP;AAAA,EACD;AACD;;"}
1
+ {"version":3,"file":"ColumnValueResolver.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/ColumnValueResolver.ts"],"sourcesContent":["import { NoDataError, Providers, resolveColumnValue } from '@contember/schema-utils'\nimport { Model, Value } from '@contember/schema'\n\nexport class ColumnValueResolver {\n\tconstructor(private readonly providers: Providers) {}\n\n\tgetDefaultValidationValue(context: Model.ColumnContext & { input: Value.FieldValue | undefined }): Value.AtomicValue | undefined {\n\t\tif (context.column.name === context.entity.primary) {\n\t\t\treturn '00000000-0000-0000-0000-000000000000'\n\t\t}\n\t\ttry {\n\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t} catch (e) {\n\t\t\tif (e instanceof NoDataError) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["resolveColumnValue","NoDataError"],"mappings":";;;AAGO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,WAAsB;AAAtB,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7B,0BAA0B,SAAuG;AAChI,QAAI,QAAQ,OAAO,SAAS,QAAQ,OAAO,SAAS;AAC5C,aAAA;AAAA,IAAA;AAEJ,QAAA;AACI,aAAAA,+BAAmB,SAAS,KAAK,SAAS;AAAA,aACzC,GAAG;AACX,UAAI,aAAaC,YAAAA,aAAa;AACtB,eAAA;AAAA,MAAA;AAEF,YAAA;AAAA,IAAA;AAAA,EACP;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnValueResolver.js","sources":["../../../../../packages/engine-content-api/src/input-validation/ColumnValueResolver.ts"],"sourcesContent":["import { NoDataError, Providers, resolveColumnValue } from '@contember/schema-utils'\nimport { Model, Value } from '@contember/schema'\n\nexport class ColumnValueResolver {\n\tconstructor(private readonly providers: Providers) {}\n\n\tgetDefaultValidationValue(context: Model.ColumnContext & { input: Value.FieldValue | undefined }): Value.AtomicValue | undefined {\n\t\tif (context.column.name === context.entity.primary) {\n\t\t\treturn '00000000-0000-0000-0000-000000000000'\n\t\t}\n\t\ttry {\n\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t} catch (e) {\n\t\t\tif (e instanceof NoDataError) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,WAAsB;AAAtB,SAAA,YAAA;AAAA,EAAuB;AAAA,EAEpD,0BAA0B,SAAuG;AAChI,QAAI,QAAQ,OAAO,SAAS,QAAQ,OAAO,SAAS;AAC5C,aAAA;AAAA,IACR;AACI,QAAA;AACI,aAAA,mBAAmB,SAAS,KAAK,SAAS;AAAA,aACzC,GAAG;AACX,UAAI,aAAa,aAAa;AACtB,eAAA;AAAA,MACR;AACM,YAAA;AAAA,IACP;AAAA,EACD;AACD;"}
1
+ {"version":3,"file":"ColumnValueResolver.js","sources":["../../../../../packages/engine-content-api/src/input-validation/ColumnValueResolver.ts"],"sourcesContent":["import { NoDataError, Providers, resolveColumnValue } from '@contember/schema-utils'\nimport { Model, Value } from '@contember/schema'\n\nexport class ColumnValueResolver {\n\tconstructor(private readonly providers: Providers) {}\n\n\tgetDefaultValidationValue(context: Model.ColumnContext & { input: Value.FieldValue | undefined }): Value.AtomicValue | undefined {\n\t\tif (context.column.name === context.entity.primary) {\n\t\t\treturn '00000000-0000-0000-0000-000000000000'\n\t\t}\n\t\ttry {\n\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t} catch (e) {\n\t\t\tif (e instanceof NoDataError) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAGO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,WAAsB;AAAtB,SAAA,YAAA;AAAA,EAAA;AAAA,EAE7B,0BAA0B,SAAuG;AAChI,QAAI,QAAQ,OAAO,SAAS,QAAQ,OAAO,SAAS;AAC5C,aAAA;AAAA,IAAA;AAEJ,QAAA;AACI,aAAA,mBAAmB,SAAS,KAAK,SAAS;AAAA,aACzC,GAAG;AACX,UAAI,aAAa,aAAa;AACtB,eAAA;AAAA,MAAA;AAEF,YAAA;AAAA,IAAA;AAAA,EACP;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityRulesResolver.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/EntityRulesResolver.ts"],"sourcesContent":["import { filterObject, mapObject } from '../utils'\nimport { Model, Validation } from '@contember/schema'\nimport { acceptEveryFieldVisitor, acceptFieldVisitor } from '@contember/schema-utils'\nimport { InputValidation } from '@contember/schema-definition'\nimport { DependencyCollector } from './dependencies'\nimport { NotSupportedError } from './exceptions'\n\nexport class EntityRulesResolver {\n\tconstructor(private readonly validationSchema: Validation.Schema, private readonly model: Model.Schema) {}\n\n\tpublic getSimpleRules(entityName: string): Validation.EntityRules {\n\t\treturn mapObject(this.getEntityRules(entityName), (rules, field) => {\n\t\t\tacceptFieldVisitor(this.model, entityName, field, {\n\t\t\t\tvisitColumn: () => null,\n\t\t\t\tvisitHasOne: () => null,\n\t\t\t\tvisitHasMany: () => {\n\t\t\t\t\tthrow new NotSupportedError('Rules on has-many relations are currently not supported.')\n\t\t\t\t},\n\t\t\t})\n\t\t\tfor (const rule of rules) {\n\t\t\t\tconst dependencies = DependencyCollector.collect(rule.validator)\n\t\t\t\tfor (const dep of Object.keys(dependencies)) {\n\t\t\t\t\tconst isRelation = acceptFieldVisitor(this.model, entityName, dep, {\n\t\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\t\tvisitRelation: () => true,\n\t\t\t\t\t})\n\t\t\t\t\tif (isRelation) {\n\t\t\t\t\t\tthrow new NotSupportedError('Rules depending on relations are currently not supported.')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn rules\n\t\t})\n\t}\n\n\tpublic getEntityRules(entityName: string): Validation.EntityRules {\n\t\tconst definedRules = this.validationSchema[entityName] || {}\n\t\tconst fieldsNotNullFlag = acceptEveryFieldVisitor(this.model, entityName, new RequiredFieldsVisitor())\n\t\tconst notNullFields = Object.keys(filterObject(fieldsNotNullFlag, (field, val) => val))\n\t\treturn notNullFields.reduce(\n\t\t\t(entityRules, field) => ({\n\t\t\t\t...entityRules,\n\t\t\t\t[field]: [\n\t\t\t\t\t...(entityRules[field] || []),\n\t\t\t\t\t{ validator: InputValidation.rules.defined(), message: { text: 'Field is required' } },\n\t\t\t\t],\n\t\t\t}),\n\t\t\tdefinedRules,\n\t\t)\n\t}\n}\n\nclass RequiredFieldsVisitor implements Model.RelationByTypeVisitor<boolean>, Model.ColumnVisitor<boolean> {\n\tvisitColumn({ column }: Model.ColumnContext): boolean {\n\t\treturn !column.nullable && typeof column.default === 'undefined' && !column.sequence\n\t}\n\n\tvisitManyHasManyInverse(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasManyOwning(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasOne({ relation }: Model.ManyHasOneContext): boolean {\n\t\treturn !relation.nullable\n\t}\n\n\tvisitOneHasMany(): boolean {\n\t\treturn false\n\t}\n\n\tvisitOneHasOneInverse({ targetEntity, relation }: Model.OneHasOneInverseContext): boolean {\n\t\treturn !relation.nullable && !targetEntity.view\n\t}\n\n\tvisitOneHasOneOwning({ relation }: Model.OneHasOneOwningContext): boolean {\n\t\treturn !relation.nullable\n\t}\n}\n"],"names":["mapObject","acceptFieldVisitor","NotSupportedError","DependencyCollector","acceptEveryFieldVisitor","filterObject","InputValidation"],"mappings":";;;;;;;AAOO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,kBAAsD,OAAqB;AAA3E,SAAA,mBAAA;AAAsD,SAAA,QAAA;AAAA,EAAsB;AAAA,EAElG,eAAe,YAA4C;AACjE,WAAOA,OAAAA,UAAU,KAAK,eAAe,UAAU,GAAG,CAAC,OAAO,UAAU;AAChDC,kBAAAA,mBAAA,KAAK,OAAO,YAAY,OAAO;AAAA,QACjD,aAAa,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,cAAc,MAAM;AACb,gBAAA,IAAIC,WAAAA,kBAAkB,0DAA0D;AAAA,QACvF;AAAA,MAAA,CACA;AACD,iBAAW,QAAQ,OAAO;AACzB,cAAM,eAAeC,oBAAA,oBAAoB,QAAQ,KAAK,SAAS;AAC/D,mBAAW,OAAO,OAAO,KAAK,YAAY,GAAG;AAC5C,gBAAM,aAAaF,YAAAA,mBAAmB,KAAK,OAAO,YAAY,KAAK;AAAA,YAClE,aAAa,MAAM;AAAA,YACnB,eAAe,MAAM;AAAA,UAAA,CACrB;AACD,cAAI,YAAY;AACT,kBAAA,IAAIC,WAAAA,kBAAkB,2DAA2D;AAAA,UACxF;AAAA,QACD;AAAA,MACD;AACO,aAAA;AAAA,IAAA,CACP;AAAA,EACF;AAAA,EAEO,eAAe,YAA4C;AACjE,UAAM,eAAe,KAAK,iBAAiB,UAAU,KAAK,CAAA;AAC1D,UAAM,oBAAoBE,YAAAA,wBAAwB,KAAK,OAAO,YAAY,IAAI,uBAAuB;AAC/F,UAAA,gBAAgB,OAAO,KAAKC,OAAA,aAAa,mBAAmB,CAAC,OAAO,QAAQ,GAAG,CAAC;AACtF,WAAO,cAAc;AAAA,MACpB,CAAC,aAAa,WAAW;AAAA,QACxB,GAAG;AAAA,QACH,CAAC,KAAK,GAAG;AAAA,UACR,GAAI,YAAY,KAAK,KAAK,CAAC;AAAA,UAC3B,EAAE,WAAWC,iBAAA,gBAAgB,MAAM,WAAW,SAAS,EAAE,MAAM,sBAAsB;AAAA,QACtF;AAAA,MAAA;AAAA,MAED;AAAA,IAAA;AAAA,EAEF;AACD;AAEA,MAAM,sBAAoG;AAAA,EACzG,YAAY,EAAE,UAAwC;AAC9C,WAAA,CAAC,OAAO,YAAY,OAAO,OAAO,YAAY,eAAe,CAAC,OAAO;AAAA,EAC7E;AAAA,EAEA,0BAAmC;AAC3B,WAAA;AAAA,EACR;AAAA,EAEA,yBAAkC;AAC1B,WAAA;AAAA,EACR;AAAA,EAEA,gBAAgB,EAAE,YAA8C;AAC/D,WAAO,CAAC,SAAS;AAAA,EAClB;AAAA,EAEA,kBAA2B;AACnB,WAAA;AAAA,EACR;AAAA,EAEA,sBAAsB,EAAE,cAAc,YAAoD;AACzF,WAAO,CAAC,SAAS,YAAY,CAAC,aAAa;AAAA,EAC5C;AAAA,EAEA,qBAAqB,EAAE,YAAmD;AACzE,WAAO,CAAC,SAAS;AAAA,EAClB;AACD;;"}
1
+ {"version":3,"file":"EntityRulesResolver.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/EntityRulesResolver.ts"],"sourcesContent":["import { filterObject, mapObject } from '../utils'\nimport { Model, Validation } from '@contember/schema'\nimport { acceptEveryFieldVisitor, acceptFieldVisitor } from '@contember/schema-utils'\nimport { InputValidation } from '@contember/schema-definition'\nimport { DependencyCollector } from './dependencies'\nimport { NotSupportedError } from './exceptions'\n\nexport class EntityRulesResolver {\n\tconstructor(private readonly validationSchema: Validation.Schema, private readonly model: Model.Schema) {}\n\n\tpublic getSimpleRules(entityName: string): Validation.EntityRules {\n\t\treturn mapObject(this.getEntityRules(entityName), (rules, field) => {\n\t\t\tacceptFieldVisitor(this.model, entityName, field, {\n\t\t\t\tvisitColumn: () => null,\n\t\t\t\tvisitHasOne: () => null,\n\t\t\t\tvisitHasMany: () => {\n\t\t\t\t\tthrow new NotSupportedError('Rules on has-many relations are currently not supported.')\n\t\t\t\t},\n\t\t\t})\n\t\t\tfor (const rule of rules) {\n\t\t\t\tconst dependencies = DependencyCollector.collect(rule.validator)\n\t\t\t\tfor (const dep of Object.keys(dependencies)) {\n\t\t\t\t\tconst isRelation = acceptFieldVisitor(this.model, entityName, dep, {\n\t\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\t\tvisitRelation: () => true,\n\t\t\t\t\t})\n\t\t\t\t\tif (isRelation) {\n\t\t\t\t\t\tthrow new NotSupportedError('Rules depending on relations are currently not supported.')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn rules\n\t\t})\n\t}\n\n\tpublic getEntityRules(entityName: string): Validation.EntityRules {\n\t\tconst definedRules = this.validationSchema[entityName] || {}\n\t\tconst fieldsNotNullFlag = acceptEveryFieldVisitor(this.model, entityName, new RequiredFieldsVisitor())\n\t\tconst notNullFields = Object.keys(filterObject(fieldsNotNullFlag, (field, val) => val))\n\t\treturn notNullFields.reduce(\n\t\t\t(entityRules, field) => ({\n\t\t\t\t...entityRules,\n\t\t\t\t[field]: [\n\t\t\t\t\t...(entityRules[field] || []),\n\t\t\t\t\t{ validator: InputValidation.rules.defined(), message: { text: 'Field is required' } },\n\t\t\t\t],\n\t\t\t}),\n\t\t\tdefinedRules,\n\t\t)\n\t}\n}\n\nclass RequiredFieldsVisitor implements Model.RelationByTypeVisitor<boolean>, Model.ColumnVisitor<boolean> {\n\tvisitColumn({ column }: Model.ColumnContext): boolean {\n\t\treturn !column.nullable && typeof column.default === 'undefined' && !column.sequence\n\t}\n\n\tvisitManyHasManyInverse(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasManyOwning(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasOne({ relation }: Model.ManyHasOneContext): boolean {\n\t\treturn !relation.nullable\n\t}\n\n\tvisitOneHasMany(): boolean {\n\t\treturn false\n\t}\n\n\tvisitOneHasOneInverse({ targetEntity, relation }: Model.OneHasOneInverseContext): boolean {\n\t\treturn !relation.nullable && !targetEntity.view\n\t}\n\n\tvisitOneHasOneOwning({ relation }: Model.OneHasOneOwningContext): boolean {\n\t\treturn !relation.nullable\n\t}\n}\n"],"names":["mapObject","acceptFieldVisitor","NotSupportedError","DependencyCollector","acceptEveryFieldVisitor","filterObject","InputValidation"],"mappings":";;;;;;;AAOO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,kBAAsD,OAAqB;AAA3E,SAAA,mBAAA;AAAsD,SAAA,QAAA;AAAA,EAAA;AAAA,EAE5E,eAAe,YAA4C;AACjE,WAAOA,OAAAA,UAAU,KAAK,eAAe,UAAU,GAAG,CAAC,OAAO,UAAU;AAChDC,kBAAAA,mBAAA,KAAK,OAAO,YAAY,OAAO;AAAA,QACjD,aAAa,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,cAAc,MAAM;AACb,gBAAA,IAAIC,6BAAkB,0DAA0D;AAAA,QAAA;AAAA,MACvF,CACA;AACD,iBAAW,QAAQ,OAAO;AACzB,cAAM,eAAeC,oBAAA,oBAAoB,QAAQ,KAAK,SAAS;AAC/D,mBAAW,OAAO,OAAO,KAAK,YAAY,GAAG;AAC5C,gBAAM,aAAaF,YAAAA,mBAAmB,KAAK,OAAO,YAAY,KAAK;AAAA,YAClE,aAAa,MAAM;AAAA,YACnB,eAAe,MAAM;AAAA,UAAA,CACrB;AACD,cAAI,YAAY;AACT,kBAAA,IAAIC,6BAAkB,2DAA2D;AAAA,UAAA;AAAA,QACxF;AAAA,MACD;AAEM,aAAA;AAAA,IAAA,CACP;AAAA,EAAA;AAAA,EAGK,eAAe,YAA4C;AACjE,UAAM,eAAe,KAAK,iBAAiB,UAAU,KAAK,CAAC;AAC3D,UAAM,oBAAoBE,YAAAA,wBAAwB,KAAK,OAAO,YAAY,IAAI,uBAAuB;AAC/F,UAAA,gBAAgB,OAAO,KAAKC,OAAA,aAAa,mBAAmB,CAAC,OAAO,QAAQ,GAAG,CAAC;AACtF,WAAO,cAAc;AAAA,MACpB,CAAC,aAAa,WAAW;AAAA,QACxB,GAAG;AAAA,QACH,CAAC,KAAK,GAAG;AAAA,UACR,GAAI,YAAY,KAAK,KAAK,CAAC;AAAA,UAC3B,EAAE,WAAWC,iBAAA,gBAAgB,MAAM,WAAW,SAAS,EAAE,MAAM,oBAAsB,EAAA;AAAA,QAAA;AAAA,MACtF;AAAA,MAED;AAAA,IACD;AAAA,EAAA;AAEF;AAEA,MAAM,sBAAoG;AAAA,EACzG,YAAY,EAAE,UAAwC;AAC9C,WAAA,CAAC,OAAO,YAAY,OAAO,OAAO,YAAY,eAAe,CAAC,OAAO;AAAA,EAAA;AAAA,EAG7E,0BAAmC;AAC3B,WAAA;AAAA,EAAA;AAAA,EAGR,yBAAkC;AAC1B,WAAA;AAAA,EAAA;AAAA,EAGR,gBAAgB,EAAE,YAA8C;AAC/D,WAAO,CAAC,SAAS;AAAA,EAAA;AAAA,EAGlB,kBAA2B;AACnB,WAAA;AAAA,EAAA;AAAA,EAGR,sBAAsB,EAAE,cAAc,YAAoD;AACzF,WAAO,CAAC,SAAS,YAAY,CAAC,aAAa;AAAA,EAAA;AAAA,EAG5C,qBAAqB,EAAE,YAAmD;AACzE,WAAO,CAAC,SAAS;AAAA,EAAA;AAEnB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityRulesResolver.js","sources":["../../../../../packages/engine-content-api/src/input-validation/EntityRulesResolver.ts"],"sourcesContent":["import { filterObject, mapObject } from '../utils'\nimport { Model, Validation } from '@contember/schema'\nimport { acceptEveryFieldVisitor, acceptFieldVisitor } from '@contember/schema-utils'\nimport { InputValidation } from '@contember/schema-definition'\nimport { DependencyCollector } from './dependencies'\nimport { NotSupportedError } from './exceptions'\n\nexport class EntityRulesResolver {\n\tconstructor(private readonly validationSchema: Validation.Schema, private readonly model: Model.Schema) {}\n\n\tpublic getSimpleRules(entityName: string): Validation.EntityRules {\n\t\treturn mapObject(this.getEntityRules(entityName), (rules, field) => {\n\t\t\tacceptFieldVisitor(this.model, entityName, field, {\n\t\t\t\tvisitColumn: () => null,\n\t\t\t\tvisitHasOne: () => null,\n\t\t\t\tvisitHasMany: () => {\n\t\t\t\t\tthrow new NotSupportedError('Rules on has-many relations are currently not supported.')\n\t\t\t\t},\n\t\t\t})\n\t\t\tfor (const rule of rules) {\n\t\t\t\tconst dependencies = DependencyCollector.collect(rule.validator)\n\t\t\t\tfor (const dep of Object.keys(dependencies)) {\n\t\t\t\t\tconst isRelation = acceptFieldVisitor(this.model, entityName, dep, {\n\t\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\t\tvisitRelation: () => true,\n\t\t\t\t\t})\n\t\t\t\t\tif (isRelation) {\n\t\t\t\t\t\tthrow new NotSupportedError('Rules depending on relations are currently not supported.')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn rules\n\t\t})\n\t}\n\n\tpublic getEntityRules(entityName: string): Validation.EntityRules {\n\t\tconst definedRules = this.validationSchema[entityName] || {}\n\t\tconst fieldsNotNullFlag = acceptEveryFieldVisitor(this.model, entityName, new RequiredFieldsVisitor())\n\t\tconst notNullFields = Object.keys(filterObject(fieldsNotNullFlag, (field, val) => val))\n\t\treturn notNullFields.reduce(\n\t\t\t(entityRules, field) => ({\n\t\t\t\t...entityRules,\n\t\t\t\t[field]: [\n\t\t\t\t\t...(entityRules[field] || []),\n\t\t\t\t\t{ validator: InputValidation.rules.defined(), message: { text: 'Field is required' } },\n\t\t\t\t],\n\t\t\t}),\n\t\t\tdefinedRules,\n\t\t)\n\t}\n}\n\nclass RequiredFieldsVisitor implements Model.RelationByTypeVisitor<boolean>, Model.ColumnVisitor<boolean> {\n\tvisitColumn({ column }: Model.ColumnContext): boolean {\n\t\treturn !column.nullable && typeof column.default === 'undefined' && !column.sequence\n\t}\n\n\tvisitManyHasManyInverse(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasManyOwning(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasOne({ relation }: Model.ManyHasOneContext): boolean {\n\t\treturn !relation.nullable\n\t}\n\n\tvisitOneHasMany(): boolean {\n\t\treturn false\n\t}\n\n\tvisitOneHasOneInverse({ targetEntity, relation }: Model.OneHasOneInverseContext): boolean {\n\t\treturn !relation.nullable && !targetEntity.view\n\t}\n\n\tvisitOneHasOneOwning({ relation }: Model.OneHasOneOwningContext): boolean {\n\t\treturn !relation.nullable\n\t}\n}\n"],"names":[],"mappings":";;;;;AAOO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,kBAAsD,OAAqB;AAA3E,SAAA,mBAAA;AAAsD,SAAA,QAAA;AAAA,EAAsB;AAAA,EAElG,eAAe,YAA4C;AACjE,WAAO,UAAU,KAAK,eAAe,UAAU,GAAG,CAAC,OAAO,UAAU;AAChD,yBAAA,KAAK,OAAO,YAAY,OAAO;AAAA,QACjD,aAAa,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,cAAc,MAAM;AACb,gBAAA,IAAI,kBAAkB,0DAA0D;AAAA,QACvF;AAAA,MAAA,CACA;AACD,iBAAW,QAAQ,OAAO;AACzB,cAAM,eAAe,oBAAoB,QAAQ,KAAK,SAAS;AAC/D,mBAAW,OAAO,OAAO,KAAK,YAAY,GAAG;AAC5C,gBAAM,aAAa,mBAAmB,KAAK,OAAO,YAAY,KAAK;AAAA,YAClE,aAAa,MAAM;AAAA,YACnB,eAAe,MAAM;AAAA,UAAA,CACrB;AACD,cAAI,YAAY;AACT,kBAAA,IAAI,kBAAkB,2DAA2D;AAAA,UACxF;AAAA,QACD;AAAA,MACD;AACO,aAAA;AAAA,IAAA,CACP;AAAA,EACF;AAAA,EAEO,eAAe,YAA4C;AACjE,UAAM,eAAe,KAAK,iBAAiB,UAAU,KAAK,CAAA;AAC1D,UAAM,oBAAoB,wBAAwB,KAAK,OAAO,YAAY,IAAI,uBAAuB;AAC/F,UAAA,gBAAgB,OAAO,KAAK,aAAa,mBAAmB,CAAC,OAAO,QAAQ,GAAG,CAAC;AACtF,WAAO,cAAc;AAAA,MACpB,CAAC,aAAa,WAAW;AAAA,QACxB,GAAG;AAAA,QACH,CAAC,KAAK,GAAG;AAAA,UACR,GAAI,YAAY,KAAK,KAAK,CAAC;AAAA,UAC3B,EAAE,WAAW,gBAAgB,MAAM,WAAW,SAAS,EAAE,MAAM,sBAAsB;AAAA,QACtF;AAAA,MAAA;AAAA,MAED;AAAA,IAAA;AAAA,EAEF;AACD;AAEA,MAAM,sBAAoG;AAAA,EACzG,YAAY,EAAE,UAAwC;AAC9C,WAAA,CAAC,OAAO,YAAY,OAAO,OAAO,YAAY,eAAe,CAAC,OAAO;AAAA,EAC7E;AAAA,EAEA,0BAAmC;AAC3B,WAAA;AAAA,EACR;AAAA,EAEA,yBAAkC;AAC1B,WAAA;AAAA,EACR;AAAA,EAEA,gBAAgB,EAAE,YAA8C;AAC/D,WAAO,CAAC,SAAS;AAAA,EAClB;AAAA,EAEA,kBAA2B;AACnB,WAAA;AAAA,EACR;AAAA,EAEA,sBAAsB,EAAE,cAAc,YAAoD;AACzF,WAAO,CAAC,SAAS,YAAY,CAAC,aAAa;AAAA,EAC5C;AAAA,EAEA,qBAAqB,EAAE,YAAmD;AACzE,WAAO,CAAC,SAAS;AAAA,EAClB;AACD;"}
1
+ {"version":3,"file":"EntityRulesResolver.js","sources":["../../../../../packages/engine-content-api/src/input-validation/EntityRulesResolver.ts"],"sourcesContent":["import { filterObject, mapObject } from '../utils'\nimport { Model, Validation } from '@contember/schema'\nimport { acceptEveryFieldVisitor, acceptFieldVisitor } from '@contember/schema-utils'\nimport { InputValidation } from '@contember/schema-definition'\nimport { DependencyCollector } from './dependencies'\nimport { NotSupportedError } from './exceptions'\n\nexport class EntityRulesResolver {\n\tconstructor(private readonly validationSchema: Validation.Schema, private readonly model: Model.Schema) {}\n\n\tpublic getSimpleRules(entityName: string): Validation.EntityRules {\n\t\treturn mapObject(this.getEntityRules(entityName), (rules, field) => {\n\t\t\tacceptFieldVisitor(this.model, entityName, field, {\n\t\t\t\tvisitColumn: () => null,\n\t\t\t\tvisitHasOne: () => null,\n\t\t\t\tvisitHasMany: () => {\n\t\t\t\t\tthrow new NotSupportedError('Rules on has-many relations are currently not supported.')\n\t\t\t\t},\n\t\t\t})\n\t\t\tfor (const rule of rules) {\n\t\t\t\tconst dependencies = DependencyCollector.collect(rule.validator)\n\t\t\t\tfor (const dep of Object.keys(dependencies)) {\n\t\t\t\t\tconst isRelation = acceptFieldVisitor(this.model, entityName, dep, {\n\t\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\t\tvisitRelation: () => true,\n\t\t\t\t\t})\n\t\t\t\t\tif (isRelation) {\n\t\t\t\t\t\tthrow new NotSupportedError('Rules depending on relations are currently not supported.')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn rules\n\t\t})\n\t}\n\n\tpublic getEntityRules(entityName: string): Validation.EntityRules {\n\t\tconst definedRules = this.validationSchema[entityName] || {}\n\t\tconst fieldsNotNullFlag = acceptEveryFieldVisitor(this.model, entityName, new RequiredFieldsVisitor())\n\t\tconst notNullFields = Object.keys(filterObject(fieldsNotNullFlag, (field, val) => val))\n\t\treturn notNullFields.reduce(\n\t\t\t(entityRules, field) => ({\n\t\t\t\t...entityRules,\n\t\t\t\t[field]: [\n\t\t\t\t\t...(entityRules[field] || []),\n\t\t\t\t\t{ validator: InputValidation.rules.defined(), message: { text: 'Field is required' } },\n\t\t\t\t],\n\t\t\t}),\n\t\t\tdefinedRules,\n\t\t)\n\t}\n}\n\nclass RequiredFieldsVisitor implements Model.RelationByTypeVisitor<boolean>, Model.ColumnVisitor<boolean> {\n\tvisitColumn({ column }: Model.ColumnContext): boolean {\n\t\treturn !column.nullable && typeof column.default === 'undefined' && !column.sequence\n\t}\n\n\tvisitManyHasManyInverse(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasManyOwning(): boolean {\n\t\treturn false\n\t}\n\n\tvisitManyHasOne({ relation }: Model.ManyHasOneContext): boolean {\n\t\treturn !relation.nullable\n\t}\n\n\tvisitOneHasMany(): boolean {\n\t\treturn false\n\t}\n\n\tvisitOneHasOneInverse({ targetEntity, relation }: Model.OneHasOneInverseContext): boolean {\n\t\treturn !relation.nullable && !targetEntity.view\n\t}\n\n\tvisitOneHasOneOwning({ relation }: Model.OneHasOneOwningContext): boolean {\n\t\treturn !relation.nullable\n\t}\n}\n"],"names":[],"mappings":";;;;;AAOO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,kBAAsD,OAAqB;AAA3E,SAAA,mBAAA;AAAsD,SAAA,QAAA;AAAA,EAAA;AAAA,EAE5E,eAAe,YAA4C;AACjE,WAAO,UAAU,KAAK,eAAe,UAAU,GAAG,CAAC,OAAO,UAAU;AAChD,yBAAA,KAAK,OAAO,YAAY,OAAO;AAAA,QACjD,aAAa,MAAM;AAAA,QACnB,aAAa,MAAM;AAAA,QACnB,cAAc,MAAM;AACb,gBAAA,IAAI,kBAAkB,0DAA0D;AAAA,QAAA;AAAA,MACvF,CACA;AACD,iBAAW,QAAQ,OAAO;AACzB,cAAM,eAAe,oBAAoB,QAAQ,KAAK,SAAS;AAC/D,mBAAW,OAAO,OAAO,KAAK,YAAY,GAAG;AAC5C,gBAAM,aAAa,mBAAmB,KAAK,OAAO,YAAY,KAAK;AAAA,YAClE,aAAa,MAAM;AAAA,YACnB,eAAe,MAAM;AAAA,UAAA,CACrB;AACD,cAAI,YAAY;AACT,kBAAA,IAAI,kBAAkB,2DAA2D;AAAA,UAAA;AAAA,QACxF;AAAA,MACD;AAEM,aAAA;AAAA,IAAA,CACP;AAAA,EAAA;AAAA,EAGK,eAAe,YAA4C;AACjE,UAAM,eAAe,KAAK,iBAAiB,UAAU,KAAK,CAAC;AAC3D,UAAM,oBAAoB,wBAAwB,KAAK,OAAO,YAAY,IAAI,uBAAuB;AAC/F,UAAA,gBAAgB,OAAO,KAAK,aAAa,mBAAmB,CAAC,OAAO,QAAQ,GAAG,CAAC;AACtF,WAAO,cAAc;AAAA,MACpB,CAAC,aAAa,WAAW;AAAA,QACxB,GAAG;AAAA,QACH,CAAC,KAAK,GAAG;AAAA,UACR,GAAI,YAAY,KAAK,KAAK,CAAC;AAAA,UAC3B,EAAE,WAAW,gBAAgB,MAAM,WAAW,SAAS,EAAE,MAAM,oBAAsB,EAAA;AAAA,QAAA;AAAA,MACtF;AAAA,MAED;AAAA,IACD;AAAA,EAAA;AAEF;AAEA,MAAM,sBAAoG;AAAA,EACzG,YAAY,EAAE,UAAwC;AAC9C,WAAA,CAAC,OAAO,YAAY,OAAO,OAAO,YAAY,eAAe,CAAC,OAAO;AAAA,EAAA;AAAA,EAG7E,0BAAmC;AAC3B,WAAA;AAAA,EAAA;AAAA,EAGR,yBAAkC;AAC1B,WAAA;AAAA,EAAA;AAAA,EAGR,gBAAgB,EAAE,YAA8C;AAC/D,WAAO,CAAC,SAAS;AAAA,EAAA;AAAA,EAGlB,kBAA2B;AACnB,WAAA;AAAA,EAAA;AAAA,EAGR,sBAAsB,EAAE,cAAc,YAAoD;AACzF,WAAO,CAAC,SAAS,YAAY,CAAC,aAAa;AAAA,EAAA;AAAA,EAG5C,qBAAqB,EAAE,YAAmD;AACzE,WAAO,CAAC,SAAS;AAAA,EAAA;AAEnB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryAstFactory.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/QueryAstFactory.ts"],"sourcesContent":["import { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { Dependencies } from './dependencies'\nimport { FieldNode, ObjectNode } from '../inputProcessing'\n\nexport class QueryAstFactory {\n\tconstructor(private readonly model: Model.Schema) {}\n\n\tcreate(entityName: string, dependencies: Dependencies): ObjectNode {\n\t\tconst entity = getEntity(this.model, entityName)\n\t\tlet node = new ObjectNode(entityName, entityName, [], {}, {}, [])\n\t\tfor (const [fieldName, deps] of Object.entries(dependencies)) {\n\t\t\tnode = node.withField(this.createField(entity, fieldName, deps))\n\t\t}\n\t\treturn node\n\t}\n\n\tprivate createField(entity: Model.Entity, fieldName: string, dependency: Dependencies): ObjectNode | FieldNode {\n\t\tlet [targetEntity, newField] = acceptFieldVisitor<[Model.Entity | null, FieldNode | ObjectNode]>(\n\t\t\tthis.model,\n\t\t\tentity,\n\t\t\tfieldName,\n\t\t\t{\n\t\t\t\tvisitColumn: () => [null, new FieldNode(fieldName, fieldName, {})],\n\t\t\t\tvisitRelation: ({ targetEntity }) => [\n\t\t\t\t\ttargetEntity,\n\t\t\t\t\tnew ObjectNode(fieldName, fieldName, [], {}, {}, []).withField(\n\t\t\t\t\t\tnew FieldNode(targetEntity.primary, targetEntity.primary, {}),\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t},\n\t\t)\n\t\tconst dependencyEntries = Object.entries(dependency)\n\t\tif (dependencyEntries.length > 0) {\n\t\t\tif (!(newField instanceof ObjectNode) || !targetEntity) {\n\t\t\t\tthrow new Error(`Invalid path expression, trying to fetch field on non-relation`)\n\t\t\t}\n\t\t\tfor (const [fieldName, deps] of dependencyEntries) {\n\t\t\t\tnewField = (newField as ObjectNode).withField(this.createField(targetEntity, fieldName, deps))\n\t\t\t}\n\t\t}\n\t\treturn newField\n\t}\n}\n"],"names":["getEntity","ObjectNode","acceptFieldVisitor","FieldNode","targetEntity","fieldName"],"mappings":";;;;;;AAKO,MAAM,gBAAgB;AAAA,EAC5B,YAA6B,OAAqB;AAArB,SAAA,QAAA;AAAA,EAAsB;AAAA,EAEnD,OAAO,YAAoB,cAAwC;AAClE,UAAM,SAASA,YAAA,UAAU,KAAK,OAAO,UAAU;AAC/C,QAAI,OAAO,IAAIC,WAAW,WAAA,YAAY,YAAY,CAAA,GAAI,CAAI,GAAA,IAAI,CAAA,CAAE;AAChE,eAAW,CAAC,WAAW,IAAI,KAAK,OAAO,QAAQ,YAAY,GAAG;AAC7D,aAAO,KAAK,UAAU,KAAK,YAAY,QAAQ,WAAW,IAAI,CAAC;AAAA,IAChE;AACO,WAAA;AAAA,EACR;AAAA,EAEQ,YAAY,QAAsB,WAAmB,YAAkD;AAC1G,QAAA,CAAC,cAAc,QAAQ,IAAIC,YAAA;AAAA,MAC9B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,QACC,aAAa,MAAM,CAAC,MAAM,IAAIC,oBAAU,WAAW,WAAW,CAAA,CAAE,CAAC;AAAA,QACjE,eAAe,CAAC,EAAE,cAAAC,oBAAmB;AAAA,UACpCA;AAAAA,UACA,IAAIH,WAAA,WAAW,WAAW,WAAW,CAAA,GAAI,CAAA,GAAI,CAAC,GAAG,CAAE,CAAA,EAAE;AAAA,YACpD,IAAIE,UAAAA,UAAUC,cAAa,SAASA,cAAa,SAAS,CAAA,CAAE;AAAA,UAC7D;AAAA,QACD;AAAA,MACD;AAAA,IAAA;AAEK,UAAA,oBAAoB,OAAO,QAAQ,UAAU;AAC/C,QAAA,kBAAkB,SAAS,GAAG;AACjC,UAAI,EAAE,oBAAoBH,0BAAe,CAAC,cAAc;AACjD,cAAA,IAAI,MAAM,gEAAgE;AAAA,MACjF;AACA,iBAAW,CAACI,YAAW,IAAI,KAAK,mBAAmB;AAClD,mBAAY,SAAwB,UAAU,KAAK,YAAY,cAAcA,YAAW,IAAI,CAAC;AAAA,MAC9F;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"QueryAstFactory.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/QueryAstFactory.ts"],"sourcesContent":["import { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { Dependencies } from './dependencies'\nimport { FieldNode, ObjectNode } from '../inputProcessing'\n\nexport class QueryAstFactory {\n\tconstructor(private readonly model: Model.Schema) {}\n\n\tcreate(entityName: string, dependencies: Dependencies): ObjectNode {\n\t\tconst entity = getEntity(this.model, entityName)\n\t\tlet node = new ObjectNode(entityName, entityName, [], {}, {}, [])\n\t\tfor (const [fieldName, deps] of Object.entries(dependencies)) {\n\t\t\tnode = node.withField(this.createField(entity, fieldName, deps))\n\t\t}\n\t\treturn node\n\t}\n\n\tprivate createField(entity: Model.Entity, fieldName: string, dependency: Dependencies): ObjectNode | FieldNode {\n\t\tlet [targetEntity, newField] = acceptFieldVisitor<[Model.Entity | null, FieldNode | ObjectNode]>(\n\t\t\tthis.model,\n\t\t\tentity,\n\t\t\tfieldName,\n\t\t\t{\n\t\t\t\tvisitColumn: () => [null, new FieldNode(fieldName, fieldName, {})],\n\t\t\t\tvisitRelation: ({ targetEntity }) => [\n\t\t\t\t\ttargetEntity,\n\t\t\t\t\tnew ObjectNode(fieldName, fieldName, [], {}, {}, []).withField(\n\t\t\t\t\t\tnew FieldNode(targetEntity.primary, targetEntity.primary, {}),\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t},\n\t\t)\n\t\tconst dependencyEntries = Object.entries(dependency)\n\t\tif (dependencyEntries.length > 0) {\n\t\t\tif (!(newField instanceof ObjectNode) || !targetEntity) {\n\t\t\t\tthrow new Error(`Invalid path expression, trying to fetch field on non-relation`)\n\t\t\t}\n\t\t\tfor (const [fieldName, deps] of dependencyEntries) {\n\t\t\t\tnewField = (newField as ObjectNode).withField(this.createField(targetEntity, fieldName, deps))\n\t\t\t}\n\t\t}\n\t\treturn newField\n\t}\n}\n"],"names":["getEntity","ObjectNode","acceptFieldVisitor","FieldNode","targetEntity","fieldName"],"mappings":";;;;;;AAKO,MAAM,gBAAgB;AAAA,EAC5B,YAA6B,OAAqB;AAArB,SAAA,QAAA;AAAA,EAAA;AAAA,EAE7B,OAAO,YAAoB,cAAwC;AAClE,UAAM,SAASA,YAAA,UAAU,KAAK,OAAO,UAAU;AAC/C,QAAI,OAAO,IAAIC,WAAAA,WAAW,YAAY,YAAY,IAAI,CAAA,GAAI,CAAI,GAAA,EAAE;AAChE,eAAW,CAAC,WAAW,IAAI,KAAK,OAAO,QAAQ,YAAY,GAAG;AAC7D,aAAO,KAAK,UAAU,KAAK,YAAY,QAAQ,WAAW,IAAI,CAAC;AAAA,IAAA;AAEzD,WAAA;AAAA,EAAA;AAAA,EAGA,YAAY,QAAsB,WAAmB,YAAkD;AAC1G,QAAA,CAAC,cAAc,QAAQ,IAAIC,YAAA;AAAA,MAC9B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,QACC,aAAa,MAAM,CAAC,MAAM,IAAIC,oBAAU,WAAW,WAAW,CAAA,CAAE,CAAC;AAAA,QACjE,eAAe,CAAC,EAAE,cAAAC,oBAAmB;AAAA,UACpCA;AAAAA,UACA,IAAIH,WAAA,WAAW,WAAW,WAAW,CAAA,GAAI,CAAA,GAAI,CAAC,GAAG,CAAE,CAAA,EAAE;AAAA,YACpD,IAAIE,UAAUC,UAAAA,cAAa,SAASA,cAAa,SAAS,CAAE,CAAA;AAAA,UAAA;AAAA,QAC7D;AAAA,MACD;AAAA,IAEF;AACM,UAAA,oBAAoB,OAAO,QAAQ,UAAU;AAC/C,QAAA,kBAAkB,SAAS,GAAG;AACjC,UAAI,EAAE,oBAAoBH,0BAAe,CAAC,cAAc;AACjD,cAAA,IAAI,MAAM,gEAAgE;AAAA,MAAA;AAEjF,iBAAW,CAACI,YAAW,IAAI,KAAK,mBAAmB;AAClD,mBAAY,SAAwB,UAAU,KAAK,YAAY,cAAcA,YAAW,IAAI,CAAC;AAAA,MAAA;AAAA,IAC9F;AAEM,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryAstFactory.js","sources":["../../../../../packages/engine-content-api/src/input-validation/QueryAstFactory.ts"],"sourcesContent":["import { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { Dependencies } from './dependencies'\nimport { FieldNode, ObjectNode } from '../inputProcessing'\n\nexport class QueryAstFactory {\n\tconstructor(private readonly model: Model.Schema) {}\n\n\tcreate(entityName: string, dependencies: Dependencies): ObjectNode {\n\t\tconst entity = getEntity(this.model, entityName)\n\t\tlet node = new ObjectNode(entityName, entityName, [], {}, {}, [])\n\t\tfor (const [fieldName, deps] of Object.entries(dependencies)) {\n\t\t\tnode = node.withField(this.createField(entity, fieldName, deps))\n\t\t}\n\t\treturn node\n\t}\n\n\tprivate createField(entity: Model.Entity, fieldName: string, dependency: Dependencies): ObjectNode | FieldNode {\n\t\tlet [targetEntity, newField] = acceptFieldVisitor<[Model.Entity | null, FieldNode | ObjectNode]>(\n\t\t\tthis.model,\n\t\t\tentity,\n\t\t\tfieldName,\n\t\t\t{\n\t\t\t\tvisitColumn: () => [null, new FieldNode(fieldName, fieldName, {})],\n\t\t\t\tvisitRelation: ({ targetEntity }) => [\n\t\t\t\t\ttargetEntity,\n\t\t\t\t\tnew ObjectNode(fieldName, fieldName, [], {}, {}, []).withField(\n\t\t\t\t\t\tnew FieldNode(targetEntity.primary, targetEntity.primary, {}),\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t},\n\t\t)\n\t\tconst dependencyEntries = Object.entries(dependency)\n\t\tif (dependencyEntries.length > 0) {\n\t\t\tif (!(newField instanceof ObjectNode) || !targetEntity) {\n\t\t\t\tthrow new Error(`Invalid path expression, trying to fetch field on non-relation`)\n\t\t\t}\n\t\t\tfor (const [fieldName, deps] of dependencyEntries) {\n\t\t\t\tnewField = (newField as ObjectNode).withField(this.createField(targetEntity, fieldName, deps))\n\t\t\t}\n\t\t}\n\t\treturn newField\n\t}\n}\n"],"names":["targetEntity","fieldName"],"mappings":";;;;AAKO,MAAM,gBAAgB;AAAA,EAC5B,YAA6B,OAAqB;AAArB,SAAA,QAAA;AAAA,EAAsB;AAAA,EAEnD,OAAO,YAAoB,cAAwC;AAClE,UAAM,SAAS,UAAU,KAAK,OAAO,UAAU;AAC/C,QAAI,OAAO,IAAI,WAAW,YAAY,YAAY,CAAA,GAAI,CAAI,GAAA,IAAI,CAAA,CAAE;AAChE,eAAW,CAAC,WAAW,IAAI,KAAK,OAAO,QAAQ,YAAY,GAAG;AAC7D,aAAO,KAAK,UAAU,KAAK,YAAY,QAAQ,WAAW,IAAI,CAAC;AAAA,IAChE;AACO,WAAA;AAAA,EACR;AAAA,EAEQ,YAAY,QAAsB,WAAmB,YAAkD;AAC1G,QAAA,CAAC,cAAc,QAAQ,IAAI;AAAA,MAC9B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,QACC,aAAa,MAAM,CAAC,MAAM,IAAI,UAAU,WAAW,WAAW,CAAA,CAAE,CAAC;AAAA,QACjE,eAAe,CAAC,EAAE,cAAAA,oBAAmB;AAAA,UACpCA;AAAAA,UACA,IAAI,WAAW,WAAW,WAAW,CAAA,GAAI,CAAA,GAAI,CAAC,GAAG,CAAE,CAAA,EAAE;AAAA,YACpD,IAAI,UAAUA,cAAa,SAASA,cAAa,SAAS,CAAA,CAAE;AAAA,UAC7D;AAAA,QACD;AAAA,MACD;AAAA,IAAA;AAEK,UAAA,oBAAoB,OAAO,QAAQ,UAAU;AAC/C,QAAA,kBAAkB,SAAS,GAAG;AACjC,UAAI,EAAE,oBAAoB,eAAe,CAAC,cAAc;AACjD,cAAA,IAAI,MAAM,gEAAgE;AAAA,MACjF;AACA,iBAAW,CAACC,YAAW,IAAI,KAAK,mBAAmB;AAClD,mBAAY,SAAwB,UAAU,KAAK,YAAY,cAAcA,YAAW,IAAI,CAAC;AAAA,MAC9F;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"QueryAstFactory.js","sources":["../../../../../packages/engine-content-api/src/input-validation/QueryAstFactory.ts"],"sourcesContent":["import { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { Model } from '@contember/schema'\nimport { Dependencies } from './dependencies'\nimport { FieldNode, ObjectNode } from '../inputProcessing'\n\nexport class QueryAstFactory {\n\tconstructor(private readonly model: Model.Schema) {}\n\n\tcreate(entityName: string, dependencies: Dependencies): ObjectNode {\n\t\tconst entity = getEntity(this.model, entityName)\n\t\tlet node = new ObjectNode(entityName, entityName, [], {}, {}, [])\n\t\tfor (const [fieldName, deps] of Object.entries(dependencies)) {\n\t\t\tnode = node.withField(this.createField(entity, fieldName, deps))\n\t\t}\n\t\treturn node\n\t}\n\n\tprivate createField(entity: Model.Entity, fieldName: string, dependency: Dependencies): ObjectNode | FieldNode {\n\t\tlet [targetEntity, newField] = acceptFieldVisitor<[Model.Entity | null, FieldNode | ObjectNode]>(\n\t\t\tthis.model,\n\t\t\tentity,\n\t\t\tfieldName,\n\t\t\t{\n\t\t\t\tvisitColumn: () => [null, new FieldNode(fieldName, fieldName, {})],\n\t\t\t\tvisitRelation: ({ targetEntity }) => [\n\t\t\t\t\ttargetEntity,\n\t\t\t\t\tnew ObjectNode(fieldName, fieldName, [], {}, {}, []).withField(\n\t\t\t\t\t\tnew FieldNode(targetEntity.primary, targetEntity.primary, {}),\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t},\n\t\t)\n\t\tconst dependencyEntries = Object.entries(dependency)\n\t\tif (dependencyEntries.length > 0) {\n\t\t\tif (!(newField instanceof ObjectNode) || !targetEntity) {\n\t\t\t\tthrow new Error(`Invalid path expression, trying to fetch field on non-relation`)\n\t\t\t}\n\t\t\tfor (const [fieldName, deps] of dependencyEntries) {\n\t\t\t\tnewField = (newField as ObjectNode).withField(this.createField(targetEntity, fieldName, deps))\n\t\t\t}\n\t\t}\n\t\treturn newField\n\t}\n}\n"],"names":["targetEntity","fieldName"],"mappings":";;;;AAKO,MAAM,gBAAgB;AAAA,EAC5B,YAA6B,OAAqB;AAArB,SAAA,QAAA;AAAA,EAAA;AAAA,EAE7B,OAAO,YAAoB,cAAwC;AAClE,UAAM,SAAS,UAAU,KAAK,OAAO,UAAU;AAC/C,QAAI,OAAO,IAAI,WAAW,YAAY,YAAY,IAAI,CAAA,GAAI,CAAI,GAAA,EAAE;AAChE,eAAW,CAAC,WAAW,IAAI,KAAK,OAAO,QAAQ,YAAY,GAAG;AAC7D,aAAO,KAAK,UAAU,KAAK,YAAY,QAAQ,WAAW,IAAI,CAAC;AAAA,IAAA;AAEzD,WAAA;AAAA,EAAA;AAAA,EAGA,YAAY,QAAsB,WAAmB,YAAkD;AAC1G,QAAA,CAAC,cAAc,QAAQ,IAAI;AAAA,MAC9B,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,QACC,aAAa,MAAM,CAAC,MAAM,IAAI,UAAU,WAAW,WAAW,CAAA,CAAE,CAAC;AAAA,QACjE,eAAe,CAAC,EAAE,cAAAA,oBAAmB;AAAA,UACpCA;AAAAA,UACA,IAAI,WAAW,WAAW,WAAW,CAAA,GAAI,CAAA,GAAI,CAAC,GAAG,CAAE,CAAA,EAAE;AAAA,YACpD,IAAI,UAAUA,cAAa,SAASA,cAAa,SAAS,CAAE,CAAA;AAAA,UAAA;AAAA,QAC7D;AAAA,MACD;AAAA,IAEF;AACM,UAAA,oBAAoB,OAAO,QAAQ,UAAU;AAC/C,QAAA,kBAAkB,SAAS,GAAG;AACjC,UAAI,EAAE,oBAAoB,eAAe,CAAC,cAAc;AACjD,cAAA,IAAI,MAAM,gEAAgE;AAAA,MAAA;AAEjF,iBAAW,CAACC,YAAW,IAAI,KAAK,mBAAmB;AAClD,mBAAY,SAAwB,UAAU,KAAK,YAAY,cAAcA,YAAW,IAAI,CAAC;AAAA,MAAA;AAAA,IAC9F;AAEM,WAAA;AAAA,EAAA;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationContext.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationContext.ts"],"sourcesContent":["import { Validation, Value } from '@contember/schema'\nimport { assertNever } from '../utils'\n\nnamespace ValidationContext {\n\texport type AnyContext = NodeContext | ValueContext | NodeListContext | UndefinedNodeContext\n\n\tinterface ValidationContext<Type extends NodeContextType> {\n\t\troot: NodeContext\n\t\ttype: Type\n\t}\n\n\texport type NodeType = Value.Object\n\texport type ValueType = Value.FieldValue | undefined\n\n\texport enum NodeContextType {\n\t\tvalue = 'value',\n\t\tnode = 'node',\n\t\tnodeList = 'nodeList',\n\t\tundefined = 'undefined',\n\t}\n\n\texport interface ContextWithNode {\n\t\tnode: NodeType\n\t}\n\n\texport interface NodeContext extends ValidationContext<NodeContextType.node>, ContextWithNode {}\n\n\texport interface UndefinedNodeContext extends ValidationContext<NodeContextType.undefined> {}\n\n\texport interface ValueContext extends ValidationContext<NodeContextType.value>, ContextWithNode {\n\t\tvalue: ValueType\n\t}\n\n\texport interface NodeListContext extends ValidationContext<NodeContextType.nodeList> {\n\t\tnodes: (NodeContext | ValueContext)[]\n\t}\n\n\texport const ensureNodeListContext = (context: AnyContext): NodeListContext => {\n\t\treturn context.type === NodeContextType.nodeList\n\t\t\t? context\n\t\t\t: createNodeListContext(context.root, context.type === NodeContextType.undefined ? [] : [context])\n\t}\n\n\texport const createNodeContext = (root: NodeContext, node: NodeType): NodeContext => ({\n\t\troot,\n\t\tnode,\n\t\ttype: NodeContextType.node,\n\t})\n\texport const createUndefinedNodeContext = (root: NodeContext): UndefinedNodeContext => ({\n\t\troot,\n\t\ttype: NodeContextType.undefined,\n\t})\n\texport const createValueContext = (root: NodeContext, node: NodeType, value: ValueType): ValueContext => ({\n\t\troot,\n\t\tnode,\n\t\tvalue,\n\t\ttype: NodeContextType.value,\n\t})\n\texport const createNodeListContext = (root: NodeContext, nodes: (NodeContext | ValueContext)[]): NodeListContext => ({\n\t\troot,\n\t\tnodes,\n\t\ttype: NodeContextType.nodeList,\n\t})\n\texport const createRootContext = (node: NodeType): NodeContext => {\n\t\tconst context: any = { node }\n\t\tcontext.root = context\n\t\treturn context\n\t}\n\n\texport const createSingleNodeContext = (\n\t\tparent: NodeContext | ValueContext,\n\t\tvalue: ValueType,\n\t): NodeContext | ValueContext => {\n\t\tif (Array.isArray(value)) {\n\t\t\tthrow new Error('Nested arrays are not allowed')\n\t\t}\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\treturn createNodeContext(parent.root, value as NodeType)\n\t\t}\n\t\treturn createValueContext(parent.root, parent.node, value)\n\t}\n\n\texport const createContext = (context: AnyContext, part: string): AnyContext => {\n\t\tif (context.type === NodeContextType.nodeList) {\n\t\t\tconst emptyContext: NodeListContext = {\n\t\t\t\troot: context.root,\n\t\t\t\tnodes: [],\n\t\t\t\ttype: NodeContextType.nodeList,\n\t\t\t}\n\t\t\treturn context.nodes\n\t\t\t\t.map(it => createContext(it, part))\n\t\t\t\t.map(it => ensureNodeListContext(it))\n\t\t\t\t.reduce<NodeListContext>(\n\t\t\t\t\t(acc, context) => createNodeListContext(acc.root, [...acc.nodes, ...context.nodes]),\n\t\t\t\t\temptyContext,\n\t\t\t\t)\n\t\t}\n\t\tif (context.type === NodeContextType.undefined) {\n\t\t\treturn context\n\t\t}\n\t\tif (typeof context.node[part] === 'undefined') {\n\t\t\treturn createUndefinedNodeContext(context.root)\n\t\t}\n\t\tconst value = context.node[part]\n\t\tif (Array.isArray(value)) {\n\t\t\treturn createNodeListContext(\n\t\t\t\tcontext.root,\n\t\t\t\tvalue.map(it => createSingleNodeContext(context, it)),\n\t\t\t)\n\t\t}\n\t\treturn createSingleNodeContext(context, value)\n\t}\n\n\texport const changeContext = (context: AnyContext, path: Validation.ContextPath): AnyContext => {\n\t\treturn path.reduce<AnyContext>((result, part) => {\n\t\t\treturn createContext(result, part)\n\t\t}, context)\n\t}\n\n\texport interface ContextVisitor<R> {\n\t\tvisitNodeListContext(context: NodeListContext): R\n\t\tvisitNodeContext(context: NodeContext): R\n\t\tvisitValueContext(context: ValueContext): R\n\t\tvisitUndefinedContext(context: UndefinedNodeContext): R\n\t}\n\n\texport const acceptContextVisitor = <R>(context: AnyContext, visitor: ContextVisitor<R>): R => {\n\t\tswitch (context.type) {\n\t\t\tcase ValidationContext.NodeContextType.node:\n\t\t\t\treturn visitor.visitNodeContext(context)\n\t\t\tcase ValidationContext.NodeContextType.nodeList:\n\t\t\t\treturn visitor.visitNodeListContext(context)\n\t\t\tcase ValidationContext.NodeContextType.value:\n\t\t\t\treturn visitor.visitValueContext(context)\n\t\t\tcase ValidationContext.NodeContextType.undefined:\n\t\t\t\treturn visitor.visitUndefinedContext(context)\n\t\t\tdefault:\n\t\t\t\tassertNever(context)\n\t\t}\n\t}\n}\n\nexport { ValidationContext }\n"],"names":["ValidationContext","NodeContextType","context","assertNever"],"mappings":";;;;AAGUA,QAAA,oBAAA;AAAA,CAAV,CAAUA,uBAAV;AAWQ,GAAA,CAAKC,qBAAL;AACNA,qBAAA,OAAQ,IAAA;AACRA,qBAAA,MAAO,IAAA;AACPA,qBAAA,UAAW,IAAA;AACXA,qBAAA,WAAY,IAAA;AAAA,EAAA,GAJDD,mBAAA,oBAAAA,mBAAA,kBAAA,CAAA,EAAA;AAuBCA,qBAAA,wBAAwB,CAAC,YAAyC;AAC9E,WAAO,QAAQ,SAAS,aACrB,WAAA,GACAA,mBAAA,uBAAsB,QAAQ,MAAM,QAAQ,SAAS,cAA4B,CAAA,IAAK,CAAC,OAAO,CAAC;AAAA,EAAA;AAGtFA,qBAAA,oBAAoB,CAAC,MAAmB,UAAiC;AAAA,IACrF;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,6BAA6B,CAAC,UAA6C;AAAA,IACvF;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,qBAAqB,CAAC,MAAmB,MAAgB,WAAoC;AAAA,IACzG;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,wBAAwB,CAAC,MAAmB,WAA4D;AAAA,IACpH;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,oBAAoB,CAAC,SAAgC;AAC3D,UAAA,UAAe,EAAE;AACvB,YAAQ,OAAO;AACR,WAAA;AAAA,EAAA;AAGKA,qBAAA,0BAA0B,CACtC,QACA,UACgC;AAC5B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACnB,YAAA,IAAI,MAAM,+BAA+B;AAAA,IAChD;AACA,QAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAChD,cAAA,GAAOA,mBAAA,mBAAkB,OAAO,MAAM,KAAiB;AAAA,IACxD;AACA,YAAOA,GAAAA,mBAAA,oBAAmB,OAAO,MAAM,OAAO,MAAM,KAAK;AAAA,EAAA;AAG7CA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6B;AAC3E,QAAA,QAAQ,SAAS,YAA0B;AAC9C,YAAM,eAAgC;AAAA,QACrC,MAAM,QAAQ;AAAA,QACd,OAAO,CAAC;AAAA,QACR,MAAM;AAAA;AAAA,MAAA;AAEP,aAAO,QAAQ,MACb,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,eAAc,IAAI,IAAI,CAAC,EACjC,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,uBAAsB,EAAE,CAAC,EACnC;AAAA,QACA,CAAC,KAAKE,iBAAYF,mBAAA,uBAAsB,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,GAAGE,SAAQ,KAAK,CAAC;AAAA,QAClF;AAAA,MAAA;AAAA,IAEH;AACI,QAAA,QAAQ,SAAS,aAA2B;AACxC,aAAA;AAAA,IACR;AACA,QAAI,OAAO,QAAQ,KAAK,IAAI,MAAM,aAAa;AACvCF,cAAAA,GAAAA,mBAAA,4BAA2B,QAAQ,IAAI;AAAA,IAC/C;AACM,UAAA,QAAQ,QAAQ,KAAK,IAAI;AAC3B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACzB,cAAA,GAAOA,mBAAA;AAAA,QACN,QAAQ;AAAA,QACR,MAAM,IAAI,CAAA,QAAA,GAAMA,mBAAA,yBAAwB,SAAS,EAAE,CAAC;AAAA,MAAA;AAAA,IAEtD;AACOA,YAAAA,GAAAA,mBAAA,yBAAwB,SAAS,KAAK;AAAA,EAAA;AAGjCA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6C;AAC/F,WAAO,KAAK,OAAmB,CAAC,QAAQ,SAAS;AACzCA,cAAAA,GAAAA,mBAAA,eAAc,QAAQ,IAAI;AAAA,OAC/B,OAAO;AAAA,EAAA;AAUEA,qBAAA,uBAAuB,CAAI,SAAqB,YAAkC;AAC9F,YAAQ,QAAQ,MAAM;AAAA,MACrB,KAAK;AACG,eAAA,QAAQ,iBAAiB,OAAO;AAAA,MACxC,KAAK;AACG,eAAA,QAAQ,qBAAqB,OAAO;AAAA,MAC5C,KAAK;AACG,eAAA,QAAQ,kBAAkB,OAAO;AAAA,MACzC,KAAK;AACG,eAAA,QAAQ,sBAAsB,OAAO;AAAA,MAC7C;AACCG,oBAAAA,YAAmB;AAAA,IACrB;AAAA,EAAA;AACD,GAxISH,QAAA,sBAAAA,4BAAA,CAAA,EAAA;"}
1
+ {"version":3,"file":"ValidationContext.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationContext.ts"],"sourcesContent":["import { Validation, Value } from '@contember/schema'\nimport { assertNever } from '../utils'\n\nnamespace ValidationContext {\n\texport type AnyContext = NodeContext | ValueContext | NodeListContext | UndefinedNodeContext\n\n\tinterface ValidationContext<Type extends NodeContextType> {\n\t\troot: NodeContext\n\t\ttype: Type\n\t}\n\n\texport type NodeType = Value.Object\n\texport type ValueType = Value.FieldValue | undefined\n\n\texport enum NodeContextType {\n\t\tvalue = 'value',\n\t\tnode = 'node',\n\t\tnodeList = 'nodeList',\n\t\tundefined = 'undefined',\n\t}\n\n\texport interface ContextWithNode {\n\t\tnode: NodeType\n\t}\n\n\texport interface NodeContext extends ValidationContext<NodeContextType.node>, ContextWithNode {}\n\n\texport interface UndefinedNodeContext extends ValidationContext<NodeContextType.undefined> {}\n\n\texport interface ValueContext extends ValidationContext<NodeContextType.value>, ContextWithNode {\n\t\tvalue: ValueType\n\t}\n\n\texport interface NodeListContext extends ValidationContext<NodeContextType.nodeList> {\n\t\tnodes: (NodeContext | ValueContext)[]\n\t}\n\n\texport const ensureNodeListContext = (context: AnyContext): NodeListContext => {\n\t\treturn context.type === NodeContextType.nodeList\n\t\t\t? context\n\t\t\t: createNodeListContext(context.root, context.type === NodeContextType.undefined ? [] : [context])\n\t}\n\n\texport const createNodeContext = (root: NodeContext, node: NodeType): NodeContext => ({\n\t\troot,\n\t\tnode,\n\t\ttype: NodeContextType.node,\n\t})\n\texport const createUndefinedNodeContext = (root: NodeContext): UndefinedNodeContext => ({\n\t\troot,\n\t\ttype: NodeContextType.undefined,\n\t})\n\texport const createValueContext = (root: NodeContext, node: NodeType, value: ValueType): ValueContext => ({\n\t\troot,\n\t\tnode,\n\t\tvalue,\n\t\ttype: NodeContextType.value,\n\t})\n\texport const createNodeListContext = (root: NodeContext, nodes: (NodeContext | ValueContext)[]): NodeListContext => ({\n\t\troot,\n\t\tnodes,\n\t\ttype: NodeContextType.nodeList,\n\t})\n\texport const createRootContext = (node: NodeType): NodeContext => {\n\t\tconst context: any = { node }\n\t\tcontext.root = context\n\t\treturn context\n\t}\n\n\texport const createSingleNodeContext = (\n\t\tparent: NodeContext | ValueContext,\n\t\tvalue: ValueType,\n\t): NodeContext | ValueContext => {\n\t\tif (Array.isArray(value)) {\n\t\t\tthrow new Error('Nested arrays are not allowed')\n\t\t}\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\treturn createNodeContext(parent.root, value as NodeType)\n\t\t}\n\t\treturn createValueContext(parent.root, parent.node, value)\n\t}\n\n\texport const createContext = (context: AnyContext, part: string): AnyContext => {\n\t\tif (context.type === NodeContextType.nodeList) {\n\t\t\tconst emptyContext: NodeListContext = {\n\t\t\t\troot: context.root,\n\t\t\t\tnodes: [],\n\t\t\t\ttype: NodeContextType.nodeList,\n\t\t\t}\n\t\t\treturn context.nodes\n\t\t\t\t.map(it => createContext(it, part))\n\t\t\t\t.map(it => ensureNodeListContext(it))\n\t\t\t\t.reduce<NodeListContext>(\n\t\t\t\t\t(acc, context) => createNodeListContext(acc.root, [...acc.nodes, ...context.nodes]),\n\t\t\t\t\temptyContext,\n\t\t\t\t)\n\t\t}\n\t\tif (context.type === NodeContextType.undefined) {\n\t\t\treturn context\n\t\t}\n\t\tif (typeof context.node[part] === 'undefined') {\n\t\t\treturn createUndefinedNodeContext(context.root)\n\t\t}\n\t\tconst value = context.node[part]\n\t\tif (Array.isArray(value)) {\n\t\t\treturn createNodeListContext(\n\t\t\t\tcontext.root,\n\t\t\t\tvalue.map(it => createSingleNodeContext(context, it)),\n\t\t\t)\n\t\t}\n\t\treturn createSingleNodeContext(context, value)\n\t}\n\n\texport const changeContext = (context: AnyContext, path: Validation.ContextPath): AnyContext => {\n\t\treturn path.reduce<AnyContext>((result, part) => {\n\t\t\treturn createContext(result, part)\n\t\t}, context)\n\t}\n\n\texport interface ContextVisitor<R> {\n\t\tvisitNodeListContext(context: NodeListContext): R\n\t\tvisitNodeContext(context: NodeContext): R\n\t\tvisitValueContext(context: ValueContext): R\n\t\tvisitUndefinedContext(context: UndefinedNodeContext): R\n\t}\n\n\texport const acceptContextVisitor = <R>(context: AnyContext, visitor: ContextVisitor<R>): R => {\n\t\tswitch (context.type) {\n\t\t\tcase ValidationContext.NodeContextType.node:\n\t\t\t\treturn visitor.visitNodeContext(context)\n\t\t\tcase ValidationContext.NodeContextType.nodeList:\n\t\t\t\treturn visitor.visitNodeListContext(context)\n\t\t\tcase ValidationContext.NodeContextType.value:\n\t\t\t\treturn visitor.visitValueContext(context)\n\t\t\tcase ValidationContext.NodeContextType.undefined:\n\t\t\t\treturn visitor.visitUndefinedContext(context)\n\t\t\tdefault:\n\t\t\t\tassertNever(context)\n\t\t}\n\t}\n}\n\nexport { ValidationContext }\n"],"names":["ValidationContext","NodeContextType","context","assertNever"],"mappings":";;;;AAGUA,QAAAA,oBAAAA;AAAAA,CAAV,CAAUA,uBAAV;AAWQ,GAAA,CAAKC,qBAAL;AACNA,qBAAA,OAAQ,IAAA;AACRA,qBAAA,MAAO,IAAA;AACPA,qBAAA,UAAW,IAAA;AACXA,qBAAA,WAAY,IAAA;AAAA,EAJD,GAAAD,mBAAA,oBAAAA,mBAAA,kBAAA,CAAA,EAAA;AAuBCA,qBAAA,wBAAwB,CAAC,YAAyC;AAC9E,WAAO,QAAQ,SAAS,aACrB,WAAA,GACAA,mBAAA,uBAAsB,QAAQ,MAAM,QAAQ,SAAS,cAA4B,CAAK,IAAA,CAAC,OAAO,CAAC;AAAA,EACnG;AAEaA,qBAAA,oBAAoB,CAAC,MAAmB,UAAiC;AAAA,IACrF;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,6BAA6B,CAAC,UAA6C;AAAA,IACvF;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,qBAAqB,CAAC,MAAmB,MAAgB,WAAoC;AAAA,IACzG;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,wBAAwB,CAAC,MAAmB,WAA4D;AAAA,IACpH;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,oBAAoB,CAAC,SAAgC;AAC3D,UAAA,UAAe,EAAE,KAAK;AAC5B,YAAQ,OAAO;AACR,WAAA;AAAA,EACR;AAEaA,qBAAA,0BAA0B,CACtC,QACA,UACgC;AAC5B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACnB,YAAA,IAAI,MAAM,+BAA+B;AAAA,IAAA;AAEhD,QAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAChD,cAAOA,GAAAA,mBAAA,mBAAkB,OAAO,MAAM,KAAiB;AAAA,IAAA;AAExD,YAAA,GAAOA,mBAAA,oBAAmB,OAAO,MAAM,OAAO,MAAM,KAAK;AAAA,EAC1D;AAEaA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6B;AAC3E,QAAA,QAAQ,SAAS,YAA0B;AAC9C,YAAM,eAAgC;AAAA,QACrC,MAAM,QAAQ;AAAA,QACd,OAAO,CAAC;AAAA,QACR,MAAM;AAAA;AAAA,MACP;AACA,aAAO,QAAQ,MACb,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,eAAc,IAAI,IAAI,CAAC,EACjC,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,uBAAsB,EAAE,CAAC,EACnC;AAAA,QACA,CAAC,KAAKE,iBAAYF,mBAAA,uBAAsB,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,GAAGE,SAAQ,KAAK,CAAC;AAAA,QAClF;AAAA,MACD;AAAA,IAAA;AAEE,QAAA,QAAQ,SAAS,aAA2B;AACxC,aAAA;AAAA,IAAA;AAER,QAAI,OAAO,QAAQ,KAAK,IAAI,MAAM,aAAa;AACvCF,iBAAAA,mBAAA,4BAA2B,QAAQ,IAAI;AAAA,IAAA;AAEzC,UAAA,QAAQ,QAAQ,KAAK,IAAI;AAC3B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACzB,cAAA,GAAOA,mBAAA;AAAA,QACN,QAAQ;AAAA,QACR,MAAM,IAAI,CAAA,QAAMA,GAAAA,mBAAA,yBAAwB,SAAS,EAAE,CAAC;AAAA,MACrD;AAAA,IAAA;AAEMA,eAAAA,mBAAA,yBAAwB,SAAS,KAAK;AAAA,EAC9C;AAEaA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6C;AAC/F,WAAO,KAAK,OAAmB,CAAC,QAAQ,SAAS;AACzCA,iBAAAA,mBAAA,eAAc,QAAQ,IAAI;AAAA,OAC/B,OAAO;AAAA,EACX;AASaA,qBAAA,uBAAuB,CAAI,SAAqB,YAAkC;AAC9F,YAAQ,QAAQ,MAAM;AAAA,MACrB,KAAK;AACG,eAAA,QAAQ,iBAAiB,OAAO;AAAA,MACxC,KAAK;AACG,eAAA,QAAQ,qBAAqB,OAAO;AAAA,MAC5C,KAAK;AACG,eAAA,QAAQ,kBAAkB,OAAO;AAAA,MACzC,KAAK;AACG,eAAA,QAAQ,sBAAsB,OAAO;AAAA,MAC7C;AACCG,oBAAAA,YAAmB;AAAA,IAAA;AAAA,EAEtB;AAAA,GAxISH,QAAA,sBAAAA,4BAAA,CAAA,EAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationContext.js","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationContext.ts"],"sourcesContent":["import { Validation, Value } from '@contember/schema'\nimport { assertNever } from '../utils'\n\nnamespace ValidationContext {\n\texport type AnyContext = NodeContext | ValueContext | NodeListContext | UndefinedNodeContext\n\n\tinterface ValidationContext<Type extends NodeContextType> {\n\t\troot: NodeContext\n\t\ttype: Type\n\t}\n\n\texport type NodeType = Value.Object\n\texport type ValueType = Value.FieldValue | undefined\n\n\texport enum NodeContextType {\n\t\tvalue = 'value',\n\t\tnode = 'node',\n\t\tnodeList = 'nodeList',\n\t\tundefined = 'undefined',\n\t}\n\n\texport interface ContextWithNode {\n\t\tnode: NodeType\n\t}\n\n\texport interface NodeContext extends ValidationContext<NodeContextType.node>, ContextWithNode {}\n\n\texport interface UndefinedNodeContext extends ValidationContext<NodeContextType.undefined> {}\n\n\texport interface ValueContext extends ValidationContext<NodeContextType.value>, ContextWithNode {\n\t\tvalue: ValueType\n\t}\n\n\texport interface NodeListContext extends ValidationContext<NodeContextType.nodeList> {\n\t\tnodes: (NodeContext | ValueContext)[]\n\t}\n\n\texport const ensureNodeListContext = (context: AnyContext): NodeListContext => {\n\t\treturn context.type === NodeContextType.nodeList\n\t\t\t? context\n\t\t\t: createNodeListContext(context.root, context.type === NodeContextType.undefined ? [] : [context])\n\t}\n\n\texport const createNodeContext = (root: NodeContext, node: NodeType): NodeContext => ({\n\t\troot,\n\t\tnode,\n\t\ttype: NodeContextType.node,\n\t})\n\texport const createUndefinedNodeContext = (root: NodeContext): UndefinedNodeContext => ({\n\t\troot,\n\t\ttype: NodeContextType.undefined,\n\t})\n\texport const createValueContext = (root: NodeContext, node: NodeType, value: ValueType): ValueContext => ({\n\t\troot,\n\t\tnode,\n\t\tvalue,\n\t\ttype: NodeContextType.value,\n\t})\n\texport const createNodeListContext = (root: NodeContext, nodes: (NodeContext | ValueContext)[]): NodeListContext => ({\n\t\troot,\n\t\tnodes,\n\t\ttype: NodeContextType.nodeList,\n\t})\n\texport const createRootContext = (node: NodeType): NodeContext => {\n\t\tconst context: any = { node }\n\t\tcontext.root = context\n\t\treturn context\n\t}\n\n\texport const createSingleNodeContext = (\n\t\tparent: NodeContext | ValueContext,\n\t\tvalue: ValueType,\n\t): NodeContext | ValueContext => {\n\t\tif (Array.isArray(value)) {\n\t\t\tthrow new Error('Nested arrays are not allowed')\n\t\t}\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\treturn createNodeContext(parent.root, value as NodeType)\n\t\t}\n\t\treturn createValueContext(parent.root, parent.node, value)\n\t}\n\n\texport const createContext = (context: AnyContext, part: string): AnyContext => {\n\t\tif (context.type === NodeContextType.nodeList) {\n\t\t\tconst emptyContext: NodeListContext = {\n\t\t\t\troot: context.root,\n\t\t\t\tnodes: [],\n\t\t\t\ttype: NodeContextType.nodeList,\n\t\t\t}\n\t\t\treturn context.nodes\n\t\t\t\t.map(it => createContext(it, part))\n\t\t\t\t.map(it => ensureNodeListContext(it))\n\t\t\t\t.reduce<NodeListContext>(\n\t\t\t\t\t(acc, context) => createNodeListContext(acc.root, [...acc.nodes, ...context.nodes]),\n\t\t\t\t\temptyContext,\n\t\t\t\t)\n\t\t}\n\t\tif (context.type === NodeContextType.undefined) {\n\t\t\treturn context\n\t\t}\n\t\tif (typeof context.node[part] === 'undefined') {\n\t\t\treturn createUndefinedNodeContext(context.root)\n\t\t}\n\t\tconst value = context.node[part]\n\t\tif (Array.isArray(value)) {\n\t\t\treturn createNodeListContext(\n\t\t\t\tcontext.root,\n\t\t\t\tvalue.map(it => createSingleNodeContext(context, it)),\n\t\t\t)\n\t\t}\n\t\treturn createSingleNodeContext(context, value)\n\t}\n\n\texport const changeContext = (context: AnyContext, path: Validation.ContextPath): AnyContext => {\n\t\treturn path.reduce<AnyContext>((result, part) => {\n\t\t\treturn createContext(result, part)\n\t\t}, context)\n\t}\n\n\texport interface ContextVisitor<R> {\n\t\tvisitNodeListContext(context: NodeListContext): R\n\t\tvisitNodeContext(context: NodeContext): R\n\t\tvisitValueContext(context: ValueContext): R\n\t\tvisitUndefinedContext(context: UndefinedNodeContext): R\n\t}\n\n\texport const acceptContextVisitor = <R>(context: AnyContext, visitor: ContextVisitor<R>): R => {\n\t\tswitch (context.type) {\n\t\t\tcase ValidationContext.NodeContextType.node:\n\t\t\t\treturn visitor.visitNodeContext(context)\n\t\t\tcase ValidationContext.NodeContextType.nodeList:\n\t\t\t\treturn visitor.visitNodeListContext(context)\n\t\t\tcase ValidationContext.NodeContextType.value:\n\t\t\t\treturn visitor.visitValueContext(context)\n\t\t\tcase ValidationContext.NodeContextType.undefined:\n\t\t\t\treturn visitor.visitUndefinedContext(context)\n\t\t\tdefault:\n\t\t\t\tassertNever(context)\n\t\t}\n\t}\n}\n\nexport { ValidationContext }\n"],"names":["ValidationContext","NodeContextType","context"],"mappings":";;AAGU,IAAA;AAAA,CAAV,CAAUA,uBAAV;AAWQ,GAAA,CAAKC,qBAAL;AACNA,qBAAA,OAAQ,IAAA;AACRA,qBAAA,MAAO,IAAA;AACPA,qBAAA,UAAW,IAAA;AACXA,qBAAA,WAAY,IAAA;AAAA,EAAA,GAJDD,mBAAA,oBAAAA,mBAAA,kBAAA,CAAA,EAAA;AAuBCA,qBAAA,wBAAwB,CAAC,YAAyC;AAC9E,WAAO,QAAQ,SAAS,aACrB,WAAA,GACAA,mBAAA,uBAAsB,QAAQ,MAAM,QAAQ,SAAS,cAA4B,CAAA,IAAK,CAAC,OAAO,CAAC;AAAA,EAAA;AAGtFA,qBAAA,oBAAoB,CAAC,MAAmB,UAAiC;AAAA,IACrF;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,6BAA6B,CAAC,UAA6C;AAAA,IACvF;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,qBAAqB,CAAC,MAAmB,MAAgB,WAAoC;AAAA,IACzG;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,wBAAwB,CAAC,MAAmB,WAA4D;AAAA,IACpH;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,oBAAoB,CAAC,SAAgC;AAC3D,UAAA,UAAe,EAAE;AACvB,YAAQ,OAAO;AACR,WAAA;AAAA,EAAA;AAGKA,qBAAA,0BAA0B,CACtC,QACA,UACgC;AAC5B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACnB,YAAA,IAAI,MAAM,+BAA+B;AAAA,IAChD;AACA,QAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAChD,cAAA,GAAOA,mBAAA,mBAAkB,OAAO,MAAM,KAAiB;AAAA,IACxD;AACA,YAAOA,GAAAA,mBAAA,oBAAmB,OAAO,MAAM,OAAO,MAAM,KAAK;AAAA,EAAA;AAG7CA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6B;AAC3E,QAAA,QAAQ,SAAS,YAA0B;AAC9C,YAAM,eAAgC;AAAA,QACrC,MAAM,QAAQ;AAAA,QACd,OAAO,CAAC;AAAA,QACR,MAAM;AAAA;AAAA,MAAA;AAEP,aAAO,QAAQ,MACb,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,eAAc,IAAI,IAAI,CAAC,EACjC,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,uBAAsB,EAAE,CAAC,EACnC;AAAA,QACA,CAAC,KAAKE,iBAAYF,mBAAA,uBAAsB,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,GAAGE,SAAQ,KAAK,CAAC;AAAA,QAClF;AAAA,MAAA;AAAA,IAEH;AACI,QAAA,QAAQ,SAAS,aAA2B;AACxC,aAAA;AAAA,IACR;AACA,QAAI,OAAO,QAAQ,KAAK,IAAI,MAAM,aAAa;AACvCF,cAAAA,GAAAA,mBAAA,4BAA2B,QAAQ,IAAI;AAAA,IAC/C;AACM,UAAA,QAAQ,QAAQ,KAAK,IAAI;AAC3B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACzB,cAAA,GAAOA,mBAAA;AAAA,QACN,QAAQ;AAAA,QACR,MAAM,IAAI,CAAA,QAAA,GAAMA,mBAAA,yBAAwB,SAAS,EAAE,CAAC;AAAA,MAAA;AAAA,IAEtD;AACOA,YAAAA,GAAAA,mBAAA,yBAAwB,SAAS,KAAK;AAAA,EAAA;AAGjCA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6C;AAC/F,WAAO,KAAK,OAAmB,CAAC,QAAQ,SAAS;AACzCA,cAAAA,GAAAA,mBAAA,eAAc,QAAQ,IAAI;AAAA,OAC/B,OAAO;AAAA,EAAA;AAUEA,qBAAA,uBAAuB,CAAI,SAAqB,YAAkC;AAC9F,YAAQ,QAAQ,MAAM;AAAA,MACrB,KAAK;AACG,eAAA,QAAQ,iBAAiB,OAAO;AAAA,MACxC,KAAK;AACG,eAAA,QAAQ,qBAAqB,OAAO;AAAA,MAC5C,KAAK;AACG,eAAA,QAAQ,kBAAkB,OAAO;AAAA,MACzC,KAAK;AACG,eAAA,QAAQ,sBAAsB,OAAO;AAAA,MAC7C;AACC,oBAAmB;AAAA,IACrB;AAAA,EAAA;AACD,GAxIS,sBAAA,oBAAA,CAAA,EAAA;"}
1
+ {"version":3,"file":"ValidationContext.js","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationContext.ts"],"sourcesContent":["import { Validation, Value } from '@contember/schema'\nimport { assertNever } from '../utils'\n\nnamespace ValidationContext {\n\texport type AnyContext = NodeContext | ValueContext | NodeListContext | UndefinedNodeContext\n\n\tinterface ValidationContext<Type extends NodeContextType> {\n\t\troot: NodeContext\n\t\ttype: Type\n\t}\n\n\texport type NodeType = Value.Object\n\texport type ValueType = Value.FieldValue | undefined\n\n\texport enum NodeContextType {\n\t\tvalue = 'value',\n\t\tnode = 'node',\n\t\tnodeList = 'nodeList',\n\t\tundefined = 'undefined',\n\t}\n\n\texport interface ContextWithNode {\n\t\tnode: NodeType\n\t}\n\n\texport interface NodeContext extends ValidationContext<NodeContextType.node>, ContextWithNode {}\n\n\texport interface UndefinedNodeContext extends ValidationContext<NodeContextType.undefined> {}\n\n\texport interface ValueContext extends ValidationContext<NodeContextType.value>, ContextWithNode {\n\t\tvalue: ValueType\n\t}\n\n\texport interface NodeListContext extends ValidationContext<NodeContextType.nodeList> {\n\t\tnodes: (NodeContext | ValueContext)[]\n\t}\n\n\texport const ensureNodeListContext = (context: AnyContext): NodeListContext => {\n\t\treturn context.type === NodeContextType.nodeList\n\t\t\t? context\n\t\t\t: createNodeListContext(context.root, context.type === NodeContextType.undefined ? [] : [context])\n\t}\n\n\texport const createNodeContext = (root: NodeContext, node: NodeType): NodeContext => ({\n\t\troot,\n\t\tnode,\n\t\ttype: NodeContextType.node,\n\t})\n\texport const createUndefinedNodeContext = (root: NodeContext): UndefinedNodeContext => ({\n\t\troot,\n\t\ttype: NodeContextType.undefined,\n\t})\n\texport const createValueContext = (root: NodeContext, node: NodeType, value: ValueType): ValueContext => ({\n\t\troot,\n\t\tnode,\n\t\tvalue,\n\t\ttype: NodeContextType.value,\n\t})\n\texport const createNodeListContext = (root: NodeContext, nodes: (NodeContext | ValueContext)[]): NodeListContext => ({\n\t\troot,\n\t\tnodes,\n\t\ttype: NodeContextType.nodeList,\n\t})\n\texport const createRootContext = (node: NodeType): NodeContext => {\n\t\tconst context: any = { node }\n\t\tcontext.root = context\n\t\treturn context\n\t}\n\n\texport const createSingleNodeContext = (\n\t\tparent: NodeContext | ValueContext,\n\t\tvalue: ValueType,\n\t): NodeContext | ValueContext => {\n\t\tif (Array.isArray(value)) {\n\t\t\tthrow new Error('Nested arrays are not allowed')\n\t\t}\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\treturn createNodeContext(parent.root, value as NodeType)\n\t\t}\n\t\treturn createValueContext(parent.root, parent.node, value)\n\t}\n\n\texport const createContext = (context: AnyContext, part: string): AnyContext => {\n\t\tif (context.type === NodeContextType.nodeList) {\n\t\t\tconst emptyContext: NodeListContext = {\n\t\t\t\troot: context.root,\n\t\t\t\tnodes: [],\n\t\t\t\ttype: NodeContextType.nodeList,\n\t\t\t}\n\t\t\treturn context.nodes\n\t\t\t\t.map(it => createContext(it, part))\n\t\t\t\t.map(it => ensureNodeListContext(it))\n\t\t\t\t.reduce<NodeListContext>(\n\t\t\t\t\t(acc, context) => createNodeListContext(acc.root, [...acc.nodes, ...context.nodes]),\n\t\t\t\t\temptyContext,\n\t\t\t\t)\n\t\t}\n\t\tif (context.type === NodeContextType.undefined) {\n\t\t\treturn context\n\t\t}\n\t\tif (typeof context.node[part] === 'undefined') {\n\t\t\treturn createUndefinedNodeContext(context.root)\n\t\t}\n\t\tconst value = context.node[part]\n\t\tif (Array.isArray(value)) {\n\t\t\treturn createNodeListContext(\n\t\t\t\tcontext.root,\n\t\t\t\tvalue.map(it => createSingleNodeContext(context, it)),\n\t\t\t)\n\t\t}\n\t\treturn createSingleNodeContext(context, value)\n\t}\n\n\texport const changeContext = (context: AnyContext, path: Validation.ContextPath): AnyContext => {\n\t\treturn path.reduce<AnyContext>((result, part) => {\n\t\t\treturn createContext(result, part)\n\t\t}, context)\n\t}\n\n\texport interface ContextVisitor<R> {\n\t\tvisitNodeListContext(context: NodeListContext): R\n\t\tvisitNodeContext(context: NodeContext): R\n\t\tvisitValueContext(context: ValueContext): R\n\t\tvisitUndefinedContext(context: UndefinedNodeContext): R\n\t}\n\n\texport const acceptContextVisitor = <R>(context: AnyContext, visitor: ContextVisitor<R>): R => {\n\t\tswitch (context.type) {\n\t\t\tcase ValidationContext.NodeContextType.node:\n\t\t\t\treturn visitor.visitNodeContext(context)\n\t\t\tcase ValidationContext.NodeContextType.nodeList:\n\t\t\t\treturn visitor.visitNodeListContext(context)\n\t\t\tcase ValidationContext.NodeContextType.value:\n\t\t\t\treturn visitor.visitValueContext(context)\n\t\t\tcase ValidationContext.NodeContextType.undefined:\n\t\t\t\treturn visitor.visitUndefinedContext(context)\n\t\t\tdefault:\n\t\t\t\tassertNever(context)\n\t\t}\n\t}\n}\n\nexport { ValidationContext }\n"],"names":["ValidationContext","NodeContextType","context"],"mappings":";;AAGU,IAAA;AAAA,CAAV,CAAUA,uBAAV;AAWQ,GAAA,CAAKC,qBAAL;AACNA,qBAAA,OAAQ,IAAA;AACRA,qBAAA,MAAO,IAAA;AACPA,qBAAA,UAAW,IAAA;AACXA,qBAAA,WAAY,IAAA;AAAA,EAJD,GAAAD,mBAAA,oBAAAA,mBAAA,kBAAA,CAAA,EAAA;AAuBCA,qBAAA,wBAAwB,CAAC,YAAyC;AAC9E,WAAO,QAAQ,SAAS,aACrB,WAAA,GACAA,mBAAA,uBAAsB,QAAQ,MAAM,QAAQ,SAAS,cAA4B,CAAK,IAAA,CAAC,OAAO,CAAC;AAAA,EACnG;AAEaA,qBAAA,oBAAoB,CAAC,MAAmB,UAAiC;AAAA,IACrF;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,6BAA6B,CAAC,UAA6C;AAAA,IACvF;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,qBAAqB,CAAC,MAAmB,MAAgB,WAAoC;AAAA,IACzG;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,wBAAwB,CAAC,MAAmB,WAA4D;AAAA,IACpH;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EAAA;AAEMA,qBAAA,oBAAoB,CAAC,SAAgC;AAC3D,UAAA,UAAe,EAAE,KAAK;AAC5B,YAAQ,OAAO;AACR,WAAA;AAAA,EACR;AAEaA,qBAAA,0BAA0B,CACtC,QACA,UACgC;AAC5B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACnB,YAAA,IAAI,MAAM,+BAA+B;AAAA,IAAA;AAEhD,QAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAChD,cAAOA,GAAAA,mBAAA,mBAAkB,OAAO,MAAM,KAAiB;AAAA,IAAA;AAExD,YAAA,GAAOA,mBAAA,oBAAmB,OAAO,MAAM,OAAO,MAAM,KAAK;AAAA,EAC1D;AAEaA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6B;AAC3E,QAAA,QAAQ,SAAS,YAA0B;AAC9C,YAAM,eAAgC;AAAA,QACrC,MAAM,QAAQ;AAAA,QACd,OAAO,CAAC;AAAA,QACR,MAAM;AAAA;AAAA,MACP;AACA,aAAO,QAAQ,MACb,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,eAAc,IAAI,IAAI,CAAC,EACjC,IAAI,CAAMA,QAAAA,GAAAA,mBAAA,uBAAsB,EAAE,CAAC,EACnC;AAAA,QACA,CAAC,KAAKE,iBAAYF,mBAAA,uBAAsB,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,GAAGE,SAAQ,KAAK,CAAC;AAAA,QAClF;AAAA,MACD;AAAA,IAAA;AAEE,QAAA,QAAQ,SAAS,aAA2B;AACxC,aAAA;AAAA,IAAA;AAER,QAAI,OAAO,QAAQ,KAAK,IAAI,MAAM,aAAa;AACvCF,iBAAAA,mBAAA,4BAA2B,QAAQ,IAAI;AAAA,IAAA;AAEzC,UAAA,QAAQ,QAAQ,KAAK,IAAI;AAC3B,QAAA,MAAM,QAAQ,KAAK,GAAG;AACzB,cAAA,GAAOA,mBAAA;AAAA,QACN,QAAQ;AAAA,QACR,MAAM,IAAI,CAAA,QAAMA,GAAAA,mBAAA,yBAAwB,SAAS,EAAE,CAAC;AAAA,MACrD;AAAA,IAAA;AAEMA,eAAAA,mBAAA,yBAAwB,SAAS,KAAK;AAAA,EAC9C;AAEaA,qBAAA,gBAAgB,CAAC,SAAqB,SAA6C;AAC/F,WAAO,KAAK,OAAmB,CAAC,QAAQ,SAAS;AACzCA,iBAAAA,mBAAA,eAAc,QAAQ,IAAI;AAAA,OAC/B,OAAO;AAAA,EACX;AASaA,qBAAA,uBAAuB,CAAI,SAAqB,YAAkC;AAC9F,YAAQ,QAAQ,MAAM;AAAA,MACrB,KAAK;AACG,eAAA,QAAQ,iBAAiB,OAAO;AAAA,MACxC,KAAK;AACG,eAAA,QAAQ,qBAAqB,OAAO;AAAA,MAC5C,KAAK;AACG,eAAA,QAAQ,kBAAkB,OAAO;AAAA,MACzC,KAAK;AACG,eAAA,QAAQ,sBAAsB,OAAO;AAAA,MAC7C;AACC,oBAAmB;AAAA,IAAA;AAAA,EAEtB;AAAA,GAxIS,sBAAA,oBAAA,CAAA,EAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationDataSelector.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationDataSelector.ts"],"sourcesContent":["import { QueryAstFactory } from './QueryAstFactory'\nimport { Mapper } from '../mapper'\nimport { Dependencies } from './dependencies'\nimport { Input, Model, Value } from '@contember/schema'\n\nexport class ValidationDataSelector {\n\tconstructor(private readonly model: Model.Schema, private readonly queryAstFactory: QueryAstFactory) {}\n\n\tpublic async getPrimaryValue(mapper: Mapper, entity: Model.Entity, where: Input.UniqueWhere) {\n\t\treturn mapper.getPrimaryValue(entity, where)\n\t}\n\n\tpublic async select(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\twhere: Input.UniqueWhere,\n\t\tdependencies: Dependencies,\n\t): Promise<Value.Object | null> {\n\t\tif (Object.keys(dependencies).length === 0) {\n\t\t\treturn {}\n\t\t}\n\t\tconst queryAst = this.queryAstFactory.create(entity.name, dependencies).withArg('by', where)\n\t\tconst node = await mapper.selectUnique(entity, queryAst, [])\n\t\tif (!node) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn node\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,uBAAuB;AAAA,EACnC,YAA6B,OAAsC,iBAAkC;AAAxE,SAAA,QAAA;AAAsC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEtG,MAAa,gBAAgB,QAAgB,QAAsB,OAA0B;AACrF,WAAA,OAAO,gBAAgB,QAAQ,KAAK;AAAA,EAC5C;AAAA,EAEA,MAAa,OACZ,QACA,QACA,OACA,cAC+B;AAC/B,QAAI,OAAO,KAAK,YAAY,EAAE,WAAW,GAAG;AAC3C,aAAO;IACR;AACM,UAAA,WAAW,KAAK,gBAAgB,OAAO,OAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,KAAK;AAC3F,UAAM,OAAO,MAAM,OAAO,aAAa,QAAQ,UAAU,CAAA,CAAE;AAC3D,QAAI,CAAC,MAAM;AACH,aAAA;AAAA,IACR;AAEO,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"ValidationDataSelector.cjs","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationDataSelector.ts"],"sourcesContent":["import { QueryAstFactory } from './QueryAstFactory'\nimport { Mapper } from '../mapper'\nimport { Dependencies } from './dependencies'\nimport { Input, Model, Value } from '@contember/schema'\n\nexport class ValidationDataSelector {\n\tconstructor(private readonly model: Model.Schema, private readonly queryAstFactory: QueryAstFactory) {}\n\n\tpublic async getPrimaryValue(mapper: Mapper, entity: Model.Entity, where: Input.UniqueWhere) {\n\t\treturn mapper.getPrimaryValue(entity, where)\n\t}\n\n\tpublic async select(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\twhere: Input.UniqueWhere,\n\t\tdependencies: Dependencies,\n\t): Promise<Value.Object | null> {\n\t\tif (Object.keys(dependencies).length === 0) {\n\t\t\treturn {}\n\t\t}\n\t\tconst queryAst = this.queryAstFactory.create(entity.name, dependencies).withArg('by', where)\n\t\tconst node = await mapper.selectUnique(entity, queryAst, [])\n\t\tif (!node) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn node\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,uBAAuB;AAAA,EACnC,YAA6B,OAAsC,iBAAkC;AAAxE,SAAA,QAAA;AAAsC,SAAA,kBAAA;AAAA,EAAA;AAAA,EAEnE,MAAa,gBAAgB,QAAgB,QAAsB,OAA0B;AACrF,WAAA,OAAO,gBAAgB,QAAQ,KAAK;AAAA,EAAA;AAAA,EAG5C,MAAa,OACZ,QACA,QACA,OACA,cAC+B;AAC/B,QAAI,OAAO,KAAK,YAAY,EAAE,WAAW,GAAG;AAC3C,aAAO,CAAC;AAAA,IAAA;AAEH,UAAA,WAAW,KAAK,gBAAgB,OAAO,OAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,KAAK;AAC3F,UAAM,OAAO,MAAM,OAAO,aAAa,QAAQ,UAAU,EAAE;AAC3D,QAAI,CAAC,MAAM;AACH,aAAA;AAAA,IAAA;AAGD,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationDataSelector.js","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationDataSelector.ts"],"sourcesContent":["import { QueryAstFactory } from './QueryAstFactory'\nimport { Mapper } from '../mapper'\nimport { Dependencies } from './dependencies'\nimport { Input, Model, Value } from '@contember/schema'\n\nexport class ValidationDataSelector {\n\tconstructor(private readonly model: Model.Schema, private readonly queryAstFactory: QueryAstFactory) {}\n\n\tpublic async getPrimaryValue(mapper: Mapper, entity: Model.Entity, where: Input.UniqueWhere) {\n\t\treturn mapper.getPrimaryValue(entity, where)\n\t}\n\n\tpublic async select(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\twhere: Input.UniqueWhere,\n\t\tdependencies: Dependencies,\n\t): Promise<Value.Object | null> {\n\t\tif (Object.keys(dependencies).length === 0) {\n\t\t\treturn {}\n\t\t}\n\t\tconst queryAst = this.queryAstFactory.create(entity.name, dependencies).withArg('by', where)\n\t\tconst node = await mapper.selectUnique(entity, queryAst, [])\n\t\tif (!node) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn node\n\t}\n}\n"],"names":[],"mappings":"AAKO,MAAM,uBAAuB;AAAA,EACnC,YAA6B,OAAsC,iBAAkC;AAAxE,SAAA,QAAA;AAAsC,SAAA,kBAAA;AAAA,EAAmC;AAAA,EAEtG,MAAa,gBAAgB,QAAgB,QAAsB,OAA0B;AACrF,WAAA,OAAO,gBAAgB,QAAQ,KAAK;AAAA,EAC5C;AAAA,EAEA,MAAa,OACZ,QACA,QACA,OACA,cAC+B;AAC/B,QAAI,OAAO,KAAK,YAAY,EAAE,WAAW,GAAG;AAC3C,aAAO;IACR;AACM,UAAA,WAAW,KAAK,gBAAgB,OAAO,OAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,KAAK;AAC3F,UAAM,OAAO,MAAM,OAAO,aAAa,QAAQ,UAAU,CAAA,CAAE;AAC3D,QAAI,CAAC,MAAM;AACH,aAAA;AAAA,IACR;AAEO,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"ValidationDataSelector.js","sources":["../../../../../packages/engine-content-api/src/input-validation/ValidationDataSelector.ts"],"sourcesContent":["import { QueryAstFactory } from './QueryAstFactory'\nimport { Mapper } from '../mapper'\nimport { Dependencies } from './dependencies'\nimport { Input, Model, Value } from '@contember/schema'\n\nexport class ValidationDataSelector {\n\tconstructor(private readonly model: Model.Schema, private readonly queryAstFactory: QueryAstFactory) {}\n\n\tpublic async getPrimaryValue(mapper: Mapper, entity: Model.Entity, where: Input.UniqueWhere) {\n\t\treturn mapper.getPrimaryValue(entity, where)\n\t}\n\n\tpublic async select(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\twhere: Input.UniqueWhere,\n\t\tdependencies: Dependencies,\n\t): Promise<Value.Object | null> {\n\t\tif (Object.keys(dependencies).length === 0) {\n\t\t\treturn {}\n\t\t}\n\t\tconst queryAst = this.queryAstFactory.create(entity.name, dependencies).withArg('by', where)\n\t\tconst node = await mapper.selectUnique(entity, queryAst, [])\n\t\tif (!node) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn node\n\t}\n}\n"],"names":[],"mappings":"AAKO,MAAM,uBAAuB;AAAA,EACnC,YAA6B,OAAsC,iBAAkC;AAAxE,SAAA,QAAA;AAAsC,SAAA,kBAAA;AAAA,EAAA;AAAA,EAEnE,MAAa,gBAAgB,QAAgB,QAAsB,OAA0B;AACrF,WAAA,OAAO,gBAAgB,QAAQ,KAAK;AAAA,EAAA;AAAA,EAG5C,MAAa,OACZ,QACA,QACA,OACA,cAC+B;AAC/B,QAAI,OAAO,KAAK,YAAY,EAAE,WAAW,GAAG;AAC3C,aAAO,CAAC;AAAA,IAAA;AAEH,UAAA,WAAW,KAAK,gBAAgB,OAAO,OAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,KAAK;AAC3F,UAAM,OAAO,MAAM,OAAO,aAAa,QAAQ,UAAU,EAAE;AAC3D,QAAI,CAAC,MAAM;AACH,aAAA;AAAA,IAAA;AAGD,WAAA;AAAA,EAAA;AAET;"}