@contember/engine-content-api 0.12.0-beta.1 → 1.0.0-alpha.2
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/src/acl/PermissionFactory.d.ts.map +1 -1
- package/dist/src/acl/PermissionFactory.js +9 -6
- package/dist/src/acl/PermissionFactory.js.map +1 -1
- package/dist/src/acl/PermissionsByIdentityFactory.js +1 -1
- package/dist/src/acl/PermissionsByIdentityFactory.js.map +1 -1
- package/dist/src/acl/PredicatesInjector.js +1 -1
- package/dist/src/acl/PredicatesInjector.js.map +1 -1
- package/dist/src/acl/VariableUtils.d.ts +5 -1
- package/dist/src/acl/VariableUtils.d.ts.map +1 -1
- package/dist/src/acl/VariableUtils.js +25 -7
- package/dist/src/acl/VariableUtils.js.map +1 -1
- package/dist/src/bridges/system/EntitiesSelector.js +2 -2
- package/dist/src/bridges/system/EntitiesSelector.js.map +1 -1
- package/dist/src/bridges/system/index.d.ts +0 -1
- package/dist/src/bridges/system/index.d.ts.map +1 -1
- package/dist/src/bridges/system/index.js +0 -1
- package/dist/src/bridges/system/index.js.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js +2 -2
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -1
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +4 -4
- package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js +3 -3
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +1 -1
- package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
- package/dist/src/input-validation/ColumnValueResolver.js +1 -1
- package/dist/src/input-validation/ColumnValueResolver.js.map +1 -1
- package/dist/src/input-validation/EntityRulesResolver.js +5 -5
- package/dist/src/input-validation/EntityRulesResolver.js.map +1 -1
- package/dist/src/input-validation/QueryAstFactory.js +2 -2
- package/dist/src/input-validation/QueryAstFactory.js.map +1 -1
- package/dist/src/input-validation/ValidationContext.js +1 -1
- package/dist/src/input-validation/ValidationContext.js.map +1 -1
- package/dist/src/input-validation/ValidationEvaluation.js +8 -8
- package/dist/src/input-validation/ValidationEvaluation.js.map +1 -1
- package/dist/src/input-validation/dependencies/DependencyCollector.js +1 -1
- package/dist/src/input-validation/dependencies/DependencyCollector.js.map +1 -1
- package/dist/src/input-validation/dependencies/DependencyMerger.js +1 -1
- package/dist/src/input-validation/dependencies/DependencyMerger.js.map +1 -1
- package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js +1 -1
- package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
- package/dist/src/input-validation/preValidation/InputPreValidator.js +6 -6
- package/dist/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
- package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js +3 -3
- package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
- package/dist/src/inputProcessing/CreateInputVisitor.js +6 -6
- package/dist/src/inputProcessing/CreateInputVisitor.js.map +1 -1
- package/dist/src/inputProcessing/UniqueWhereExpander.js +3 -3
- package/dist/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
- package/dist/src/inputProcessing/UpdateInputVisitor.js +14 -14
- package/dist/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
- package/dist/src/introspection/IntrospectionSchemaFactory.js +4 -4
- package/dist/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
- package/dist/src/introspection/content-schema.graphql.js +1 -1
- package/dist/src/introspection/content-schema.graphql.js.map +1 -1
- package/dist/src/introspection/content-schema.types.d.ts +4 -1
- package/dist/src/introspection/content-schema.types.d.ts.map +1 -1
- package/dist/src/mapper/ColumnValue.js +2 -2
- package/dist/src/mapper/ColumnValue.js.map +1 -1
- package/dist/src/mapper/ErrorUtils.d.ts +2 -9
- package/dist/src/mapper/ErrorUtils.d.ts.map +1 -1
- package/dist/src/mapper/ErrorUtils.js +48 -37
- package/dist/src/mapper/ErrorUtils.js.map +1 -1
- package/dist/src/mapper/JunctionTableManager.js +1 -1
- package/dist/src/mapper/JunctionTableManager.js.map +1 -1
- package/dist/src/mapper/Mapper.js +7 -7
- package/dist/src/mapper/Mapper.js.map +1 -1
- package/dist/src/mapper/MutationProcessorHelper.js +2 -2
- package/dist/src/mapper/MutationProcessorHelper.js.map +1 -1
- package/dist/src/mapper/Result.d.ts +4 -4
- package/dist/src/mapper/Result.d.ts.map +1 -1
- package/dist/src/mapper/Result.js +8 -8
- package/dist/src/mapper/Result.js.map +1 -1
- package/dist/src/mapper/delete/DeleteExecutor.d.ts.map +1 -1
- package/dist/src/mapper/delete/DeleteExecutor.js +5 -14
- package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
- package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
- package/dist/src/mapper/insert/InsertBuilder.js +6 -7
- package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
- package/dist/src/mapper/insert/Inserter.js +4 -4
- package/dist/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/src/mapper/insert/SqlCreateInputProcessor.js +17 -17
- package/dist/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/src/mapper/select/JoinBuilder.js +2 -2
- package/dist/src/mapper/select/JoinBuilder.js.map +1 -1
- package/dist/src/mapper/select/OrderByBuilder.js +2 -2
- package/dist/src/mapper/select/OrderByBuilder.js.map +1 -1
- package/dist/src/mapper/select/SelectBuilder.js +4 -4
- package/dist/src/mapper/select/SelectBuilder.js.map +1 -1
- package/dist/src/mapper/select/WhereBuilder.js +2 -2
- package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
- package/dist/src/mapper/update/SqlUpdateInputProcessor.js +44 -44
- package/dist/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
- package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
- package/dist/src/mapper/update/UpdateBuilder.js +9 -10
- package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/src/mapper/update/Updater.js +3 -3
- package/dist/src/mapper/update/Updater.js.map +1 -1
- package/dist/src/resolvers/ExecutionContainerFactory.js +2 -2
- package/dist/src/resolvers/ExecutionContainerFactory.js.map +1 -1
- package/dist/src/resolvers/GraphQlQueryAstFactory.js +7 -7
- package/dist/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
- package/dist/src/resolvers/MutationResolver.d.ts +6 -2
- package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/MutationResolver.js +27 -13
- package/dist/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/src/resolvers/ReadHelpers.js +4 -4
- package/dist/src/resolvers/ReadHelpers.js.map +1 -1
- package/dist/src/resolvers/ReadResolver.js +3 -3
- package/dist/src/resolvers/ReadResolver.js.map +1 -1
- package/dist/src/resolvers/ValidationResolver.js +1 -1
- package/dist/src/resolvers/ValidationResolver.js.map +1 -1
- package/dist/src/schema/ColumnTypeResolver.js +1 -1
- package/dist/src/schema/ColumnTypeResolver.js.map +1 -1
- package/dist/src/schema/ConditionTypeProvider.js +2 -2
- package/dist/src/schema/ConditionTypeProvider.js.map +1 -1
- package/dist/src/schema/EntityTypeProvider.js +10 -10
- package/dist/src/schema/EntityTypeProvider.js.map +1 -1
- package/dist/src/schema/EnumsProvider.js +2 -2
- package/dist/src/schema/EnumsProvider.js.map +1 -1
- package/dist/src/schema/GraphQlSchemaBuilder.d.ts.map +1 -1
- package/dist/src/schema/GraphQlSchemaBuilder.js +16 -1
- package/dist/src/schema/GraphQlSchemaBuilder.js.map +1 -1
- package/dist/src/schema/MutationProvider.js +2 -2
- package/dist/src/schema/MutationProvider.js.map +1 -1
- package/dist/src/schema/OrderByTypeProvider.js +4 -4
- package/dist/src/schema/OrderByTypeProvider.js.map +1 -1
- package/dist/src/schema/ValidationQueriesProvider.js +1 -1
- package/dist/src/schema/ValidationQueriesProvider.js.map +1 -1
- package/dist/src/schema/WhereTypeProvider.js +10 -10
- package/dist/src/schema/WhereTypeProvider.js.map +1 -1
- package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +2 -2
- package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/src/schema/mutations/CreateEntityRelationInputProvider.js +2 -2
- package/dist/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -1
- package/dist/src/schema/mutations/EntityInputProvider.js +4 -4
- package/dist/src/schema/mutations/EntityInputProvider.js.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +7 -7
- package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityRelationInputProvider.js +2 -2
- package/dist/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -1
- package/dist/src/schema/utils.js +1 -1
- package/dist/src/schema/utils.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/uniqueWhereFields.js +1 -1
- package/dist/src/utils/uniqueWhereFields.js.map +1 -1
- package/dist/tests/cases/bugs/bug-filter-or.test.js +13 -13
- package/dist/tests/cases/bugs/bug-filter-or.test.js.map +1 -1
- package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js +8 -8
- package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js.map +1 -1
- package/dist/tests/cases/bugs/bug102.test.js +9 -9
- package/dist/tests/cases/bugs/bug102.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js +60 -0
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +185 -0
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +43 -0
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js +7 -7
- package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +12 -12
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +12 -12
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js +38 -0
- package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js +22 -22
- package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js +20 -20
- package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js +19 -19
- package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js +18 -18
- package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js +11 -11
- package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/basicInsert.test.js +11 -11
- package/dist/tests/cases/integration/graphQlRequests/insert/basicInsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.js +12 -12
- package/dist/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js +21 -21
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js +21 -21
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js +17 -17
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js +17 -17
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js +11 -11
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.js +15 -15
- package/dist/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js +38 -38
- package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.js +15 -15
- package/dist/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.js +18 -18
- package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.js +8 -8
- package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.js +8 -8
- package/dist/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.js +7 -7
- package/dist/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.js +18 -18
- package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/misc/transaction.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/query/misc/transaction.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.js +39 -39
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.js +8 -8
- package/dist/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/advanced.test.js +73 -73
- package/dist/tests/cases/integration/graphQlRequests/query/relations/advanced.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js +29 -29
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js +20 -20
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.js +34 -34
- package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.js +65 -65
- package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.js +28 -28
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.js +39 -39
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.js +17 -17
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.js +8 -8
- package/dist/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.js +8 -8
- package/dist/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.js +8 -8
- package/dist/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.js +8 -8
- package/dist/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/view/view.test.js +10 -10
- package/dist/tests/cases/integration/graphQlRequests/query/view/view.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +40 -40
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js +32 -32
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js +32 -32
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js +41 -41
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js +10 -10
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js +31 -31
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js +18 -18
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.js +11 -11
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js +15 -15
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js +14 -14
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js +21 -21
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js +26 -26
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js +50 -50
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js +29 -29
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js +15 -15
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js +26 -26
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js +50 -50
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +13 -13
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js +17 -17
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js +16 -16
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js +31 -31
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js +26 -26
- package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js +40 -40
- package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.js +10 -10
- package/dist/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js +24 -24
- package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.js +5 -5
- package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.js +9 -9
- package/dist/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.js +11 -11
- package/dist/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/required.test.js +26 -26
- package/dist/tests/cases/integration/graphQlRequests/validation/required.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.js +18 -18
- package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.js +4 -4
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.js +5 -5
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.js +4 -4
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.js +4 -4
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.js +6 -6
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.js +4 -4
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.js +5 -5
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.js +4 -4
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.js +5 -5
- package/dist/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/validation/utils.js +4 -4
- package/dist/tests/cases/integration/graphQlRequests/validation/utils.js.map +1 -1
- package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js +3 -3
- package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-aliased-type.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-basic.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-bug-66.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +5 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-new-builder.gql +5 -1
- package/dist/tests/cases/unit/aclVariablesFactory.test.d.ts +2 -0
- package/dist/tests/cases/unit/aclVariablesFactory.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/aclVariablesFactory.test.js +86 -0
- package/dist/tests/cases/unit/aclVariablesFactory.test.js.map +1 -0
- package/dist/tests/cases/unit/inputPreValidator.test.js +20 -20
- package/dist/tests/cases/unit/inputPreValidator.test.js.map +1 -1
- package/dist/tests/cases/unit/inputValidation.test.js +7 -7
- package/dist/tests/cases/unit/inputValidation.test.js.map +1 -1
- package/dist/tests/cases/unit/orderbyHelper.test.js +1 -1
- package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
- package/dist/tests/cases/unit/permissionMerger.test.js +1 -1
- package/dist/tests/cases/unit/permissionMerger.test.js.map +1 -1
- package/dist/tests/cases/unit/predicatesInjector.test.js +1 -1
- package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
- package/dist/tests/cases/unit/variableInjector.test.js +1 -1
- package/dist/tests/cases/unit/variableInjector.test.js.map +1 -1
- package/dist/tests/src/test.js +6 -6
- package/dist/tests/src/test.js.map +1 -1
- package/dist/tests/src/testGraphql.js +1 -1
- package/dist/tests/src/testGraphql.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/src/acl/PermissionFactory.ts +3 -0
- package/src/acl/VariableUtils.ts +34 -10
- package/src/bridges/system/index.ts +0 -1
- package/src/introspection/content-schema.types.ts +5 -0
- package/src/mapper/ColumnValue.ts +1 -1
- package/src/mapper/ErrorUtils.ts +64 -41
- package/src/mapper/Mapper.ts +5 -5
- package/src/mapper/Result.ts +7 -4
- package/src/mapper/delete/DeleteExecutor.ts +3 -10
- package/src/mapper/insert/InsertBuilder.ts +3 -3
- package/src/mapper/insert/Inserter.ts +2 -2
- package/src/mapper/update/UpdateBuilder.ts +2 -3
- package/src/mapper/update/Updater.ts +1 -1
- package/src/resolvers/ExecutionContainerFactory.ts +1 -1
- package/src/resolvers/MutationResolver.ts +18 -2
- package/src/schema/GraphQlSchemaBuilder.ts +15 -3
- package/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts +46 -0
- package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +208 -0
- package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +47 -0
- package/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.ts +40 -0
- package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-acl.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-aliased-type.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-basic.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +5 -1
- package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +5 -1
- package/tests/cases/unit/aclVariablesFactory.test.ts +73 -0
- package/dist/src/bridges/system/ContentEventApplier.d.ts +0 -50
- package/dist/src/bridges/system/ContentEventApplier.d.ts.map +0 -1
- package/dist/src/bridges/system/ContentEventApplier.js +0 -249
- package/dist/src/bridges/system/ContentEventApplier.js.map +0 -1
- package/src/bridges/system/ContentEventApplier.ts +0 -399
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { test } from 'uvu'
|
|
2
|
+
import { SchemaBuilder } from '@contember/schema-definition'
|
|
3
|
+
import { GQL } from '../../../../src/tags'
|
|
4
|
+
import { testUuid } from '../../../../src/testUuid'
|
|
5
|
+
import { executeDbTest } from '@contember/engine-api-tester'
|
|
6
|
+
|
|
7
|
+
test('delete without deferring constraints', async () => {
|
|
8
|
+
await executeDbTest({
|
|
9
|
+
schema: new SchemaBuilder()
|
|
10
|
+
.entity('Post', entity =>
|
|
11
|
+
entity
|
|
12
|
+
.column('slug')
|
|
13
|
+
.unique(['slug']),
|
|
14
|
+
)
|
|
15
|
+
.entity('Attachment', entity =>
|
|
16
|
+
entity
|
|
17
|
+
.column('slug')
|
|
18
|
+
.manyHasOne('post', relation => relation.target('Post').inversedBy('attachments').notNull())
|
|
19
|
+
.unique(['slug']),
|
|
20
|
+
)
|
|
21
|
+
.entity('Reference', entity =>
|
|
22
|
+
entity
|
|
23
|
+
.column('slug')
|
|
24
|
+
.manyHasOne('post', relation => relation.target('Post').inversedBy('references').notNull())
|
|
25
|
+
.manyHasOne('attachment', relation => relation.target('Attachment').inversedBy('refereces'))
|
|
26
|
+
.unique(['slug']),
|
|
27
|
+
)
|
|
28
|
+
.buildSchema(),
|
|
29
|
+
seed: [
|
|
30
|
+
{
|
|
31
|
+
query: `mutation {
|
|
32
|
+
createPost(data: {slug: "foo", attachments: [{create: {slug: "atta"}}]}) {
|
|
33
|
+
ok
|
|
34
|
+
node {
|
|
35
|
+
id
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}`,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
query: `mutation {
|
|
42
|
+
updatePost(by: {slug: "foo"}, data: {references: [{create: {slug: "ref", attachment: {connect: {slug: "atta"}}}}]}) {
|
|
43
|
+
ok
|
|
44
|
+
}
|
|
45
|
+
}`,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
query: GQL`
|
|
49
|
+
mutation {
|
|
50
|
+
transaction {
|
|
51
|
+
ok
|
|
52
|
+
errorMessage
|
|
53
|
+
updatePost(by: {slug: "foo"}, data: {references: [{delete: {slug: "ref"}}], attachments: [{delete: {slug: "atta"}}]}) {
|
|
54
|
+
ok
|
|
55
|
+
errorMessage
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
`,
|
|
60
|
+
return: {
|
|
61
|
+
transaction: {
|
|
62
|
+
ok: false,
|
|
63
|
+
errorMessage: 'Execution has failed:\nupdatePost.attachments.0: ForeignKeyConstraintViolation (Cannot delete row 123e4567-e89b-12d3-a456-000000000002 of entity Attachment, because it is still referenced from Reference::attachment. This is possibly caused by ACL denial or by missing "on delete cascade")',
|
|
64
|
+
updatePost: {
|
|
65
|
+
ok: false,
|
|
66
|
+
errorMessage: 'Execution has failed:\nattachments.0: ForeignKeyConstraintViolation (Cannot delete row 123e4567-e89b-12d3-a456-000000000002 of entity Attachment, because it is still referenced from Reference::attachment. This is possibly caused by ACL denial or by missing "on delete cascade")',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
test('delete with successfully deferring constraints', async () => {
|
|
75
|
+
await executeDbTest({
|
|
76
|
+
schema: new SchemaBuilder()
|
|
77
|
+
.entity('Post', entity =>
|
|
78
|
+
entity
|
|
79
|
+
.column('slug')
|
|
80
|
+
.unique(['slug']),
|
|
81
|
+
)
|
|
82
|
+
.entity('Attachment', entity =>
|
|
83
|
+
entity
|
|
84
|
+
.column('slug')
|
|
85
|
+
.manyHasOne('post', relation => relation.target('Post').inversedBy('attachments').notNull())
|
|
86
|
+
.unique(['slug']),
|
|
87
|
+
)
|
|
88
|
+
.entity('Reference', entity =>
|
|
89
|
+
entity
|
|
90
|
+
.column('slug')
|
|
91
|
+
.manyHasOne('post', relation => relation.target('Post').inversedBy('references').notNull())
|
|
92
|
+
.manyHasOne('attachment', relation => relation.target('Attachment').inversedBy('refereces'))
|
|
93
|
+
.unique(['slug']),
|
|
94
|
+
)
|
|
95
|
+
.buildSchema(),
|
|
96
|
+
seed: [
|
|
97
|
+
{
|
|
98
|
+
query: `mutation {
|
|
99
|
+
createPost(data: {slug: "foo", attachments: [{create: {slug: "atta"}}]}) {
|
|
100
|
+
ok
|
|
101
|
+
node {
|
|
102
|
+
id
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}`,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
query: `mutation {
|
|
109
|
+
updatePost(by: {slug: "foo"}, data: {references: [{create: {slug: "ref", attachment: {connect: {slug: "atta"}}}}]}) {
|
|
110
|
+
ok
|
|
111
|
+
}
|
|
112
|
+
}`,
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
query: GQL`
|
|
116
|
+
mutation {
|
|
117
|
+
transaction(options: {deferForeignKeyConstraints: true}) {
|
|
118
|
+
ok
|
|
119
|
+
errorMessage
|
|
120
|
+
updatePost(by: {slug: "foo"}, data: {references: [{delete: {slug: "ref"}}], attachments: [{delete: {slug: "atta"}}]}) {
|
|
121
|
+
ok
|
|
122
|
+
errorMessage
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
`,
|
|
127
|
+
return: {
|
|
128
|
+
transaction: {
|
|
129
|
+
ok: true,
|
|
130
|
+
errorMessage: null,
|
|
131
|
+
updatePost: {
|
|
132
|
+
ok: true,
|
|
133
|
+
errorMessage: null,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
test('delete with unsuccessfully deferring constraints', async () => {
|
|
142
|
+
await executeDbTest({
|
|
143
|
+
schema: new SchemaBuilder()
|
|
144
|
+
.entity('Post', entity =>
|
|
145
|
+
entity
|
|
146
|
+
.column('slug')
|
|
147
|
+
.unique(['slug']),
|
|
148
|
+
)
|
|
149
|
+
.entity('Attachment', entity =>
|
|
150
|
+
entity
|
|
151
|
+
.column('slug')
|
|
152
|
+
.manyHasOne('post', relation => relation.target('Post').inversedBy('attachments').notNull())
|
|
153
|
+
.unique(['slug']),
|
|
154
|
+
)
|
|
155
|
+
.entity('Reference', entity =>
|
|
156
|
+
entity
|
|
157
|
+
.column('slug')
|
|
158
|
+
.manyHasOne('post', relation => relation.target('Post').inversedBy('references').notNull())
|
|
159
|
+
.manyHasOne('attachment', relation => relation.target('Attachment').inversedBy('refereces'))
|
|
160
|
+
.unique(['slug']),
|
|
161
|
+
)
|
|
162
|
+
.buildSchema(),
|
|
163
|
+
seed: [
|
|
164
|
+
{
|
|
165
|
+
query: `mutation {
|
|
166
|
+
createPost(data: {slug: "foo", attachments: [{create: {slug: "atta"}}]}) {
|
|
167
|
+
ok
|
|
168
|
+
node {
|
|
169
|
+
id
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}`,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
query: `mutation {
|
|
176
|
+
updatePost(by: {slug: "foo"}, data: {references: [{create: {slug: "ref", attachment: {connect: {slug: "atta"}}}}]}) {
|
|
177
|
+
ok
|
|
178
|
+
}
|
|
179
|
+
}`,
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
query: GQL`
|
|
183
|
+
mutation {
|
|
184
|
+
transaction(options: {deferForeignKeyConstraints: true}) {
|
|
185
|
+
ok
|
|
186
|
+
errorMessage
|
|
187
|
+
updatePost(by: {slug: "foo"}, data: {attachments: [{delete: {slug: "atta"}}]}) {
|
|
188
|
+
ok
|
|
189
|
+
errorMessage
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
`,
|
|
194
|
+
return: {
|
|
195
|
+
transaction: {
|
|
196
|
+
ok: false,
|
|
197
|
+
errorMessage: 'Execution has failed:\nunknown field: ForeignKeyConstraintViolation (Cannot delete row 123e4567-e89b-12d3-a456-000000000002 of entity Attachment, because it is still referenced from Reference::attachment. This is possibly caused by ACL denial or by missing "on delete cascade")',
|
|
198
|
+
updatePost: {
|
|
199
|
+
ok: false,
|
|
200
|
+
errorMessage: null,
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
})
|
|
205
|
+
})
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
test.run()
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { test } from 'uvu'
|
|
2
|
+
import { SchemaBuilder } from '@contember/schema-definition'
|
|
3
|
+
import { GQL } from '../../../../src/tags'
|
|
4
|
+
import { testUuid } from '../../../../src/testUuid'
|
|
5
|
+
import { executeDbTest } from '@contember/engine-api-tester'
|
|
6
|
+
|
|
7
|
+
test('fails when deleting entity without proper cascade', async () => {
|
|
8
|
+
await executeDbTest({
|
|
9
|
+
schema: new SchemaBuilder()
|
|
10
|
+
.entity('Post', entity =>
|
|
11
|
+
entity.column('slug').unique(['slug']),
|
|
12
|
+
)
|
|
13
|
+
.entity('PostLocales', entity =>
|
|
14
|
+
entity.manyHasOne('post', relation => relation.target('Post').inversedBy('locales')).column('title'),
|
|
15
|
+
)
|
|
16
|
+
.buildSchema(),
|
|
17
|
+
seed: [
|
|
18
|
+
{
|
|
19
|
+
query: `mutation {
|
|
20
|
+
createPost(data: {slug: "foo", locales: [{create: {title: "bar"}}]}) {
|
|
21
|
+
ok
|
|
22
|
+
node {
|
|
23
|
+
id
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}`,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
query: GQL`
|
|
30
|
+
mutation {
|
|
31
|
+
deletePost(by: {slug: "foo"}) {
|
|
32
|
+
errorMessage
|
|
33
|
+
node {
|
|
34
|
+
id
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}`,
|
|
38
|
+
return: {
|
|
39
|
+
deletePost: {
|
|
40
|
+
errorMessage: 'Execution has failed:\nunknown field: ForeignKeyConstraintViolation (Cannot delete row 123e4567-e89b-12d3-a456-000000000001 of entity Post, because it is still referenced from PostLocales::post. This is possibly caused by ACL denial or by missing "on delete cascade")',
|
|
41
|
+
node: null,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
test.run()
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { SchemaBuilder } from '@contember/schema-definition'
|
|
2
|
+
import { Model } from '@contember/schema'
|
|
3
|
+
import { test } from 'uvu'
|
|
4
|
+
import { executeDbTest } from '@contember/engine-api-tester'
|
|
5
|
+
import { GQL } from '../../../../src/tags'
|
|
6
|
+
|
|
7
|
+
const schema = new SchemaBuilder()
|
|
8
|
+
.entity('Site', e =>
|
|
9
|
+
e.column('slug', c => c.unique().type(Model.ColumnType.String)),
|
|
10
|
+
)
|
|
11
|
+
.buildSchema()
|
|
12
|
+
|
|
13
|
+
test('fail when creating a non-unique site', async () => {
|
|
14
|
+
await executeDbTest({
|
|
15
|
+
schema,
|
|
16
|
+
seed: [
|
|
17
|
+
{
|
|
18
|
+
query: GQL`mutation {
|
|
19
|
+
createSite(data: {slug: "en"}) {
|
|
20
|
+
ok
|
|
21
|
+
}
|
|
22
|
+
}`,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
query: GQL`mutation {
|
|
26
|
+
createSite(data: {slug: "en"}) {
|
|
27
|
+
ok
|
|
28
|
+
errorMessage
|
|
29
|
+
}
|
|
30
|
+
}`,
|
|
31
|
+
return: {
|
|
32
|
+
createSite: {
|
|
33
|
+
ok: false,
|
|
34
|
+
errorMessage: 'Execution has failed:\nslug: UniqueConstraintViolation (Value (en) already exists in unique columns (slug) on entity Site)',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
test.run()
|
|
@@ -295,7 +295,7 @@ type Mutation {
|
|
|
295
295
|
deleteRoot(by: RootUniqueWhere!, filter: RootWhere): RootDeleteResult!
|
|
296
296
|
updateRoot(by: RootUniqueWhere!, filter: RootWhere, data: RootUpdateInput!): RootUpdateResult!
|
|
297
297
|
upsertRoot(by: RootUniqueWhere!, filter: RootWhere, update: RootUpdateInput!, create: RootCreateInput!): RootUpsertResult!
|
|
298
|
-
transaction: MutationTransaction!
|
|
298
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
299
299
|
query: Query!
|
|
300
300
|
}
|
|
301
301
|
|
|
@@ -399,3 +399,7 @@ type MutationTransaction {
|
|
|
399
399
|
upsertRoot(by: RootUniqueWhere!, filter: RootWhere, update: RootUpdateInput!, create: RootCreateInput!): RootUpsertResult!
|
|
400
400
|
query: Query
|
|
401
401
|
}
|
|
402
|
+
|
|
403
|
+
input MutationTransactionOptions {
|
|
404
|
+
deferForeignKeyConstraints: Boolean
|
|
405
|
+
}
|
|
@@ -157,7 +157,7 @@ type Mutation {
|
|
|
157
157
|
createPost(data: PostCreateInput!): PostCreateResult!
|
|
158
158
|
createPostLocale(data: PostLocaleCreateInput!): PostLocaleCreateResult!
|
|
159
159
|
createCategory(data: CategoryCreateInput!): CategoryCreateResult!
|
|
160
|
-
transaction: MutationTransaction!
|
|
160
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
161
161
|
query: Query!
|
|
162
162
|
}
|
|
163
163
|
|
|
@@ -223,3 +223,7 @@ type MutationTransaction {
|
|
|
223
223
|
createCategory(data: CategoryCreateInput!): CategoryCreateResult!
|
|
224
224
|
query: Query
|
|
225
225
|
}
|
|
226
|
+
|
|
227
|
+
input MutationTransactionOptions {
|
|
228
|
+
deferForeignKeyConstraints: Boolean
|
|
229
|
+
}
|
|
@@ -233,7 +233,7 @@ type Mutation {
|
|
|
233
233
|
updateOneHasManyEntity(by: OneHasManyEntityUniqueWhere!, filter: OneHasManyEntityWhere, data: OneHasManyEntityUpdateInput!): OneHasManyEntityUpdateResult!
|
|
234
234
|
deleteRoot(by: RootUniqueWhere!, filter: RootWhere): RootDeleteResult!
|
|
235
235
|
updateRoot(by: RootUniqueWhere!, filter: RootWhere, data: RootUpdateInput!): RootUpdateResult!
|
|
236
|
-
transaction: MutationTransaction!
|
|
236
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
237
237
|
query: Query!
|
|
238
238
|
}
|
|
239
239
|
|
|
@@ -301,3 +301,7 @@ type MutationTransaction {
|
|
|
301
301
|
updateRoot(by: RootUniqueWhere!, filter: RootWhere, data: RootUpdateInput!): RootUpdateResult!
|
|
302
302
|
query: Query
|
|
303
303
|
}
|
|
304
|
+
|
|
305
|
+
input MutationTransactionOptions {
|
|
306
|
+
deferForeignKeyConstraints: Boolean
|
|
307
|
+
}
|
|
@@ -285,7 +285,7 @@ type Mutation {
|
|
|
285
285
|
deleteRoot(by: RootUniqueWhere!, filter: RootWhere): RootDeleteResult!
|
|
286
286
|
updateRoot(by: RootUniqueWhere!, filter: RootWhere, data: RootUpdateInput!): RootUpdateResult!
|
|
287
287
|
upsertRoot(by: RootUniqueWhere!, filter: RootWhere, update: RootUpdateInput!, create: RootCreateInput!): RootUpsertResult!
|
|
288
|
-
transaction: MutationTransaction!
|
|
288
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
289
289
|
query: Query!
|
|
290
290
|
}
|
|
291
291
|
|
|
@@ -381,3 +381,7 @@ type MutationTransaction {
|
|
|
381
381
|
upsertRoot(by: RootUniqueWhere!, filter: RootWhere, update: RootUpdateInput!, create: RootCreateInput!): RootUpsertResult!
|
|
382
382
|
query: Query
|
|
383
383
|
}
|
|
384
|
+
|
|
385
|
+
input MutationTransactionOptions {
|
|
386
|
+
deferForeignKeyConstraints: Boolean
|
|
387
|
+
}
|
|
@@ -232,7 +232,7 @@ type Mutation {
|
|
|
232
232
|
deleteRoot(by: RootUniqueWhere!, filter: RootWhere): RootDeleteResult!
|
|
233
233
|
updateRoot(by: RootUniqueWhere!, filter: RootWhere, data: RootUpdateInput!): RootUpdateResult!
|
|
234
234
|
upsertRoot(by: RootUniqueWhere!, filter: RootWhere, update: RootUpdateInput!, create: RootCreateInput!): RootUpsertResult!
|
|
235
|
-
transaction: MutationTransaction!
|
|
235
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
236
236
|
query: Query!
|
|
237
237
|
}
|
|
238
238
|
|
|
@@ -318,3 +318,7 @@ type MutationTransaction {
|
|
|
318
318
|
upsertRoot(by: RootUniqueWhere!, filter: RootWhere, update: RootUpdateInput!, create: RootCreateInput!): RootUpsertResult!
|
|
319
319
|
query: Query
|
|
320
320
|
}
|
|
321
|
+
|
|
322
|
+
input MutationTransactionOptions {
|
|
323
|
+
deferForeignKeyConstraints: Boolean
|
|
324
|
+
}
|
|
@@ -152,7 +152,7 @@ type Mutation {
|
|
|
152
152
|
createTest(data: TestCreateInput!): TestCreateResult!
|
|
153
153
|
updateTest(by: TestUniqueWhere!, filter: TestWhere, data: TestUpdateInput!): TestUpdateResult!
|
|
154
154
|
upsertTest(by: TestUniqueWhere!, filter: TestWhere, update: TestUpdateInput!, create: TestCreateInput!): TestUpsertResult!
|
|
155
|
-
transaction: MutationTransaction!
|
|
155
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
156
156
|
query: Query!
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -213,3 +213,7 @@ type MutationTransaction {
|
|
|
213
213
|
upsertTest(by: TestUniqueWhere!, filter: TestWhere, update: TestUpdateInput!, create: TestCreateInput!): TestUpsertResult!
|
|
214
214
|
query: Query
|
|
215
215
|
}
|
|
216
|
+
|
|
217
|
+
input MutationTransactionOptions {
|
|
218
|
+
deferForeignKeyConstraints: Boolean
|
|
219
|
+
}
|
|
@@ -149,7 +149,7 @@ type Mutation {
|
|
|
149
149
|
deleteAuthor(by: AuthorUniqueWhere!, filter: AuthorWhere): AuthorDeleteResult!
|
|
150
150
|
updateAuthor(by: AuthorUniqueWhere!, filter: AuthorWhere, data: AuthorUpdateInput!): AuthorUpdateResult!
|
|
151
151
|
upsertAuthor(by: AuthorUniqueWhere!, filter: AuthorWhere, update: AuthorUpdateInput!, create: AuthorCreateInput!): AuthorUpsertResult!
|
|
152
|
-
transaction: MutationTransaction!
|
|
152
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
153
153
|
query: Query!
|
|
154
154
|
}
|
|
155
155
|
|
|
@@ -218,3 +218,7 @@ type MutationTransaction {
|
|
|
218
218
|
upsertAuthor(by: AuthorUniqueWhere!, filter: AuthorWhere, update: AuthorUpdateInput!, create: AuthorCreateInput!): AuthorUpsertResult!
|
|
219
219
|
query: Query
|
|
220
220
|
}
|
|
221
|
+
|
|
222
|
+
input MutationTransactionOptions {
|
|
223
|
+
deferForeignKeyConstraints: Boolean
|
|
224
|
+
}
|
|
@@ -621,7 +621,7 @@ type Mutation {
|
|
|
621
621
|
deletePost(by: PostUniqueWhere!, filter: PostWhere): PostDeleteResult!
|
|
622
622
|
updatePost(by: PostUniqueWhere!, filter: PostWhere, data: PostUpdateInput!): PostUpdateResult!
|
|
623
623
|
upsertPost(by: PostUniqueWhere!, filter: PostWhere, update: PostUpdateInput!, create: PostCreateInput!): PostUpsertResult!
|
|
624
|
-
transaction: MutationTransaction!
|
|
624
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
625
625
|
query: Query!
|
|
626
626
|
}
|
|
627
627
|
|
|
@@ -795,3 +795,7 @@ type MutationTransaction {
|
|
|
795
795
|
upsertPost(by: PostUniqueWhere!, filter: PostWhere, update: PostUpdateInput!, create: PostCreateInput!): PostUpsertResult!
|
|
796
796
|
query: Query
|
|
797
797
|
}
|
|
798
|
+
|
|
799
|
+
input MutationTransactionOptions {
|
|
800
|
+
deferForeignKeyConstraints: Boolean
|
|
801
|
+
}
|
|
@@ -401,7 +401,7 @@ type Mutation {
|
|
|
401
401
|
deleteFrontPage(by: FrontPageUniqueWhere!, filter: FrontPageWhere): FrontPageDeleteResult!
|
|
402
402
|
updateFrontPage(by: FrontPageUniqueWhere!, filter: FrontPageWhere, data: FrontPageUpdateInput!): FrontPageUpdateResult!
|
|
403
403
|
upsertFrontPage(by: FrontPageUniqueWhere!, filter: FrontPageWhere, update: FrontPageUpdateInput!, create: FrontPageCreateInput!): FrontPageUpsertResult!
|
|
404
|
-
transaction: MutationTransaction!
|
|
404
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
405
405
|
query: Query!
|
|
406
406
|
}
|
|
407
407
|
|
|
@@ -505,3 +505,7 @@ type MutationTransaction {
|
|
|
505
505
|
upsertFrontPage(by: FrontPageUniqueWhere!, filter: FrontPageWhere, update: FrontPageUpdateInput!, create: FrontPageCreateInput!): FrontPageUpsertResult!
|
|
506
506
|
query: Query
|
|
507
507
|
}
|
|
508
|
+
|
|
509
|
+
input MutationTransactionOptions {
|
|
510
|
+
deferForeignKeyConstraints: Boolean
|
|
511
|
+
}
|
|
@@ -631,7 +631,7 @@ type Mutation {
|
|
|
631
631
|
deletePost(by: PostUniqueWhere!, filter: PostWhere): PostDeleteResult!
|
|
632
632
|
updatePost(by: PostUniqueWhere!, filter: PostWhere, data: PostUpdateInput!): PostUpdateResult!
|
|
633
633
|
upsertPost(by: PostUniqueWhere!, filter: PostWhere, update: PostUpdateInput!, create: PostCreateInput!): PostUpsertResult!
|
|
634
|
-
transaction: MutationTransaction!
|
|
634
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
635
635
|
query: Query!
|
|
636
636
|
}
|
|
637
637
|
|
|
@@ -805,3 +805,7 @@ type MutationTransaction {
|
|
|
805
805
|
upsertPost(by: PostUniqueWhere!, filter: PostWhere, update: PostUpdateInput!, create: PostCreateInput!): PostUpsertResult!
|
|
806
806
|
query: Query
|
|
807
807
|
}
|
|
808
|
+
|
|
809
|
+
input MutationTransactionOptions {
|
|
810
|
+
deferForeignKeyConstraints: Boolean
|
|
811
|
+
}
|
|
@@ -328,7 +328,7 @@ type Mutation {
|
|
|
328
328
|
deletePost(by: PostUniqueWhere!, filter: PostWhere): PostDeleteResult!
|
|
329
329
|
updatePost(by: PostUniqueWhere!, filter: PostWhere, data: PostUpdateInput!): PostUpdateResult!
|
|
330
330
|
upsertPost(by: PostUniqueWhere!, filter: PostWhere, update: PostUpdateInput!, create: PostCreateInput!): PostUpsertResult!
|
|
331
|
-
transaction: MutationTransaction!
|
|
331
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
332
332
|
query: Query!
|
|
333
333
|
}
|
|
334
334
|
|
|
@@ -432,3 +432,7 @@ type MutationTransaction {
|
|
|
432
432
|
upsertPost(by: PostUniqueWhere!, filter: PostWhere, update: PostUpdateInput!, create: PostCreateInput!): PostUpsertResult!
|
|
433
433
|
query: Query
|
|
434
434
|
}
|
|
435
|
+
|
|
436
|
+
input MutationTransactionOptions {
|
|
437
|
+
deferForeignKeyConstraints: Boolean
|
|
438
|
+
}
|
|
@@ -692,7 +692,7 @@ type Mutation {
|
|
|
692
692
|
deleteCategory(by: CategoryUniqueWhere!, filter: CategoryWhere): CategoryDeleteResult!
|
|
693
693
|
updateCategory(by: CategoryUniqueWhere!, filter: CategoryWhere, data: CategoryUpdateInput!): CategoryUpdateResult!
|
|
694
694
|
upsertCategory(by: CategoryUniqueWhere!, filter: CategoryWhere, update: CategoryUpdateInput!, create: CategoryCreateInput!): CategoryUpsertResult!
|
|
695
|
-
transaction: MutationTransaction!
|
|
695
|
+
transaction(options: MutationTransactionOptions): MutationTransaction!
|
|
696
696
|
query: Query!
|
|
697
697
|
}
|
|
698
698
|
|
|
@@ -866,3 +866,7 @@ type MutationTransaction {
|
|
|
866
866
|
upsertCategory(by: CategoryUniqueWhere!, filter: CategoryWhere, update: CategoryUpdateInput!, create: CategoryCreateInput!): CategoryUpsertResult!
|
|
867
867
|
query: Query
|
|
868
868
|
}
|
|
869
|
+
|
|
870
|
+
input MutationTransactionOptions {
|
|
871
|
+
deferForeignKeyConstraints: Boolean
|
|
872
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as assert from 'uvu/assert'
|
|
2
|
+
import { suite } from 'uvu'
|
|
3
|
+
import { createAclVariables } from '../../../src'
|
|
4
|
+
import { Acl } from '@contember/schema'
|
|
5
|
+
import { testUuid } from '@contember/engine-api-tester'
|
|
6
|
+
|
|
7
|
+
const createAclVariablesTest = suite('create acl variables')
|
|
8
|
+
|
|
9
|
+
createAclVariablesTest('prefix from memberships', () => {
|
|
10
|
+
assert.equal(createAclVariables({
|
|
11
|
+
roles: {
|
|
12
|
+
author: {
|
|
13
|
+
stages: '*',
|
|
14
|
+
variables: {
|
|
15
|
+
authorID: { type: Acl.VariableType.entity, entityName: 'Author' },
|
|
16
|
+
},
|
|
17
|
+
entities: {
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
}, {
|
|
22
|
+
identityId: testUuid(1),
|
|
23
|
+
personId: null,
|
|
24
|
+
memberships: [{ role: 'author', variables: [{ name: 'authorID', values: [testUuid(2)] }] }],
|
|
25
|
+
}), {
|
|
26
|
+
author__authorID: [testUuid(2)],
|
|
27
|
+
})
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
createAclVariablesTest('undefined variable', () => {
|
|
32
|
+
assert.equal(createAclVariables({
|
|
33
|
+
roles: {
|
|
34
|
+
author: {
|
|
35
|
+
stages: '*',
|
|
36
|
+
variables: {
|
|
37
|
+
authorID: { type: Acl.VariableType.entity, entityName: 'Author' },
|
|
38
|
+
},
|
|
39
|
+
entities: {},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
}, {
|
|
43
|
+
identityId: testUuid(1),
|
|
44
|
+
personId: null,
|
|
45
|
+
memberships: [{ role: 'author', variables: [] }],
|
|
46
|
+
}), {
|
|
47
|
+
author__authorID: [],
|
|
48
|
+
})
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
createAclVariablesTest('predefined', () => {
|
|
53
|
+
assert.equal(createAclVariables({
|
|
54
|
+
roles: {
|
|
55
|
+
author: {
|
|
56
|
+
stages: '*',
|
|
57
|
+
variables: {
|
|
58
|
+
authorIdentity: { type: Acl.VariableType.predefined, value: 'identityID' },
|
|
59
|
+
},
|
|
60
|
+
entities: {},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
}, {
|
|
64
|
+
identityId: testUuid(1),
|
|
65
|
+
personId: null,
|
|
66
|
+
memberships: [{ role: 'author', variables: [] }],
|
|
67
|
+
}), {
|
|
68
|
+
author__authorIdentity: [testUuid(1)],
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
createAclVariablesTest.run()
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ContentEvent } from '@contember/engine-common';
|
|
2
|
-
import { Client } from '@contember/database';
|
|
3
|
-
import { Acl, Schema } from '@contember/schema';
|
|
4
|
-
import { InsertBuilderFactory, JunctionTableManager, PathFactory, UpdateBuilderFactory, WhereBuilder } from '../../mapper';
|
|
5
|
-
import { PredicateFactory } from '../../acl';
|
|
6
|
-
export interface ContentEventApplierContext {
|
|
7
|
-
db: Client;
|
|
8
|
-
schema: Schema;
|
|
9
|
-
identityVariables: Acl.VariablesMap;
|
|
10
|
-
roles: string[];
|
|
11
|
-
}
|
|
12
|
-
export declare class ContentEventApplyOkResult {
|
|
13
|
-
readonly appliedEvents: ContentEvent[];
|
|
14
|
-
readonly ok: true;
|
|
15
|
-
constructor(appliedEvents: ContentEvent[]);
|
|
16
|
-
}
|
|
17
|
-
export declare class ContentEventApplyErrorResult {
|
|
18
|
-
readonly appliedEvents: ContentEvent[];
|
|
19
|
-
readonly failedEvent: ContentEvent;
|
|
20
|
-
readonly ok: false;
|
|
21
|
-
constructor(appliedEvents: ContentEvent[], failedEvent: ContentEvent);
|
|
22
|
-
}
|
|
23
|
-
export declare type ContentEventApplyResult = ContentEventApplyOkResult | ContentEventApplyErrorResult;
|
|
24
|
-
export interface ContentApplyDependencies {
|
|
25
|
-
whereBuilder: WhereBuilder;
|
|
26
|
-
predicateFactory: PredicateFactory;
|
|
27
|
-
junctionTableManager: JunctionTableManager;
|
|
28
|
-
insertBuilderFactory: InsertBuilderFactory;
|
|
29
|
-
updateBuilderFactory: UpdateBuilderFactory;
|
|
30
|
-
pathFactory: PathFactory;
|
|
31
|
-
}
|
|
32
|
-
export interface ContentApplyDependenciesFactory {
|
|
33
|
-
create(schema: Schema, roles: string[], identityVariables: Acl.VariablesMap): ContentApplyDependencies;
|
|
34
|
-
}
|
|
35
|
-
export declare class ContentApplyDependenciesFactoryImpl implements ContentApplyDependenciesFactory {
|
|
36
|
-
create(schema: Schema, roles: string[], identityVariables: Acl.VariablesMap): ContentApplyDependencies;
|
|
37
|
-
}
|
|
38
|
-
export declare class ContentEventApplier {
|
|
39
|
-
private readonly contentApplyDependenciesFactory;
|
|
40
|
-
constructor(contentApplyDependenciesFactory: ContentApplyDependenciesFactory);
|
|
41
|
-
apply(context: ContentEventApplierContext, events: ContentEvent[]): Promise<ContentEventApplyResult>;
|
|
42
|
-
private applyEntityEvent;
|
|
43
|
-
private applyEntityCreate;
|
|
44
|
-
private applyEntityUpdate;
|
|
45
|
-
private applyEntityDelete;
|
|
46
|
-
private applyJunctionEvent;
|
|
47
|
-
private applyJunctionConnect;
|
|
48
|
-
private applyJunctionDisconnect;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=ContentEventApplier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentEventApplier.d.ts","sourceRoot":"","sources":["../../../../src/bridges/system/ContentEventApplier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoD,MAAM,0BAA0B,CAAA;AACzG,OAAO,EAAE,MAAM,EAAgC,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,GAAG,EAAS,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAEN,oBAAoB,EAIpB,oBAAoB,EAUpB,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAgC,gBAAgB,EAAoB,MAAM,WAAW,CAAA;AAG5F,MAAM,WAAW,0BAA0B;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAA;IACnC,KAAK,EAAE,MAAM,EAAE,CAAA;CACf;AAED,qBAAa,yBAAyB;aAGT,aAAa,EAAE,YAAY,EAAE;IAFzD,SAAgB,EAAE,OAAgB;gBAEN,aAAa,EAAE,YAAY,EAAE;CACzD;AAED,qBAAa,4BAA4B;aAGZ,aAAa,EAAE,YAAY,EAAE;aAAkB,WAAW,EAAE,YAAY;IAFpG,SAAgB,EAAE,QAAiB;gBAEP,aAAa,EAAE,YAAY,EAAE,EAAkB,WAAW,EAAE,YAAY;CACpG;AACD,oBAAY,uBAAuB,GAAG,yBAAyB,GAAG,4BAA4B,CAAA;AA+D9F,MAAM,WAAW,wBAAwB;IACxC,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,WAAW,EAAE,WAAW,CAAA;CACxB;AACD,MAAM,WAAW,+BAA+B;IAC/C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,CAAC,YAAY,GAAG,wBAAwB,CAAA;CACtG;AAED,qBAAa,mCAAoC,YAAW,+BAA+B;IAC1F,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,CAAC,YAAY,GAAG,wBAAwB;CAiCtG;AAED,qBAAa,mBAAmB;IACnB,OAAO,CAAC,QAAQ,CAAC,+BAA+B;gBAA/B,+BAA+B,EAAE,+BAA+B;IAEhF,KAAK,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;YA2DnG,gBAAgB;YAwBhB,iBAAiB;YA2BjB,iBAAiB;YAgCjB,iBAAiB;YAoCjB,kBAAkB;YAwBlB,oBAAoB;YAkBpB,uBAAuB;CAiBrC"}
|