@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":"FieldNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/FieldNode.ts"],"sourcesContent":["export class FieldNode<Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(public readonly name: string, public readonly alias: string, public readonly extensions: Extensions) {}\n}\n"],"names":[],"mappings":"AAAO,MAAM,UAAwE;AAAA,EACpF,YAA4B,MAA8B,OAA+B,YAAwB;AAArF,SAAA,OAAA;AAA8B,SAAA,QAAA;AAA+B,SAAA,aAAA;AAAA,EAAyB;AACnH;"}
1
+ {"version":3,"file":"FieldNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/FieldNode.ts"],"sourcesContent":["export class FieldNode<Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(public readonly name: string, public readonly alias: string, public readonly extensions: Extensions) {}\n}\n"],"names":[],"mappings":"AAAO,MAAM,UAAwE;AAAA,EACpF,YAA4B,MAA8B,OAA+B,YAAwB;AAArF,SAAA,OAAA;AAA8B,SAAA,QAAA;AAA+B,SAAA,aAAA;AAAA,EAAA;AAC1F;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectNode.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,EACd;AAAA,EAEI,QAIL,MAAY,OAAmC;AAChD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAI,KAAK,MAAc,CAAC,IAAI,GAAG,MAAM;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,SAAyB,MAAoC;AACnE,WAAO,IAAI,WAAW,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,MAAM,KAAK,YAAY,KAAK,IAAI;AAAA,EAC3F;AAAA,EAEO,UAAU,OAAiD;AACjE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,GAAG,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,UAAU,MAAM,KAAK,GAAG,KAAK;AAAA,MAC7D,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,iBAAiB,OAAmD;AAC1E,WAAO,KAAK,OAAO,KAAK,CAAM,OAAA,GAAG,UAAU,KAAK;AAAA,EACjD;AAAA,EAEO,gBAAgB,MAA0C;AAChE,WAAO,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,SAAS,IAAI;AAAA,EACjD;AACD;;"}
1
+ {"version":3,"file":"ObjectNode.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,EAAA;AAAA,EAGV,QAIL,MAAY,OAAmC;AAChD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAI,KAAK,MAAc,CAAC,IAAI,GAAG,MAAM;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,SAAyB,MAAoC;AACnE,WAAO,IAAI,WAAW,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,MAAM,KAAK,YAAY,KAAK,IAAI;AAAA,EAAA;AAAA,EAGpF,UAAU,OAAiD;AACjE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,GAAG,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,UAAU,MAAM,KAAK,GAAG,KAAK;AAAA,MAC7D,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,iBAAiB,OAAmD;AAC1E,WAAO,KAAK,OAAO,KAAK,CAAM,OAAA,GAAG,UAAU,KAAK;AAAA,EAAA;AAAA,EAG1C,gBAAgB,MAA0C;AAChE,WAAO,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,SAAS,IAAI;AAAA,EAAA;AAElD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,EACd;AAAA,EAEI,QAIL,MAAY,OAAmC;AAChD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAI,KAAK,MAAc,CAAC,IAAI,GAAG,MAAM;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,SAAyB,MAAoC;AACnE,WAAO,IAAI,WAAW,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,MAAM,KAAK,YAAY,KAAK,IAAI;AAAA,EAC3F;AAAA,EAEO,UAAU,OAAiD;AACjE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,GAAG,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,UAAU,MAAM,KAAK,GAAG,KAAK;AAAA,MAC7D,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEO,iBAAiB,OAAmD;AAC1E,WAAO,KAAK,OAAO,KAAK,CAAM,OAAA,GAAG,UAAU,KAAK;AAAA,EACjD;AAAA,EAEO,gBAAgB,MAA0C;AAChE,WAAO,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,SAAS,IAAI;AAAA,EACjD;AACD;"}
1
+ {"version":3,"file":"ObjectNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,EAAA;AAAA,EAGV,QAIL,MAAY,OAAmC;AAChD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAI,KAAK,MAAc,CAAC,IAAI,GAAG,MAAM;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,SAAyB,MAAoC;AACnE,WAAO,IAAI,WAAW,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,MAAM,KAAK,YAAY,KAAK,IAAI;AAAA,EAAA;AAAA,EAGpF,UAAU,OAAiD;AACjE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,GAAG,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,UAAU,MAAM,KAAK,GAAG,KAAK;AAAA,MAC7D,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,iBAAiB,OAAmD;AAC1E,WAAO,KAAK,OAAO,KAAK,CAAM,OAAA,GAAG,UAAU,KAAK;AAAA,EAAA;AAAA,EAG1C,gBAAgB,MAA0C;AAChE,WAAO,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,SAAS,IAAI;AAAA,EAAA;AAElD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueWhereExpander.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":["CheckedPrimary","getFieldsForUniqueWhere","getTargetEntity","UserError"],"mappings":";;;;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,EAAuB;AAAA,EAEpD,OAAO,QAAsB,OAA6C,OAAiB,CAAA,GAAiB;AAC3G,QAAI,iBAAiBA,eAAAA,gBAAgB;AAC7B,aAAA,EAAE,CAAC,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,aAAA;IACxC;AACM,UAAA,WAAW,CAAC,UAAkB,MAAM,KAAK,MAAM,UAAa,MAAM,KAAK,MAAM;AAEnF,UAAM,YAAY,MAAM;AACnB,UAAA,SAAS,OAAO,OAAO,GAAG;AACtB,eAAA;AAAA,MACR;AACA,6BAAuB,UAAUC,kBAAAA,wBAAwB,KAAK,QAAQ,MAAM,GAAG;AAC9E,mBAAW,SAAS,QAAQ;AACvB,cAAA,CAAC,SAAS,KAAK,GAAG;AACZ,qBAAA;AAAA,UACV;AAAA,QACD;AACO,eAAA;AAAA,MACR;AACO,aAAA;AAAA,IAAA;AAGR,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,iBAAiB,KAAK,mBAAmB,QAAQ,OAAO,IAAI,CAAC;AAAA,IACxE;AAEA,UAAM,gBAAuC,CAAA;AAC7C,eAAW,SAAS,OAAO;AACtB,UAAA,CAAC,SAAS,KAAK,GAAG;AACrB;AAAA,MACD;AACA,YAAM,SAASC,YAAAA,gBAAgB,KAAK,QAAQ,QAAQ,KAAK;AACzD,UAAI,CAAC,QAAQ;AACZ,sBAAc,KAAK,IAAI,MAAM,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,KAAK,MAAa,EAAE,IAAI,MAAM,KAAK;MAAE,OAChG;AACN,sBAAc,KAAK,IAAI,KAAK,OAAO,QAAQ,MAAM,KAAK,GAAwB,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MAC/F;AAAA,IACD;AAEO,WAAA;AAAA,EACR;AAAA,EAEQ,mBAAmB,QAAsB,OAA4B,MAAwB;AAC9F,UAAA,kBAAkBD,0CAAwB,KAAK,QAAQ,MAAM,EACjE,IAAI,QAAM,GAAG,KAAK,IAAI,CAAC,EACvB,IAAI,CAAM,OAAA,OAAQ,EAAE,EAAE,EACtB,KAAK,IAAI;AACJ,WAAA,2CAA2C,OAAO,IAAI;AAAA,gBAC/C,KAAK,SAAS,cAAc,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,EAEzF,eAAe;AAAA,EAChB;AACD;AAEO,MAAM,yBAAyBE,UAAAA,UAAU;AAAC;;;"}
1
+ {"version":3,"file":"UniqueWhereExpander.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":["CheckedPrimary","getFieldsForUniqueWhere","getTargetEntity","UserError"],"mappings":";;;;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,EAAA;AAAA,EAE7B,OAAO,QAAsB,OAA6C,OAAiB,CAAA,GAAiB;AAC3G,QAAI,iBAAiBA,eAAAA,gBAAgB;AAC7B,aAAA,EAAE,CAAC,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,eAAe;AAAA,IAAA;AAEjD,UAAA,WAAW,CAAC,UAAkB,MAAM,KAAK,MAAM,UAAa,MAAM,KAAK,MAAM;AAEnF,UAAM,YAAY,MAAM;AACnB,UAAA,SAAS,OAAO,OAAO,GAAG;AACtB,eAAA;AAAA,MAAA;AAER,6BAAuB,UAAUC,kBAAAA,wBAAwB,KAAK,QAAQ,MAAM,GAAG;AAC9E,mBAAW,SAAS,QAAQ;AACvB,cAAA,CAAC,SAAS,KAAK,GAAG;AACZ,qBAAA;AAAA,UAAA;AAAA,QACV;AAEM,eAAA;AAAA,MAAA;AAED,aAAA;AAAA,IAAA,GACL;AAEH,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,iBAAiB,KAAK,mBAAmB,QAAQ,OAAO,IAAI,CAAC;AAAA,IAAA;AAGxE,UAAM,gBAAuC,CAAC;AAC9C,eAAW,SAAS,OAAO;AACtB,UAAA,CAAC,SAAS,KAAK,GAAG;AACrB;AAAA,MAAA;AAED,YAAM,SAASC,YAAAA,gBAAgB,KAAK,QAAQ,QAAQ,KAAK;AACzD,UAAI,CAAC,QAAQ;AACZ,sBAAc,KAAK,IAAI,MAAM,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,KAAK,EAAS,IAAI,EAAE,IAAI,MAAM,KAAK,EAAE;AAAA,MAAA,OAChG;AACN,sBAAc,KAAK,IAAI,KAAK,OAAO,QAAQ,MAAM,KAAK,GAAwB,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MAAA;AAAA,IAC/F;AAGM,WAAA;AAAA,EAAA;AAAA,EAGA,mBAAmB,QAAsB,OAA4B,MAAwB;AAC9F,UAAA,kBAAkBD,0CAAwB,KAAK,QAAQ,MAAM,EACjE,IAAI,QAAM,GAAG,KAAK,IAAI,CAAC,EACvB,IAAI,CAAM,OAAA,OAAQ,EAAE,EAAE,EACtB,KAAK,IAAI;AACJ,WAAA,2CAA2C,OAAO,IAAI;AAAA,gBAC/C,KAAK,SAAS,cAAc,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,EAEzF,eAAe;AAAA,EAAA;AAEjB;AAEO,MAAM,yBAAyBE,UAAAA,UAAU;AAAC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueWhereExpander.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":[],"mappings":";;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,EAAuB;AAAA,EAEpD,OAAO,QAAsB,OAA6C,OAAiB,CAAA,GAAiB;AAC3G,QAAI,iBAAiB,gBAAgB;AAC7B,aAAA,EAAE,CAAC,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,aAAA;IACxC;AACM,UAAA,WAAW,CAAC,UAAkB,MAAM,KAAK,MAAM,UAAa,MAAM,KAAK,MAAM;AAEnF,UAAM,YAAY,MAAM;AACnB,UAAA,SAAS,OAAO,OAAO,GAAG;AACtB,eAAA;AAAA,MACR;AACA,6BAAuB,UAAU,wBAAwB,KAAK,QAAQ,MAAM,GAAG;AAC9E,mBAAW,SAAS,QAAQ;AACvB,cAAA,CAAC,SAAS,KAAK,GAAG;AACZ,qBAAA;AAAA,UACV;AAAA,QACD;AACO,eAAA;AAAA,MACR;AACO,aAAA;AAAA,IAAA;AAGR,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,iBAAiB,KAAK,mBAAmB,QAAQ,OAAO,IAAI,CAAC;AAAA,IACxE;AAEA,UAAM,gBAAuC,CAAA;AAC7C,eAAW,SAAS,OAAO;AACtB,UAAA,CAAC,SAAS,KAAK,GAAG;AACrB;AAAA,MACD;AACA,YAAM,SAAS,gBAAgB,KAAK,QAAQ,QAAQ,KAAK;AACzD,UAAI,CAAC,QAAQ;AACZ,sBAAc,KAAK,IAAI,MAAM,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,KAAK,MAAa,EAAE,IAAI,MAAM,KAAK;MAAE,OAChG;AACN,sBAAc,KAAK,IAAI,KAAK,OAAO,QAAQ,MAAM,KAAK,GAAwB,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MAC/F;AAAA,IACD;AAEO,WAAA;AAAA,EACR;AAAA,EAEQ,mBAAmB,QAAsB,OAA4B,MAAwB;AAC9F,UAAA,kBAAkB,wBAAwB,KAAK,QAAQ,MAAM,EACjE,IAAI,QAAM,GAAG,KAAK,IAAI,CAAC,EACvB,IAAI,CAAM,OAAA,OAAQ,EAAE,EAAE,EACtB,KAAK,IAAI;AACJ,WAAA,2CAA2C,OAAO,IAAI;AAAA,gBAC/C,KAAK,SAAS,cAAc,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,EAEzF,eAAe;AAAA,EAChB;AACD;AAEO,MAAM,yBAAyB,UAAU;AAAC;"}
1
+ {"version":3,"file":"UniqueWhereExpander.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":[],"mappings":";;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,EAAA;AAAA,EAE7B,OAAO,QAAsB,OAA6C,OAAiB,CAAA,GAAiB;AAC3G,QAAI,iBAAiB,gBAAgB;AAC7B,aAAA,EAAE,CAAC,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,eAAe;AAAA,IAAA;AAEjD,UAAA,WAAW,CAAC,UAAkB,MAAM,KAAK,MAAM,UAAa,MAAM,KAAK,MAAM;AAEnF,UAAM,YAAY,MAAM;AACnB,UAAA,SAAS,OAAO,OAAO,GAAG;AACtB,eAAA;AAAA,MAAA;AAER,6BAAuB,UAAU,wBAAwB,KAAK,QAAQ,MAAM,GAAG;AAC9E,mBAAW,SAAS,QAAQ;AACvB,cAAA,CAAC,SAAS,KAAK,GAAG;AACZ,qBAAA;AAAA,UAAA;AAAA,QACV;AAEM,eAAA;AAAA,MAAA;AAED,aAAA;AAAA,IAAA,GACL;AAEH,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,iBAAiB,KAAK,mBAAmB,QAAQ,OAAO,IAAI,CAAC;AAAA,IAAA;AAGxE,UAAM,gBAAuC,CAAC;AAC9C,eAAW,SAAS,OAAO;AACtB,UAAA,CAAC,SAAS,KAAK,GAAG;AACrB;AAAA,MAAA;AAED,YAAM,SAAS,gBAAgB,KAAK,QAAQ,QAAQ,KAAK;AACzD,UAAI,CAAC,QAAQ;AACZ,sBAAc,KAAK,IAAI,MAAM,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,KAAK,EAAS,IAAI,EAAE,IAAI,MAAM,KAAK,EAAE;AAAA,MAAA,OAChG;AACN,sBAAc,KAAK,IAAI,KAAK,OAAO,QAAQ,MAAM,KAAK,GAAwB,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MAAA;AAAA,IAC/F;AAGM,WAAA;AAAA,EAAA;AAAA,EAGA,mBAAmB,QAAsB,OAA4B,MAAwB;AAC9F,UAAA,kBAAkB,wBAAwB,KAAK,QAAQ,MAAM,EACjE,IAAI,QAAM,GAAG,KAAK,IAAI,CAAC,EACvB,IAAI,CAAM,OAAA,OAAQ,EAAE,EAAE,EACtB,KAAK,IAAI;AACJ,WAAA,2CAA2C,OAAO,IAAI;AAAA,gBAC/C,KAAK,SAAS,cAAc,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,EAEzF,eAAe;AAAA,EAAA;AAEjB;AAEO,MAAM,yBAAyB,UAAU;AAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateInputVisitor.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":["schema","filterObject","isIt","ImplementationException","Input","UserError"],"mappings":"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"}
1
+ {"version":3,"file":"UpdateInputVisitor.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":["schema","filterObject","isIt","ImplementationException","Input","UserError"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateInputVisitor.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateInputVisitor.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IntrospectionSchemaDefinitionFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":["GraphQLSchema","createSchemaConfig"],"mappings":";;;;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,SAAwB;AAC9B,WAAO,IAAIA,QAAA,cAAc,KAAK,aAAc,CAAA;AAAA,EAC7C;AAAA,EAEO,eAAoC;AAC1C,WAAOC,wCAAmB,MAA6B;AAC/C,aAAA,KAAK,2BAA2B;IAAO,CAC9C;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"IntrospectionSchemaDefinitionFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":["GraphQLSchema","createSchemaConfig"],"mappings":";;;;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAEtB,SAAwB;AAC9B,WAAO,IAAIA,QAAA,cAAc,KAAK,cAAc;AAAA,EAAA;AAAA,EAGtC,eAAoC;AAC1C,WAAOC,wCAAmB,MAA6B;AAC/C,aAAA,KAAK,2BAA2B,OAAO;AAAA,IAAA,CAC9C;AAAA,EAAA;AAEH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"IntrospectionSchemaDefinitionFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,SAAwB;AAC9B,WAAO,IAAI,cAAc,KAAK,aAAc,CAAA;AAAA,EAC7C;AAAA,EAEO,eAAoC;AAC1C,WAAO,mBAAmB,MAA6B;AAC/C,aAAA,KAAK,2BAA2B;IAAO,CAC9C;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"IntrospectionSchemaDefinitionFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAEtB,SAAwB;AAC9B,WAAO,IAAI,cAAc,KAAK,cAAc;AAAA,EAAA;AAAA,EAGtC,eAAoC;AAC1C,WAAO,mBAAmB,MAA6B;AAC/C,aAAA,KAAK,2BAA2B,OAAO;AAAA,IAAA,CAC9C;AAAA,EAAA;AAEH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"IntrospectionSchemaFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["Model","ContentSchema._OnDeleteBehaviour","assertNever","ContentSchema._OrderByDirection","acceptEveryFieldVisitor","ContentSchema._RelationSide","getEntity","Acl","Validation"],"mappings":"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"}
1
+ {"version":3,"file":"IntrospectionSchemaFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["Model","ContentSchema._OnDeleteBehaviour","assertNever","ContentSchema._OrderByDirection","acceptEveryFieldVisitor","ContentSchema._RelationSide","getEntity","Acl","Validation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IntrospectionSchemaFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["ContentSchema._OnDeleteBehaviour","ContentSchema._OrderByDirection","ContentSchema._RelationSide"],"mappings":"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"}
1
+ {"version":3,"file":"IntrospectionSchemaFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["ContentSchema._OnDeleteBehaviour","ContentSchema._OrderByDirection","ContentSchema._RelationSide"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"introspection.schema.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":["GraphQLObjectType","GraphQLString","GraphQLNonNull","GraphQLInt","GraphQLList","JSONType","GraphQLUnionType","GraphQLInterfaceType","GraphQLBoolean","GraphQLEnumType","GraphQLSchema"],"mappings":"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"}
1
+ {"version":3,"file":"introspection.schema.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":["GraphQLObjectType","GraphQLString","GraphQLNonNull","GraphQLInt","GraphQLList","JSONType","GraphQLUnionType","GraphQLInterfaceType","GraphQLBoolean","GraphQLEnumType","GraphQLSchema"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"introspection.schema.js","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"introspection.schema.js","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckedPrimary.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAmC;AACvE;;"}
1
+ {"version":3,"file":"CheckedPrimary.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAA;AACpC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckedPrimary.js","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAmC;AACvE;"}
1
+ {"version":3,"file":"CheckedPrimary.js","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAA;AACpC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnValue.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":["getRejections","getFulfilledValues"],"mappings":";;;;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EACf;AACO,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAA,EAAQ;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAASA,uBAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EACf;AACM,QAAA,YAAYC,4BAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;;;;"}
1
+ {"version":3,"file":"ColumnValue.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":["getRejections","getFulfilledValues"],"mappings":";;;;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EAAA;AAER,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAQ,EAAA;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAASA,uBAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EAAA;AAET,QAAA,YAAYC,4BAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnValue.js","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":[],"mappings":";;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EACf;AACO,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAA,EAAQ;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAAS,cAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EACf;AACM,QAAA,YAAY,mBAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;"}
1
+ {"version":3,"file":"ColumnValue.js","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":[],"mappings":";;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EAAA;AAER,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAQ,EAAA;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAAS,cAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EAAA;AAET,QAAA,YAAY,mBAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorUtils.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError || e instanceof Database.CannotCommitError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["tryGetColumnName","acceptFieldVisitor","relation","Database","MutationConstraintViolationError","ConstraintType","MutationResultHint","UniqueWhereError","MutationInputError","InputErrorKind","MutationSqlError","logger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,uBAAuB,CAAC,OAAqB,cAAsB,OAAO,OAAO,MAAM,QAAQ,EAAE,KAAK,CAAM,OAAA,GAAG,cAAc,SAAS;AAE5I,MAAM,uBAAuB,CAAC,OAAqB,kBAAoC,WAAmB,mBAA0D;AAC7J,QAAA,aAAa,iBAAiB,kBAAkB,OAAO,EAAE,WAAW,eAAA,CAAgB,EAAE;AAC5F,MAAI,CAAC,YAAY;AACT,WAAA;AAAA,EACR;AACA,QAAM,SAAS,qBAAqB,OAAO,WAAW,SAAS;AAC/D,MAAI,CAAC,QAAQ;AACL,WAAA;AAAA,EACR;AACA,QAAM,qBAA+B,CAAA;AACrC,aAAW,SAAS,OAAO,OAAO,OAAO,MAAM,GAAG;AACjD,UAAM,aAAaA,YAAAA,iBAAiB,OAAO,QAAQ,MAAM,IAAI;AAC7D,QAAI,cAAc,WAAW,YAAY,SAAS,UAAU,GAAG;AAC3C,yBAAA,KAAK,MAAM,IAAI;AAAA,IACnC;AAAA,EACD;AACA,MAAI,mBAAmB,WAAW,WAAW,YAAY,QAAQ;AACzD,WAAA,EAAE,QAAQ,QAAQ;EAC1B;AACO,SAAA;AACR;AAQA,MAAM,wBAAwB,CAAC,OAAqB,kBAAoC,WAAmB,mBAAgD;AACpJ,QAAA,aAAa,iBAAiB,YAAY,OAAO,EAAE,WAAW,WAAW,eAAA,CAAgB,EAAE;AACjG,MAAI,CAAC,YAAY;AACT,WAAA;AAAA,EACR;AACA,QAAM,eAAe,qBAAqB,OAAO,WAAW,SAAS;AACrE,MAAI,CAAC,cAAc;AAEX,WAAA;AAAA,EACR;AAEA,QAAM,eAAe,qBAAqB,OAAO,WAAW,OAAO;AACnE,MAAI,CAAC,cAAc;AACX,WAAA;AAAA,EACR;AACA,aAAW,SAAS,OAAO,OAAO,aAAa,MAAM,GAAG;AACvD,UAAM,WAAWC,YAAA,mBAA0E,OAAO,cAAc,OAAO;AAAA,MACtH,aAAa,MAAM;AAAA,MACnB,uBAAuB,MAAM;AAAA,MAC7B,yBAAyB,MAAM;AAAA,MAC/B,wBAAwB,MAAM;AAAA,MAC9B,iBAAiB,MAAM;AAAA,MACvB,sBAAsB,CAAC,EAAE,UAAAC,UAAeA,MAAAA;AAAAA,MACxC,iBAAiB,CAAC,EAAE,UAAAA,UAAeA,MAAAA;AAAAA,IAAA,CACnC;AACD,QAAI,YAAY,SAAS,cAAc,eAAe,WAAW,YAAY;AACrE,aAAA;AAAA,QACN;AAAA,QACA,gBAAgB;AAAA,QAChB;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AACO,SAAA;AACR;AAEO,MAAM,eAAe,CAC3B,QACA,kBACA,MACoB;AAEhB,MAAA,aAAaC,oBAAS,uBAAuB;AAChD,WAAO,IAAIC,OAAiC,iCAAA,IAAIC,OAAe,eAAA,SAAS,EAAE,iBAAiB;AAAA,MAC1FC,OAAAA,mBAAmB;AAAA,IAAA,CACnB;AAAA,EACF;AACI,MAAA,aAAaH,oBAAS,0BAA0B;AACnD,UAAM,eAAe,EAAE,cAAc,EAAE,QAAQ,sBAAsB,QAAQ,kBAAkB,EAAE,OAAO,EAAE,UAAU,IAAI;AACxH,UAAM,kBAA0B,YAAY,EAAE,WAAW,EAAE,SAAS,SAAS;AACvE,UAAA,cAAc,gBAAgB,MAAM,qDAAqD;AACzF,UAAA,UAAU,eACb,iBAAiB,cAAc,OAAO,YAAY,CAAC,CAAC,KAAK,aAAa,cACvD,aAAa,aAAa,IAAI,yCACJ,aAAa,aAAa,IAAI,KAAK,aAAa,eAAe,IAAI,8EAE5G,EAAE;AACE,WAAA,IAAIC,OAAAA,iCAAiC,CAAI,GAAAC,sBAAe,YAAY,SAAS,CAACC,OAAAA,mBAAmB,QAAQ,CAAC;AAAA,EAClH;AACI,MAAA,aAAaH,oBAAS,sBAAsB;AAC/C,UAAM,aAAa,EAAE,cAAc,EAAE,QAAQ,qBAAqB,QAAQ,kBAAkB,EAAE,OAAO,EAAE,UAAU,IAAI;AACrH,UAAM,kBAA0B,YAAY,EAAE,WAAW,EAAE,SAAS,SAAS;AACvE,UAAA,cAAc,gBAAgB,MAAM,wCAAwC;AAC5E,UAAA,SAAS,cAAc,CAAC;AAC9B,UAAM,UAAU,aACb,GAAG,SAAS,UAAU,MAAM,MAAM,eAAe,sCACX,WAAW,OAAO,KAAK,IAAI,CAAC,eAAe,WAAW,OAAO,IAAI,KACvG,EAAE;AACL,UAAM,QAAQ,aAAa,WAAW,OAAO,IAAI,CAAA,OAAM,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAA;AACnE,WAAA,IAAIC,OAAAA,iCAAiC,OAAOC,sBAAe,WAAW,SAAS,CAACC,OAAAA,mBAAmB,QAAQ,CAAC;AAAA,EACpH;AACA,MAAI,aAAaC,oBAAAA,kBAAkB;AAClC,WAAO,IAAIC,OAAmB,mBAAA,IAAIC,OAAAA,eAAe,gBAAgB,EAAE,OAAO;AAAA,EAC3E;AACI,MAAA,aAAaN,oBAAS,kBAAkB;AACpC,WAAA,IAAIK,OAAmB,mBAAA,IAAIC,OAAAA,eAAe,aAAa,EAAE,iBAAiB,CAACH,OAAAA,mBAAmB,QAAQ,CAAC;AAAA,EAC/G;AACI,MAAA,aAAaH,oBAAS,2BAA2B;AAC9C,UAAA;AAAA,EACP;AACI,MAAA,aAAaA,oBAAS,yBAAyB;AAC3C,WAAA,IAAIO,OAAAA,iBAAiB,CAAA,GAAI,EAAE,iBAAiB,CAACJ,OAAmB,mBAAA,kBAAkB,CAAC;AAAA,EAC3F;AACA,MAAI,aAAaH,oBAAS,cAAc,aAAaA,oBAAS,mBAAmB;AAChFQ,WAAA,OAAO,MAAM,GAAG,EAAE,KAAK,eAAgB,CAAA;AAChC,WAAA,IAAID,OAAAA,iBAAiB,CAAA,GAAI,EAAE,iBAAiB,CAACJ,OAAmB,mBAAA,QAAQ,CAAC;AAAA,EACjF;AACM,QAAA;AACP;AAEO,MAAM,cAAc,OAAO,QAAsB,kBAAoC,OAAuE;AAC9J,MAAA;AACH,WAAO,MAAM,GAAG;AAAA,WACR,GAAG;AACX,WAAO,CAAC,aAAa,QAAQ,kBAAkB,CAAC,CAAC;AAAA,EAClD;AACD;;;"}
1
+ {"version":3,"file":"ErrorUtils.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError || e instanceof Database.CannotCommitError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["tryGetColumnName","acceptFieldVisitor","relation","Database","MutationConstraintViolationError","ConstraintType","MutationResultHint","UniqueWhereError","MutationInputError","InputErrorKind","MutationSqlError","logger"],"mappings":"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"}