@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.
- package/dist/development/src/ExecutionContainer.cjs.map +1 -1
- package/dist/development/src/ExecutionContainer.js.map +1 -1
- package/dist/development/src/acl/Authorizator.cjs.map +1 -1
- package/dist/development/src/acl/Authorizator.js.map +1 -1
- package/dist/development/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
- package/dist/development/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
- package/dist/development/src/acl/PermissionFactory.cjs.map +1 -1
- package/dist/development/src/acl/PermissionFactory.js.map +1 -1
- package/dist/development/src/acl/PredicateFactory.cjs.map +1 -1
- package/dist/development/src/acl/PredicateFactory.js.map +1 -1
- package/dist/development/src/acl/PredicatesInjector.cjs.map +1 -1
- package/dist/development/src/acl/PredicatesInjector.js.map +1 -1
- package/dist/development/src/acl/VariableInjector.cjs.map +1 -1
- package/dist/development/src/acl/VariableInjector.js.map +1 -1
- package/dist/development/src/acl/VariableUtils.cjs.map +1 -1
- package/dist/development/src/acl/VariableUtils.js.map +1 -1
- package/dist/development/src/exception.cjs.map +1 -1
- package/dist/development/src/exception.js.map +1 -1
- package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
- package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
- package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
- package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
- package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
- package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
- package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
- package/dist/development/src/input-validation/ColumnValueResolver.cjs.map +1 -1
- package/dist/development/src/input-validation/ColumnValueResolver.js.map +1 -1
- package/dist/development/src/input-validation/EntityRulesResolver.cjs.map +1 -1
- package/dist/development/src/input-validation/EntityRulesResolver.js.map +1 -1
- package/dist/development/src/input-validation/QueryAstFactory.cjs.map +1 -1
- package/dist/development/src/input-validation/QueryAstFactory.js.map +1 -1
- package/dist/development/src/input-validation/ValidationContext.cjs.map +1 -1
- package/dist/development/src/input-validation/ValidationContext.js.map +1 -1
- package/dist/development/src/input-validation/ValidationDataSelector.cjs.map +1 -1
- package/dist/development/src/input-validation/ValidationDataSelector.js.map +1 -1
- package/dist/development/src/input-validation/ValidationEvaluation.cjs.map +1 -1
- package/dist/development/src/input-validation/ValidationEvaluation.js.map +1 -1
- package/dist/development/src/input-validation/ValidationPath.cjs.map +1 -1
- package/dist/development/src/input-validation/ValidationPath.js.map +1 -1
- package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
- package/dist/development/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
- package/dist/development/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
- package/dist/development/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
- package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
- package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
- package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
- package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
- package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
- package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
- package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
- package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -1
- package/dist/development/src/inputProcessing/FieldNode.cjs.map +1 -1
- package/dist/development/src/inputProcessing/FieldNode.js.map +1 -1
- package/dist/development/src/inputProcessing/ObjectNode.cjs.map +1 -1
- package/dist/development/src/inputProcessing/ObjectNode.js.map +1 -1
- package/dist/development/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
- package/dist/development/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
- package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
- package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
- package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
- package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
- package/dist/development/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
- package/dist/development/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
- package/dist/development/src/introspection/introspection.schema.cjs.map +1 -1
- package/dist/development/src/introspection/introspection.schema.js.map +1 -1
- package/dist/development/src/mapper/CheckedPrimary.cjs.map +1 -1
- package/dist/development/src/mapper/CheckedPrimary.js.map +1 -1
- package/dist/development/src/mapper/ColumnValue.cjs.map +1 -1
- package/dist/development/src/mapper/ColumnValue.js.map +1 -1
- package/dist/development/src/mapper/ErrorUtils.cjs.map +1 -1
- package/dist/development/src/mapper/ErrorUtils.js.map +1 -1
- package/dist/development/src/mapper/EventManager.cjs.map +1 -1
- package/dist/development/src/mapper/EventManager.js.map +1 -1
- package/dist/development/src/mapper/JunctionTableManager.cjs.map +1 -1
- package/dist/development/src/mapper/JunctionTableManager.js.map +1 -1
- package/dist/development/src/mapper/Mapper.cjs.map +1 -1
- package/dist/development/src/mapper/Mapper.js.map +1 -1
- package/dist/development/src/mapper/MapperFactory.cjs.map +1 -1
- package/dist/development/src/mapper/MapperFactory.js.map +1 -1
- package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -1
- package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -1
- package/dist/development/src/mapper/Result.cjs.map +1 -1
- package/dist/development/src/mapper/Result.js.map +1 -1
- package/dist/development/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
- package/dist/development/src/mapper/delete/DeleteExecutor.js.map +1 -1
- package/dist/development/src/mapper/delete/DeleteState.cjs.map +1 -1
- package/dist/development/src/mapper/delete/DeleteState.js.map +1 -1
- package/dist/development/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
- package/dist/development/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
- package/dist/development/src/mapper/delete/helpers.cjs.map +1 -1
- package/dist/development/src/mapper/delete/helpers.js.map +1 -1
- package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -1
- package/dist/development/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
- package/dist/development/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
- package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
- package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/select/ConditionBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/select/ConditionBuilder.js.map +1 -1
- package/dist/development/src/mapper/select/JoinBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/select/JoinBuilder.js.map +1 -1
- package/dist/development/src/mapper/select/JoinVisitor.cjs.map +1 -1
- package/dist/development/src/mapper/select/JoinVisitor.js.map +1 -1
- package/dist/development/src/mapper/select/OrderByBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/select/OrderByBuilder.js.map +1 -1
- package/dist/development/src/mapper/select/OrderByHelper.cjs.map +1 -1
- package/dist/development/src/mapper/select/OrderByHelper.js.map +1 -1
- package/dist/development/src/mapper/select/Path.cjs.map +1 -1
- package/dist/development/src/mapper/select/Path.js.map +1 -1
- package/dist/development/src/mapper/select/RelationFetcher.cjs.map +1 -1
- package/dist/development/src/mapper/select/RelationFetcher.js.map +1 -1
- package/dist/development/src/mapper/select/SelectBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/select/SelectBuilder.js.map +1 -1
- package/dist/development/src/mapper/select/SelectHydrator.cjs.map +1 -1
- package/dist/development/src/mapper/select/SelectHydrator.js.map +1 -1
- package/dist/development/src/mapper/select/WhereBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/select/WhereBuilder.js.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
- package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
- package/dist/development/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
- package/dist/development/src/mapper/select/handlers/MetaHandler.js.map +1 -1
- package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
- package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
- package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
- package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
- package/dist/development/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -1
- package/dist/development/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
- package/dist/development/src/mapper/select/optimizer/helpers.cjs.map +1 -1
- package/dist/development/src/mapper/select/optimizer/helpers.js.map +1 -1
- package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/development/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
- package/dist/development/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
- package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
- package/dist/development/src/mapper/update/Updater.js.map +1 -1
- package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -1
- package/dist/development/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
- package/dist/development/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
- package/dist/development/src/resolvers/MutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/ReadHelpers.cjs.map +1 -1
- package/dist/development/src/resolvers/ReadHelpers.js.map +1 -1
- package/dist/development/src/resolvers/ReadResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/ReadResolver.js.map +1 -1
- package/dist/development/src/resolvers/ValidationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/ValidationResolver.js.map +1 -1
- package/dist/development/src/schema/ColumnTypeResolver.cjs.map +1 -1
- package/dist/development/src/schema/ColumnTypeResolver.js.map +1 -1
- package/dist/development/src/schema/ConditionTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/ConditionTypeProvider.js.map +1 -1
- package/dist/development/src/schema/CustomTypesProvider.cjs.map +1 -1
- package/dist/development/src/schema/CustomTypesProvider.js.map +1 -1
- package/dist/development/src/schema/EntityTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/EntityTypeProvider.js.map +1 -1
- package/dist/development/src/schema/EnumsProvider.cjs.map +1 -1
- package/dist/development/src/schema/EnumsProvider.js.map +1 -1
- package/dist/development/src/schema/FieldAccessVisitor.cjs.map +1 -1
- package/dist/development/src/schema/FieldAccessVisitor.js.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilder.js.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
- package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
- package/dist/development/src/schema/MutationProvider.cjs.map +1 -1
- package/dist/development/src/schema/MutationProvider.js.map +1 -1
- package/dist/development/src/schema/OperationExtension.cjs.map +1 -1
- package/dist/development/src/schema/OperationExtension.js.map +1 -1
- package/dist/development/src/schema/OrderByTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/OrderByTypeProvider.js.map +1 -1
- package/dist/development/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -1
- package/dist/development/src/schema/PaginatedFieldConfigFactory.js.map +1 -1
- package/dist/development/src/schema/QueryProvider.cjs.map +1 -1
- package/dist/development/src/schema/QueryProvider.js.map +1 -1
- package/dist/development/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/ResultSchemaTypeProvider.js.map +1 -1
- package/dist/development/src/schema/ValidationQueriesProvider.cjs.map +1 -1
- package/dist/development/src/schema/ValidationQueriesProvider.js.map +1 -1
- package/dist/development/src/schema/WhereTypeProvider.cjs.map +1 -1
- package/dist/development/src/schema/WhereTypeProvider.js.map +1 -1
- package/dist/development/src/schema/entities/FieldArgsVisitor.cjs.map +1 -1
- package/dist/development/src/schema/entities/FieldArgsVisitor.js.map +1 -1
- package/dist/development/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
- package/dist/development/src/schema/entities/FieldTypeVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -1
- package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -1
- package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
- package/dist/development/src/schema/mutations/EntityInputProvider.cjs.map +1 -1
- package/dist/development/src/schema/mutations/EntityInputProvider.js.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
- package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
- package/dist/development/src/schema/utils.cjs.map +1 -1
- package/dist/development/src/schema/utils.js.map +1 -1
- package/dist/development/src/utils/Mutex.cjs.map +1 -1
- package/dist/development/src/utils/Mutex.js.map +1 -1
- package/dist/development/src/utils/ResolveInfoUtils.cjs.map +1 -1
- package/dist/development/src/utils/ResolveInfoUtils.js.map +1 -1
- package/dist/development/src/utils/accessor.cjs.map +1 -1
- package/dist/development/src/utils/accessor.js.map +1 -1
- package/dist/development/src/utils/isIt.cjs.map +1 -1
- package/dist/development/src/utils/isIt.js.map +1 -1
- package/dist/development/src/utils/object.cjs.map +1 -1
- package/dist/development/src/utils/object.js.map +1 -1
- package/dist/development/src/utils/paginationUtils.cjs.map +1 -1
- package/dist/development/src/utils/paginationUtils.js.map +1 -1
- package/dist/development/src/utils/singletonFactory.cjs.map +1 -1
- package/dist/development/src/utils/singletonFactory.js.map +1 -1
- package/dist/development/src/utils/uniqueWhereFields.cjs.map +1 -1
- package/dist/development/src/utils/uniqueWhereFields.js.map +1 -1
- package/dist/production/src/ExecutionContainer.cjs.map +1 -1
- package/dist/production/src/ExecutionContainer.js.map +1 -1
- package/dist/production/src/acl/Authorizator.cjs.map +1 -1
- package/dist/production/src/acl/Authorizator.js.map +1 -1
- package/dist/production/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -1
- package/dist/production/src/acl/EvaluatedPredicateReplacer.js.map +1 -1
- package/dist/production/src/acl/PermissionFactory.cjs.map +1 -1
- package/dist/production/src/acl/PermissionFactory.js.map +1 -1
- package/dist/production/src/acl/PredicateFactory.cjs.map +1 -1
- package/dist/production/src/acl/PredicateFactory.js.map +1 -1
- package/dist/production/src/acl/PredicatesInjector.cjs.map +1 -1
- package/dist/production/src/acl/PredicatesInjector.js.map +1 -1
- package/dist/production/src/acl/VariableInjector.cjs.map +1 -1
- package/dist/production/src/acl/VariableInjector.js.map +1 -1
- package/dist/production/src/acl/VariableUtils.cjs.map +1 -1
- package/dist/production/src/acl/VariableUtils.js.map +1 -1
- package/dist/production/src/exception.cjs.map +1 -1
- package/dist/production/src/exception.js.map +1 -1
- package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -1
- package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
- package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -1
- package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
- package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -1
- package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -1
- package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -1
- package/dist/production/src/input-validation/ColumnValueResolver.cjs.map +1 -1
- package/dist/production/src/input-validation/ColumnValueResolver.js.map +1 -1
- package/dist/production/src/input-validation/EntityRulesResolver.cjs.map +1 -1
- package/dist/production/src/input-validation/EntityRulesResolver.js.map +1 -1
- package/dist/production/src/input-validation/QueryAstFactory.cjs.map +1 -1
- package/dist/production/src/input-validation/QueryAstFactory.js.map +1 -1
- package/dist/production/src/input-validation/ValidationContext.cjs.map +1 -1
- package/dist/production/src/input-validation/ValidationContext.js.map +1 -1
- package/dist/production/src/input-validation/ValidationDataSelector.cjs.map +1 -1
- package/dist/production/src/input-validation/ValidationDataSelector.js.map +1 -1
- package/dist/production/src/input-validation/ValidationEvaluation.cjs.map +1 -1
- package/dist/production/src/input-validation/ValidationEvaluation.js.map +1 -1
- package/dist/production/src/input-validation/ValidationPath.cjs.map +1 -1
- package/dist/production/src/input-validation/ValidationPath.js.map +1 -1
- package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -1
- package/dist/production/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
- package/dist/production/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -1
- package/dist/production/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
- package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -1
- package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
- package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
- package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
- package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -1
- package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
- package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
- package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
- package/dist/production/src/inputProcessing/FieldNode.cjs.map +1 -1
- package/dist/production/src/inputProcessing/FieldNode.js.map +1 -1
- package/dist/production/src/inputProcessing/ObjectNode.cjs.map +1 -1
- package/dist/production/src/inputProcessing/ObjectNode.js.map +1 -1
- package/dist/production/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -1
- package/dist/production/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
- package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
- package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
- package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -1
- package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
- package/dist/production/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -1
- package/dist/production/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
- package/dist/production/src/introspection/introspection.schema.cjs.map +1 -1
- package/dist/production/src/introspection/introspection.schema.js.map +1 -1
- package/dist/production/src/mapper/CheckedPrimary.cjs.map +1 -1
- package/dist/production/src/mapper/CheckedPrimary.js.map +1 -1
- package/dist/production/src/mapper/ColumnValue.cjs.map +1 -1
- package/dist/production/src/mapper/ColumnValue.js.map +1 -1
- package/dist/production/src/mapper/ErrorUtils.cjs.map +1 -1
- package/dist/production/src/mapper/ErrorUtils.js.map +1 -1
- package/dist/production/src/mapper/EventManager.cjs.map +1 -1
- package/dist/production/src/mapper/EventManager.js.map +1 -1
- package/dist/production/src/mapper/JunctionTableManager.cjs.map +1 -1
- package/dist/production/src/mapper/JunctionTableManager.js.map +1 -1
- package/dist/production/src/mapper/Mapper.cjs.map +1 -1
- package/dist/production/src/mapper/Mapper.js.map +1 -1
- package/dist/production/src/mapper/MapperFactory.cjs.map +1 -1
- package/dist/production/src/mapper/MapperFactory.js.map +1 -1
- package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
- package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
- package/dist/production/src/mapper/Result.cjs.map +1 -1
- package/dist/production/src/mapper/Result.js.map +1 -1
- package/dist/production/src/mapper/delete/DeleteExecutor.cjs.map +1 -1
- package/dist/production/src/mapper/delete/DeleteExecutor.js.map +1 -1
- package/dist/production/src/mapper/delete/DeleteState.cjs.map +1 -1
- package/dist/production/src/mapper/delete/DeleteState.js.map +1 -1
- package/dist/production/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -1
- package/dist/production/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
- package/dist/production/src/mapper/delete/helpers.cjs.map +1 -1
- package/dist/production/src/mapper/delete/helpers.js.map +1 -1
- package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
- package/dist/production/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -1
- package/dist/production/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
- package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
- package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/select/ConditionBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/select/ConditionBuilder.js.map +1 -1
- package/dist/production/src/mapper/select/JoinBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/select/JoinBuilder.js.map +1 -1
- package/dist/production/src/mapper/select/JoinVisitor.cjs.map +1 -1
- package/dist/production/src/mapper/select/JoinVisitor.js.map +1 -1
- package/dist/production/src/mapper/select/OrderByBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/select/OrderByBuilder.js.map +1 -1
- package/dist/production/src/mapper/select/OrderByHelper.cjs.map +1 -1
- package/dist/production/src/mapper/select/OrderByHelper.js.map +1 -1
- package/dist/production/src/mapper/select/Path.cjs.map +1 -1
- package/dist/production/src/mapper/select/Path.js.map +1 -1
- package/dist/production/src/mapper/select/RelationFetcher.cjs.map +1 -1
- package/dist/production/src/mapper/select/RelationFetcher.js.map +1 -1
- package/dist/production/src/mapper/select/SelectBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/select/SelectBuilder.js.map +1 -1
- package/dist/production/src/mapper/select/SelectHydrator.cjs.map +1 -1
- package/dist/production/src/mapper/select/SelectHydrator.js.map +1 -1
- package/dist/production/src/mapper/select/WhereBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/select/WhereBuilder.js.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -1
- package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
- package/dist/production/src/mapper/select/handlers/MetaHandler.cjs.map +1 -1
- package/dist/production/src/mapper/select/handlers/MetaHandler.js.map +1 -1
- package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -1
- package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -1
- package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
- package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
- package/dist/production/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -1
- package/dist/production/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
- package/dist/production/src/mapper/select/optimizer/helpers.cjs.map +1 -1
- package/dist/production/src/mapper/select/optimizer/helpers.js.map +1 -1
- package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/production/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -1
- package/dist/production/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
- package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
- package/dist/production/src/mapper/update/Updater.js.map +1 -1
- package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -1
- package/dist/production/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -1
- package/dist/production/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
- package/dist/production/src/resolvers/MutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/ReadHelpers.cjs.map +1 -1
- package/dist/production/src/resolvers/ReadHelpers.js.map +1 -1
- package/dist/production/src/resolvers/ReadResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/ReadResolver.js.map +1 -1
- package/dist/production/src/resolvers/ValidationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/ValidationResolver.js.map +1 -1
- package/dist/production/src/schema/ColumnTypeResolver.cjs.map +1 -1
- package/dist/production/src/schema/ColumnTypeResolver.js.map +1 -1
- package/dist/production/src/schema/ConditionTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/ConditionTypeProvider.js.map +1 -1
- package/dist/production/src/schema/CustomTypesProvider.cjs.map +1 -1
- package/dist/production/src/schema/CustomTypesProvider.js.map +1 -1
- package/dist/production/src/schema/EntityTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/EntityTypeProvider.js.map +1 -1
- package/dist/production/src/schema/EnumsProvider.cjs.map +1 -1
- package/dist/production/src/schema/EnumsProvider.js.map +1 -1
- package/dist/production/src/schema/FieldAccessVisitor.cjs.map +1 -1
- package/dist/production/src/schema/FieldAccessVisitor.js.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilder.cjs.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilder.js.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -1
- package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
- package/dist/production/src/schema/MutationProvider.cjs.map +1 -1
- package/dist/production/src/schema/MutationProvider.js.map +1 -1
- package/dist/production/src/schema/OperationExtension.cjs.map +1 -1
- package/dist/production/src/schema/OperationExtension.js.map +1 -1
- package/dist/production/src/schema/OrderByTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/OrderByTypeProvider.js.map +1 -1
- package/dist/production/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -1
- package/dist/production/src/schema/PaginatedFieldConfigFactory.js.map +1 -1
- package/dist/production/src/schema/QueryProvider.cjs.map +1 -1
- package/dist/production/src/schema/QueryProvider.js.map +1 -1
- package/dist/production/src/schema/ResultSchemaTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/ResultSchemaTypeProvider.js.map +1 -1
- package/dist/production/src/schema/ValidationQueriesProvider.cjs.map +1 -1
- package/dist/production/src/schema/ValidationQueriesProvider.js.map +1 -1
- package/dist/production/src/schema/WhereTypeProvider.cjs.map +1 -1
- package/dist/production/src/schema/WhereTypeProvider.js.map +1 -1
- package/dist/production/src/schema/entities/FieldArgsVisitor.cjs.map +1 -1
- package/dist/production/src/schema/entities/FieldArgsVisitor.js.map +1 -1
- package/dist/production/src/schema/entities/FieldTypeVisitor.cjs.map +1 -1
- package/dist/production/src/schema/entities/FieldTypeVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -1
- package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -1
- package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
- package/dist/production/src/schema/mutations/EntityInputProvider.cjs.map +1 -1
- package/dist/production/src/schema/mutations/EntityInputProvider.js.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -1
- package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
- package/dist/production/src/schema/utils.cjs.map +1 -1
- package/dist/production/src/schema/utils.js.map +1 -1
- package/dist/production/src/utils/Mutex.cjs.map +1 -1
- package/dist/production/src/utils/Mutex.js.map +1 -1
- package/dist/production/src/utils/ResolveInfoUtils.cjs.map +1 -1
- package/dist/production/src/utils/ResolveInfoUtils.js.map +1 -1
- package/dist/production/src/utils/accessor.cjs.map +1 -1
- package/dist/production/src/utils/accessor.js.map +1 -1
- package/dist/production/src/utils/isIt.cjs.map +1 -1
- package/dist/production/src/utils/isIt.js.map +1 -1
- package/dist/production/src/utils/object.cjs.map +1 -1
- package/dist/production/src/utils/object.js.map +1 -1
- package/dist/production/src/utils/paginationUtils.cjs.map +1 -1
- package/dist/production/src/utils/paginationUtils.js.map +1 -1
- package/dist/production/src/utils/singletonFactory.cjs.map +1 -1
- package/dist/production/src/utils/singletonFactory.js.map +1 -1
- package/dist/production/src/utils/uniqueWhereFields.cjs.map +1 -1
- package/dist/production/src/utils/uniqueWhereFields.js.map +1 -1
- package/dist/tests/src/assert.d.ts +5 -0
- package/dist/tests/src/assert.d.ts.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/graphql.codegen.yml +1 -1
- package/package.json +11 -11
- package/tests/cases/bugs/bug-filter-or.test.ts +1 -1
- package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +1 -1
- package/tests/cases/bugs/bug102.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/basicInsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/relationAcl.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/misc/transaction.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/relations/advanced.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +2 -2
- package/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/sorting/sortNulls.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/query/view/view.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/conditions.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/required.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.ts +1 -1
- package/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.ts +1 -2
- package/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.ts +1 -1
- package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +4 -4
- package/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +28 -28
- package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +108 -108
- package/tests/cases/unit/aclVariablesFactory.test.ts +5 -5
- package/tests/cases/unit/conditionOptimizer.test.ts +7 -1
- package/tests/cases/unit/inputPreValidator.test.ts +2 -1
- package/tests/cases/unit/inputValidation.test.ts +7 -6
- package/tests/cases/unit/orderbyHelper.test.ts +3 -2
- package/tests/cases/unit/permissionMerger.test.ts +2 -1
- package/tests/cases/unit/predicatesFactory.test.ts +2 -1
- package/tests/cases/unit/predicatesInjector.test.ts +2 -1
- package/tests/cases/unit/uuidType.test.ts +5 -5
- package/tests/cases/unit/variableInjector.test.ts +2 -1
- package/tests/cases/unit/whereBuilder.test.ts +2 -1
- package/tests/cases/unit/whereOptimizer.test.ts +2 -1
- package/tests/src/assert.ts +10 -0
- package/tests/src/testGraphql.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/FieldNode.ts"],"sourcesContent":["export class FieldNode<Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(public readonly name: string, public readonly alias: string, public readonly extensions: Extensions) {}\n}\n"],"names":[],"mappings":"AAAO,MAAM,UAAwE;AAAA,EACpF,YAA4B,MAA8B,OAA+B,YAAwB;AAArF,SAAA,OAAA;AAA8B,SAAA,QAAA;AAA+B,SAAA,aAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"FieldNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/FieldNode.ts"],"sourcesContent":["export class FieldNode<Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(public readonly name: string, public readonly alias: string, public readonly extensions: Extensions) {}\n}\n"],"names":[],"mappings":"AAAO,MAAM,UAAwE;AAAA,EACpF,YAA4B,MAA8B,OAA+B,YAAwB;AAArF,SAAA,OAAA;AAA8B,SAAA,QAAA;AAA+B,SAAA,aAAA;AAAA,EAAA;AAC1F;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectNode.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"ObjectNode.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,EAAA;AAAA,EAGV,QAIL,MAAY,OAAmC;AAChD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAI,KAAK,MAAc,CAAC,IAAI,GAAG,MAAM;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,SAAyB,MAAoC;AACnE,WAAO,IAAI,WAAW,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,MAAM,KAAK,YAAY,KAAK,IAAI;AAAA,EAAA;AAAA,EAGpF,UAAU,OAAiD;AACjE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,GAAG,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,UAAU,MAAM,KAAK,GAAG,KAAK;AAAA,MAC7D,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,iBAAiB,OAAmD;AAC1E,WAAO,KAAK,OAAO,KAAK,CAAM,OAAA,GAAG,UAAU,KAAK;AAAA,EAAA;AAAA,EAG1C,gBAAgB,MAA0C;AAChE,WAAO,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,SAAS,IAAI;AAAA,EAAA;AAElD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"ObjectNode.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/ObjectNode.ts"],"sourcesContent":["import { FieldNode } from './FieldNode'\n\nexport class ObjectNode<Args = any, Extensions extends Record<string, any> = Record<string, any>> {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly alias: string,\n\t\tpublic readonly fields: (ObjectNode | FieldNode)[],\n\t\tpublic readonly args: Args,\n\t\tpublic readonly extensions: Extensions,\n\t\tpublic readonly path: string[],\n\t) {}\n\n\tpublic withArg<\n\t\tNewArgs = Args,\n\t\tName extends keyof NewArgs = keyof NewArgs,\n\t\tValue extends NewArgs[Name] = NewArgs[Name],\n\t>(name: Name, value: Value): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\tthis.fields,\n\t\t\t{ ...(this.args as any), [name]: value },\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic withArgs<NewArgs = Args>(args: NewArgs): ObjectNode<NewArgs> {\n\t\treturn new ObjectNode(this.name, this.alias, this.fields, args, this.extensions, this.path)\n\t}\n\n\tpublic withField(field: ObjectNode | FieldNode): ObjectNode<Args> {\n\t\treturn new ObjectNode(\n\t\t\tthis.name,\n\t\t\tthis.alias,\n\t\t\t[...this.fields.filter(it => it.alias !== field.alias), field],\n\t\t\tthis.args,\n\t\t\tthis.extensions,\n\t\t\tthis.path,\n\t\t)\n\t}\n\n\tpublic findFieldByAlias(alias: string): ObjectNode | FieldNode | undefined {\n\t\treturn this.fields.find(it => it.alias === alias)\n\t}\n\n\tpublic findFieldByName(name: string): (ObjectNode | FieldNode)[] {\n\t\treturn this.fields.filter(it => it.name === name)\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,WAAqF;AAAA,EACjG,YACiB,MACA,OACA,QACA,MACA,YACA,MACf;AANe,SAAA,OAAA;AACA,SAAA,QAAA;AACA,SAAA,SAAA;AACA,SAAA,OAAA;AACA,SAAA,aAAA;AACA,SAAA,OAAA;AAAA,EAAA;AAAA,EAGV,QAIL,MAAY,OAAmC;AAChD,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,EAAE,GAAI,KAAK,MAAc,CAAC,IAAI,GAAG,MAAM;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,SAAyB,MAAoC;AACnE,WAAO,IAAI,WAAW,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,MAAM,KAAK,YAAY,KAAK,IAAI;AAAA,EAAA;AAAA,EAGpF,UAAU,OAAiD;AACjE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,GAAG,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,UAAU,MAAM,KAAK,GAAG,KAAK;AAAA,MAC7D,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,EAAA;AAAA,EAGM,iBAAiB,OAAmD;AAC1E,WAAO,KAAK,OAAO,KAAK,CAAM,OAAA,GAAG,UAAU,KAAK;AAAA,EAAA;AAAA,EAG1C,gBAAgB,MAA0C;AAChE,WAAO,KAAK,OAAO,OAAO,CAAM,OAAA,GAAG,SAAS,IAAI;AAAA,EAAA;AAElD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueWhereExpander.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":["CheckedPrimary","getFieldsForUniqueWhere","getTargetEntity","UserError"],"mappings":";;;;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UniqueWhereExpander.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":["CheckedPrimary","getFieldsForUniqueWhere","getTargetEntity","UserError"],"mappings":";;;;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,EAAA;AAAA,EAE7B,OAAO,QAAsB,OAA6C,OAAiB,CAAA,GAAiB;AAC3G,QAAI,iBAAiBA,eAAAA,gBAAgB;AAC7B,aAAA,EAAE,CAAC,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,eAAe;AAAA,IAAA;AAEjD,UAAA,WAAW,CAAC,UAAkB,MAAM,KAAK,MAAM,UAAa,MAAM,KAAK,MAAM;AAEnF,UAAM,YAAY,MAAM;AACnB,UAAA,SAAS,OAAO,OAAO,GAAG;AACtB,eAAA;AAAA,MAAA;AAER,6BAAuB,UAAUC,kBAAAA,wBAAwB,KAAK,QAAQ,MAAM,GAAG;AAC9E,mBAAW,SAAS,QAAQ;AACvB,cAAA,CAAC,SAAS,KAAK,GAAG;AACZ,qBAAA;AAAA,UAAA;AAAA,QACV;AAEM,eAAA;AAAA,MAAA;AAED,aAAA;AAAA,IAAA,GACL;AAEH,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,iBAAiB,KAAK,mBAAmB,QAAQ,OAAO,IAAI,CAAC;AAAA,IAAA;AAGxE,UAAM,gBAAuC,CAAC;AAC9C,eAAW,SAAS,OAAO;AACtB,UAAA,CAAC,SAAS,KAAK,GAAG;AACrB;AAAA,MAAA;AAED,YAAM,SAASC,YAAAA,gBAAgB,KAAK,QAAQ,QAAQ,KAAK;AACzD,UAAI,CAAC,QAAQ;AACZ,sBAAc,KAAK,IAAI,MAAM,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,KAAK,EAAS,IAAI,EAAE,IAAI,MAAM,KAAK,EAAE;AAAA,MAAA,OAChG;AACN,sBAAc,KAAK,IAAI,KAAK,OAAO,QAAQ,MAAM,KAAK,GAAwB,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MAAA;AAAA,IAC/F;AAGM,WAAA;AAAA,EAAA;AAAA,EAGA,mBAAmB,QAAsB,OAA4B,MAAwB;AAC9F,UAAA,kBAAkBD,0CAAwB,KAAK,QAAQ,MAAM,EACjE,IAAI,QAAM,GAAG,KAAK,IAAI,CAAC,EACvB,IAAI,CAAM,OAAA,OAAQ,EAAE,EAAE,EACtB,KAAK,IAAI;AACJ,WAAA,2CAA2C,OAAO,IAAI;AAAA,gBAC/C,KAAK,SAAS,cAAc,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,EAEzF,eAAe;AAAA,EAAA;AAEjB;AAEO,MAAM,yBAAyBE,UAAAA,UAAU;AAAC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueWhereExpander.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":[],"mappings":";;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UniqueWhereExpander.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UniqueWhereExpander.ts"],"sourcesContent":["import { Input, Model, Writable } from '@contember/schema'\nimport { getTargetEntity } from '@contember/schema-utils'\nimport { UserError } from '../exception'\nimport { getFieldsForUniqueWhere } from '../utils'\nimport { CheckedPrimary } from '../mapper/CheckedPrimary'\n\ntype ExtendedUniqueWhere = Input.UniqueWhere<Input.PrimaryValue[]>\n\nexport class UniqueWhereExpander {\n\tconstructor(private readonly schema: Model.Schema) {}\n\n\texpand(entity: Model.Entity, where: ExtendedUniqueWhere | CheckedPrimary, path: string[] = []): Input.Where {\n\t\tif (where instanceof CheckedPrimary) {\n\t\t\treturn { [entity.primary]: { eq: where.primaryValue } }\n\t\t}\n\t\tconst isFilled = (field: string) => where[field] !== undefined && where[field] !== null\n\n\t\tconst isUnique = (() => {\n\t\t\tif (isFilled(entity.primary)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tuniqueKeys: for (const fields of getFieldsForUniqueWhere(this.schema, entity)) {\n\t\t\t\tfor (const field of fields) {\n\t\t\t\t\tif (!isFilled(field)) {\n\t\t\t\t\t\tcontinue uniqueKeys\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t})()\n\n\t\tif (!isUnique) {\n\t\t\tthrow new UniqueWhereError(this.formatErrorMessage(entity, where, path))\n\t\t}\n\n\t\tconst whereExpanded: Writable<Input.Where> = {}\n\t\tfor (const field in where) {\n\t\t\tif (!isFilled(field)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst target = getTargetEntity(this.schema, entity, field)\n\t\t\tif (!target) {\n\t\t\t\twhereExpanded[field] = Array.isArray(where[field]) ? { in: where[field] as any } : { eq: where[field] }\n\t\t\t} else {\n\t\t\t\twhereExpanded[field] = this.expand(target, where[field] as Input.UniqueWhere, [...path, field])\n\t\t\t}\n\t\t}\n\n\t\treturn whereExpanded\n\t}\n\n\tprivate formatErrorMessage(entity: Model.Entity, where: ExtendedUniqueWhere, path: string[]): string {\n\t\tconst knownUniqueKeys = getFieldsForUniqueWhere(this.schema, entity)\n\t\t\t.map(it => it.join(', '))\n\t\t\t.map(it => `\\t - ${it}`)\n\t\t\t.join('\\n')\n\t\treturn `Provided where is not unique for entity ${entity.name}:\nProvided value${path.length ? ` in path $.${path.join('.')}` : ''}: ${JSON.stringify(where)}\nKnown unique key combinations:\n${knownUniqueKeys}`\n\t}\n}\n\nexport class UniqueWhereError extends UserError {}\n"],"names":[],"mappings":";;;;AAQO,MAAM,oBAAoB;AAAA,EAChC,YAA6B,QAAsB;AAAtB,SAAA,SAAA;AAAA,EAAA;AAAA,EAE7B,OAAO,QAAsB,OAA6C,OAAiB,CAAA,GAAiB;AAC3G,QAAI,iBAAiB,gBAAgB;AAC7B,aAAA,EAAE,CAAC,OAAO,OAAO,GAAG,EAAE,IAAI,MAAM,eAAe;AAAA,IAAA;AAEjD,UAAA,WAAW,CAAC,UAAkB,MAAM,KAAK,MAAM,UAAa,MAAM,KAAK,MAAM;AAEnF,UAAM,YAAY,MAAM;AACnB,UAAA,SAAS,OAAO,OAAO,GAAG;AACtB,eAAA;AAAA,MAAA;AAER,6BAAuB,UAAU,wBAAwB,KAAK,QAAQ,MAAM,GAAG;AAC9E,mBAAW,SAAS,QAAQ;AACvB,cAAA,CAAC,SAAS,KAAK,GAAG;AACZ,qBAAA;AAAA,UAAA;AAAA,QACV;AAEM,eAAA;AAAA,MAAA;AAED,aAAA;AAAA,IAAA,GACL;AAEH,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,iBAAiB,KAAK,mBAAmB,QAAQ,OAAO,IAAI,CAAC;AAAA,IAAA;AAGxE,UAAM,gBAAuC,CAAC;AAC9C,eAAW,SAAS,OAAO;AACtB,UAAA,CAAC,SAAS,KAAK,GAAG;AACrB;AAAA,MAAA;AAED,YAAM,SAAS,gBAAgB,KAAK,QAAQ,QAAQ,KAAK;AACzD,UAAI,CAAC,QAAQ;AACZ,sBAAc,KAAK,IAAI,MAAM,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,MAAM,KAAK,EAAS,IAAI,EAAE,IAAI,MAAM,KAAK,EAAE;AAAA,MAAA,OAChG;AACN,sBAAc,KAAK,IAAI,KAAK,OAAO,QAAQ,MAAM,KAAK,GAAwB,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MAAA;AAAA,IAC/F;AAGM,WAAA;AAAA,EAAA;AAAA,EAGA,mBAAmB,QAAsB,OAA4B,MAAwB;AAC9F,UAAA,kBAAkB,wBAAwB,KAAK,QAAQ,MAAM,EACjE,IAAI,QAAM,GAAG,KAAK,IAAI,CAAC,EACvB,IAAI,CAAM,OAAA,OAAQ,EAAE,EAAE,EACtB,KAAK,IAAI;AACJ,WAAA,2CAA2C,OAAO,IAAI;AAAA,gBAC/C,KAAK,SAAS,cAAc,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,EAEzF,eAAe;AAAA,EAAA;AAEjB;AAEO,MAAM,yBAAyB,UAAU;AAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateInputVisitor.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":["schema","filterObject","isIt","ImplementationException","Input","UserError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpdateInputVisitor.cjs","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":["schema","filterObject","isIt","ImplementationException","Input","UserError"],"mappings":";;;;;;;AAKO,MAAM,mBAEmC;AAAA,EAE/C,YACkB,sBACAA,SACA,MAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,SAAAA;AACA,SAAA,OAAA;AAAA,EAAA;AAAA,EAGlB,MAAa,YAAY,EAAE,QAAQ,UAAkD;AACpF,WAAO,CAAC,MAAM,KAAK,qBAAqB,OAAO;AAAA,MAC9C;AAAA,MACA;AAAA,MACA,OAAO,KAAK,KAAK,OAAO,IAAI;AAAA,IAAA,CAC5B,CAAC;AAAA,EAAA;AAAA,EAGI,wBAAwB,SAA0C;AACxE,WAAO,KAAK;AAAA,MACX,KAAK,qBAAqB;AAAA,MAC1B;AAAA,MACA,KAAK,KAAK,QAAQ,SAAS,IAAI;AAAA,IAChC;AAAA,EAAA;AAAA,EAGM,uBAAuB,SAAyC;AACtE,WAAO,KAAK;AAAA,MACX,KAAK,qBAAqB;AAAA,MAC1B;AAAA,MACA,KAAK,KAAK,QAAQ,SAAS,IAAI;AAAA,IAChC;AAAA,EAAA;AAAA,EAGM,gBAAgB,SAAkC;AACxD,WAAO,KAAK;AAAA,MACX,KAAK,qBAAqB;AAAA,MAC1B;AAAA,MACA,KAAK,KAAK,QAAQ,SAAS,IAAI;AAAA,IAChC;AAAA,EAAA;AAAA,EAGM,gBAAgB,SAAkC;AACxD,WAAO,KAAK;AAAA,MACX,KAAK,qBAAqB;AAAA,MAC1B;AAAA,MACA,KAAK,KAAK,QAAQ,SAAS,IAAI;AAAA,IAChC;AAAA,EAAA;AAAA,EAGM,sBAAsB,SAAwC;AACpE,WAAO,KAAK;AAAA,MACX,KAAK,qBAAqB;AAAA,MAC1B;AAAA,MACA,KAAK,KAAK,QAAQ,SAAS,IAAI;AAAA,IAChC;AAAA,EAAA;AAAA,EAGM,qBAAqB,SAAuC;AAClE,WAAO,KAAK;AAAA,MACX,KAAK,qBAAqB;AAAA,MAC1B;AAAA,MACA,KAAK,KAAK,QAAQ,SAAS,IAAI;AAAA,IAChC;AAAA,EAAA;AAAA,EAGD,MAAc,qBACb,WACA,SACA,OACqB;AACjB,QAAA,UAAU,UAAa,UAAU,MAAM;AACnC,aAAA,QAAQ,QAAQ,EAAE;AAAA,IAAA;AAElB,YAAAC,OAAAA,aAAa,OAAO,CAAC,GAAG,MAAM,MAAM,QAAQ,MAAM,MAAS;AACnE,SAAK,iBAAiB,KAAK;AACvB,QAAAC,KAAA,KAAiC,OAAO,SAAS,GAAG;AAChD,aAAA,CAAC,MAAM,UAAU,QAAQ,EAAE,GAAG,SAAS,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,IAAA;AAElE,QAAAA,KAAA,KAAgC,OAAO,QAAQ,GAAG;AAC9C,aAAA,CAAC,MAAM,UAAU,OAAO,EAAE,GAAG,SAAS,OAAO,MAAM,OAAO,CAAC,CAAC;AAAA,IAAA;AAEhE,QAAAA,KAAA,KAAyC,OAAO,iBAAiB,GAAG;AAChE,aAAA,CAAC,MAAM,UAAU,gBAAgB,EAAE,GAAG,SAAS,OAAO,MAAM,gBAAgB,CAAC,CAAC;AAAA,IAAA;AAElF,QAAAA,KAAA,KAAgC,OAAO,QAAQ,GAAG;AAC9C,aAAA,CAAC,MAAM,UAAU,OAAO,EAAE,GAAG,SAAS,OAAO,OAAU,CAAC,CAAC;AAAA,IAAA;AAE7D,QAAAA,KAAA,KAAoC,OAAO,YAAY,GAAG;AACtD,aAAA,CAAC,MAAM,UAAU,WAAW,EAAE,GAAG,SAAS,OAAO,OAAU,CAAC,CAAC;AAAA,IAAA;AAEjE,QAAAA,KAAA,KAAgC,OAAO,QAAQ,GAAG;AAC9C,aAAA,CAAC,MAAM,UAAU,OAAO,EAAE,GAAG,SAAS,OAAO,MAAM,OAAO,CAAC,CAAC;AAAA,IAAA;AAEhE,QAAAA,KAAA,KAAgC,OAAO,QAAQ,GAAG;AAC9C,aAAA,CAAC,MAAM,UAAU,OAAO,EAAE,GAAG,SAAS,OAAO,MAAM,OAAO,CAAC,CAAC;AAAA,IAAA;AAEpE,UAAM,IAAIC,UAAAA,wBAAwB;AAAA,EAAA;AAAA,EAGnC,MAAc,yBACb,WACA,SACA,OACoB;AAChB,QAAA,UAAU,UAAa,UAAU,MAAM;AACnC,aAAA,QAAQ,QAAQ,EAAE;AAAA,IAAA;AAE1B,UAAM,UAAyB,CAAC;AAChC,QAAI,IAAI;AACR,aAAS,WAAW,OAAO;AAC1B,YAAM,QAAQ,QAAQ;AACZ,gBAAAF,OAAAA,aAAa,SAAS,CAAC,GAAG,MAAM,MAAM,QAAQ,MAAM,MAAS;AACvE,WAAK,iBAAiB,OAAO;AACzB,UAAA;AACA,UAAAC,KAAA,KAAiC,SAAS,SAAS,GAAG;AAChD,iBAAA,UAAU,QAAQ,EAAE,GAAG,SAAS,OAAO,QAAQ,SAAS,OAAO,GAAG,MAAA,CAAO;AAAA,MAAA;AAE/E,UAAAA,KAAA,KAAgC,SAAS,QAAQ,GAAG;AAC9C,iBAAA,UAAU,OAAO,EAAE,GAAG,SAAS,OAAO,QAAQ,QAAQ,OAAO,GAAG,MAAA,CAAO;AAAA,MAAA;AAE7E,UAAAA,KAAA,KAAyC,SAAS,iBAAiB,GAAG;AAChE,iBAAA,UAAU,gBAAgB,EAAE,GAAG,SAAS,OAAO,QAAQ,iBAAiB,OAAO,GAAG,MAAA,CAAO;AAAA,MAAA;AAE/F,UAAAA,KAAA,KAAyC,SAAS,QAAQ,GAAG;AACvD,iBAAA,UAAU,OAAO,EAAE,GAAG,SAAS,OAAO,QAAQ,QAAQ,OAAO,GAAG,MAAA,CAAO;AAAA,MAAA;AAE7E,UAAAA,KAAA,KAA6C,SAAS,YAAY,GAAG;AAC/D,iBAAA,UAAU,WAAW,EAAE,GAAG,SAAS,OAAO,QAAQ,YAAY,OAAO,GAAG,MAAA,CAAO;AAAA,MAAA;AAErF,UAAAA,KAAA,KAAyC,SAAS,QAAQ,GAAG;AAChE,iBAAS,UAAU,OAAO;AAAA,UACzB,GAAG;AAAA,UACH,OAAO,EAAE,OAAO,QAAQ,OAAO,IAAI,MAAM,QAAQ,OAAO,KAAK;AAAA,UAC7D,OAAO;AAAA,UACP;AAAA,QAAA,CACA;AAAA,MAAA;AAEE,UAAAA,KAAA,KAAyC,SAAS,QAAQ,GAAG;AAChE,iBAAS,UAAU,OAAO;AAAA,UACzB,GAAG;AAAA,UACH,OAAO,EAAE,OAAO,QAAQ,OAAO,IAAI,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,QAAQ,OAAO,OAAO;AAAA,UAChG,OAAO;AAAA,UACP;AAAA,QAAA,CACA;AAAA,MAAA;AAGF,UAAI,WAAW,QAAW;AACjB,gBAAA,KAAK,MAAM,MAAM;AAAA,MAAA;AAAA,IAC1B;AAEM,WAAA;AAAA,EAAA;AAAA,EAGA,iBAAiB,OAAe;AACjC,UAAA,OAAO,OAAO,KAAK,KAAK,EAAE,OAAO,CAAA,OAAM,OAAO,OAAO;AAC3D,UAAM,MAAM,OAAO,OAAOE,OAAAA,MAAM,uBAAuB;AACnD,QAAA,KAAK,WAAW,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,GAAG;AAChD,YAAM,QAAQ,KAAK,WAAW,IAAI,SAAS,KAAK,KAAK,IAAI;AACzD,YAAM,IAAIC,UAAA;AAAA,QACT,4BAA4B,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK;AAAA,MACrD;AAAA,IAAA;AAAA,EACD;AAEF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateInputVisitor.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpdateInputVisitor.js","sources":["../../../../../packages/engine-content-api/src/inputProcessing/UpdateInputVisitor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { filterObject, isIt } from '../utils'\nimport { UpdateInputProcessor } from './UpdateInputProcessor'\nimport { ImplementationException, UserError } from '../exception'\n\nexport class UpdateInputVisitor<Result> implements\n\tModel.ColumnVisitor<Promise<Result[]>>,\n\tModel.RelationByTypeVisitor<Promise<Result[]>> {\n\n\tconstructor(\n\t\tprivate readonly updateInputProcessor: UpdateInputProcessor<Result>,\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t) {}\n\n\tpublic async visitColumn({ entity, column }: Model.ColumnContext): Promise<Result[]> {\n\t\treturn [await this.updateInputProcessor.column({\n\t\t\tentity,\n\t\t\tcolumn,\n\t\t\tinput: this.data[column.name] as Input.ColumnValue,\n\t\t})]\n\t}\n\n\tpublic visitManyHasManyInverse(context: Model.ManyHasManyInverseContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasManyOwning(context: Model.ManyHasManyOwningContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasManyOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitManyHasOne(context: Model.ManyHasOneContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.manyHasOne,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasMany(context: Model.OneHasManyContext) {\n\t\treturn this.processManyRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasMany,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateManyRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneInverse(context: Model.OneHasOneInverseContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneInverse,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tpublic visitOneHasOneOwning(context: Model.OneHasOneOwningContext) {\n\t\treturn this.processRelationInput(\n\t\t\tthis.updateInputProcessor.oneHasOneOwning,\n\t\t\tcontext,\n\t\t\tthis.data[context.relation.name] as Input.CreateOneRelationInput,\n\t\t)\n\t}\n\n\tprivate async processRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasOneRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateOneRelationInput | undefined,\n\t): Promise< Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tinput = filterObject(input, (k, v) => v !== null && v !== undefined)\n\t\tthis.verifyOperations(input)\n\t\tif (isIt<Input.ConnectRelationInput>(input, 'connect')) {\n\t\t\treturn [await processor.connect({ ...context, input: input.connect })]\n\t\t}\n\t\tif (isIt<Input.CreateRelationInput>(input, 'create')) {\n\t\t\treturn [await processor.create({ ...context, input: input.create })]\n\t\t}\n\t\tif (isIt<Input.ConnectOrCreateRelationInput>(input, 'connectOrCreate')) {\n\t\t\treturn [await processor.connectOrCreate({ ...context, input: input.connectOrCreate })]\n\t\t}\n\t\tif (isIt<Input.DeleteRelationInput>(input, 'delete')) {\n\t\t\treturn [await processor.delete({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.DisconnectRelationInput>(input, 'disconnect')) {\n\t\t\treturn [await processor.disconnect({ ...context, input: undefined })]\n\t\t}\n\t\tif (isIt<Input.UpdateRelationInput>(input, 'update')) {\n\t\t\treturn [await processor.update({ ...context, input: input.update })]\n\t\t}\n\t\tif (isIt<Input.UpsertRelationInput>(input, 'upsert')) {\n\t\t\treturn [await processor.upsert({ ...context, input: input.upsert })]\n\t\t}\n\t\tthrow new ImplementationException()\n\t}\n\n\tprivate async processManyRelationInput<Context>(\n\t\tprocessor: UpdateInputProcessor.HasManyRelationInputProcessor<Context, Result>,\n\t\tcontext: Context,\n\t\tinput: Input.UpdateManyRelationInput | undefined,\n\t): Promise<Result[]> {\n\t\tif (input === undefined || input === null) {\n\t\t\treturn Promise.resolve([])\n\t\t}\n\t\tconst results: Array<Result> = []\n\t\tlet i = 0\n\t\tfor (let element of input) {\n\t\t\tconst alias = element.alias\n\t\t\telement = filterObject(element, (k, v) => v !== null && v !== undefined)\n\t\t\tthis.verifyOperations(element)\n\t\t\tlet result\n\t\t\tif (isIt<Input.ConnectRelationInput>(element, 'connect')) {\n\t\t\t\tresult = processor.connect({ ...context, input: element.connect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.CreateRelationInput>(element, 'create')) {\n\t\t\t\tresult = processor.create({ ...context, input: element.create, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.ConnectOrCreateRelationInput>(element, 'connectOrCreate')) {\n\t\t\t\tresult = processor.connectOrCreate({ ...context, input: element.connectOrCreate, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DeleteSpecifiedRelationInput>(element, 'delete')) {\n\t\t\t\tresult = processor.delete({ ...context, input: element.delete, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.DisconnectSpecifiedRelationInput>(element, 'disconnect')) {\n\t\t\t\tresult = processor.disconnect({ ...context, input: element.disconnect, index: i, alias })\n\t\t\t}\n\t\t\tif (isIt<Input.UpdateSpecifiedRelationInput>(element, 'update')) {\n\t\t\t\tresult = processor.update({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.update.by, data: element.update.data },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (isIt<Input.UpsertSpecifiedRelationInput>(element, 'upsert')) {\n\t\t\t\tresult = processor.upsert({\n\t\t\t\t\t...context,\n\t\t\t\t\tinput: { where: element.upsert.by, update: element.upsert.update, create: element.upsert.create },\n\t\t\t\t\tindex: i,\n\t\t\t\t\talias,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (result !== undefined) {\n\t\t\t\tresults.push(await result)\n\t\t\t}\n\t\t}\n\t\treturn results\n\t}\n\n\tprivate verifyOperations(input: object) {\n\t\tconst keys = Object.keys(input).filter(it => it !== 'alias')\n\t\tconst ops = Object.values(Input.UpdateRelationOperation) as string[]\n\t\tif (keys.length !== 1 || !ops.includes(keys[0])) {\n\t\t\tconst found = keys.length === 0 ? 'none' : keys.join(', ')\n\t\t\tthrow new UserError(\n\t\t\t\t`Expected exactly one of: ${ops.join(', ')}. ${found} found.`,\n\t\t\t)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntrospectionSchemaDefinitionFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":["GraphQLSchema","createSchemaConfig"],"mappings":";;;;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"IntrospectionSchemaDefinitionFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":["GraphQLSchema","createSchemaConfig"],"mappings":";;;;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAEtB,SAAwB;AAC9B,WAAO,IAAIA,QAAA,cAAc,KAAK,cAAc;AAAA,EAAA;AAAA,EAGtC,eAAoC;AAC1C,WAAOC,wCAAmB,MAA6B;AAC/C,aAAA,KAAK,2BAA2B,OAAO;AAAA,IAAA,CAC9C;AAAA,EAAA;AAEH;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntrospectionSchemaDefinitionFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"IntrospectionSchemaDefinitionFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"sourcesContent":["import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql'\nimport * as ContentSchema from './content-schema.types'\nimport { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory'\nimport { createSchemaConfig } from './introspection.schema'\n\nexport class IntrospectionSchemaDefinitionFactory {\n\tconstructor(private readonly introspectionSchemaFactory: IntrospectionSchemaFactory) {}\n\n\tpublic create(): GraphQLSchema {\n\t\treturn new GraphQLSchema(this.createConfig())\n\t}\n\n\tpublic createConfig(): GraphQLSchemaConfig {\n\t\treturn createSchemaConfig((): ContentSchema._Schema => {\n\t\t\treturn this.introspectionSchemaFactory.create()\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,qCAAqC;AAAA,EACjD,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAEtB,SAAwB;AAC9B,WAAO,IAAI,cAAc,KAAK,cAAc;AAAA,EAAA;AAAA,EAGtC,eAAoC;AAC1C,WAAO,mBAAmB,MAA6B;AAC/C,aAAA,KAAK,2BAA2B,OAAO;AAAA,IAAA,CAC9C;AAAA,EAAA;AAEH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntrospectionSchemaFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["Model","ContentSchema._OnDeleteBehaviour","assertNever","ContentSchema._OrderByDirection","acceptEveryFieldVisitor","ContentSchema._RelationSide","getEntity","Acl","Validation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IntrospectionSchemaFactory.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["Model","ContentSchema._OnDeleteBehaviour","assertNever","ContentSchema._OrderByDirection","acceptEveryFieldVisitor","ContentSchema._RelationSide","getEntity","Acl","Validation"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntrospectionSchemaFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["ContentSchema._OnDeleteBehaviour","ContentSchema._OrderByDirection","ContentSchema._RelationSide"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IntrospectionSchemaFactory.js","sources":["../../../../../packages/engine-content-api/src/introspection/IntrospectionSchemaFactory.ts"],"sourcesContent":["import { Acl, Model, Validation } from '@contember/schema'\nimport { EntityRulesResolver } from '../input-validation'\nimport { Authorizator } from '../acl'\nimport * as ContentSchema from './content-schema.types'\nimport { assertNever } from '../utils'\nimport { acceptEveryFieldVisitor, getEntity } from '@contember/schema-utils'\n\ntype AdditionalFieldInfo =\n\t| Omit<ContentSchema._Relation, 'name' | 'type' | 'rules' | 'validators'>\n\t| Omit<ContentSchema._Column, 'name' | 'type' | 'rules' | 'validators'>\n\nexport class IntrospectionSchemaFactory {\n\tconstructor(\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly rulesResolver: EntityRulesResolver,\n\t\tprivate readonly authorizator: Authorizator,\n\t) {}\n\n\tcreateFieldsSchema(entityName: string): readonly (ContentSchema._Column | ContentSchema._Relation)[] {\n\t\tconst entityRules = this.rulesResolver.getEntityRules(entityName)\n\t\tconst convertOnDelete = (onDelete: Model.OnDelete): ContentSchema._OnDeleteBehaviour => {\n\t\t\tswitch (onDelete) {\n\t\t\t\tcase Model.OnDelete.cascade:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Cascade\n\t\t\t\tcase Model.OnDelete.restrict:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.Restrict\n\t\t\t\tcase Model.OnDelete.setNull:\n\t\t\t\t\treturn ContentSchema._OnDeleteBehaviour.SetNull\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(onDelete)\n\t\t\t}\n\t\t}\n\t\tconst convertOrderBy = ({ path, direction }: Model.OrderBy): ContentSchema._OrderBy => {\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tdirection:\n\t\t\t\t\tdirection === Model.OrderDirection.desc\n\t\t\t\t\t\t? ContentSchema._OrderByDirection.Desc\n\t\t\t\t\t\t: ContentSchema._OrderByDirection.Asc,\n\t\t\t}\n\t\t}\n\t\tconst additionalInfo = acceptEveryFieldVisitor<AdditionalFieldInfo>(this.model, entityName, {\n\t\t\tvisitManyHasManyInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasManyOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitManyHasOne({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasMany({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\torderBy: relation.orderBy?.map(convertOrderBy),\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneInverse({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Inverse,\n\t\t\t\t\townedBy: relation.ownedBy,\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitOneHasOneOwning({ relation }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Relation',\n\t\t\t\t\ttargetEntity: relation.target,\n\t\t\t\t\tside: ContentSchema._RelationSide.Owning,\n\t\t\t\t\tinversedBy: relation.inversedBy,\n\t\t\t\t\tonDelete: convertOnDelete(relation.joiningColumn.onDelete),\n\t\t\t\t\tnullable: relation.nullable,\n\t\t\t\t\torphanRemoval: relation.orphanRemoval === true,\n\t\t\t\t}\n\t\t\t},\n\t\t\tvisitColumn({ column }) {\n\t\t\t\treturn {\n\t\t\t\t\t__typename: '_Column',\n\t\t\t\t\tdefaultValue: column.default ?? undefined,\n\t\t\t\t\tenumName: column.type === Model.ColumnType.Enum ? column.columnType : null,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t}\n\t\t\t},\n\t\t})\n\t\treturn Object.values(getEntity(this.model, entityName).fields)\n\t\t\t.filter(it => this.authorizator.getFieldPermissions(Acl.Operation.read, entityName, it.name) !== 'no')\n\t\t\t.map((it): ContentSchema._Column | ContentSchema._Relation => ({\n\t\t\t\t...additionalInfo[it.name],\n\t\t\t\tname: it.name,\n\t\t\t\ttype: it.type,\n\t\t\t\t...this.createValidationSchema(entityRules[it.name] || []),\n\t\t\t}))\n\t}\n\n\tcreateValidationSchema(rules: readonly Validation.ValidationRule[]): Pick<ContentSchema._Field, 'rules' | 'validators'> {\n\t\tconst validators: ContentSchema._Validator[] = []\n\n\t\tconst processValidator = (validator: Validation.Validator) => {\n\t\t\tconst i = validators.length\n\t\t\tconst args: (ContentSchema._Argument & { __typename: string })[] = []\n\t\t\tconst apiValidator: ContentSchema._Validator = { operation: validator.operation, arguments: args }\n\t\t\tvalidators.push(apiValidator)\n\t\t\tfor (const arg of validator.args) {\n\t\t\t\tswitch (arg.type) {\n\t\t\t\t\tcase Validation.ArgumentType.path:\n\t\t\t\t\t\targs.push({ __typename: '_PathArgument', path: arg.path })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.literal:\n\t\t\t\t\t\targs.push({ __typename: '_LiteralArgument', value: arg.value })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase Validation.ArgumentType.validator:\n\t\t\t\t\t\targs.push({ __typename: '_ValidatorArgument', validator: processValidator(arg.validator) })\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tassertNever(arg)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn i\n\t\t}\n\n\t\tconst processedRules = rules.map(\n\t\t\t(it): ContentSchema._Rule => ({ message: it.message, validator: processValidator(it.validator) }),\n\t\t)\n\t\treturn {\n\t\t\trules: processedRules,\n\t\t\tvalidators: validators,\n\t\t}\n\t}\n\n\tpublic create(): ContentSchema._Schema {\n\t\tconst entities = Object.values(this.model.entities)\n\t\t\t.filter(it => this.authorizator.getEntityPermission(Acl.Operation.read, it.name) !== 'no')\n\t\t\t.map(entity => ({\n\t\t\t\tname: entity.name,\n\t\t\t\tcustomPrimaryAllowed: this.authorizator.isCustomPrimaryAllowed(entity.name),\n\t\t\t\tfields: this.createFieldsSchema(entity.name),\n\t\t\t\tunique: Object.values(entity.unique).map(({ fields }) => ({ fields })),\n\t\t\t}))\n\t\tconst usedEnums = new Set(\n\t\t\tentities\n\t\t\t\t.flatMap(it => it.fields)\n\t\t\t\t.map(it => (it.__typename === '_Column' ? it.enumName : undefined))\n\t\t\t\t.filter((it): it is string => !!it),\n\t\t)\n\t\tconst enums = Object.entries(this.model.enums)\n\t\t\t.filter(([name]) => usedEnums.has(name))\n\t\t\t.map(([name, values]) => ({ name, values }))\n\t\treturn {\n\t\t\tenums,\n\t\t\tentities,\n\t\t}\n\t}\n}\n"],"names":["ContentSchema._OnDeleteBehaviour","ContentSchema._OrderByDirection","ContentSchema._RelationSide"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.schema.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":["GraphQLObjectType","GraphQLString","GraphQLNonNull","GraphQLInt","GraphQLList","JSONType","GraphQLUnionType","GraphQLInterfaceType","GraphQLBoolean","GraphQLEnumType","GraphQLSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"introspection.schema.cjs","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":["GraphQLObjectType","GraphQLString","GraphQLNonNull","GraphQLInt","GraphQLList","JSONType","GraphQLUnionType","GraphQLInterfaceType","GraphQLBoolean","GraphQLEnumType","GraphQLSchema"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.schema.js","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":[],"mappings":";;AAiBA,MAAM,eAAe,IAAI,kBAAkB;AAAA,EAC1C,MAAM;AAAA,EACN,QAAQ;AAAA,IACP,MAAM,EAAE,MAAM,cAAc;AAAA,
|
|
1
|
+
{"version":3,"file":"introspection.schema.js","sources":["../../../../../packages/engine-content-api/src/introspection/introspection.schema.ts"],"sourcesContent":["import { JSONType } from '@contember/graphql-utils'\n\nimport {\n\tGraphQLBoolean,\n\tGraphQLEnumType,\n\tGraphQLFieldResolver,\n\tGraphQLInt,\n\tGraphQLInterfaceType,\n\tGraphQLList,\n\tGraphQLNonNull,\n\tGraphQLObjectType,\n\tGraphQLSchema,\n\tGraphQLSchemaConfig,\n\tGraphQLString,\n\tGraphQLUnionType,\n} from 'graphql'\n\nconst _RuleMessage = new GraphQLObjectType({\n\tname: '_RuleMessage',\n\tfields: {\n\t\ttext: { type: GraphQLString },\n\t},\n})\n\nconst _ValidatorArgument = new GraphQLObjectType({\n\tname: '_ValidatorArgument',\n\tfields: {\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _PathArgument = new GraphQLObjectType({\n\tname: '_PathArgument',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _LiteralArgument = new GraphQLObjectType({\n\tname: '_LiteralArgument',\n\tfields: {\n\t\tvalue: { type: JSONType },\n\t},\n})\n\nconst _Argument = new GraphQLUnionType({\n\tname: '_Argument',\n\ttypes: [_ValidatorArgument, _PathArgument, _LiteralArgument],\n})\n\nconst _Validator = new GraphQLObjectType({\n\tname: '_Validator',\n\tfields: {\n\t\toperation: { type: new GraphQLNonNull(GraphQLString) },\n\t\targuments: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Argument))) },\n\t},\n})\n\nconst _Rule = new GraphQLObjectType({\n\tname: '_Rule',\n\tfields: {\n\t\tmessage: { type: _RuleMessage },\n\t\tvalidator: { type: new GraphQLNonNull(GraphQLInt) },\n\t},\n})\n\nconst _FieldInterface = new GraphQLInterfaceType({\n\tname: '_Field',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tnullable: { type: GraphQLBoolean },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _OrderByDirection = new GraphQLEnumType({\n\tname: '_OrderByDirection',\n\tvalues: {\n\t\tasc: {},\n\t\tdesc: {},\n\t},\n})\n\nconst _OrderBy = new GraphQLObjectType({\n\tname: '_OrderBy',\n\tfields: {\n\t\tpath: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t\tdirection: { type: new GraphQLNonNull(_OrderByDirection) },\n\t},\n})\n\nconst _OnDeleteBehaviour = new GraphQLEnumType({\n\tname: '_OnDeleteBehaviour',\n\tvalues: {\n\t\trestrict: {},\n\t\tcascade: {},\n\t\tsetNull: {},\n\t},\n})\n\nconst _RelationSide = new GraphQLEnumType({\n\tname: '_RelationSide',\n\tvalues: {\n\t\towning: {},\n\t\tinverse: {},\n\t},\n})\n\nconst _Relation = new GraphQLObjectType({\n\tname: '_Relation',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tside: { type: new GraphQLNonNull(_RelationSide) },\n\t\ttargetEntity: { type: new GraphQLNonNull(GraphQLString) },\n\t\townedBy: { type: GraphQLString },\n\t\tinversedBy: { type: GraphQLString },\n\t\tnullable: { type: GraphQLBoolean },\n\t\tonDelete: { type: _OnDeleteBehaviour },\n\t\torphanRemoval: { type: GraphQLBoolean },\n\t\torderBy: { type: new GraphQLList(new GraphQLNonNull(_OrderBy)) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _Column = new GraphQLObjectType({\n\tname: '_Column',\n\tinterfaces: [_FieldInterface],\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\ttype: { type: new GraphQLNonNull(GraphQLString) },\n\t\tenumName: { type: GraphQLString },\n\t\tdefaultValue: { type: JSONType },\n\t\tnullable: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\trules: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Rule))) },\n\t\tvalidators: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Validator))) },\n\t},\n})\n\nconst _UniqueConstraint = new GraphQLObjectType({\n\tname: '_UniqueConstraint',\n\tfields: {\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Entity = new GraphQLObjectType({\n\tname: '_Entity',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tcustomPrimaryAllowed: { type: new GraphQLNonNull(GraphQLBoolean) },\n\t\tfields: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_FieldInterface))) },\n\t\tunique: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_UniqueConstraint))) },\n\t},\n})\n\nconst _Enum = new GraphQLObjectType({\n\tname: '_Enum',\n\tfields: {\n\t\tname: { type: new GraphQLNonNull(GraphQLString) },\n\t\tvalues: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(GraphQLString))) },\n\t},\n})\n\nconst _Schema = new GraphQLObjectType({\n\tname: '_Schema',\n\tfields: {\n\t\tenums: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Enum))) },\n\t\tentities: { type: new GraphQLNonNull(new GraphQLList(new GraphQLNonNull(_Entity))) },\n\t},\n})\n\n\nexport const createSchemaConfig = (resolver?: GraphQLFieldResolver<any, any>): GraphQLSchemaConfig => {\n\treturn {\n\t\tquery: new GraphQLObjectType({\n\t\t\tname: 'Query',\n\t\t\tfields: {\n\t\t\t\tschema: {\n\t\t\t\t\ttype: _Schema,\n\t\t\t\t\tresolve: resolver,\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\ttypes: [_Column, _Relation],\n\t}\n}\n\n\nexport default new GraphQLSchema(createSchemaConfig())\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckedPrimary.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CheckedPrimary.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAA;AACpC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckedPrimary.js","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CheckedPrimary.js","sources":["../../../../../packages/engine-content-api/src/mapper/CheckedPrimary.ts"],"sourcesContent":["import { Input } from '@contember/schema'\n\nexport class CheckedPrimary {\n\tpublic constructor(public readonly primaryValue: Input.PrimaryValue) {}\n}\n"],"names":[],"mappings":"AAEO,MAAM,eAAe;AAAA,EACpB,YAA4B,cAAkC;AAAlC,SAAA,eAAA;AAAA,EAAA;AACpC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnValue.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":["getRejections","getFulfilledValues"],"mappings":";;;;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"ColumnValue.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":["getRejections","getFulfilledValues"],"mappings":";;;;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EAAA;AAER,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAQ,EAAA;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAASA,uBAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EAAA;AAET,QAAA,YAAYC,4BAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnValue.js","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":[],"mappings":";;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"ColumnValue.js","sources":["../../../../../packages/engine-content-api/src/mapper/ColumnValue.ts"],"sourcesContent":["import { Value } from '@contember/schema'\nimport { getFulfilledValues, getRejections } from '../utils'\n\nexport type ColumnValue<E = never> = {\n\tvalue: PromiseLike<Value.FieldValue<E> | undefined>\n\tfieldName: string\n\tcolumnName: string\n\tcolumnType: string\n}\n\nexport type ResolvedColumnValue<E = never> = ColumnValue<E> & {\n\tresolvedValue: Value.FieldValue<E>\n}\n\nexport const resolveGenericValue = <T>(value: Value.GenericValueLike<T>): Promise<T> => {\n\tif (value instanceof Function) {\n\t\tvalue = value()\n\t}\n\treturn Promise.resolve(value)\n}\n\nexport const resolveRowData = async <E>(\n\tvalues: ColumnValue<E>[],\n): Promise<ResolvedColumnValue<Exclude<E, undefined>>[]> => {\n\tconst valuePromises = values.map(async (it): Promise<ResolvedColumnValue<E | undefined>> => ({ ...it, resolvedValue: await it.value }))\n\tconst settledValues = await Promise.allSettled(valuePromises)\n\tconst failed = getRejections(settledValues)\n\tif (failed.length > 0) {\n\t\tthrow failed[0]\n\t}\n\tconst fulfilled = getFulfilledValues(settledValues)\n\treturn fulfilled.filter((it): it is ResolvedColumnValue<Exclude<E, undefined>> => it.resolvedValue !== undefined)\n}\n\nexport const rowDataToFieldValues = (values: ResolvedColumnValue[]): Record<string, Value.AtomicValue> =>\n\tvalues.reduce((acc, { fieldName, value }) => ({ ...acc, [fieldName]: value }), {})\n"],"names":[],"mappings":";;AAca,MAAA,sBAAsB,CAAI,UAAiD;AACvF,MAAI,iBAAiB,UAAU;AAC9B,YAAQ,MAAM;AAAA,EAAA;AAER,SAAA,QAAQ,QAAQ,KAAK;AAC7B;AAEa,MAAA,iBAAiB,OAC7B,WAC2D;AAC3D,QAAM,gBAAgB,OAAO,IAAI,OAAO,QAAqD,EAAE,GAAG,IAAI,eAAe,MAAM,GAAG,MAAQ,EAAA;AACtI,QAAM,gBAAgB,MAAM,QAAQ,WAAW,aAAa;AACtD,QAAA,SAAS,cAAc,aAAa;AACtC,MAAA,OAAO,SAAS,GAAG;AACtB,UAAM,OAAO,CAAC;AAAA,EAAA;AAET,QAAA,YAAY,mBAAmB,aAAa;AAClD,SAAO,UAAU,OAAO,CAAC,OAAyD,GAAG,kBAAkB,MAAS;AACjH;AAEa,MAAA,uBAAuB,CAAC,WACpC,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAE,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorUtils.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError || e instanceof Database.CannotCommitError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["tryGetColumnName","acceptFieldVisitor","relation","Database","MutationConstraintViolationError","ConstraintType","MutationResultHint","UniqueWhereError","MutationInputError","InputErrorKind","MutationSqlError","logger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,uBAAuB,CAAC,OAAqB,cAAsB,OAAO,OAAO,MAAM,QAAQ,EAAE,KAAK,CAAM,OAAA,GAAG,cAAc,SAAS;AAE5I,MAAM,uBAAuB,CAAC,OAAqB,kBAAoC,WAAmB,mBAA0D;AAC7J,QAAA,aAAa,iBAAiB,kBAAkB,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"ErrorUtils.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/ErrorUtils.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tInputErrorKind,\n\tMutationConstraintViolationError,\n\tMutationInputError,\n\tMutationResult,\n\tMutationResultHint,\n\tMutationResultList,\n\tMutationSqlError,\n} from './Result'\nimport * as Database from '@contember/database'\nimport { UniqueWhereError } from '../inputProcessing'\nimport { Model } from '@contember/schema'\nimport { acceptFieldVisitor, tryGetColumnName } from '@contember/schema-utils'\nimport { logger } from '@contember/logger'\nimport { DatabaseMetadata } from '@contember/database'\n\n\ntype UniqueConstraintResult = {\n\tentity: Model.Entity\n\tfields: string[]\n}\n\nconst getEntityByTableName = (model: Model.Schema, tableName: string) => Object.values(model.entities).find(it => it.tableName === tableName)\n\nconst findUniqueConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): UniqueConstraintResult | null => {\n\tconst constraint = databaseMetadata.uniqueConstraints.filter({ tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst entity = getEntityByTableName(model, constraint.tableName)\n\tif (!entity) {\n\t\treturn null\n\t}\n\tconst fieldsInConstraint: string[] = []\n\tfor (const field of Object.values(entity.fields)) {\n\t\tconst columnName = tryGetColumnName(model, entity, field.name)\n\t\tif (columnName && constraint.columnNames.includes(columnName)) {\n\t\t\tfieldsInConstraint.push(field.name)\n\t\t}\n\t}\n\tif (fieldsInConstraint.length === constraint.columnNames.length) {\n\t\treturn { entity, fields: fieldsInConstraint }\n\t}\n\treturn null\n}\n\ntype RelationInfo = {\n\towningEntity: Model.Entity\n\towningRelation: Model.Relation\n\ttargetEntity: Model.Entity\n}\n\nconst findForeignConstraint = (model: Model.Schema, databaseMetadata: DatabaseMetadata, tableName: string, constraintName: string): RelationInfo | null => {\n\tconst constraint = databaseMetadata.foreignKeys.filter({ fromTable: tableName, constraintName }).first()\n\tif (!constraint) {\n\t\treturn null\n\t}\n\tconst owningEntity = getEntityByTableName(model, constraint.fromTable)\n\tif (!owningEntity) {\n\t\t// todo m:n\n\t\treturn null\n\t}\n\n\tconst targetEntity = getEntityByTableName(model, constraint.toTable)\n\tif (!targetEntity) {\n\t\treturn null\n\t}\n\tfor (const field of Object.values(owningEntity.fields)) {\n\t\tconst relation = acceptFieldVisitor<(Model.Relation & Model.JoiningColumnRelation) | null>(model, owningEntity, field, {\n\t\t\tvisitColumn: () => null,\n\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\tvisitOneHasMany: () => null,\n\t\t\tvisitOneHasOneOwning: ({ relation }) => relation,\n\t\t\tvisitManyHasOne: ({ relation }) => relation,\n\t\t})\n\t\tif (relation && relation.joiningColumn.columnName === constraint.fromColumn) {\n\t\t\treturn {\n\t\t\t\towningEntity,\n\t\t\t\towningRelation: relation,\n\t\t\t\ttargetEntity,\n\t\t\t}\n\t\t}\n\t}\n\treturn null\n}\n\nexport const convertError = (\n\tschema: Model.Schema,\n\tdatabaseMetadata: DatabaseMetadata,\n\te: any,\n): MutationResult => {\n\n\tif (e instanceof Database.NotNullViolationError) {\n\t\treturn new MutationConstraintViolationError([], ConstraintType.notNull, e.originalMessage, [\n\t\t\tMutationResultHint.sqlError,\n\t\t])\n\t}\n\tif (e instanceof Database.ForeignKeyViolationError) {\n\t\tconst relationInfo = e.constraint && e.table ? findForeignConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) is still referenced from table/)\n\t\tconst message = relationInfo\n\t\t\t? `Cannot delete ${matchResult ? `row ${matchResult[1]}` : 'unknown row'}`\n\t\t\t\t+ ` of entity ${relationInfo.targetEntity.name},`\n\t\t\t\t+ ` because it is still referenced from ${relationInfo.owningEntity.name}::${relationInfo.owningRelation.name}.`\n\t\t\t\t+ ' This is possibly caused by ACL denial or by missing \"on delete cascade\"'\n\t\t\t: e.originalMessage\n\t\treturn new MutationConstraintViolationError([], ConstraintType.foreignKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.UniqueViolationError) {\n\t\tconst constraint = e.constraint && e.table ? findUniqueConstraint(schema, databaseMetadata, e.table, e.constraint) : null\n\t\tconst violationDetail: string = 'detail' in e.previous ? e.previous.detail : ''\n\t\tconst matchResult = violationDetail.match(/^Key \\(.+\\)=\\((.+)\\) already exists\\.$/)\n\t\tconst values = matchResult?.[1]\n\t\tconst message = constraint\n\t\t\t? `${values ? `Value (${values})` : 'Unknown value'}` +\n\t\t\t ` already exists in unique columns (${constraint.fields.join(', ')}) on entity ${constraint.entity.name}`\n\t\t\t: e.originalMessage\n\t\tconst paths = constraint ? constraint.fields.map(it => [{ field: it }]) : []\n\t\treturn new MutationConstraintViolationError(paths, ConstraintType.uniqueKey, message, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof UniqueWhereError) {\n\t\treturn new MutationInputError([], InputErrorKind.nonUniqueWhere, e.message)\n\t}\n\tif (e instanceof Database.InvalidDataError) {\n\t\treturn new MutationInputError([], InputErrorKind.invalidData, e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tif (e instanceof Database.SerializationFailureError) {\n\t\tthrow e\n\t}\n\tif (e instanceof Database.TransactionAbortedError) {\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.subSequentSqlError])\n\t}\n\tif (e instanceof Database.QueryError || e instanceof Database.CannotCommitError) {\n\t\tlogger.error(e, { loc: 'convertError' })\n\t\treturn new MutationSqlError([], e.originalMessage, [MutationResultHint.sqlError])\n\t}\n\tthrow e\n}\n\nexport const tryMutation = async (schema: Model.Schema, databaseMetadata: DatabaseMetadata, cb: () => Promise<MutationResultList>): Promise<MutationResultList> => {\n\ttry {\n\t\treturn await cb()\n\t} catch (e) {\n\t\treturn [convertError(schema, databaseMetadata, e)]\n\t}\n}\n"],"names":["tryGetColumnName","acceptFieldVisitor","relation","Database","MutationConstraintViolationError","ConstraintType","MutationResultHint","UniqueWhereError","MutationInputError","InputErrorKind","MutationSqlError","logger"],"mappings":"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"}
|