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

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":"MutationProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/MutationProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLObjectTypeConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { filterObject } from '../utils'\nimport { aliasAwareResolver, GqlTypeName } from './utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<any, Context, TArgs>\n\nexport class MutationProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getMutations(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst mutations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tmutations[`create${entityName}`] = this.getCreateMutation(entity)\n\t\tmutations[`delete${entityName}`] = this.getDeleteMutation(entity)\n\t\tmutations[`update${entityName}`] = this.getUpdateMutation(entity)\n\t\tmutations[`upsert${entityName}`] = this.getUpsertMutation(entity)\n\n\t\treturn filterObject(mutations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprotected getCreateMutation(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'create')\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.create, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveCreate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getDeleteMutation(entity: Model.Entity): FieldConfig<Input.DeleteInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tif (entity.view) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.delete, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.createResultType(entityName, 'delete')),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.delete, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveDelete(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getUpdateMutation(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'update')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.update, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpdate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getUpsertMutation(entity: Model.Entity): FieldConfig<Input.UpsertInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst createInput = this.createEntityInputProvider.getInput(entityName)\n\t\tif (createInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst updateInput = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (updateInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'upsert')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tupdate: { type: new GraphQLNonNull(updateInput) },\n\t\t\t\tcreate: { type: new GraphQLNonNull(createInput) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.upsert, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpsert(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createResultType(\n\t\tentityName: string,\n\t\toperation: 'create' | 'update' | 'delete' | 'upsert',\n\t): GraphQLObjectType {\n\t\tconst fields: GraphQLObjectTypeConfig<any, any>['fields'] = {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) !== 'no') {\n\t\t\tconst nodeType = this.entityTypeProvider.getEntity(entityName)\n\t\t\tfields.node = { type: nodeType, resolve: aliasAwareResolver }\n\t\t}\n\t\tif (operation !== 'delete') {\n\t\t\tfields.validation = {\n\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t}\n\t\t}\n\t\treturn new GraphQLObjectType({\n\t\t\tname: GqlTypeName`${entityName}${operation}Result`,\n\t\t\tfields: fields,\n\t\t\tinterfaces: [this.resultSchemaTypeProvider.mutationResultType],\n\t\t})\n\t}\n}\n"],"names":["filterObject","GraphQLNonNull","ExtensionKey","OperationMeta","Operation","Acl","GraphQLBoolean","GraphQLString","aliasAwareResolver","GraphQLObjectType","GqlTypeName"],"mappings":"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"}
1
+ {"version":3,"file":"MutationProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/MutationProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLObjectTypeConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { filterObject } from '../utils'\nimport { aliasAwareResolver, GqlTypeName } from './utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<any, Context, TArgs>\n\nexport class MutationProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getMutations(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst mutations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tmutations[`create${entityName}`] = this.getCreateMutation(entity)\n\t\tmutations[`delete${entityName}`] = this.getDeleteMutation(entity)\n\t\tmutations[`update${entityName}`] = this.getUpdateMutation(entity)\n\t\tmutations[`upsert${entityName}`] = this.getUpsertMutation(entity)\n\n\t\treturn filterObject(mutations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprotected getCreateMutation(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'create')\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.create, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveCreate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getDeleteMutation(entity: Model.Entity): FieldConfig<Input.DeleteInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tif (entity.view) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.delete, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.createResultType(entityName, 'delete')),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.delete, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveDelete(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getUpdateMutation(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'update')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.update, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpdate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getUpsertMutation(entity: Model.Entity): FieldConfig<Input.UpsertInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst createInput = this.createEntityInputProvider.getInput(entityName)\n\t\tif (createInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst updateInput = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (updateInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'upsert')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tupdate: { type: new GraphQLNonNull(updateInput) },\n\t\t\t\tcreate: { type: new GraphQLNonNull(createInput) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.upsert, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpsert(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createResultType(\n\t\tentityName: string,\n\t\toperation: 'create' | 'update' | 'delete' | 'upsert',\n\t): GraphQLObjectType {\n\t\tconst fields: GraphQLObjectTypeConfig<any, any>['fields'] = {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) !== 'no') {\n\t\t\tconst nodeType = this.entityTypeProvider.getEntity(entityName)\n\t\t\tfields.node = { type: nodeType, resolve: aliasAwareResolver }\n\t\t}\n\t\tif (operation !== 'delete') {\n\t\t\tfields.validation = {\n\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t}\n\t\t}\n\t\treturn new GraphQLObjectType({\n\t\t\tname: GqlTypeName`${entityName}${operation}Result`,\n\t\t\tfields: fields,\n\t\t\tinterfaces: [this.resultSchemaTypeProvider.mutationResultType],\n\t\t})\n\t}\n}\n"],"names":["filterObject","GraphQLNonNull","ExtensionKey","OperationMeta","Operation","Acl","GraphQLBoolean","GraphQLString","aliasAwareResolver","GraphQLObjectType","GqlTypeName"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MutationProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/MutationProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLObjectTypeConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { filterObject } from '../utils'\nimport { aliasAwareResolver, GqlTypeName } from './utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<any, Context, TArgs>\n\nexport class MutationProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getMutations(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst mutations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tmutations[`create${entityName}`] = this.getCreateMutation(entity)\n\t\tmutations[`delete${entityName}`] = this.getDeleteMutation(entity)\n\t\tmutations[`update${entityName}`] = this.getUpdateMutation(entity)\n\t\tmutations[`upsert${entityName}`] = this.getUpsertMutation(entity)\n\n\t\treturn filterObject(mutations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprotected getCreateMutation(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'create')\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.create, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveCreate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getDeleteMutation(entity: Model.Entity): FieldConfig<Input.DeleteInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tif (entity.view) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.delete, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.createResultType(entityName, 'delete')),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.delete, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveDelete(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getUpdateMutation(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'update')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.update, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpdate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getUpsertMutation(entity: Model.Entity): FieldConfig<Input.UpsertInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst createInput = this.createEntityInputProvider.getInput(entityName)\n\t\tif (createInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst updateInput = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (updateInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'upsert')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tupdate: { type: new GraphQLNonNull(updateInput) },\n\t\t\t\tcreate: { type: new GraphQLNonNull(createInput) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.upsert, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpsert(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createResultType(\n\t\tentityName: string,\n\t\toperation: 'create' | 'update' | 'delete' | 'upsert',\n\t): GraphQLObjectType {\n\t\tconst fields: GraphQLObjectTypeConfig<any, any>['fields'] = {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) !== 'no') {\n\t\t\tconst nodeType = this.entityTypeProvider.getEntity(entityName)\n\t\t\tfields.node = { type: nodeType, resolve: aliasAwareResolver }\n\t\t}\n\t\tif (operation !== 'delete') {\n\t\t\tfields.validation = {\n\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t}\n\t\t}\n\t\treturn new GraphQLObjectType({\n\t\t\tname: GqlTypeName`${entityName}${operation}Result`,\n\t\t\tfields: fields,\n\t\t\tinterfaces: [this.resultSchemaTypeProvider.mutationResultType],\n\t\t})\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/MutationProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLFieldConfig,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLObjectTypeConfig,\n\tGraphQLString,\n} from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { filterObject } from '../utils'\nimport { aliasAwareResolver, GqlTypeName } from './utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<any, Context, TArgs>\n\nexport class MutationProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getMutations(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst mutations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tmutations[`create${entityName}`] = this.getCreateMutation(entity)\n\t\tmutations[`delete${entityName}`] = this.getDeleteMutation(entity)\n\t\tmutations[`update${entityName}`] = this.getUpdateMutation(entity)\n\t\tmutations[`upsert${entityName}`] = this.getUpsertMutation(entity)\n\n\t\treturn filterObject(mutations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprotected getCreateMutation(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'create')\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.create, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveCreate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getDeleteMutation(entity: Model.Entity): FieldConfig<Input.DeleteInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tif (entity.view) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.delete, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.createResultType(entityName, 'delete')),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.delete, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.mutation.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveDelete(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected getUpdateMutation(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'update')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.update, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpdate(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getUpsertMutation(entity: Model.Entity): FieldConfig<Input.UpsertInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst createInput = this.createEntityInputProvider.getInput(entityName)\n\t\tif (createInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst updateInput = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (updateInput === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst resultType = this.createResultType(entityName, 'upsert')\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(resultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\tupdate: { type: new GraphQLNonNull(updateInput) },\n\t\t\t\tcreate: { type: new GraphQLNonNull(createInput) },\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.upsert, entity) },\n\t\t\tresolve: (parent, args, context: Context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.mutationResolver.resolveUpsert(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createResultType(\n\t\tentityName: string,\n\t\toperation: 'create' | 'update' | 'delete' | 'upsert',\n\t): GraphQLObjectType {\n\t\tconst fields: GraphQLObjectTypeConfig<any, any>['fields'] = {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.resultSchemaTypeProvider.errorListResultType },\n\t\t}\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) !== 'no') {\n\t\t\tconst nodeType = this.entityTypeProvider.getEntity(entityName)\n\t\t\tfields.node = { type: nodeType, resolve: aliasAwareResolver }\n\t\t}\n\t\tif (operation !== 'delete') {\n\t\t\tfields.validation = {\n\t\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\t}\n\t\t}\n\t\treturn new GraphQLObjectType({\n\t\t\tname: GqlTypeName`${entityName}${operation}Result`,\n\t\t\tfields: fields,\n\t\t\tinterfaces: [this.resultSchemaTypeProvider.mutationResultType],\n\t\t})\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OperationExtension.cjs","sources":["../../../../../packages/engine-content-api/src/schema/OperationExtension.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { ImplementationException } from '../exception'\n\nexport class OperationMeta {\n\tconstructor(public readonly operation: Operation, public readonly entity: Model.Entity) {}\n}\n\nexport const ExtensionKey = 'OperationMeta'\n\nexport const readOperationMeta = (data: Record<string, unknown> | undefined | null): OperationMeta => {\n\tif (!data) {\n\t\tdebugger\n\t\tthrow new ImplementationException()\n\t}\n\tconst meta = data[ExtensionKey]\n\tif (!(meta instanceof OperationMeta)) {\n\t\tthrow new ImplementationException('OperationMeta not found')\n\t}\n\treturn meta\n}\n\nexport const enum Operation {\n\tcreate = 'create',\n\tupdate = 'update',\n\tupsert = 'upsert',\n\tdelete = 'delete',\n\tlist = 'list',\n\tget = 'get',\n\tpaginate = 'paginate',\n}\n"],"names":["ImplementationException","Operation"],"mappings":";;;AAGO,MAAM,cAAc;AAAA,EAC1B,YAA4B,WAAsC,QAAsB;AAA5D,SAAA,YAAA;AAAsC,SAAA,SAAA;AAAA,EAAuB;AAC1F;AAEO,MAAM,eAAe;AAEf,MAAA,oBAAoB,CAAC,SAAoE;AACrG,MAAI,CAAC,MAAM;AACV;AACA,UAAM,IAAIA,UAAwB,wBAAA;AAAA,EACnC;AACM,QAAA,OAAO,KAAK,YAAY;AAC1B,MAAA,EAAE,gBAAgB,gBAAgB;AAC/B,UAAA,IAAIA,UAAAA,wBAAwB,yBAAyB;AAAA,EAC5D;AACO,SAAA;AACR;AAEkB,IAAA,8BAAAC,eAAX;AACNA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,MAAO,IAAA;AACPA,aAAA,KAAM,IAAA;AACNA,aAAA,UAAW,IAAA;AAPMA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"OperationExtension.cjs","sources":["../../../../../packages/engine-content-api/src/schema/OperationExtension.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { ImplementationException } from '../exception'\n\nexport class OperationMeta {\n\tconstructor(public readonly operation: Operation, public readonly entity: Model.Entity) {}\n}\n\nexport const ExtensionKey = 'OperationMeta'\n\nexport const readOperationMeta = (data: Record<string, unknown> | undefined | null): OperationMeta => {\n\tif (!data) {\n\t\tdebugger\n\t\tthrow new ImplementationException()\n\t}\n\tconst meta = data[ExtensionKey]\n\tif (!(meta instanceof OperationMeta)) {\n\t\tthrow new ImplementationException('OperationMeta not found')\n\t}\n\treturn meta\n}\n\nexport const enum Operation {\n\tcreate = 'create',\n\tupdate = 'update',\n\tupsert = 'upsert',\n\tdelete = 'delete',\n\tlist = 'list',\n\tget = 'get',\n\tpaginate = 'paginate',\n}\n"],"names":["ImplementationException","Operation"],"mappings":";;;AAGO,MAAM,cAAc;AAAA,EAC1B,YAA4B,WAAsC,QAAsB;AAA5D,SAAA,YAAA;AAAsC,SAAA,SAAA;AAAA,EAAA;AACnE;AAEO,MAAM,eAAe;AAEf,MAAA,oBAAoB,CAAC,SAAoE;AACrG,MAAI,CAAC,MAAM;AACV;AACA,UAAM,IAAIA,UAAAA,wBAAwB;AAAA,EAAA;AAE7B,QAAA,OAAO,KAAK,YAAY;AAC1B,MAAA,EAAE,gBAAgB,gBAAgB;AAC/B,UAAA,IAAIA,kCAAwB,yBAAyB;AAAA,EAAA;AAErD,SAAA;AACR;AAEkB,IAAA,8BAAAC,eAAX;AACNA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,MAAO,IAAA;AACPA,aAAA,KAAM,IAAA;AACNA,aAAA,UAAW,IAAA;AAPMA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OperationExtension.js","sources":["../../../../../packages/engine-content-api/src/schema/OperationExtension.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { ImplementationException } from '../exception'\n\nexport class OperationMeta {\n\tconstructor(public readonly operation: Operation, public readonly entity: Model.Entity) {}\n}\n\nexport const ExtensionKey = 'OperationMeta'\n\nexport const readOperationMeta = (data: Record<string, unknown> | undefined | null): OperationMeta => {\n\tif (!data) {\n\t\tdebugger\n\t\tthrow new ImplementationException()\n\t}\n\tconst meta = data[ExtensionKey]\n\tif (!(meta instanceof OperationMeta)) {\n\t\tthrow new ImplementationException('OperationMeta not found')\n\t}\n\treturn meta\n}\n\nexport const enum Operation {\n\tcreate = 'create',\n\tupdate = 'update',\n\tupsert = 'upsert',\n\tdelete = 'delete',\n\tlist = 'list',\n\tget = 'get',\n\tpaginate = 'paginate',\n}\n"],"names":["Operation"],"mappings":";AAGO,MAAM,cAAc;AAAA,EAC1B,YAA4B,WAAsC,QAAsB;AAA5D,SAAA,YAAA;AAAsC,SAAA,SAAA;AAAA,EAAuB;AAC1F;AAEO,MAAM,eAAe;AAEf,MAAA,oBAAoB,CAAC,SAAoE;AACrG,MAAI,CAAC,MAAM;AACV;AACA,UAAM,IAAI,wBAAwB;AAAA,EACnC;AACM,QAAA,OAAO,KAAK,YAAY;AAC1B,MAAA,EAAE,gBAAgB,gBAAgB;AAC/B,UAAA,IAAI,wBAAwB,yBAAyB;AAAA,EAC5D;AACO,SAAA;AACR;AAEkB,IAAA,8BAAAA,eAAX;AACNA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,MAAO,IAAA;AACPA,aAAA,KAAM,IAAA;AACNA,aAAA,UAAW,IAAA;AAPMA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"OperationExtension.js","sources":["../../../../../packages/engine-content-api/src/schema/OperationExtension.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { ImplementationException } from '../exception'\n\nexport class OperationMeta {\n\tconstructor(public readonly operation: Operation, public readonly entity: Model.Entity) {}\n}\n\nexport const ExtensionKey = 'OperationMeta'\n\nexport const readOperationMeta = (data: Record<string, unknown> | undefined | null): OperationMeta => {\n\tif (!data) {\n\t\tdebugger\n\t\tthrow new ImplementationException()\n\t}\n\tconst meta = data[ExtensionKey]\n\tif (!(meta instanceof OperationMeta)) {\n\t\tthrow new ImplementationException('OperationMeta not found')\n\t}\n\treturn meta\n}\n\nexport const enum Operation {\n\tcreate = 'create',\n\tupdate = 'update',\n\tupsert = 'upsert',\n\tdelete = 'delete',\n\tlist = 'list',\n\tget = 'get',\n\tpaginate = 'paginate',\n}\n"],"names":["Operation"],"mappings":";AAGO,MAAM,cAAc;AAAA,EAC1B,YAA4B,WAAsC,QAAsB;AAA5D,SAAA,YAAA;AAAsC,SAAA,SAAA;AAAA,EAAA;AACnE;AAEO,MAAM,eAAe;AAEf,MAAA,oBAAoB,CAAC,SAAoE;AACrG,MAAI,CAAC,MAAM;AACV;AACA,UAAM,IAAI,wBAAwB;AAAA,EAAA;AAE7B,QAAA,OAAO,KAAK,YAAY;AAC1B,MAAA,EAAE,gBAAgB,gBAAgB;AAC/B,UAAA,IAAI,wBAAwB,yBAAyB;AAAA,EAAA;AAErD,SAAA;AACR;AAEkB,IAAA,8BAAAA,eAAX;AACNA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,MAAO,IAAA;AACPA,aAAA,KAAM,IAAA;AACNA,aAAA,UAAW,IAAA;AAPMA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: () => ({ type: this.orderDirectionEnum }),\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","GraphQLEnumType","GraphQLInputObjectType","GqlTypeName","GraphQLBoolean","GraphQLInt","FieldAccessVisitor","Acl","acceptFieldVisitor"],"mappings":";;;;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6BA,SAAuC,cAA4B;AAAnE,SAAA,SAAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmBC,kCAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAIC,wBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MACzC;AAAA,IACA,CAAA,CAAA;AAAA,EAEgG;AAAA,EAE1F,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EACxC;AAAA,EAEQ,wBAAwB,YAAsC;AACrE,WAAO,IAAIC,QAAAA,uBAAuB;AAAA,MACjC,MAAMC,oBAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EACF;AAAA,EAEQ,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAMC,uBAAe;AAAA,MAChC,eAAe,EAAE,MAAMC,mBAAW;AAAA,IAAA;AAEnC,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MACD;AACA,YAAM,gBAAgB,IAAIC,mBAAAA,mBAAmBC,WAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAACC,YAAmB,mBAAA,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MACD;AAEA,YAAM,QAAQA,YAAAA,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,OAAO,EAAE,MAAM,KAAK,mBAAmB;AAAA,QACpD,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,MAAM,KAAK,qBAAqB,SAAS,MAAM;QACjF,cAAc,MAAM;AAAA,MAAA,CACuC;AAE5D,UAAI,UAAU,QAAW;AACxB,eAAO,SAAS,IAAI;AAAA,MACrB;AAAA,IACD;AAEO,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"OrderByTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: () => ({ type: this.orderDirectionEnum }),\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","GraphQLEnumType","GraphQLInputObjectType","GqlTypeName","GraphQLBoolean","GraphQLInt","FieldAccessVisitor","Acl","acceptFieldVisitor"],"mappings":";;;;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6BA,SAAuC,cAA4B;AAAnE,SAAA,SAAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmBC,kCAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAIC,wBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MAAA;AAAA,IACzC,CACA,CAAA;AAAA,EAAA;AAAA,EAIM,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EAAA;AAAA,EAGhC,wBAAwB,YAAsC;AACrE,WAAO,IAAIC,QAAAA,uBAAuB;AAAA,MACjC,MAAMC,oBAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGM,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAMC,uBAAe;AAAA,MAChC,eAAe,EAAE,MAAMC,QAAW,WAAA;AAAA,IACnC;AACA,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MAAA;AAED,YAAM,gBAAgB,IAAIC,sCAAmBC,OAAAA,IAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAACC,YAAmB,mBAAA,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MAAA;AAGD,YAAM,QAAQA,YAAAA,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,OAAO,EAAE,MAAM,KAAK,mBAAmB;AAAA,QACpD,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,MAAM,KAAK,qBAAqB,SAAS,MAAM;QACjF,cAAc,MAAM;AAAA,MAAA,CACuC;AAE5D,UAAI,UAAU,QAAW;AACxB,eAAO,SAAS,IAAI;AAAA,MAAA;AAAA,IACrB;AAGM,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: () => ({ type: this.orderDirectionEnum }),\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6B,QAAuC,cAA4B;AAAnE,SAAA,SAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmB,iBAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAI,gBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MACzC;AAAA,IACA,CAAA,CAAA;AAAA,EAEgG;AAAA,EAE1F,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EACxC;AAAA,EAEQ,wBAAwB,YAAsC;AACrE,WAAO,IAAI,uBAAuB;AAAA,MACjC,MAAM,cAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EACF;AAAA,EAEQ,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAM,eAAe;AAAA,MAChC,eAAe,EAAE,MAAM,WAAW;AAAA,IAAA;AAEnC,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MACD;AACA,YAAM,gBAAgB,IAAI,mBAAmB,IAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAAC,mBAAmB,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MACD;AAEA,YAAM,QAAQ,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,OAAO,EAAE,MAAM,KAAK,mBAAmB;AAAA,QACpD,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,MAAM,KAAK,qBAAqB,SAAS,MAAM;QACjF,cAAc,MAAM;AAAA,MAAA,CACuC;AAE5D,UAAI,UAAU,QAAW;AACxB,eAAO,SAAS,IAAI;AAAA,MACrB;AAAA,IACD;AAEO,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"OrderByTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/OrderByTypeProvider.ts"],"sourcesContent":["import {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInputFieldConfig,\n\tGraphQLInputFieldConfigMap,\n\tGraphQLInputObjectType,\n\tGraphQLInputType,\n\tGraphQLInt,\n} from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\nimport { singletonFactory } from '../utils'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\n\nexport class OrderByTypeProvider {\n\tprivate orderBySingleton = singletonFactory(name => this.createEntityOrderByType(name))\n\n\tprivate orderDirectionEnum = new GraphQLEnumType({\n\t\tname: 'OrderDirection',\n\t\tvalues: {\n\t\t\tasc: { value: 'asc' },\n\t\t\tdesc: { value: 'desc' },\n\t\t\tascNullsFirst: { value: 'ascNullsFirst' },\n\t\t\tdescNullsLast: { value: 'descNullsLast' },\n\t\t},\n\t})\n\n\tconstructor(private readonly schema: Model.Schema, private readonly authorizator: Authorizator) {}\n\n\tpublic getEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn this.orderBySingleton(entityName)\n\t}\n\n\tprivate createEntityOrderByType(entityName: string): GraphQLInputType {\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}OrderBy`,\n\t\t\tfields: () => this.getEntityOrderByFields(entityName),\n\t\t})\n\t}\n\n\tprivate getEntityOrderByFields(name: string) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {\n\t\t\t_random: { type: GraphQLBoolean },\n\t\t\t_randomSeeded: { type: GraphQLInt },\n\t\t}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst field = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: () => ({ type: this.orderDirectionEnum }),\n\t\t\t\tvisitHasOne: ({ relation }) => ({ type: this.getEntityOrderByType(relation.target) }),\n\t\t\t\tvisitHasMany: () => undefined,\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig | undefined>)\n\n\t\t\tif (field !== undefined) {\n\t\t\t\tfields[fieldName] = field\n\t\t\t}\n\t\t}\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;AAgBO,MAAM,oBAAoB;AAAA,EAahC,YAA6B,QAAuC,cAA4B;AAAnE,SAAA,SAAA;AAAuC,SAAA,eAAA;AAZpE,kBAAA,MAAQ,oBAAmB,iBAAiB,CAAA,SAAQ,KAAK,wBAAwB,IAAI,CAAC,CAAA;AAE9E,kBAAA,MAAA,sBAAqB,IAAI,gBAAgB;AAAA,MAChD,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,KAAK,EAAE,OAAO,MAAM;AAAA,QACpB,MAAM,EAAE,OAAO,OAAO;AAAA,QACtB,eAAe,EAAE,OAAO,gBAAgB;AAAA,QACxC,eAAe,EAAE,OAAO,gBAAgB;AAAA,MAAA;AAAA,IACzC,CACA,CAAA;AAAA,EAAA;AAAA,EAIM,qBAAqB,YAAsC;AAC1D,WAAA,KAAK,iBAAiB,UAAU;AAAA,EAAA;AAAA,EAGhC,wBAAwB,YAAsC;AACrE,WAAO,IAAI,uBAAuB;AAAA,MACjC,MAAM,cAAc,UAAU;AAAA,MAC9B,QAAQ,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGM,uBAAuB,MAAc;AAC5C,UAAM,SAAqC;AAAA,MAC1C,SAAS,EAAE,MAAM,eAAe;AAAA,MAChC,eAAe,EAAE,MAAM,WAAW;AAAA,IACnC;AACA,UAAM,SAAS,KAAK,OAAO,SAAS,IAAI;AAE7B,eAAA,aAAa,OAAO,QAAQ;AACtC,UAAI,CAAC,OAAO,OAAO,eAAe,SAAS,GAAG;AAC7C;AAAA,MAAA;AAED,YAAM,gBAAgB,IAAI,mBAAmB,IAAI,UAAU,MAAM,KAAK,YAAY;AAClF,UAAI,CAAC,mBAAmB,KAAK,QAAQ,MAAM,WAAW,aAAa,GAAG;AACrE;AAAA,MAAA;AAGD,YAAM,QAAQ,mBAAmB,KAAK,QAAQ,MAAM,WAAW;AAAA,QAC9D,aAAa,OAAO,EAAE,MAAM,KAAK,mBAAmB;AAAA,QACpD,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,MAAM,KAAK,qBAAqB,SAAS,MAAM;QACjF,cAAc,MAAM;AAAA,MAAA,CACuC;AAE5D,UAAI,UAAU,QAAW;AACxB,eAAO,SAAS,IAAI;AAAA,MAAA;AAAA,IACrB;AAGM,WAAA;AAAA,EAAA;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedFieldConfigFactory.cjs","sources":["../../../../../packages/engine-content-api/src/schema/PaginatedFieldConfigFactory.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\n\nexport class PaginatedFieldConfigFactory {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t) {}\n\n\tcreateFieldConfig(entity: Model.Entity): GraphQLFieldConfig<any, any> {\n\t\tconst entityName = entity.name\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.entityTypeProvider.getConnection(entityName)),\n\n\t\t\targs: {\n\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(entityName) },\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\tskip: { type: GraphQLInt },\n\t\t\t\tfirst: { type: GraphQLInt },\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["GraphQLNonNull","GraphQLList","GraphQLInt"],"mappings":";;;AAMO,MAAM,4BAA4B;AAAA,EACxC,YACkB,mBACA,qBACA,oBAChB;AAHgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AACA,SAAA,qBAAA;AAAA,EACf;AAAA,EAEH,kBAAkB,QAAoD;AACrE,UAAM,aAAa,OAAO;AACnB,WAAA;AAAA,MACN,MAAM,IAAIA,QAAAA,eAAe,KAAK,mBAAmB,cAAc,UAAU,CAAC;AAAA,MAE1E,MAAM;AAAA,QACL,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,UAAU,EAAE;AAAA,QACtE,SAAS;AAAA,UACR,MAAM,IAAIC,QAAA,YAAY,IAAID,QAAA,eAAe,KAAK,oBAAoB,qBAAqB,UAAU,CAAC,CAAC;AAAA,QACpG;AAAA,QACA,MAAM,EAAE,MAAME,mBAAW;AAAA,QACzB,OAAO,EAAE,MAAMA,mBAAW;AAAA,MAC3B;AAAA,IAAA;AAAA,EAEF;AACD;;"}
1
+ {"version":3,"file":"PaginatedFieldConfigFactory.cjs","sources":["../../../../../packages/engine-content-api/src/schema/PaginatedFieldConfigFactory.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\n\nexport class PaginatedFieldConfigFactory {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t) {}\n\n\tcreateFieldConfig(entity: Model.Entity): GraphQLFieldConfig<any, any> {\n\t\tconst entityName = entity.name\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.entityTypeProvider.getConnection(entityName)),\n\n\t\t\targs: {\n\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(entityName) },\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\tskip: { type: GraphQLInt },\n\t\t\t\tfirst: { type: GraphQLInt },\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["GraphQLNonNull","GraphQLList","GraphQLInt"],"mappings":";;;AAMO,MAAM,4BAA4B;AAAA,EACxC,YACkB,mBACA,qBACA,oBAChB;AAHgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAGlB,kBAAkB,QAAoD;AACrE,UAAM,aAAa,OAAO;AACnB,WAAA;AAAA,MACN,MAAM,IAAIA,QAAAA,eAAe,KAAK,mBAAmB,cAAc,UAAU,CAAC;AAAA,MAE1E,MAAM;AAAA,QACL,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,UAAU,EAAE;AAAA,QACtE,SAAS;AAAA,UACR,MAAM,IAAIC,QAAA,YAAY,IAAID,QAAA,eAAe,KAAK,oBAAoB,qBAAqB,UAAU,CAAC,CAAC;AAAA,QACpG;AAAA,QACA,MAAM,EAAE,MAAME,mBAAW;AAAA,QACzB,OAAO,EAAE,MAAMA,QAAW,WAAA;AAAA,MAAA;AAAA,IAE5B;AAAA,EAAA;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedFieldConfigFactory.js","sources":["../../../../../packages/engine-content-api/src/schema/PaginatedFieldConfigFactory.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\n\nexport class PaginatedFieldConfigFactory {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t) {}\n\n\tcreateFieldConfig(entity: Model.Entity): GraphQLFieldConfig<any, any> {\n\t\tconst entityName = entity.name\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.entityTypeProvider.getConnection(entityName)),\n\n\t\t\targs: {\n\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(entityName) },\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\tskip: { type: GraphQLInt },\n\t\t\t\tfirst: { type: GraphQLInt },\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAMO,MAAM,4BAA4B;AAAA,EACxC,YACkB,mBACA,qBACA,oBAChB;AAHgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AACA,SAAA,qBAAA;AAAA,EACf;AAAA,EAEH,kBAAkB,QAAoD;AACrE,UAAM,aAAa,OAAO;AACnB,WAAA;AAAA,MACN,MAAM,IAAI,eAAe,KAAK,mBAAmB,cAAc,UAAU,CAAC;AAAA,MAE1E,MAAM;AAAA,QACL,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,UAAU,EAAE;AAAA,QACtE,SAAS;AAAA,UACR,MAAM,IAAI,YAAY,IAAI,eAAe,KAAK,oBAAoB,qBAAqB,UAAU,CAAC,CAAC;AAAA,QACpG;AAAA,QACA,MAAM,EAAE,MAAM,WAAW;AAAA,QACzB,OAAO,EAAE,MAAM,WAAW;AAAA,MAC3B;AAAA,IAAA;AAAA,EAEF;AACD;"}
1
+ {"version":3,"file":"PaginatedFieldConfigFactory.js","sources":["../../../../../packages/engine-content-api/src/schema/PaginatedFieldConfigFactory.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\n\nexport class PaginatedFieldConfigFactory {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t) {}\n\n\tcreateFieldConfig(entity: Model.Entity): GraphQLFieldConfig<any, any> {\n\t\tconst entityName = entity.name\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.entityTypeProvider.getConnection(entityName)),\n\n\t\t\targs: {\n\t\t\t\tfilter: { type: this.whereTypeProvider.getEntityWhereType(entityName) },\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\tskip: { type: GraphQLInt },\n\t\t\t\tfirst: { type: GraphQLInt },\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAMO,MAAM,4BAA4B;AAAA,EACxC,YACkB,mBACA,qBACA,oBAChB;AAHgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AACA,SAAA,qBAAA;AAAA,EAAA;AAAA,EAGlB,kBAAkB,QAAoD;AACrE,UAAM,aAAa,OAAO;AACnB,WAAA;AAAA,MACN,MAAM,IAAI,eAAe,KAAK,mBAAmB,cAAc,UAAU,CAAC;AAAA,MAE1E,MAAM;AAAA,QACL,QAAQ,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,UAAU,EAAE;AAAA,QACtE,SAAS;AAAA,UACR,MAAM,IAAI,YAAY,IAAI,eAAe,KAAK,oBAAoB,qBAAqB,UAAU,CAAC,CAAC;AAAA,QACpG;AAAA,QACA,MAAM,EAAE,MAAM,WAAW;AAAA,QACzB,OAAO,EAAE,MAAM,WAAW;AAAA,MAAA;AAAA,IAE5B;AAAA,EAAA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/QueryProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\nimport { ImplementationException } from '../exception'\nimport { PaginatedFieldConfigFactory } from './PaginatedFieldConfigFactory'\n\nexport class QueryProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly paginatedFieldConfigFactory: PaginatedFieldConfigFactory,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: GraphQLFieldConfig<any, Context, any> } {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entity.name) === 'no') {\n\t\t\treturn {}\n\t\t}\n\t\treturn {\n\t\t\t['get' + entity.name]: this.getByUniqueQuery(entity),\n\t\t\t['list' + entity.name]: this.getListQuery(entity),\n\t\t\t['paginate' + entity.name]: this.getPaginationQuery(entity),\n\t\t}\n\t}\n\n\tprivate getByUniqueQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.UniqueQueryInput> {\n\t\tconst entityName = entity.name\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn {\n\t\t\ttype: entityType,\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.get, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveGetQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getListQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\tconst entityName = entity.name\n\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType))),\n\t\t\targs: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\toffset: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t\tlimit: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.list, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveListQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getPaginationQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\treturn {\n\t\t\t...this.paginatedFieldConfigFactory.createFieldConfig(entity),\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.paginate, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolvePaginationQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Acl","ImplementationException","GraphQLNonNull","ExtensionKey","OperationMeta","Operation","GraphQLList","GraphQLInt"],"mappings":";;;;;;AAWO,MAAM,cAAc;AAAA,EAC1B,YACkB,cACA,mBACA,qBACA,oBACA,6BAChB;AALgB,SAAA,eAAA;AACA,SAAA,oBAAA;AACA,SAAA,sBAAA;AACA,SAAA,qBAAA;AACA,SAAA,8BAAA;AAAA,EACf;AAAA,EAEI,WAAW,QAAsF;AACnG,QAAA,KAAK,aAAa,oBAAoBA,OAAA,IAAI,UAAU,MAAM,OAAO,IAAI,MAAM,MAAM;AACpF,aAAO;IACR;AACO,WAAA;AAAA,MACN,CAAC,QAAQ,OAAO,IAAI,GAAG,KAAK,iBAAiB,MAAM;AAAA,MACnD,CAAC,SAAS,OAAO,IAAI,GAAG,KAAK,aAAa,MAAM;AAAA,MAChD,CAAC,aAAa,OAAO,IAAI,GAAG,KAAK,mBAAmB,MAAM;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEQ,iBAAiB,QAAgF;AACxG,UAAM,aAAa,OAAO;AAC1B,UAAM,aAAa,KAAK,mBAAmB,UAAU,UAAU;AAC/D,UAAM,cAAc,KAAK,kBAAkB,yBAAyB,UAAU;AAC9E,QAAI,CAAC,aAAa;AACjB,YAAM,IAAIC,UAAwB,wBAAA;AAAA,IACnC;AACO,WAAA;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACL,IAAI;AAAA,UACH,MAAM,IAAIC,QAAA,eAAe,WAAW;AAAA,QACrC;AAAA,QACA,QAAQ;AAAA,UACP,MAAM,KAAK,kBAAkB,mBAAmB,UAAU;AAAA,QAC3D;AAAA,MACD;AAAA,MACA,YAAY,EAAE,CAACC,+BAAY,GAAG,IAAIC,mBAAc,cAAAC,6BAAU,KAAK,MAAM,EAAE;AAAA,MACvE,SAAS,CAAC,QAAQ,MAAM,SAAS,SAAS;AACzC,eAAO,QAAQ,MAAM,iBAAiB,KAAK,SAAS,IAAI,MAAM;AACzD,cAAA,UAAU,KAAK,MAAM;AACjB,mBAAA,OAAO,KAAK,KAAK,GAAG;AAAA,UAC5B;AACA,iBAAO,QAAQ,mBAAmB,aAAa,gBAAgB,QAAQ,IAAI;AAAA,QAAA,CAC3E;AAAA,MACF;AAAA,IAAA;AAAA,EAEF;AAAA,EAEQ,aAAa,QAA8E;AAClG,UAAM,aAAa,OAAO;AAE1B,UAAM,aAAa,KAAK,mBAAmB,UAAU,UAAU;AACxD,WAAA;AAAA,MACN,MAAM,IAAIH,QAAAA,eAAe,IAAII,QAAAA,YAAY,IAAIJ,QAAA,eAAe,UAAU,CAAC,CAAC;AAAA,MACxE,MAAM;AAAA,QACL,QAAQ;AAAA,UACP,MAAM,KAAK,kBAAkB,mBAAmB,UAAU;AAAA,QAC3D;AAAA,QACA,SAAS;AAAA,UACR,MAAM,IAAII,QAAA,YAAY,IAAIJ,QAAA,eAAe,KAAK,oBAAoB,qBAAqB,UAAU,CAAC,CAAC;AAAA,QACpG;AAAA,QACA,QAAQ;AAAA,UACP,MAAMK,QAAA;AAAA,QACP;AAAA,QACA,OAAO;AAAA,UACN,MAAMA,QAAA;AAAA,QACP;AAAA,MACD;AAAA,MACA,YAAY,EAAE,CAACJ,+BAAY,GAAG,IAAIC,mBAAc,cAAAC,6BAAU,MAAM,MAAM,EAAE;AAAA,MACxE,SAAS,CAAC,QAAQ,MAAM,SAAS,SAAS;AACzC,eAAO,QAAQ,MAAM,iBAAiB,KAAK,SAAS,IAAI,MAAM;AACzD,cAAA,UAAU,KAAK,MAAM;AACjB,mBAAA,OAAO,KAAK,KAAK,GAAG;AAAA,UAC5B;AACA,iBAAO,QAAQ,mBAAmB,aAAa,iBAAiB,QAAQ,IAAI;AAAA,QAAA,CAC5E;AAAA,MACF;AAAA,IAAA;AAAA,EAEF;AAAA,EAEQ,mBAAmB,QAA8E;AACjG,WAAA;AAAA,MACN,GAAG,KAAK,4BAA4B,kBAAkB,MAAM;AAAA,MAC5D,YAAY,EAAE,CAACF,+BAAY,GAAG,IAAIC,mBAAc,cAAAC,6BAAU,UAAU,MAAM,EAAE;AAAA,MAC5E,SAAS,CAAC,QAAQ,MAAM,SAAS,SAAS;AACzC,eAAO,QAAQ,MAAM,iBAAiB,KAAK,SAAS,IAAI,MAAM;AACzD,cAAA,UAAU,KAAK,MAAM;AACjB,mBAAA,OAAO,KAAK,KAAK,GAAG;AAAA,UAC5B;AACA,iBAAO,QAAQ,mBAAmB,aAAa,uBAAuB,QAAQ,IAAI;AAAA,QAAA,CAClF;AAAA,MACF;AAAA,IAAA;AAAA,EAEF;AACD;;"}
1
+ {"version":3,"file":"QueryProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/QueryProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\nimport { ImplementationException } from '../exception'\nimport { PaginatedFieldConfigFactory } from './PaginatedFieldConfigFactory'\n\nexport class QueryProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly paginatedFieldConfigFactory: PaginatedFieldConfigFactory,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: GraphQLFieldConfig<any, Context, any> } {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entity.name) === 'no') {\n\t\t\treturn {}\n\t\t}\n\t\treturn {\n\t\t\t['get' + entity.name]: this.getByUniqueQuery(entity),\n\t\t\t['list' + entity.name]: this.getListQuery(entity),\n\t\t\t['paginate' + entity.name]: this.getPaginationQuery(entity),\n\t\t}\n\t}\n\n\tprivate getByUniqueQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.UniqueQueryInput> {\n\t\tconst entityName = entity.name\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn {\n\t\t\ttype: entityType,\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.get, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveGetQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getListQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\tconst entityName = entity.name\n\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType))),\n\t\t\targs: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\toffset: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t\tlimit: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.list, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveListQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getPaginationQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\treturn {\n\t\t\t...this.paginatedFieldConfigFactory.createFieldConfig(entity),\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.paginate, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolvePaginationQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":["Acl","ImplementationException","GraphQLNonNull","ExtensionKey","OperationMeta","Operation","GraphQLList","GraphQLInt"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/QueryProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\nimport { ImplementationException } from '../exception'\nimport { PaginatedFieldConfigFactory } from './PaginatedFieldConfigFactory'\n\nexport class QueryProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly paginatedFieldConfigFactory: PaginatedFieldConfigFactory,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: GraphQLFieldConfig<any, Context, any> } {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entity.name) === 'no') {\n\t\t\treturn {}\n\t\t}\n\t\treturn {\n\t\t\t['get' + entity.name]: this.getByUniqueQuery(entity),\n\t\t\t['list' + entity.name]: this.getListQuery(entity),\n\t\t\t['paginate' + entity.name]: this.getPaginationQuery(entity),\n\t\t}\n\t}\n\n\tprivate getByUniqueQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.UniqueQueryInput> {\n\t\tconst entityName = entity.name\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn {\n\t\t\ttype: entityType,\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.get, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveGetQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getListQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\tconst entityName = entity.name\n\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType))),\n\t\t\targs: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\toffset: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t\tlimit: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.list, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveListQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getPaginationQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\treturn {\n\t\t\t...this.paginatedFieldConfigFactory.createFieldConfig(entity),\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.paginate, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolvePaginationQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/QueryProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { Acl, Input, Model } from '@contember/schema'\nimport { Context } from '../types'\nimport { EntityTypeProvider } from './EntityTypeProvider'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { Authorizator } from '../acl'\nimport { OrderByTypeProvider } from './OrderByTypeProvider'\nimport { ExtensionKey, Operation, OperationMeta } from './OperationExtension'\nimport { ImplementationException } from '../exception'\nimport { PaginatedFieldConfigFactory } from './PaginatedFieldConfigFactory'\n\nexport class QueryProvider {\n\tconstructor(\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly paginatedFieldConfigFactory: PaginatedFieldConfigFactory,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: GraphQLFieldConfig<any, Context, any> } {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entity.name) === 'no') {\n\t\t\treturn {}\n\t\t}\n\t\treturn {\n\t\t\t['get' + entity.name]: this.getByUniqueQuery(entity),\n\t\t\t['list' + entity.name]: this.getListQuery(entity),\n\t\t\t['paginate' + entity.name]: this.getPaginationQuery(entity),\n\t\t}\n\t}\n\n\tprivate getByUniqueQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.UniqueQueryInput> {\n\t\tconst entityName = entity.name\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn {\n\t\t\ttype: entityType,\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.get, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveGetQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getListQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\tconst entityName = entity.name\n\n\t\tconst entityType = this.entityTypeProvider.getEntity(entityName)\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType))),\n\t\t\targs: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: this.whereTypeProvider.getEntityWhereType(entityName),\n\t\t\t\t},\n\t\t\t\torderBy: {\n\t\t\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(entityName))),\n\t\t\t\t},\n\t\t\t\toffset: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t\tlimit: {\n\t\t\t\t\ttype: GraphQLInt,\n\t\t\t\t},\n\t\t\t},\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.list, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolveListQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate getPaginationQuery(entity: Model.Entity): GraphQLFieldConfig<any, Context, Input.ListQueryInput> {\n\t\treturn {\n\t\t\t...this.paginatedFieldConfigFactory.createFieldConfig(entity),\n\t\t\textensions: { [ExtensionKey]: new OperationMeta(Operation.paginate, entity) },\n\t\t\tresolve: (parent, args, context, info) => {\n\t\t\t\treturn context.timer(`GraphQL.query.${info.fieldName}`, () => {\n\t\t\t\t\tif (parent && info.path) {\n\t\t\t\t\t\treturn parent[info.path.key]\n\t\t\t\t\t}\n\t\t\t\t\treturn context.executionContainer.readResolver.resolvePaginationQuery(entity, info)\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;AAWO,MAAM,cAAc;AAAA,EAC1B,YACkB,cACA,mBACA,qBACA,oBACA,6BAChB;AALgB,SAAA,eAAA;AACA,SAAA,oBAAA;AACA,SAAA,sBAAA;AACA,SAAA,qBAAA;AACA,SAAA,8BAAA;AAAA,EAAA;AAAA,EAGX,WAAW,QAAsF;AACnG,QAAA,KAAK,aAAa,oBAAoB,IAAI,UAAU,MAAM,OAAO,IAAI,MAAM,MAAM;AACpF,aAAO,CAAC;AAAA,IAAA;AAEF,WAAA;AAAA,MACN,CAAC,QAAQ,OAAO,IAAI,GAAG,KAAK,iBAAiB,MAAM;AAAA,MACnD,CAAC,SAAS,OAAO,IAAI,GAAG,KAAK,aAAa,MAAM;AAAA,MAChD,CAAC,aAAa,OAAO,IAAI,GAAG,KAAK,mBAAmB,MAAM;AAAA,IAC3D;AAAA,EAAA;AAAA,EAGO,iBAAiB,QAAgF;AACxG,UAAM,aAAa,OAAO;AAC1B,UAAM,aAAa,KAAK,mBAAmB,UAAU,UAAU;AAC/D,UAAM,cAAc,KAAK,kBAAkB,yBAAyB,UAAU;AAC9E,QAAI,CAAC,aAAa;AACjB,YAAM,IAAI,wBAAwB;AAAA,IAAA;AAE5B,WAAA;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,QACL,IAAI;AAAA,UACH,MAAM,IAAI,eAAe,WAAW;AAAA,QACrC;AAAA,QACA,QAAQ;AAAA,UACP,MAAM,KAAK,kBAAkB,mBAAmB,UAAU;AAAA,QAAA;AAAA,MAE5D;AAAA,MACA,YAAY,EAAE,CAAC,YAAY,GAAG,IAAI,cAAc,UAAU,KAAK,MAAM,EAAE;AAAA,MACvE,SAAS,CAAC,QAAQ,MAAM,SAAS,SAAS;AACzC,eAAO,QAAQ,MAAM,iBAAiB,KAAK,SAAS,IAAI,MAAM;AACzD,cAAA,UAAU,KAAK,MAAM;AACjB,mBAAA,OAAO,KAAK,KAAK,GAAG;AAAA,UAAA;AAE5B,iBAAO,QAAQ,mBAAmB,aAAa,gBAAgB,QAAQ,IAAI;AAAA,QAAA,CAC3E;AAAA,MAAA;AAAA,IAEH;AAAA,EAAA;AAAA,EAGO,aAAa,QAA8E;AAClG,UAAM,aAAa,OAAO;AAE1B,UAAM,aAAa,KAAK,mBAAmB,UAAU,UAAU;AACxD,WAAA;AAAA,MACN,MAAM,IAAI,eAAe,IAAI,YAAY,IAAI,eAAe,UAAU,CAAC,CAAC;AAAA,MACxE,MAAM;AAAA,QACL,QAAQ;AAAA,UACP,MAAM,KAAK,kBAAkB,mBAAmB,UAAU;AAAA,QAC3D;AAAA,QACA,SAAS;AAAA,UACR,MAAM,IAAI,YAAY,IAAI,eAAe,KAAK,oBAAoB,qBAAqB,UAAU,CAAC,CAAC;AAAA,QACpG;AAAA,QACA,QAAQ;AAAA,UACP,MAAM;AAAA,QACP;AAAA,QACA,OAAO;AAAA,UACN,MAAM;AAAA,QAAA;AAAA,MAER;AAAA,MACA,YAAY,EAAE,CAAC,YAAY,GAAG,IAAI,cAAc,UAAU,MAAM,MAAM,EAAE;AAAA,MACxE,SAAS,CAAC,QAAQ,MAAM,SAAS,SAAS;AACzC,eAAO,QAAQ,MAAM,iBAAiB,KAAK,SAAS,IAAI,MAAM;AACzD,cAAA,UAAU,KAAK,MAAM;AACjB,mBAAA,OAAO,KAAK,KAAK,GAAG;AAAA,UAAA;AAE5B,iBAAO,QAAQ,mBAAmB,aAAa,iBAAiB,QAAQ,IAAI;AAAA,QAAA,CAC5E;AAAA,MAAA;AAAA,IAEH;AAAA,EAAA;AAAA,EAGO,mBAAmB,QAA8E;AACjG,WAAA;AAAA,MACN,GAAG,KAAK,4BAA4B,kBAAkB,MAAM;AAAA,MAC5D,YAAY,EAAE,CAAC,YAAY,GAAG,IAAI,cAAc,UAAU,UAAU,MAAM,EAAE;AAAA,MAC5E,SAAS,CAAC,QAAQ,MAAM,SAAS,SAAS;AACzC,eAAO,QAAQ,MAAM,iBAAiB,KAAK,SAAS,IAAI,MAAM;AACzD,cAAA,UAAU,KAAK,MAAM;AACjB,mBAAA,OAAO,KAAK,KAAK,GAAG;AAAA,UAAA;AAE5B,iBAAO,QAAQ,mBAAmB,aAAa,uBAAuB,QAAQ,IAAI;AAAA,QAAA,CAClF;AAAA,MAAA;AAAA,IAEH;AAAA,EAAA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResultSchemaTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/ResultSchemaTypeProvider.ts"],"sourcesContent":["import { Result } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nexport class ResultSchemaTypeProvider {\n\tprivate fieldPathFragmentType = new GraphQLObjectType({\n\t\tname: '_FieldPathFragment',\n\t\tfields: {\n\t\t\tfield: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate indexPathFragmentType = new GraphQLObjectType({\n\t\tname: '_IndexPathFragment',\n\t\tfields: {\n\t\t\tindex: { type: new GraphQLNonNull(GraphQLInt) },\n\t\t\talias: { type: GraphQLString },\n\t\t},\n\t})\n\tprivate pathFragmentType = new GraphQLUnionType({\n\t\tname: '_PathFragment',\n\t\ttypes: () => [\n\t\t\tthis.fieldPathFragmentType,\n\t\t\tthis.indexPathFragmentType,\n\t\t],\n\t})\n\n\tprivate validationMessageType = new GraphQLObjectType({\n\t\tname: '_ValidationMessage',\n\t\tfields: {\n\t\t\ttext: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate validationErrorType = new GraphQLObjectType({\n\t\tname: '_ValidationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tmessage: {\n\t\t\t\ttype: new GraphQLNonNull(this.validationMessageType),\n\t\t\t},\n\t\t},\n\t})\n\tpublic validationResultType = new GraphQLObjectType({\n\t\tname: '_ValidationResult',\n\t\tfields: {\n\t\t\tvalid: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrors: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.validationErrorType))),\n\t\t\t},\n\t\t},\n\t})\n\n\tprivate mutationErrorType = new GraphQLEnumType({\n\t\tname: '_MutationErrorType',\n\t\tvalues: Object.values(Result.ExecutionErrorType).reduce((acc, type) => ({ ...acc, [type]: {} }), {}),\n\t})\n\n\tpublic errorResultType = new GraphQLObjectType({\n\t\tname: '_MutationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\tdeprecationReason: 'Use `paths`.',\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tpaths: {\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tnew GraphQLList(new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType)))),\n\t\t\t\t),\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: new GraphQLNonNull(this.mutationErrorType),\n\t\t\t},\n\t\t\tmessage: { type: GraphQLString },\n\t\t},\n\t})\n\n\tpublic errorListResultType = new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.errorResultType)))\n\n\tpublic mutationResultType = new GraphQLInterfaceType({\n\t\tname: 'MutationResult',\n\t\tfields: {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.errorListResultType },\n\t\t},\n\t})\n}\n"],"names":["GraphQLObjectType","GraphQLNonNull","GraphQLString","GraphQLInt","GraphQLUnionType","GraphQLList","GraphQLBoolean","GraphQLEnumType","Result","GraphQLInterfaceType"],"mappings":"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"}
1
+ {"version":3,"file":"ResultSchemaTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/ResultSchemaTypeProvider.ts"],"sourcesContent":["import { Result } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nexport class ResultSchemaTypeProvider {\n\tprivate fieldPathFragmentType = new GraphQLObjectType({\n\t\tname: '_FieldPathFragment',\n\t\tfields: {\n\t\t\tfield: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate indexPathFragmentType = new GraphQLObjectType({\n\t\tname: '_IndexPathFragment',\n\t\tfields: {\n\t\t\tindex: { type: new GraphQLNonNull(GraphQLInt) },\n\t\t\talias: { type: GraphQLString },\n\t\t},\n\t})\n\tprivate pathFragmentType = new GraphQLUnionType({\n\t\tname: '_PathFragment',\n\t\ttypes: () => [\n\t\t\tthis.fieldPathFragmentType,\n\t\t\tthis.indexPathFragmentType,\n\t\t],\n\t})\n\n\tprivate validationMessageType = new GraphQLObjectType({\n\t\tname: '_ValidationMessage',\n\t\tfields: {\n\t\t\ttext: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate validationErrorType = new GraphQLObjectType({\n\t\tname: '_ValidationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tmessage: {\n\t\t\t\ttype: new GraphQLNonNull(this.validationMessageType),\n\t\t\t},\n\t\t},\n\t})\n\tpublic validationResultType = new GraphQLObjectType({\n\t\tname: '_ValidationResult',\n\t\tfields: {\n\t\t\tvalid: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrors: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.validationErrorType))),\n\t\t\t},\n\t\t},\n\t})\n\n\tprivate mutationErrorType = new GraphQLEnumType({\n\t\tname: '_MutationErrorType',\n\t\tvalues: Object.values(Result.ExecutionErrorType).reduce((acc, type) => ({ ...acc, [type]: {} }), {}),\n\t})\n\n\tpublic errorResultType = new GraphQLObjectType({\n\t\tname: '_MutationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\tdeprecationReason: 'Use `paths`.',\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tpaths: {\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tnew GraphQLList(new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType)))),\n\t\t\t\t),\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: new GraphQLNonNull(this.mutationErrorType),\n\t\t\t},\n\t\t\tmessage: { type: GraphQLString },\n\t\t},\n\t})\n\n\tpublic errorListResultType = new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.errorResultType)))\n\n\tpublic mutationResultType = new GraphQLInterfaceType({\n\t\tname: 'MutationResult',\n\t\tfields: {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.errorListResultType },\n\t\t},\n\t})\n}\n"],"names":["GraphQLObjectType","GraphQLNonNull","GraphQLString","GraphQLInt","GraphQLUnionType","GraphQLList","GraphQLBoolean","GraphQLEnumType","Result","GraphQLInterfaceType"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResultSchemaTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/ResultSchemaTypeProvider.ts"],"sourcesContent":["import { Result } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nexport class ResultSchemaTypeProvider {\n\tprivate fieldPathFragmentType = new GraphQLObjectType({\n\t\tname: '_FieldPathFragment',\n\t\tfields: {\n\t\t\tfield: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate indexPathFragmentType = new GraphQLObjectType({\n\t\tname: '_IndexPathFragment',\n\t\tfields: {\n\t\t\tindex: { type: new GraphQLNonNull(GraphQLInt) },\n\t\t\talias: { type: GraphQLString },\n\t\t},\n\t})\n\tprivate pathFragmentType = new GraphQLUnionType({\n\t\tname: '_PathFragment',\n\t\ttypes: () => [\n\t\t\tthis.fieldPathFragmentType,\n\t\t\tthis.indexPathFragmentType,\n\t\t],\n\t})\n\n\tprivate validationMessageType = new GraphQLObjectType({\n\t\tname: '_ValidationMessage',\n\t\tfields: {\n\t\t\ttext: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate validationErrorType = new GraphQLObjectType({\n\t\tname: '_ValidationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tmessage: {\n\t\t\t\ttype: new GraphQLNonNull(this.validationMessageType),\n\t\t\t},\n\t\t},\n\t})\n\tpublic validationResultType = new GraphQLObjectType({\n\t\tname: '_ValidationResult',\n\t\tfields: {\n\t\t\tvalid: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrors: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.validationErrorType))),\n\t\t\t},\n\t\t},\n\t})\n\n\tprivate mutationErrorType = new GraphQLEnumType({\n\t\tname: '_MutationErrorType',\n\t\tvalues: Object.values(Result.ExecutionErrorType).reduce((acc, type) => ({ ...acc, [type]: {} }), {}),\n\t})\n\n\tpublic errorResultType = new GraphQLObjectType({\n\t\tname: '_MutationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\tdeprecationReason: 'Use `paths`.',\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tpaths: {\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tnew GraphQLList(new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType)))),\n\t\t\t\t),\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: new GraphQLNonNull(this.mutationErrorType),\n\t\t\t},\n\t\t\tmessage: { type: GraphQLString },\n\t\t},\n\t})\n\n\tpublic errorListResultType = new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.errorResultType)))\n\n\tpublic mutationResultType = new GraphQLInterfaceType({\n\t\tname: 'MutationResult',\n\t\tfields: {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.errorListResultType },\n\t\t},\n\t})\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResultSchemaTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/ResultSchemaTypeProvider.ts"],"sourcesContent":["import { Result } from '@contember/schema'\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nexport class ResultSchemaTypeProvider {\n\tprivate fieldPathFragmentType = new GraphQLObjectType({\n\t\tname: '_FieldPathFragment',\n\t\tfields: {\n\t\t\tfield: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate indexPathFragmentType = new GraphQLObjectType({\n\t\tname: '_IndexPathFragment',\n\t\tfields: {\n\t\t\tindex: { type: new GraphQLNonNull(GraphQLInt) },\n\t\t\talias: { type: GraphQLString },\n\t\t},\n\t})\n\tprivate pathFragmentType = new GraphQLUnionType({\n\t\tname: '_PathFragment',\n\t\ttypes: () => [\n\t\t\tthis.fieldPathFragmentType,\n\t\t\tthis.indexPathFragmentType,\n\t\t],\n\t})\n\n\tprivate validationMessageType = new GraphQLObjectType({\n\t\tname: '_ValidationMessage',\n\t\tfields: {\n\t\t\ttext: { type: new GraphQLNonNull(GraphQLString) },\n\t\t},\n\t})\n\tprivate validationErrorType = new GraphQLObjectType({\n\t\tname: '_ValidationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tmessage: {\n\t\t\t\ttype: new GraphQLNonNull(this.validationMessageType),\n\t\t\t},\n\t\t},\n\t})\n\tpublic validationResultType = new GraphQLObjectType({\n\t\tname: '_ValidationResult',\n\t\tfields: {\n\t\t\tvalid: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrors: {\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.validationErrorType))),\n\t\t\t},\n\t\t},\n\t})\n\n\tprivate mutationErrorType = new GraphQLEnumType({\n\t\tname: '_MutationErrorType',\n\t\tvalues: Object.values(Result.ExecutionErrorType).reduce((acc, type) => ({ ...acc, [type]: {} }), {}),\n\t})\n\n\tpublic errorResultType = new GraphQLObjectType({\n\t\tname: '_MutationError',\n\t\tfields: {\n\t\t\tpath: {\n\t\t\t\tdeprecationReason: 'Use `paths`.',\n\t\t\t\ttype: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType))),\n\t\t\t},\n\t\t\tpaths: {\n\t\t\t\ttype: new GraphQLNonNull(\n\t\t\t\t\tnew GraphQLList(new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.pathFragmentType)))),\n\t\t\t\t),\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: new GraphQLNonNull(this.mutationErrorType),\n\t\t\t},\n\t\t\tmessage: { type: GraphQLString },\n\t\t},\n\t})\n\n\tpublic errorListResultType = new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(this.errorResultType)))\n\n\tpublic mutationResultType = new GraphQLInterfaceType({\n\t\tname: 'MutationResult',\n\t\tfields: {\n\t\t\tok: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\t\terrorMessage: { type: GraphQLString },\n\t\t\terrors: { type: this.errorListResultType },\n\t\t},\n\t})\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationQueriesProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/ValidationQueriesProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLNonNull } from 'graphql'\nimport { Context } from '../types'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { Input, Model } from '@contember/schema'\nimport { filterObject } from '../utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<Context, any, TArgs>\n\nexport class ValidationQueriesProvider {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst validations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tvalidations[`validateCreate${entityName}`] = this.getValidateCreateQuery(entity)\n\t\tvalidations[`validateUpdate${entityName}`] = this.getValidateUpdateQuery(entity)\n\n\t\treturn filterObject(validations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprivate getValidateCreateQuery(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateCreate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n\n\tprivate getValidateUpdateQuery(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateUpdate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n}\n"],"names":["filterObject","GraphQLNonNull"],"mappings":";;;;;AAUO,MAAM,0BAA0B;AAAA,EACtC,YACkB,mBACA,2BACA,2BACA,0BAChB;AAJgB,SAAA,oBAAA;AACA,SAAA,4BAAA;AACA,SAAA,4BAAA;AACA,SAAA,2BAAA;AAAA,EACf;AAAA,EAEI,WAAW,QAAiE;AAClF,UAAM,aAAa,OAAO;AAC1B,UAAM,cAAqE,CAAA;AAC3E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAC/E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAE/E,WAAOA,OAAAA,aAAa,aAAa,CAAC,KAAK,UAAqC,UAAU,MAAS;AAAA,EAChG;AAAA,EAEQ,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IACR;AACO,WAAA;AAAA,MACN,MAAM,IAAIC,QAAe,eAAA,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,MAAM,EAAE,MAAM,IAAIA,QAAA,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAC1E;AAAA,IAAA;AAAA,EAEH;AAAA,EAEQ,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IACR;AACA,UAAM,cAAc,KAAK,kBAAkB,yBAAyB,UAAU;AAC9E,QAAI,CAAC,aAAa;AACV,aAAA;AAAA,IACR;AACO,WAAA;AAAA,MACN,MAAM,IAAIA,QAAe,eAAA,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,IAAI;AAAA,UACH,MAAM,IAAIA,QAAA,eAAe,WAAW;AAAA,QACrC;AAAA,QACA,MAAM,EAAE,MAAM,IAAIA,QAAA,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAC1E;AAAA,IAAA;AAAA,EAEH;AACD;;"}
1
+ {"version":3,"file":"ValidationQueriesProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/ValidationQueriesProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLNonNull } from 'graphql'\nimport { Context } from '../types'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { Input, Model } from '@contember/schema'\nimport { filterObject } from '../utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<Context, any, TArgs>\n\nexport class ValidationQueriesProvider {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst validations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tvalidations[`validateCreate${entityName}`] = this.getValidateCreateQuery(entity)\n\t\tvalidations[`validateUpdate${entityName}`] = this.getValidateUpdateQuery(entity)\n\n\t\treturn filterObject(validations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprivate getValidateCreateQuery(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateCreate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n\n\tprivate getValidateUpdateQuery(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateUpdate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n}\n"],"names":["filterObject","GraphQLNonNull"],"mappings":";;;;;AAUO,MAAM,0BAA0B;AAAA,EACtC,YACkB,mBACA,2BACA,2BACA,0BAChB;AAJgB,SAAA,oBAAA;AACA,SAAA,4BAAA;AACA,SAAA,4BAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGX,WAAW,QAAiE;AAClF,UAAM,aAAa,OAAO;AAC1B,UAAM,cAAqE,CAAC;AAC5E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAC/E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAE/E,WAAOA,OAAAA,aAAa,aAAa,CAAC,KAAK,UAAqC,UAAU,MAAS;AAAA,EAAA;AAAA,EAGxF,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAIC,QAAe,eAAA,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,MAAM,EAAE,MAAM,IAAIA,QAAAA,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAAA;AAAA,IAE5E;AAAA,EAAA;AAAA,EAGO,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IAAA;AAER,UAAM,cAAc,KAAK,kBAAkB,yBAAyB,UAAU;AAC9E,QAAI,CAAC,aAAa;AACV,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAIA,QAAe,eAAA,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,IAAI;AAAA,UACH,MAAM,IAAIA,QAAAA,eAAe,WAAW;AAAA,QACrC;AAAA,QACA,MAAM,EAAE,MAAM,IAAIA,QAAAA,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAAA;AAAA,IAE5E;AAAA,EAAA;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationQueriesProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/ValidationQueriesProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLNonNull } from 'graphql'\nimport { Context } from '../types'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { Input, Model } from '@contember/schema'\nimport { filterObject } from '../utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<Context, any, TArgs>\n\nexport class ValidationQueriesProvider {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst validations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tvalidations[`validateCreate${entityName}`] = this.getValidateCreateQuery(entity)\n\t\tvalidations[`validateUpdate${entityName}`] = this.getValidateUpdateQuery(entity)\n\n\t\treturn filterObject(validations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprivate getValidateCreateQuery(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateCreate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n\n\tprivate getValidateUpdateQuery(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateUpdate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,0BAA0B;AAAA,EACtC,YACkB,mBACA,2BACA,2BACA,0BAChB;AAJgB,SAAA,oBAAA;AACA,SAAA,4BAAA;AACA,SAAA,4BAAA;AACA,SAAA,2BAAA;AAAA,EACf;AAAA,EAEI,WAAW,QAAiE;AAClF,UAAM,aAAa,OAAO;AAC1B,UAAM,cAAqE,CAAA;AAC3E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAC/E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAE/E,WAAO,aAAa,aAAa,CAAC,KAAK,UAAqC,UAAU,MAAS;AAAA,EAChG;AAAA,EAEQ,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IACR;AACO,WAAA;AAAA,MACN,MAAM,IAAI,eAAe,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,MAAM,EAAE,MAAM,IAAI,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAC1E;AAAA,IAAA;AAAA,EAEH;AAAA,EAEQ,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IACR;AACA,UAAM,cAAc,KAAK,kBAAkB,yBAAyB,UAAU;AAC9E,QAAI,CAAC,aAAa;AACV,aAAA;AAAA,IACR;AACO,WAAA;AAAA,MACN,MAAM,IAAI,eAAe,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,IAAI;AAAA,UACH,MAAM,IAAI,eAAe,WAAW;AAAA,QACrC;AAAA,QACA,MAAM,EAAE,MAAM,IAAI,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAC1E;AAAA,IAAA;AAAA,EAEH;AACD;"}
1
+ {"version":3,"file":"ValidationQueriesProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/ValidationQueriesProvider.ts"],"sourcesContent":["import { GraphQLFieldConfig, GraphQLNonNull } from 'graphql'\nimport { Context } from '../types'\nimport { WhereTypeProvider } from './WhereTypeProvider'\nimport { EntityInputProvider, EntityInputType } from './mutations'\nimport { Input, Model } from '@contember/schema'\nimport { filterObject } from '../utils'\nimport { ResultSchemaTypeProvider } from './ResultSchemaTypeProvider'\n\ntype FieldConfig<TArgs> = GraphQLFieldConfig<Context, any, TArgs>\n\nexport class ValidationQueriesProvider {\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly createEntityInputProvider: EntityInputProvider<EntityInputType.create>,\n\t\tprivate readonly updateEntityInputProvider: EntityInputProvider<EntityInputType.update>,\n\t\tprivate readonly resultSchemaTypeProvider: ResultSchemaTypeProvider,\n\t) {}\n\n\tpublic getQueries(entity: Model.Entity): { [fieldName: string]: FieldConfig<any> } {\n\t\tconst entityName = entity.name\n\t\tconst validations: { [fieldName: string]: FieldConfig<any> | undefined } = {}\n\t\tvalidations[`validateCreate${entityName}`] = this.getValidateCreateQuery(entity)\n\t\tvalidations[`validateUpdate${entityName}`] = this.getValidateUpdateQuery(entity)\n\n\t\treturn filterObject(validations, (key, value): value is FieldConfig<any> => value !== undefined)\n\t}\n\n\tprivate getValidateCreateQuery(entity: Model.Entity): FieldConfig<Input.CreateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.createEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateCreate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n\n\tprivate getValidateUpdateQuery(entity: Model.Entity): FieldConfig<Input.UpdateInput> | undefined {\n\t\tconst entityName = entity.name\n\t\tconst dataType = this.updateEntityInputProvider.getInput(entityName)\n\t\tif (dataType === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tconst uniqueWhere = this.whereTypeProvider.getEntityUniqueWhereType(entityName)\n\t\tif (!uniqueWhere) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn {\n\t\t\ttype: new GraphQLNonNull(this.resultSchemaTypeProvider.validationResultType),\n\t\t\targs: {\n\t\t\t\tby: {\n\t\t\t\t\ttype: new GraphQLNonNull(uniqueWhere),\n\t\t\t\t},\n\t\t\t\tdata: { type: new GraphQLNonNull(dataType) },\n\t\t\t},\n\t\t\tresolve: (parent, args, context: Context, info) =>\n\t\t\t\tcontext.timer(`GraphQL.query.${info.fieldName}`, () =>\n\t\t\t\t\tcontext.executionContainer.validationResolver.validateUpdate(entity, args),\n\t\t\t\t),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,0BAA0B;AAAA,EACtC,YACkB,mBACA,2BACA,2BACA,0BAChB;AAJgB,SAAA,oBAAA;AACA,SAAA,4BAAA;AACA,SAAA,4BAAA;AACA,SAAA,2BAAA;AAAA,EAAA;AAAA,EAGX,WAAW,QAAiE;AAClF,UAAM,aAAa,OAAO;AAC1B,UAAM,cAAqE,CAAC;AAC5E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAC/E,gBAAY,iBAAiB,UAAU,EAAE,IAAI,KAAK,uBAAuB,MAAM;AAE/E,WAAO,aAAa,aAAa,CAAC,KAAK,UAAqC,UAAU,MAAS;AAAA,EAAA;AAAA,EAGxF,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAI,eAAe,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,MAAM,EAAE,MAAM,IAAI,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAAA;AAAA,IAE5E;AAAA,EAAA;AAAA,EAGO,uBAAuB,QAAkE;AAChG,UAAM,aAAa,OAAO;AAC1B,UAAM,WAAW,KAAK,0BAA0B,SAAS,UAAU;AACnE,QAAI,aAAa,QAAW;AACpB,aAAA;AAAA,IAAA;AAER,UAAM,cAAc,KAAK,kBAAkB,yBAAyB,UAAU;AAC9E,QAAI,CAAC,aAAa;AACV,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,MAAM,IAAI,eAAe,KAAK,yBAAyB,oBAAoB;AAAA,MAC3E,MAAM;AAAA,QACL,IAAI;AAAA,UACH,MAAM,IAAI,eAAe,WAAW;AAAA,QACrC;AAAA,QACA,MAAM,EAAE,MAAM,IAAI,eAAe,QAAQ,EAAE;AAAA,MAC5C;AAAA,MACA,SAAS,CAAC,QAAQ,MAAM,SAAkB,SACzC,QAAQ;AAAA,QAAM,iBAAiB,KAAK,SAAS;AAAA,QAAI,MAChD,QAAQ,mBAAmB,mBAAmB,eAAe,QAAQ,IAAI;AAAA,MAAA;AAAA,IAE5E;AAAA,EAAA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WhereTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column) }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","Acl","ImplementationException","GraphQLInputObjectType","GqlTypeName","getEntity","getFieldsForUniqueWhere","acceptFieldVisitor","FieldAccessVisitor","capitalizeFirstLetter","GraphQLList"],"mappings":"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"}
1
+ {"version":3,"file":"WhereTypeProvider.cjs","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column) }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":["schema","singletonFactory","Acl","ImplementationException","GraphQLInputObjectType","GqlTypeName","getEntity","getFieldsForUniqueWhere","acceptFieldVisitor","FieldAccessVisitor","capitalizeFirstLetter","GraphQLList"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WhereTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column) }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhereTypeProvider.js","sources":["../../../../../packages/engine-content-api/src/schema/WhereTypeProvider.ts"],"sourcesContent":["import { Acl, Model } from '@contember/schema'\nimport { acceptFieldVisitor, getEntity } from '@contember/schema-utils'\nimport { GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { capitalizeFirstLetter, getFieldsForUniqueWhere, singletonFactory } from '../utils'\nimport { ColumnTypeResolver } from './ColumnTypeResolver'\nimport { ConditionTypeProvider } from './ConditionTypeProvider'\nimport { GqlTypeName } from './utils'\nimport { Authorizator } from '../acl'\nimport { FieldAccessVisitor } from './FieldAccessVisitor'\nimport { ImplementationException } from '../exception'\n\nexport class WhereTypeProvider {\n\tprivate whereSingleton = singletonFactory(name => this.createEntityWhereType(name))\n\tprivate uniqueWhereSingleton = singletonFactory(name => this.createEntityUniqueWhereType(name))\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly authorizator: Authorizator,\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly conditionTypeProvider: ConditionTypeProvider,\n\t) {}\n\n\tpublic getEntityWhereType(entityName: string): GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\treturn this.whereSingleton(entityName)\n\t}\n\n\tpublic getEntityUniqueWhereType(entityName: string): undefined | GraphQLInputObjectType {\n\t\tif (this.authorizator.getEntityPermission(Acl.Operation.read, entityName) === 'no') {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.uniqueWhereSingleton(entityName)\n\t}\n\n\tprivate createEntityWhereType(entityName: string) {\n\t\tconst where: GraphQLInputObjectType = new GraphQLInputObjectType({\n\t\t\tname: GqlTypeName`${entityName}Where`,\n\t\t\tfields: () => this.getEntityWhereFields(entityName, where),\n\t\t})\n\n\t\treturn where\n\t}\n\n\tprivate createEntityUniqueWhereType(entityName: string, withoutRelation?: string) {\n\t\tconst entity = getEntity(this.schema, entityName)\n\n\t\tconst combinations: string[] = []\n\n\t\tconst possibleUniqueWhereFields = getFieldsForUniqueWhere(this.schema, entity)\n\t\tconst uniqueKeys: (readonly string[])[] = possibleUniqueWhereFields.filter(uniqueKey =>\n\t\t\tuniqueKey.every(it =>\n\t\t\t\tacceptFieldVisitor(this.schema, entityName, it, new FieldAccessVisitor(Acl.Operation.read, this.authorizator)),\n\t\t\t),\n\t\t)\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tcombinations.push(uniqueKey.join(', '))\n\t\t}\n\n\t\treturn new GraphQLInputObjectType({\n\t\t\tname: capitalizeFirstLetter(entityName) + 'UniqueWhere',\n\t\t\t// description: `Valid combinations are: (${combinations.join('), (')})`, generates invalid schema file\n\t\t\tfields: () => this.getUniqueWhereFields(entity, uniqueKeys),\n\t\t})\n\t}\n\n\tpublic getUniqueWhereFields(entity: Model.Entity, uniqueKeys: (readonly string[])[]) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tfor (const uniqueKey of uniqueKeys) {\n\t\t\tfor (const field of uniqueKey) {\n\t\t\t\tif (fields[field] !== undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfields[field] = acceptFieldVisitor<GraphQLInputFieldConfig>(this.schema, entity, field, {\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => {\n\t\t\t\t\t\t// if (!isIt<Model.JoiningColumnRelation>(relation, 'joiningColumn')) {\n\t\t\t\t\t\t// \tthrow new Error('Only column or owning relation can be a part of unique key')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tconst uniqueWhere = this.getEntityUniqueWhereType(targetEntity.name)\n\t\t\t\t\t\tif (!uniqueWhere) {\n\t\t\t\t\t\t\tthrow new ImplementationException()\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { type: uniqueWhere }\n\t\t\t\t\t},\n\t\t\t\t\tvisitColumn: ({ column }) => ({ type: this.columnTypeResolver.getType(column) }),\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn fields\n\t}\n\n\tprivate getEntityWhereFields(name: string, where: GraphQLInputObjectType) {\n\t\tconst fields: GraphQLInputFieldConfigMap = {}\n\t\tconst entity = this.schema.entities[name]\n\n\t\tfor (const fieldName in entity.fields) {\n\t\t\tif (!entity.fields.hasOwnProperty(fieldName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst accessVisitor = new FieldAccessVisitor(Acl.Operation.read, this.authorizator)\n\t\t\tif (!acceptFieldVisitor(this.schema, name, fieldName, accessVisitor)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfields[fieldName] = acceptFieldVisitor(this.schema, name, fieldName, {\n\t\t\t\tvisitColumn: ({ column }) => ({ type: this.conditionTypeProvider.getCondition(column) }),\n\t\t\t\tvisitRelation: ({ relation }) => ({ type: this.getEntityWhereType(relation.target) }),\n\t\t\t} as Model.FieldVisitor<GraphQLInputFieldConfig>)\n\t\t}\n\n\t\tfields.and = { type: new GraphQLList(where) }\n\t\tfields.or = { type: new GraphQLList(where) }\n\t\tfields.not = { type: where }\n\n\t\treturn fields\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FieldArgsVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldArgsVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from '../WhereTypeProvider'\nimport { GraphQLFieldConfigArgumentMap, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { OrderByTypeProvider } from '../OrderByTypeProvider'\n\nexport class FieldArgsVisitor implements\n\tModel.ColumnVisitor<GraphQLFieldConfigArgumentMap | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLFieldConfigArgumentMap | undefined> {\n\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t) {\n\t\tthis.whereTypeProvider = whereTypeProvider\n\t}\n\n\tpublic visitColumn() {\n\t\treturn undefined\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\tconst orderBy = this.getOrderByArgs(relation)\n\t\treturn {\n\t\t\tfilter,\n\t\t\torderBy,\n\t\t\toffset: { type: GraphQLInt },\n\t\t\tlimit: { type: GraphQLInt },\n\t\t}\n\t}\n\n\tpublic visitHasOne({ relation }: Model.ManyHasOneContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\treturn { filter }\n\t}\n\n\tprivate getWhereArg(relation: Model.Relation) {\n\t\treturn { type: this.whereTypeProvider.getEntityWhereType(relation.target) }\n\t}\n\n\tprivate getOrderByArgs(relation: Model.Relation) {\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(relation.target))),\n\t\t}\n\t}\n}\n"],"names":["GraphQLInt","GraphQLList","GraphQLNonNull"],"mappings":";;;AAKO,MAAM,iBAEkE;AAAA,EAE9E,YACkB,mBACA,qBAChB;AAFgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AAEjB,SAAK,oBAAoB;AAAA,EAC1B;AAAA,EAEO,cAAc;AACb,WAAA;AAAA,EACR;AAAA,EAEO,aAAa,EAAE,YAA6C;AAC5D,UAAA,SAAS,KAAK,YAAY,QAAQ;AAClC,UAAA,UAAU,KAAK,eAAe,QAAQ;AACrC,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,EAAE,MAAMA,mBAAW;AAAA,MAC3B,OAAO,EAAE,MAAMA,mBAAW;AAAA,IAAA;AAAA,EAE5B;AAAA,EAEO,YAAY,EAAE,YAAqC;AACnD,UAAA,SAAS,KAAK,YAAY,QAAQ;AACxC,WAAO,EAAE,OAAO;AAAA,EACjB;AAAA,EAEQ,YAAY,UAA0B;AAC7C,WAAO,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,SAAS,MAAM;EACzE;AAAA,EAEQ,eAAe,UAA0B;AACzC,WAAA;AAAA,MACN,MAAM,IAAIC,oBAAY,IAAIC,uBAAe,KAAK,oBAAoB,qBAAqB,SAAS,MAAM,CAAC,CAAC;AAAA,IAAA;AAAA,EAE1G;AACD;;"}
1
+ {"version":3,"file":"FieldArgsVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldArgsVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from '../WhereTypeProvider'\nimport { GraphQLFieldConfigArgumentMap, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { OrderByTypeProvider } from '../OrderByTypeProvider'\n\nexport class FieldArgsVisitor implements\n\tModel.ColumnVisitor<GraphQLFieldConfigArgumentMap | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLFieldConfigArgumentMap | undefined> {\n\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t) {\n\t\tthis.whereTypeProvider = whereTypeProvider\n\t}\n\n\tpublic visitColumn() {\n\t\treturn undefined\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\tconst orderBy = this.getOrderByArgs(relation)\n\t\treturn {\n\t\t\tfilter,\n\t\t\torderBy,\n\t\t\toffset: { type: GraphQLInt },\n\t\t\tlimit: { type: GraphQLInt },\n\t\t}\n\t}\n\n\tpublic visitHasOne({ relation }: Model.ManyHasOneContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\treturn { filter }\n\t}\n\n\tprivate getWhereArg(relation: Model.Relation) {\n\t\treturn { type: this.whereTypeProvider.getEntityWhereType(relation.target) }\n\t}\n\n\tprivate getOrderByArgs(relation: Model.Relation) {\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(relation.target))),\n\t\t}\n\t}\n}\n"],"names":["GraphQLInt","GraphQLList","GraphQLNonNull"],"mappings":";;;AAKO,MAAM,iBAEkE;AAAA,EAE9E,YACkB,mBACA,qBAChB;AAFgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AAEjB,SAAK,oBAAoB;AAAA,EAAA;AAAA,EAGnB,cAAc;AACb,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa,EAAE,YAA6C;AAC5D,UAAA,SAAS,KAAK,YAAY,QAAQ;AAClC,UAAA,UAAU,KAAK,eAAe,QAAQ;AACrC,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,EAAE,MAAMA,mBAAW;AAAA,MAC3B,OAAO,EAAE,MAAMA,QAAW,WAAA;AAAA,IAC3B;AAAA,EAAA;AAAA,EAGM,YAAY,EAAE,YAAqC;AACnD,UAAA,SAAS,KAAK,YAAY,QAAQ;AACxC,WAAO,EAAE,OAAO;AAAA,EAAA;AAAA,EAGT,YAAY,UAA0B;AAC7C,WAAO,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,SAAS,MAAM,EAAE;AAAA,EAAA;AAAA,EAGnE,eAAe,UAA0B;AACzC,WAAA;AAAA,MACN,MAAM,IAAIC,oBAAY,IAAIC,uBAAe,KAAK,oBAAoB,qBAAqB,SAAS,MAAM,CAAC,CAAC;AAAA,IACzG;AAAA,EAAA;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FieldArgsVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldArgsVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from '../WhereTypeProvider'\nimport { GraphQLFieldConfigArgumentMap, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { OrderByTypeProvider } from '../OrderByTypeProvider'\n\nexport class FieldArgsVisitor implements\n\tModel.ColumnVisitor<GraphQLFieldConfigArgumentMap | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLFieldConfigArgumentMap | undefined> {\n\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t) {\n\t\tthis.whereTypeProvider = whereTypeProvider\n\t}\n\n\tpublic visitColumn() {\n\t\treturn undefined\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\tconst orderBy = this.getOrderByArgs(relation)\n\t\treturn {\n\t\t\tfilter,\n\t\t\torderBy,\n\t\t\toffset: { type: GraphQLInt },\n\t\t\tlimit: { type: GraphQLInt },\n\t\t}\n\t}\n\n\tpublic visitHasOne({ relation }: Model.ManyHasOneContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\treturn { filter }\n\t}\n\n\tprivate getWhereArg(relation: Model.Relation) {\n\t\treturn { type: this.whereTypeProvider.getEntityWhereType(relation.target) }\n\t}\n\n\tprivate getOrderByArgs(relation: Model.Relation) {\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(relation.target))),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAKO,MAAM,iBAEkE;AAAA,EAE9E,YACkB,mBACA,qBAChB;AAFgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AAEjB,SAAK,oBAAoB;AAAA,EAC1B;AAAA,EAEO,cAAc;AACb,WAAA;AAAA,EACR;AAAA,EAEO,aAAa,EAAE,YAA6C;AAC5D,UAAA,SAAS,KAAK,YAAY,QAAQ;AAClC,UAAA,UAAU,KAAK,eAAe,QAAQ;AACrC,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,EAAE,MAAM,WAAW;AAAA,MAC3B,OAAO,EAAE,MAAM,WAAW;AAAA,IAAA;AAAA,EAE5B;AAAA,EAEO,YAAY,EAAE,YAAqC;AACnD,UAAA,SAAS,KAAK,YAAY,QAAQ;AACxC,WAAO,EAAE,OAAO;AAAA,EACjB;AAAA,EAEQ,YAAY,UAA0B;AAC7C,WAAO,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,SAAS,MAAM;EACzE;AAAA,EAEQ,eAAe,UAA0B;AACzC,WAAA;AAAA,MACN,MAAM,IAAI,YAAY,IAAI,eAAe,KAAK,oBAAoB,qBAAqB,SAAS,MAAM,CAAC,CAAC;AAAA,IAAA;AAAA,EAE1G;AACD;"}
1
+ {"version":3,"file":"FieldArgsVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldArgsVisitor.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { WhereTypeProvider } from '../WhereTypeProvider'\nimport { GraphQLFieldConfigArgumentMap, GraphQLInt, GraphQLList, GraphQLNonNull } from 'graphql'\nimport { OrderByTypeProvider } from '../OrderByTypeProvider'\n\nexport class FieldArgsVisitor implements\n\tModel.ColumnVisitor<GraphQLFieldConfigArgumentMap | undefined>,\n\tModel.RelationByGenericTypeVisitor<GraphQLFieldConfigArgumentMap | undefined> {\n\n\tconstructor(\n\t\tprivate readonly whereTypeProvider: WhereTypeProvider,\n\t\tprivate readonly orderByTypeProvider: OrderByTypeProvider,\n\t) {\n\t\tthis.whereTypeProvider = whereTypeProvider\n\t}\n\n\tpublic visitColumn() {\n\t\treturn undefined\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\tconst orderBy = this.getOrderByArgs(relation)\n\t\treturn {\n\t\t\tfilter,\n\t\t\torderBy,\n\t\t\toffset: { type: GraphQLInt },\n\t\t\tlimit: { type: GraphQLInt },\n\t\t}\n\t}\n\n\tpublic visitHasOne({ relation }: Model.ManyHasOneContext) {\n\t\tconst filter = this.getWhereArg(relation)\n\t\treturn { filter }\n\t}\n\n\tprivate getWhereArg(relation: Model.Relation) {\n\t\treturn { type: this.whereTypeProvider.getEntityWhereType(relation.target) }\n\t}\n\n\tprivate getOrderByArgs(relation: Model.Relation) {\n\t\treturn {\n\t\t\ttype: new GraphQLList(new GraphQLNonNull(this.orderByTypeProvider.getEntityOrderByType(relation.target))),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAKO,MAAM,iBAEkE;AAAA,EAE9E,YACkB,mBACA,qBAChB;AAFgB,SAAA,oBAAA;AACA,SAAA,sBAAA;AAEjB,SAAK,oBAAoB;AAAA,EAAA;AAAA,EAGnB,cAAc;AACb,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa,EAAE,YAA6C;AAC5D,UAAA,SAAS,KAAK,YAAY,QAAQ;AAClC,UAAA,UAAU,KAAK,eAAe,QAAQ;AACrC,WAAA;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,EAAE,MAAM,WAAW;AAAA,MAC3B,OAAO,EAAE,MAAM,WAAW;AAAA,IAC3B;AAAA,EAAA;AAAA,EAGM,YAAY,EAAE,YAAqC;AACnD,UAAA,SAAS,KAAK,YAAY,QAAQ;AACxC,WAAO,EAAE,OAAO;AAAA,EAAA;AAAA,EAGT,YAAY,UAA0B;AAC7C,WAAO,EAAE,MAAM,KAAK,kBAAkB,mBAAmB,SAAS,MAAM,EAAE;AAAA,EAAA;AAAA,EAGnE,eAAe,UAA0B;AACzC,WAAA;AAAA,MACN,MAAM,IAAI,YAAY,IAAI,eAAe,KAAK,oBAAoB,qBAAqB,SAAS,MAAM,CAAC,CAAC;AAAA,IACzG;AAAA,EAAA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FieldTypeVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst basicType = this.columnTypeResolver.getType(column)\n\t\tconst fieldPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, column.name)\n\t\tconst idPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, entity.primary)\n\t\tif (!fieldPredicate || !idPredicate) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\tif (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {\n\t\t\treturn new GraphQLNonNull(basicType)\n\t\t}\n\t\treturn basicType\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext): GraphQLOutputType {\n\t\tconst entityType = this.entityTypeProvider.getEntity(relation.target)\n\t\treturn new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType)))\n\t}\n\n\tpublic visitHasOne({ relation }: Model.AnyHasOneRelationContext): GraphQLOutputType {\n\t\treturn this.entityTypeProvider.getEntity(relation.target)\n\t}\n}\n"],"names":["Acl","ImplementationException","GraphQLNonNull","GraphQLList"],"mappings":";;;;;AAOO,MAAM,iBAA0H;AAAA,EACtI,YACkB,oBACA,oBACA,cAChB;AAHgB,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AAAA,EAElB;AAAA,EAEO,YAAY,EAAE,QAAQ,UAAkD;AAC9E,UAAM,YAAY,KAAK,mBAAmB,QAAQ,MAAM;AAClD,UAAA,iBAAiB,KAAK,aAAa,kBAAkBA,OAAA,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,IAAI;AACjG,UAAA,cAAc,KAAK,aAAa,kBAAkBA,OAAA,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,OAAO;AACnG,QAAA,CAAC,kBAAkB,CAAC,aAAa;AACpC,YAAM,IAAIC,UAAwB,wBAAA;AAAA,IACnC;AACA,QAAI,CAAC,OAAO,aAAa,mBAAmB,QAAQ,mBAAmB,cAAc;AAC7E,aAAA,IAAIC,QAAAA,eAAe,SAAS;AAAA,IACpC;AACO,WAAA;AAAA,EACR;AAAA,EAEO,aAAa,EAAE,YAAgE;AACrF,UAAM,aAAa,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAC7D,WAAA,IAAIA,uBAAe,IAAIC,QAAA,YAAY,IAAID,QAAAA,eAAe,UAAU,CAAC,CAAC;AAAA,EAC1E;AAAA,EAEO,YAAY,EAAE,YAA+D;AACnF,WAAO,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAAA,EACzD;AACD;;"}
1
+ {"version":3,"file":"FieldTypeVisitor.cjs","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst basicType = this.columnTypeResolver.getType(column)\n\t\tconst fieldPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, column.name)\n\t\tconst idPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, entity.primary)\n\t\tif (!fieldPredicate || !idPredicate) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\tif (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {\n\t\t\treturn new GraphQLNonNull(basicType)\n\t\t}\n\t\treturn basicType\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext): GraphQLOutputType {\n\t\tconst entityType = this.entityTypeProvider.getEntity(relation.target)\n\t\treturn new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType)))\n\t}\n\n\tpublic visitHasOne({ relation }: Model.AnyHasOneRelationContext): GraphQLOutputType {\n\t\treturn this.entityTypeProvider.getEntity(relation.target)\n\t}\n}\n"],"names":["Acl","ImplementationException","GraphQLNonNull","GraphQLList"],"mappings":";;;;;AAOO,MAAM,iBAA0H;AAAA,EACtI,YACkB,oBACA,oBACA,cAChB;AAHgB,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAIX,YAAY,EAAE,QAAQ,UAAkD;AAC9E,UAAM,YAAY,KAAK,mBAAmB,QAAQ,MAAM;AAClD,UAAA,iBAAiB,KAAK,aAAa,kBAAkBA,OAAA,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,IAAI;AACjG,UAAA,cAAc,KAAK,aAAa,kBAAkBA,OAAA,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,OAAO;AACnG,QAAA,CAAC,kBAAkB,CAAC,aAAa;AACpC,YAAM,IAAIC,UAAAA,wBAAwB;AAAA,IAAA;AAEnC,QAAI,CAAC,OAAO,aAAa,mBAAmB,QAAQ,mBAAmB,cAAc;AAC7E,aAAA,IAAIC,uBAAe,SAAS;AAAA,IAAA;AAE7B,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa,EAAE,YAAgE;AACrF,UAAM,aAAa,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAC7D,WAAA,IAAIA,uBAAe,IAAIC,QAAAA,YAAY,IAAID,QAAe,eAAA,UAAU,CAAC,CAAC;AAAA,EAAA;AAAA,EAGnE,YAAY,EAAE,YAA+D;AACnF,WAAO,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAAA,EAAA;AAE1D;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FieldTypeVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst basicType = this.columnTypeResolver.getType(column)\n\t\tconst fieldPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, column.name)\n\t\tconst idPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, entity.primary)\n\t\tif (!fieldPredicate || !idPredicate) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\tif (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {\n\t\t\treturn new GraphQLNonNull(basicType)\n\t\t}\n\t\treturn basicType\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext): GraphQLOutputType {\n\t\tconst entityType = this.entityTypeProvider.getEntity(relation.target)\n\t\treturn new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType)))\n\t}\n\n\tpublic visitHasOne({ relation }: Model.AnyHasOneRelationContext): GraphQLOutputType {\n\t\treturn this.entityTypeProvider.getEntity(relation.target)\n\t}\n}\n"],"names":[],"mappings":";;;AAOO,MAAM,iBAA0H;AAAA,EACtI,YACkB,oBACA,oBACA,cAChB;AAHgB,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AAAA,EAElB;AAAA,EAEO,YAAY,EAAE,QAAQ,UAAkD;AAC9E,UAAM,YAAY,KAAK,mBAAmB,QAAQ,MAAM;AAClD,UAAA,iBAAiB,KAAK,aAAa,kBAAkB,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,IAAI;AACjG,UAAA,cAAc,KAAK,aAAa,kBAAkB,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,OAAO;AACnG,QAAA,CAAC,kBAAkB,CAAC,aAAa;AACpC,YAAM,IAAI,wBAAwB;AAAA,IACnC;AACA,QAAI,CAAC,OAAO,aAAa,mBAAmB,QAAQ,mBAAmB,cAAc;AAC7E,aAAA,IAAI,eAAe,SAAS;AAAA,IACpC;AACO,WAAA;AAAA,EACR;AAAA,EAEO,aAAa,EAAE,YAAgE;AACrF,UAAM,aAAa,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAC7D,WAAA,IAAI,eAAe,IAAI,YAAY,IAAI,eAAe,UAAU,CAAC,CAAC;AAAA,EAC1E;AAAA,EAEO,YAAY,EAAE,YAA+D;AACnF,WAAO,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAAA,EACzD;AACD;"}
1
+ {"version":3,"file":"FieldTypeVisitor.js","sources":["../../../../../../packages/engine-content-api/src/schema/entities/FieldTypeVisitor.ts"],"sourcesContent":["import { GraphQLList, GraphQLNonNull, GraphQLOutputType } from 'graphql'\nimport { Acl, Model } from '@contember/schema'\nimport { ColumnTypeResolver } from '../ColumnTypeResolver'\nimport { EntityTypeProvider } from '../EntityTypeProvider'\nimport { Authorizator } from '../../acl'\nimport { ImplementationException } from '../../exception'\n\nexport class FieldTypeVisitor implements Model.ColumnVisitor<GraphQLOutputType>, Model.RelationByGenericTypeVisitor<GraphQLOutputType> {\n\tconstructor(\n\t\tprivate readonly columnTypeResolver: ColumnTypeResolver,\n\t\tprivate readonly entityTypeProvider: EntityTypeProvider,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {\n\t}\n\n\tpublic visitColumn({ column, entity }: Model.ColumnContext): GraphQLOutputType {\n\t\tconst basicType = this.columnTypeResolver.getType(column)\n\t\tconst fieldPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, column.name)\n\t\tconst idPredicate = this.authorizator.getFieldPredicate(Acl.Operation.read, entity.name, entity.primary)\n\t\tif (!fieldPredicate || !idPredicate) {\n\t\t\tthrow new ImplementationException()\n\t\t}\n\t\tif (!column.nullable && (fieldPredicate === true || fieldPredicate === idPredicate)) {\n\t\t\treturn new GraphQLNonNull(basicType)\n\t\t}\n\t\treturn basicType\n\t}\n\n\tpublic visitHasMany({ relation }: Model.AnyHasManyRelationContext): GraphQLOutputType {\n\t\tconst entityType = this.entityTypeProvider.getEntity(relation.target)\n\t\treturn new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(entityType)))\n\t}\n\n\tpublic visitHasOne({ relation }: Model.AnyHasOneRelationContext): GraphQLOutputType {\n\t\treturn this.entityTypeProvider.getEntity(relation.target)\n\t}\n}\n"],"names":[],"mappings":";;;AAOO,MAAM,iBAA0H;AAAA,EACtI,YACkB,oBACA,oBACA,cAChB;AAHgB,SAAA,qBAAA;AACA,SAAA,qBAAA;AACA,SAAA,eAAA;AAAA,EAAA;AAAA,EAIX,YAAY,EAAE,QAAQ,UAAkD;AAC9E,UAAM,YAAY,KAAK,mBAAmB,QAAQ,MAAM;AAClD,UAAA,iBAAiB,KAAK,aAAa,kBAAkB,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,IAAI;AACjG,UAAA,cAAc,KAAK,aAAa,kBAAkB,IAAI,UAAU,MAAM,OAAO,MAAM,OAAO,OAAO;AACnG,QAAA,CAAC,kBAAkB,CAAC,aAAa;AACpC,YAAM,IAAI,wBAAwB;AAAA,IAAA;AAEnC,QAAI,CAAC,OAAO,aAAa,mBAAmB,QAAQ,mBAAmB,cAAc;AAC7E,aAAA,IAAI,eAAe,SAAS;AAAA,IAAA;AAE7B,WAAA;AAAA,EAAA;AAAA,EAGD,aAAa,EAAE,YAAgE;AACrF,UAAM,aAAa,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAC7D,WAAA,IAAI,eAAe,IAAI,YAAY,IAAI,eAAe,UAAU,CAAC,CAAC;AAAA,EAAA;AAAA,EAGnE,YAAY,EAAE,YAA+D;AACnF,WAAO,KAAK,mBAAmB,UAAU,SAAS,MAAM;AAAA,EAAA;AAE1D;"}