@contember/engine-content-api 1.2.1 → 1.3.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/ExecutionContainer.d.ts +141 -0
- package/dist/src/ExecutionContainer.d.ts.map +1 -0
- package/dist/src/ExecutionContainer.js +84 -0
- package/dist/src/ExecutionContainer.js.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts.map +1 -1
- package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js +6 -0
- package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
- package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts.map +1 -1
- package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js +6 -0
- package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
- package/dist/src/inputProcessing/CreateInputProcessor.d.ts +27 -9
- package/dist/src/inputProcessing/CreateInputProcessor.d.ts.map +1 -1
- package/dist/src/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
- package/dist/src/inputProcessing/CreateInputVisitor.js +10 -2
- package/dist/src/inputProcessing/CreateInputVisitor.js.map +1 -1
- package/dist/src/inputProcessing/UniqueWhereExpander.d.ts +2 -1
- package/dist/src/inputProcessing/UniqueWhereExpander.d.ts.map +1 -1
- package/dist/src/inputProcessing/UniqueWhereExpander.js +4 -0
- package/dist/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
- package/dist/src/inputProcessing/UpdateInputProcessor.d.ts +41 -16
- package/dist/src/inputProcessing/UpdateInputProcessor.d.ts.map +1 -1
- package/dist/src/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
- package/dist/src/inputProcessing/UpdateInputVisitor.js +7 -2
- package/dist/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
- package/dist/src/mapper/ColumnValue.d.ts +2 -2
- package/dist/src/mapper/ColumnValue.d.ts.map +1 -1
- package/dist/src/mapper/DataManipulationBuilder.d.ts +7 -0
- package/dist/src/mapper/DataManipulationBuilder.d.ts.map +1 -0
- package/dist/src/mapper/DataManipulationBuilder.js +5 -0
- package/dist/src/mapper/DataManipulationBuilder.js.map +1 -0
- package/dist/src/mapper/EventManager.d.ts +86 -0
- package/dist/src/mapper/EventManager.d.ts.map +1 -0
- package/dist/src/mapper/EventManager.js +118 -0
- package/dist/src/mapper/EventManager.js.map +1 -0
- package/dist/src/mapper/JunctionTableManager.d.ts +12 -11
- package/dist/src/mapper/JunctionTableManager.d.ts.map +1 -1
- package/dist/src/mapper/JunctionTableManager.js +20 -8
- package/dist/src/mapper/JunctionTableManager.js.map +1 -1
- package/dist/src/mapper/Mapper.d.ts +19 -19
- package/dist/src/mapper/Mapper.d.ts.map +1 -1
- package/dist/src/mapper/Mapper.js +71 -21
- package/dist/src/mapper/Mapper.js.map +1 -1
- package/dist/src/mapper/MapperFactory.d.ts +33 -0
- package/dist/src/mapper/MapperFactory.d.ts.map +1 -0
- package/dist/src/mapper/MapperFactory.js +40 -0
- package/dist/src/mapper/MapperFactory.js.map +1 -0
- package/dist/src/mapper/Result.d.ts +5 -4
- package/dist/src/mapper/Result.d.ts.map +1 -1
- package/dist/src/mapper/Result.js +2 -1
- package/dist/src/mapper/Result.js.map +1 -1
- package/dist/src/mapper/delete/DeleteExecutor.d.ts +12 -5
- package/dist/src/mapper/delete/DeleteExecutor.d.ts.map +1 -1
- package/dist/src/mapper/delete/DeleteExecutor.js +183 -77
- package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
- package/dist/src/mapper/delete/DeleteState.d.ts +22 -0
- package/dist/src/mapper/delete/DeleteState.d.ts.map +1 -0
- package/dist/src/mapper/delete/DeleteState.js +68 -0
- package/dist/src/mapper/delete/DeleteState.js.map +1 -0
- package/dist/src/mapper/delete/DeletedEntitiesStorage.d.ts +1 -0
- package/dist/src/mapper/delete/DeletedEntitiesStorage.d.ts.map +1 -1
- package/dist/src/mapper/delete/DeletedEntitiesStorage.js +5 -0
- package/dist/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
- package/dist/src/mapper/delete/helpers.d.ts +11 -0
- package/dist/src/mapper/delete/helpers.d.ts.map +1 -0
- package/dist/src/mapper/delete/helpers.js +49 -0
- package/dist/src/mapper/delete/helpers.js.map +1 -0
- package/dist/src/mapper/index.d.ts +3 -1
- package/dist/src/mapper/index.d.ts.map +1 -1
- package/dist/src/mapper/index.js +3 -1
- package/dist/src/mapper/index.js.map +1 -1
- package/dist/src/mapper/insert/InsertBuilder.d.ts +10 -7
- package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
- package/dist/src/mapper/insert/InsertBuilder.js +24 -11
- package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
- package/dist/src/mapper/insert/InsertBuilderFactory.d.ts +3 -1
- package/dist/src/mapper/insert/InsertBuilderFactory.d.ts.map +1 -1
- package/dist/src/mapper/insert/InsertBuilderFactory.js +3 -2
- package/dist/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
- package/dist/src/mapper/insert/Inserter.d.ts +3 -6
- package/dist/src/mapper/insert/Inserter.d.ts.map +1 -1
- package/dist/src/mapper/insert/Inserter.js +9 -12
- package/dist/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts +5 -0
- package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
- package/dist/src/mapper/insert/SqlCreateInputProcessor.js +54 -120
- package/dist/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/src/mapper/relations/ManyHasManyInputProcessor.d.ts +32 -0
- package/dist/src/mapper/relations/ManyHasManyInputProcessor.d.ts.map +1 -0
- package/dist/src/mapper/relations/ManyHasManyInputProcessor.js +77 -0
- package/dist/src/mapper/relations/ManyHasManyInputProcessor.js.map +1 -0
- package/dist/src/mapper/relations/ManyHasOneInputProcessor.d.ts +32 -0
- package/dist/src/mapper/relations/ManyHasOneInputProcessor.d.ts.map +1 -0
- package/dist/src/mapper/relations/ManyHasOneInputProcessor.js +108 -0
- package/dist/src/mapper/relations/ManyHasOneInputProcessor.js.map +1 -0
- package/dist/src/mapper/relations/OneHasManyInputProcessor.d.ts +29 -0
- package/dist/src/mapper/relations/OneHasManyInputProcessor.d.ts.map +1 -0
- package/dist/src/mapper/relations/OneHasManyInputProcessor.js +61 -0
- package/dist/src/mapper/relations/OneHasManyInputProcessor.js.map +1 -0
- package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +21 -0
- package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
- package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js +74 -0
- package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
- package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts +32 -0
- package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
- package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js +125 -0
- package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
- package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +21 -0
- package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
- package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +72 -0
- package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
- package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts +37 -0
- package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
- package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +193 -0
- package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
- package/dist/src/mapper/select/JoinBuilder.d.ts +1 -1
- package/dist/src/mapper/select/JoinBuilder.d.ts.map +1 -1
- package/dist/src/mapper/select/JoinBuilder.js.map +1 -1
- package/dist/src/mapper/select/OrderByHelper.d.ts +1 -1
- package/dist/src/mapper/select/OrderByHelper.d.ts.map +1 -1
- package/dist/src/mapper/select/OrderByHelper.js +3 -1
- package/dist/src/mapper/select/OrderByHelper.js.map +1 -1
- package/dist/src/mapper/select/RelationFetcher.js +2 -2
- package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
- package/dist/src/mapper/select/WhereBuilder.d.ts +2 -2
- package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
- package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
- package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts +5 -0
- package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
- package/dist/src/mapper/update/SqlUpdateInputProcessor.js +52 -389
- package/dist/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
- package/dist/src/mapper/update/UpdateBuilder.d.ts +10 -7
- package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
- package/dist/src/mapper/update/UpdateBuilder.js +43 -19
- package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/src/mapper/update/UpdateBuilderFactory.d.ts +4 -2
- package/dist/src/mapper/update/UpdateBuilderFactory.d.ts.map +1 -1
- package/dist/src/mapper/update/UpdateBuilderFactory.js +4 -3
- package/dist/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
- package/dist/src/mapper/update/Updater.d.ts +1 -4
- package/dist/src/mapper/update/Updater.d.ts.map +1 -1
- package/dist/src/mapper/update/Updater.js +17 -23
- package/dist/src/mapper/update/Updater.js.map +1 -1
- package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts +1 -3
- package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts.map +1 -1
- package/dist/src/resolvers/GraphQlQueryAstFactory.js +1 -4
- package/dist/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
- package/dist/src/resolvers/MutationResolver.d.ts +1 -4
- package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/MutationResolver.js +10 -12
- package/dist/src/resolvers/MutationResolver.js.map +1 -1
- package/dist/src/resolvers/ReadResolver.d.ts +1 -3
- package/dist/src/resolvers/ReadResolver.d.ts.map +1 -1
- package/dist/src/resolvers/ReadResolver.js +6 -10
- package/dist/src/resolvers/ReadResolver.js.map +1 -1
- package/dist/src/resolvers/ValidationResolver.d.ts +1 -3
- package/dist/src/resolvers/ValidationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/ValidationResolver.js +3 -4
- package/dist/src/resolvers/ValidationResolver.js.map +1 -1
- package/dist/src/resolvers/index.d.ts +0 -1
- package/dist/src/resolvers/index.d.ts.map +1 -1
- package/dist/src/resolvers/index.js +0 -1
- package/dist/src/resolvers/index.js.map +1 -1
- package/dist/src/schema/CustomTypesProvider.d.ts.map +1 -1
- package/dist/src/schema/CustomTypesProvider.js +1 -23
- package/dist/src/schema/CustomTypesProvider.js.map +1 -1
- package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts +3 -0
- package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts.map +1 -1
- package/dist/src/schema/GraphQlSchemaBuilderFactory.js +4 -2
- package/dist/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
- package/dist/src/schema/MutationProvider.js +4 -4
- package/dist/src/schema/MutationProvider.js.map +1 -1
- package/dist/src/schema/QueryProvider.js +3 -3
- package/dist/src/schema/QueryProvider.js.map +1 -1
- package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts +15 -0
- package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts.map +1 -0
- package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js +43 -0
- package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -0
- package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -1
- package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js +2 -6
- package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
- package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
- package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +3 -0
- package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
- package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts +3 -1
- package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -1
- package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +15 -8
- package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/src/schema/mutations/EntityInputProvider.d.ts.map +1 -1
- package/dist/src/schema/mutations/EntityInputProvider.js +0 -3
- package/dist/src/schema/mutations/EntityInputProvider.js.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js +2 -6
- package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +3 -0
- package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts +3 -1
- package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
- package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +11 -22
- package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types.d.ts +2 -3
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js +3 -5
- package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js +2 -2
- package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +45 -45
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +5 -5
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js +2 -2
- package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +8 -8
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +7 -10
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js +2 -2
- package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +13 -32
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js +11 -30
- package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js +62 -45
- package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js +10 -11
- package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js +29 -18
- package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js +97 -0
- package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js +58 -22
- package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js +99 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.js → create.test.js} +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.js → connect.test.js} +4 -4
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.js → create.test.js} +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.js → empty.test.js} +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js +67 -0
- package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +6 -18
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js +3 -4
- package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js +3 -8
- package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js +49 -11
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js +3 -9
- 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 +3 -9
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js +49 -11
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js +3 -9
- 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 +3 -9
- 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 +3 -10
- 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 +3 -10
- 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 +83 -49
- 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 +3 -9
- 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 +3 -9
- 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 +6 -18
- 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 +10 -11
- 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 +3 -11
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js +49 -11
- 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 +3 -8
- 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 +3 -6
- 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 +3 -6
- 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 +97 -29
- 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 +14 -15
- 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 +101 -11
- 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 +11 -12
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts +1 -0
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js +9 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js +3 -6
- 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 +11 -13
- 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 +85 -29
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js +53 -0
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +75 -9
- 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 +66 -25
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js +3 -10
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts +1 -0
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js +10 -2
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js +3 -9
- 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 +6 -19
- package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js +6 -8
- package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js +9 -24
- package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js +3 -7
- package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
- package/dist/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
- package/dist/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
- package/dist/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
- package/dist/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
- package/dist/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
- package/dist/tests/cases/unit/orderbyHelper.test.js +11 -0
- package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
- package/dist/tests/src/test.d.ts +1 -1
- package/dist/tests/src/test.d.ts.map +1 -1
- package/dist/tests/src/test.js +34 -32
- 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/ExecutionContainer.ts +204 -0
- package/src/index.ts +24 -1
- package/src/input-validation/preValidation/CreateInputPreValidationProcessor.ts +6 -0
- package/src/input-validation/preValidation/UpdateInputPreValidationProcessor.ts +6 -0
- package/src/inputProcessing/CreateInputProcessor.ts +8 -11
- package/src/inputProcessing/CreateInputVisitor.ts +11 -2
- package/src/inputProcessing/UniqueWhereExpander.ts +5 -1
- package/src/inputProcessing/UpdateInputProcessor.ts +18 -18
- package/src/inputProcessing/UpdateInputVisitor.ts +6 -2
- package/src/mapper/ColumnValue.ts +2 -2
- package/src/mapper/DataManipulationBuilder.ts +12 -0
- package/src/mapper/EventManager.ts +158 -0
- package/src/mapper/JunctionTableManager.ts +50 -32
- package/src/mapper/Mapper.ts +101 -55
- package/src/mapper/MapperFactory.ts +67 -0
- package/src/mapper/Result.ts +3 -2
- package/src/mapper/delete/DeleteExecutor.ts +262 -95
- package/src/mapper/delete/DeleteState.ts +80 -0
- package/src/mapper/delete/DeletedEntitiesStorage.ts +6 -0
- package/src/mapper/delete/helpers.ts +68 -0
- package/src/mapper/index.ts +3 -1
- package/src/mapper/insert/InsertBuilder.ts +35 -14
- package/src/mapper/insert/InsertBuilderFactory.ts +3 -1
- package/src/mapper/insert/Inserter.ts +9 -13
- package/src/mapper/insert/SqlCreateInputProcessor.ts +61 -139
- package/src/mapper/relations/ManyHasManyInputProcessor.ts +108 -0
- package/src/mapper/relations/ManyHasOneInputProcessor.ts +158 -0
- package/src/mapper/relations/OneHasManyInputProcessor.ts +101 -0
- package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +99 -0
- package/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts +164 -0
- package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +92 -0
- package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +253 -0
- package/src/mapper/select/JoinBuilder.ts +4 -4
- package/src/mapper/select/OrderByHelper.ts +2 -1
- package/src/mapper/select/RelationFetcher.ts +2 -2
- package/src/mapper/select/WhereBuilder.ts +11 -11
- package/src/mapper/update/SqlUpdateInputProcessor.ts +55 -484
- package/src/mapper/update/UpdateBuilder.ts +52 -22
- package/src/mapper/update/UpdateBuilderFactory.ts +11 -2
- package/src/mapper/update/Updater.ts +16 -30
- package/src/resolvers/GraphQlQueryAstFactory.ts +1 -2
- package/src/resolvers/MutationResolver.ts +13 -14
- package/src/resolvers/ReadResolver.ts +5 -9
- package/src/resolvers/ValidationResolver.ts +2 -4
- package/src/resolvers/index.ts +0 -1
- package/src/schema/CustomTypesProvider.ts +2 -27
- package/src/schema/GraphQlSchemaBuilderFactory.ts +7 -4
- package/src/schema/MutationProvider.ts +4 -4
- package/src/schema/QueryProvider.ts +3 -3
- package/src/schema/mutations/ConnectOrCreateRelationInputProvider.ts +54 -0
- package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +2 -6
- package/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts +3 -1
- package/src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts +20 -15
- package/src/schema/mutations/EntityInputProvider.ts +0 -3
- package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +2 -6
- package/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts +3 -1
- package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +52 -57
- package/src/tsconfig.json +7 -21
- package/src/types.ts +2 -3
- package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +3 -5
- package/tests/cases/integration/graphQlDb/insert/insertSequence.test.ts +2 -2
- package/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts +1 -1
- package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +9 -9
- package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +3 -3
- package/tests/cases/integration/graphQlDb/update/invalidInput.test.ts +2 -2
- package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +8 -8
- package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +7 -10
- package/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.ts +2 -2
- package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +15 -34
- package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +12 -31
- package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +68 -46
- package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +11 -12
- package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +30 -19
- package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +102 -0
- package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +63 -23
- package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +106 -0
- package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.ts → connect.test.ts} +3 -3
- package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +67 -0
- package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +6 -18
- package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +3 -4
- package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +3 -8
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +51 -12
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +3 -9
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +3 -9
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +51 -12
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +3 -9
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +3 -9
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +3 -10
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +3 -10
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +86 -50
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +3 -9
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +3 -9
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +6 -18
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +11 -12
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +3 -11
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +51 -12
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +3 -8
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +3 -6
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +3 -6
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +101 -31
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +14 -15
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +106 -12
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +11 -12
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts +13 -0
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +3 -6
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +11 -13
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +89 -30
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +51 -0
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +77 -11
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +69 -26
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +3 -10
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.ts +14 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +3 -9
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +6 -19
- package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +6 -8
- package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +9 -24
- package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +3 -7
- package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
- package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
- package/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
- package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
- package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
- package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
- package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
- package/tests/cases/unit/orderbyHelper.test.ts +13 -0
- package/tests/src/test.ts +38 -40
- package/tests/src/testGraphql.ts +1 -1
- package/tests/tsconfig.json +3 -9
- package/dist/src/mapper/MapperContainer.d.ts +0 -18
- package/dist/src/mapper/MapperContainer.d.ts.map +0 -1
- package/dist/src/mapper/MapperContainer.js +0 -55
- package/dist/src/mapper/MapperContainer.js.map +0 -1
- package/dist/src/resolvers/ExecutionContainerFactory.d.ts +0 -24
- package/dist/src/resolvers/ExecutionContainerFactory.d.ts.map +0 -1
- package/dist/src/resolvers/ExecutionContainerFactory.js +0 -45
- package/dist/src/resolvers/ExecutionContainerFactory.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts +0 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js.map +0 -1
- package/src/mapper/MapperContainer.ts +0 -138
- package/src/resolvers/ExecutionContainerFactory.ts +0 -74
- /package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
- /package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
- /package/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.ts → create.test.ts} +0 -0
- /package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.ts → create.test.ts} +0 -0
- /package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
- /package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
- /package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.ts → empty.test.ts} +0 -0
|
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DeleteExecutor = void 0;
|
|
4
4
|
const schema_1 = require("@contember/schema");
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
|
-
const schema_utils_1 = require("@contember/schema-utils");
|
|
7
6
|
const database_1 = require("@contember/database");
|
|
8
7
|
const Result_1 = require("../Result");
|
|
8
|
+
const DeleteState_1 = require("./DeleteState");
|
|
9
|
+
const helpers_1 = require("./helpers");
|
|
10
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
11
|
+
const EventManager_1 = require("../EventManager");
|
|
12
|
+
const exception_1 = require("../../exception");
|
|
9
13
|
class DeleteExecutor {
|
|
10
14
|
constructor(schema, predicateFactory, whereBuilder, updateBuilderFactory, pathFactory) {
|
|
11
15
|
this.schema = schema;
|
|
@@ -16,6 +20,7 @@ class DeleteExecutor {
|
|
|
16
20
|
}
|
|
17
21
|
async execute(mapper, entity, by, filter) {
|
|
18
22
|
return mapper.mutex.execute(async () => {
|
|
23
|
+
var _a;
|
|
19
24
|
const primaryValue = await mapper.getPrimaryValue(entity, by);
|
|
20
25
|
if (!primaryValue) {
|
|
21
26
|
return [new Result_1.MutationEntryNotFoundError([], by)];
|
|
@@ -23,100 +28,201 @@ class DeleteExecutor {
|
|
|
23
28
|
if (mapper.deletedEntities.isDeleted(entity.name, primaryValue)) {
|
|
24
29
|
return [new Result_1.MutationNothingToDo([], Result_1.NothingToDoReason.alreadyDeleted)];
|
|
25
30
|
}
|
|
26
|
-
await mapper.constraintHelper.setFkConstraintsDeferred();
|
|
27
31
|
const primaryWhere = { [entity.primary]: { eq: primaryValue } };
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
const where = filter ? { and: [primaryWhere, filter] } : primaryWhere;
|
|
33
|
+
const state = new DeleteState_1.DeleteState(mapper.deletedEntities);
|
|
34
|
+
const deletePrimary = await this.collectDeleteInfo(state, mapper, entity, where);
|
|
35
|
+
const deleteQueue = [[entity, deletePrimary]];
|
|
36
|
+
await this.collectOrphanRemovals(state, mapper, deleteQueue);
|
|
37
|
+
if (!state.isOk()) {
|
|
38
|
+
return state.getResult();
|
|
39
|
+
}
|
|
40
|
+
const result = state.getResult();
|
|
41
|
+
const entryToEventMap = new Map();
|
|
42
|
+
for (const entry of result) {
|
|
43
|
+
if (entry instanceof Result_1.MutationDeleteOk) {
|
|
44
|
+
await mapper.eventManager.fire(new EventManager_1.BeforeDeleteEvent(entry.entity, entry.primary));
|
|
45
|
+
}
|
|
46
|
+
else if (entry instanceof Result_1.MutationUpdateOk) {
|
|
47
|
+
const beforeUpdateEvent = new EventManager_1.BeforeUpdateEvent(entry.entity, [{
|
|
48
|
+
columnName: Object.keys(entry.values)[0],
|
|
49
|
+
fieldName: Object.keys(entry.input)[0],
|
|
50
|
+
columnType: 'text',
|
|
51
|
+
resolvedValue: null,
|
|
52
|
+
value: Promise.resolve(null),
|
|
53
|
+
}], entry.primary);
|
|
54
|
+
entryToEventMap.set(entry, beforeUpdateEvent);
|
|
55
|
+
await mapper.eventManager.fire(beforeUpdateEvent);
|
|
56
|
+
}
|
|
32
57
|
}
|
|
33
|
-
|
|
58
|
+
await this.executeDeletes(deleteQueue, mapper.db);
|
|
59
|
+
for (const entry of result) {
|
|
60
|
+
if (entry instanceof Result_1.MutationUpdateOk) {
|
|
61
|
+
const beforeEvent = entryToEventMap.get(entry);
|
|
62
|
+
if (!beforeEvent) {
|
|
63
|
+
throw new exception_1.ImplementationException();
|
|
64
|
+
}
|
|
65
|
+
const data = [{
|
|
66
|
+
columnName: Object.keys(entry.values)[0],
|
|
67
|
+
fieldName: Object.keys(entry.input)[0],
|
|
68
|
+
columnType: 'text',
|
|
69
|
+
resolvedValue: null,
|
|
70
|
+
value: Promise.resolve(null),
|
|
71
|
+
old: Object.values((_a = entry.oldValues) !== null && _a !== void 0 ? _a : {})[0],
|
|
72
|
+
}];
|
|
73
|
+
const afterEvent = new EventManager_1.AfterUpdateEvent(entry.entity, data, entry.primary);
|
|
74
|
+
beforeEvent.afterEvent = afterEvent;
|
|
75
|
+
await mapper.eventManager.fire(afterEvent);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
state.confirmDeleted();
|
|
79
|
+
return state.getResult();
|
|
34
80
|
});
|
|
35
81
|
}
|
|
36
|
-
async
|
|
37
|
-
const
|
|
82
|
+
async executeDeletes(deleteQueue, db) {
|
|
83
|
+
for (const [entity, ids] of deleteQueue) {
|
|
84
|
+
if (ids.length === 0) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
await database_1.DeleteBuilder.create()
|
|
88
|
+
.from(entity.tableName)
|
|
89
|
+
.where(expr => expr.in(entity.primaryColumn, ids))
|
|
90
|
+
.execute(db);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async collectDeleteInfo(state, mapper, entity, where) {
|
|
38
94
|
const predicate = this.predicateFactory.createDeletePredicate(entity);
|
|
39
|
-
const
|
|
95
|
+
const orphanRemovals = (0, helpers_1.findRelationsWithOrphanRemoval)(this.schema, entity);
|
|
96
|
+
const qb = database_1.SelectBuilder.create()
|
|
40
97
|
.from(entity.tableName, 'root_')
|
|
41
|
-
.select(['root_', entity.primaryColumn]);
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
.where(condition => condition.in(entity.primaryColumn, inQbWithWhere))
|
|
50
|
-
.returning(entity.primaryColumn, ...orphanColumns);
|
|
51
|
-
const result = await qb.execute(db);
|
|
52
|
-
const ids = result.map(it => it[entity.primaryColumn]);
|
|
53
|
-
for (const id of ids) {
|
|
54
|
-
mapper.deletedEntities.markDeleted(entity.name, id);
|
|
98
|
+
.select(['root_', entity.primaryColumn], 'id');
|
|
99
|
+
const qbWithOrphanColumns = this.qbOrphanColumns(qb, orphanRemovals);
|
|
100
|
+
const qbWithAllowedFlag = this.qbWithAllowed(entity, predicate, qbWithOrphanColumns);
|
|
101
|
+
const qbWithWhere = this.whereBuilder.build(qbWithAllowedFlag, entity, this.pathFactory.create([]), where);
|
|
102
|
+
const fullResult = await qbWithWhere.getResult(mapper.db);
|
|
103
|
+
if (fullResult.length === 0) {
|
|
104
|
+
state.pushFailResult(new Result_1.MutationNoResultError([]));
|
|
105
|
+
return [];
|
|
55
106
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
107
|
+
const result = this.filterPlannedForDelete(state, entity, fullResult);
|
|
108
|
+
const disallowed = result.filter(it => !it.allowed).map(it => it.id);
|
|
109
|
+
if (disallowed.length) {
|
|
110
|
+
state.pushFailResult(new Result_1.MutationEntryNotFoundError([], { [entity.primary]: { in: disallowed } }));
|
|
111
|
+
return [];
|
|
61
112
|
}
|
|
62
|
-
return
|
|
113
|
+
return await this.processDeleteResult(state, mapper, entity, result, orphanRemovals);
|
|
63
114
|
}
|
|
64
|
-
async
|
|
115
|
+
async collectOnDeleteInfo(state, mapper, entity, values) {
|
|
65
116
|
if (values.length === 0) {
|
|
66
117
|
return;
|
|
67
118
|
}
|
|
68
|
-
const owningRelations =
|
|
119
|
+
const owningRelations = (0, helpers_1.findOwningRelations)(this.schema, entity);
|
|
69
120
|
for (const [owningEntity, relation] of owningRelations) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
await this.setNull(mapper.db, owningEntity, relation, relationWhere);
|
|
79
|
-
break;
|
|
80
|
-
default:
|
|
81
|
-
(0, utils_1.assertNever)(relation.joiningColumn.onDelete);
|
|
121
|
+
if (relation.joiningColumn.onDelete === schema_1.Model.OnDelete.restrict) {
|
|
122
|
+
await this.collectRestrictResult(state, mapper, owningEntity, relation, values);
|
|
123
|
+
}
|
|
124
|
+
else if (relation.joiningColumn.onDelete === schema_1.Model.OnDelete.cascade) {
|
|
125
|
+
await this.collectCascadeResult(state, mapper, owningEntity, relation, values);
|
|
126
|
+
}
|
|
127
|
+
else if (relation.joiningColumn.onDelete === schema_1.Model.OnDelete.setNull) {
|
|
128
|
+
await this.collectSetNullResult(state, mapper, owningEntity, relation, values);
|
|
82
129
|
}
|
|
130
|
+
else {
|
|
131
|
+
(0, utils_1.assertNever)(relation.joiningColumn.onDelete);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async collectCascadeResult(state, mapper, entity, relation, values) {
|
|
136
|
+
const predicate = this.predicateFactory.createDeletePredicate(entity);
|
|
137
|
+
const orphanRemovals = (0, helpers_1.findRelationsWithOrphanRemoval)(this.schema, entity);
|
|
138
|
+
const qb = this.createFetchByIdQueryBuilder(entity, relation, values);
|
|
139
|
+
const qbWithOrphanColumns = this.qbOrphanColumns(qb, orphanRemovals);
|
|
140
|
+
const qbWithAllowed = this.qbWithAllowed(entity, predicate, qbWithOrphanColumns);
|
|
141
|
+
const result = this.filterPlannedForDelete(state, entity, await qbWithAllowed.getResult(mapper.db));
|
|
142
|
+
const disallowed = result.filter(it => !it.allowed);
|
|
143
|
+
if (disallowed.length > 0) {
|
|
144
|
+
const message = (0, helpers_1.formatConstraintViolationMessage)(disallowed, entity, relation)
|
|
145
|
+
+ ' OnDelete behaviour of this relation is set to "cascade". This is possibly caused by ACL denial.';
|
|
146
|
+
state.pushFailResult(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.foreignKey, message));
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
this.processDeleteResult(state, mapper, entity, result, orphanRemovals);
|
|
150
|
+
}
|
|
151
|
+
async collectSetNullResult(state, mapper, entity, relation, values) {
|
|
152
|
+
const predicate = this.predicateFactory.create(entity, schema_1.Acl.Operation.update, [relation.name]);
|
|
153
|
+
const qb = this.createFetchByIdQueryBuilder(entity, relation, values);
|
|
154
|
+
const qbWithAllowed = this.qbWithAllowed(entity, predicate, qb);
|
|
155
|
+
const result = this.filterPlannedForDelete(state, entity, await qbWithAllowed.getResult(mapper.db));
|
|
156
|
+
const disallowed = result.filter(it => !it.allowed);
|
|
157
|
+
if (disallowed.length === 0) {
|
|
158
|
+
const input = { [relation.name]: { disconnect: true } };
|
|
159
|
+
const values = { [relation.joiningColumn.columnName]: null };
|
|
160
|
+
state.pushOkResult(result.map(it => new Result_1.MutationUpdateOk([], entity, it.id, input, values, { [relation.joiningColumn.columnName]: it.ref })));
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const message = (0, helpers_1.formatConstraintViolationMessage)(disallowed, entity, relation)
|
|
164
|
+
+ ' OnDelete behaviour of this relation is set to "set null". This is possibly caused by ACL denial.';
|
|
165
|
+
state.pushFailResult(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.foreignKey, message));
|
|
166
|
+
}
|
|
167
|
+
async collectRestrictResult(state, mapper, entity, relation, values) {
|
|
168
|
+
if (mapper.constraintHelper.areFkConstraintsDeferred()) {
|
|
169
|
+
return;
|
|
83
170
|
}
|
|
171
|
+
const qb = this.createFetchByIdQueryBuilder(entity, relation, values);
|
|
172
|
+
const result = this.filterPlannedForDelete(state, entity, await qb.getResult(mapper.db));
|
|
173
|
+
if (result.length === 0) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
const message = (0, helpers_1.formatConstraintViolationMessage)(result, entity, relation)
|
|
177
|
+
+ ' OnDelete behaviour of this relation is set to "restrict". You might consider changing it to "setNull" or "cascade".';
|
|
178
|
+
state.pushFailResult(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.foreignKey, message));
|
|
84
179
|
}
|
|
85
|
-
async
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
180
|
+
async collectOrphanRemovals(state, mapper, deleteQueue) {
|
|
181
|
+
do {
|
|
182
|
+
if (!state.isOk()) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const orphanRemoval = state.fetchOrphanRemovals();
|
|
186
|
+
if (orphanRemoval === null) {
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
const entity = (0, schema_utils_1.getEntity)(this.schema, orphanRemoval[0]);
|
|
190
|
+
const orphanResult = await this.collectDeleteInfo(state, mapper, entity, { [entity.primary]: { in: orphanRemoval[1] } });
|
|
191
|
+
deleteQueue.push([entity, orphanResult]);
|
|
192
|
+
} while (true);
|
|
92
193
|
}
|
|
93
|
-
|
|
94
|
-
return
|
|
95
|
-
.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
visitManyHasManyOwning: () => null,
|
|
99
|
-
visitOneHasOneInverse: () => null,
|
|
100
|
-
visitOneHasMany: () => null,
|
|
101
|
-
visitOneHasOneOwning: ({ relation }) => [entity, relation],
|
|
102
|
-
visitManyHasOne: ({ relation }) => [entity, relation],
|
|
103
|
-
}))
|
|
104
|
-
.reduce((acc, value) => [
|
|
105
|
-
...acc,
|
|
106
|
-
...Object.values(value).filter((it) => it !== null),
|
|
107
|
-
], [])
|
|
108
|
-
.filter(([{}, relation]) => relation.target === entity.name);
|
|
194
|
+
qbWithAllowed(entity, predicate, selectQb) {
|
|
195
|
+
return this.whereBuilder.buildAdvanced(entity, this.pathFactory.create([]), predicate, cb => {
|
|
196
|
+
const qb = selectQb.select(expr => expr.selectCondition(cb), 'allowed');
|
|
197
|
+
return (qb === selectQb ? qb.select(new database_1.Literal('true'), 'allowed') : qb);
|
|
198
|
+
});
|
|
109
199
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
200
|
+
qbOrphanColumns(qb, orphanRemovals) {
|
|
201
|
+
const orphanColumns = orphanRemovals.map(([, rel]) => rel.joiningColumn.columnName);
|
|
202
|
+
return orphanColumns.reduce((qb, column) => qb.select(['root_', column], `_${column}`), qb);
|
|
203
|
+
}
|
|
204
|
+
createFetchByIdQueryBuilder(entity, relation, values) {
|
|
205
|
+
return database_1.SelectBuilder.create()
|
|
206
|
+
.from(entity.tableName, 'root_')
|
|
207
|
+
.select(['root_', entity.primaryColumn], 'id')
|
|
208
|
+
.select(['root_', relation.joiningColumn.columnName], 'ref')
|
|
209
|
+
.where(expr => expr.in(relation.joiningColumn.columnName, values));
|
|
210
|
+
}
|
|
211
|
+
filterPlannedForDelete(state, entity, values) {
|
|
212
|
+
return values.filter(it => !state.isPlannedDelete(entity.name, it.id));
|
|
213
|
+
}
|
|
214
|
+
async processDeleteResult(state, mapper, entity, result, orphanRemovals) {
|
|
215
|
+
const ids = result.map(it => it.id);
|
|
216
|
+
state.markPlannedDelete(entity.name, ids);
|
|
217
|
+
state.pushOkResult(ids.map(id => new Result_1.MutationDeleteOk([], entity, id)));
|
|
218
|
+
await this.collectOnDeleteInfo(state, mapper, entity, ids);
|
|
219
|
+
for (const [entity, relation] of orphanRemovals) {
|
|
220
|
+
const ids = result.map(it => it[`_${relation.joiningColumn.columnName}`]).filter(it => it !== null);
|
|
221
|
+
if (ids.length) {
|
|
222
|
+
state.addOrphanRemoval(entity.name, ids);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return ids;
|
|
120
226
|
}
|
|
121
227
|
}
|
|
122
228
|
exports.DeleteExecutor = DeleteExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteExecutor.js","sourceRoot":"","sources":["../../../../src/mapper/delete/DeleteExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DeleteExecutor.js","sourceRoot":"","sources":["../../../../src/mapper/delete/DeleteExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DeletedEntitiesStorage } from './DeletedEntitiesStorage';
|
|
2
|
+
import { Input } from '@contember/schema';
|
|
3
|
+
import { MutationResult, MutationResultList } from '../Result';
|
|
4
|
+
export declare class DeleteState {
|
|
5
|
+
private alreadyDeleted;
|
|
6
|
+
private plannedDelete;
|
|
7
|
+
private plannedOrphanRemovals;
|
|
8
|
+
private plannedOrphanRemovalsEntityQueue;
|
|
9
|
+
result: MutationResultList;
|
|
10
|
+
failResult: MutationResultList;
|
|
11
|
+
constructor(alreadyDeleted: DeletedEntitiesStorage);
|
|
12
|
+
isOk(): boolean;
|
|
13
|
+
getResult(): MutationResultList;
|
|
14
|
+
pushOkResult(result: MutationResultList | MutationResult): void;
|
|
15
|
+
pushFailResult(result: MutationResultList | MutationResult): void;
|
|
16
|
+
isPlannedDelete(entityName: string, primary: Input.PrimaryValue): boolean;
|
|
17
|
+
confirmDeleted(): void;
|
|
18
|
+
markPlannedDelete(entityName: string, primaryValues: Input.PrimaryValue[]): void;
|
|
19
|
+
addOrphanRemoval(entityName: string, primaryValues: Input.PrimaryValue[]): void;
|
|
20
|
+
fetchOrphanRemovals(): [entityName: string, ids: Input.PrimaryValue[]] | null;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=DeleteState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteState.d.ts","sourceRoot":"","sources":["../../../../src/mapper/delete/DeleteState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9D,qBAAa,WAAW;IAUtB,OAAO,CAAC,cAAc;IATvB,OAAO,CAAC,aAAa,CAA+B;IAEpD,OAAO,CAAC,qBAAqB,CAA6C;IAC1E,OAAO,CAAC,gCAAgC,CAAe;IAEhD,MAAM,EAAE,kBAAkB,CAAK;IAC/B,UAAU,EAAE,kBAAkB,CAAK;gBAGjC,cAAc,EAAE,sBAAsB;IAIxC,IAAI;IAIJ,SAAS,IAAI,kBAAkB;IAI/B,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc;IAIxD,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc;IAK1D,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO;IAIzE,cAAc;IAKd,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI;IAMhF,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI;IAY/E,mBAAmB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI;CAgBpF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleteState = void 0;
|
|
4
|
+
const DeletedEntitiesStorage_1 = require("./DeletedEntitiesStorage");
|
|
5
|
+
const exception_1 = require("../../exception");
|
|
6
|
+
class DeleteState {
|
|
7
|
+
constructor(alreadyDeleted) {
|
|
8
|
+
this.alreadyDeleted = alreadyDeleted;
|
|
9
|
+
this.plannedDelete = new DeletedEntitiesStorage_1.DeletedEntitiesStorage();
|
|
10
|
+
this.plannedOrphanRemovals = new Map();
|
|
11
|
+
this.plannedOrphanRemovalsEntityQueue = [];
|
|
12
|
+
this.result = [];
|
|
13
|
+
this.failResult = [];
|
|
14
|
+
}
|
|
15
|
+
isOk() {
|
|
16
|
+
return this.failResult.length === 0;
|
|
17
|
+
}
|
|
18
|
+
getResult() {
|
|
19
|
+
return this.failResult.length > 0 ? this.failResult : this.result;
|
|
20
|
+
}
|
|
21
|
+
pushOkResult(result) {
|
|
22
|
+
this.result.push(...Array.isArray(result) ? result : [result]);
|
|
23
|
+
}
|
|
24
|
+
pushFailResult(result) {
|
|
25
|
+
this.failResult.push(...Array.isArray(result) ? result : [result]);
|
|
26
|
+
}
|
|
27
|
+
isPlannedDelete(entityName, primary) {
|
|
28
|
+
return this.plannedDelete.isDeleted(entityName, primary);
|
|
29
|
+
}
|
|
30
|
+
confirmDeleted() {
|
|
31
|
+
this.alreadyDeleted.merge(this.plannedDelete);
|
|
32
|
+
this.plannedDelete = new DeletedEntitiesStorage_1.DeletedEntitiesStorage();
|
|
33
|
+
}
|
|
34
|
+
markPlannedDelete(entityName, primaryValues) {
|
|
35
|
+
for (const primary of primaryValues) {
|
|
36
|
+
this.plannedDelete.markDeleted(entityName, primary);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
addOrphanRemoval(entityName, primaryValues) {
|
|
40
|
+
let entityIds = this.plannedOrphanRemovals.get(entityName);
|
|
41
|
+
if (!entityIds) {
|
|
42
|
+
entityIds = new Set();
|
|
43
|
+
this.plannedOrphanRemovals.set(entityName, entityIds);
|
|
44
|
+
this.plannedOrphanRemovalsEntityQueue.push(entityName);
|
|
45
|
+
}
|
|
46
|
+
for (const primary of primaryValues) {
|
|
47
|
+
entityIds.add(primary);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
fetchOrphanRemovals() {
|
|
51
|
+
const entityName = this.plannedOrphanRemovalsEntityQueue.shift();
|
|
52
|
+
if (!entityName) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const ids = this.plannedOrphanRemovals.get(entityName);
|
|
56
|
+
if (!ids) {
|
|
57
|
+
throw new exception_1.ImplementationException(`DeleteState.plannedOrphanRemovals is expected to have ${entityName}`);
|
|
58
|
+
}
|
|
59
|
+
this.plannedOrphanRemovals.delete(entityName);
|
|
60
|
+
const idsToRemove = [...ids.values()].filter(it => !this.isPlannedDelete(entityName, it));
|
|
61
|
+
if (idsToRemove.length > 0) {
|
|
62
|
+
return [entityName, idsToRemove];
|
|
63
|
+
}
|
|
64
|
+
return this.fetchOrphanRemovals();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.DeleteState = DeleteState;
|
|
68
|
+
//# sourceMappingURL=DeleteState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteState.js","sourceRoot":"","sources":["../../../../src/mapper/delete/DeleteState.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Input } from '@contember/schema';
|
|
|
2
2
|
export declare class DeletedEntitiesStorage {
|
|
3
3
|
private deleted;
|
|
4
4
|
markDeleted(entityName: string, primary: Input.PrimaryValue): void;
|
|
5
|
+
merge(storage: DeletedEntitiesStorage): void;
|
|
5
6
|
isDeleted(entityName: string, primary: Input.PrimaryValue): boolean;
|
|
6
7
|
private getKey;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeletedEntitiesStorage.d.ts","sourceRoot":"","sources":["../../../../src/mapper/delete/DeletedEntitiesStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,qBAAa,sBAAsB;IAClC,OAAO,CAAC,OAAO,CAAoB;IAE5B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI;IAIlE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO;IAI1E,OAAO,CAAC,MAAM;CAGd"}
|
|
1
|
+
{"version":3,"file":"DeletedEntitiesStorage.d.ts","sourceRoot":"","sources":["../../../../src/mapper/delete/DeletedEntitiesStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,qBAAa,sBAAsB;IAClC,OAAO,CAAC,OAAO,CAAoB;IAE5B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI;IAIlE,KAAK,CAAC,OAAO,EAAE,sBAAsB;IAMrC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO;IAI1E,OAAO,CAAC,MAAM;CAGd"}
|
|
@@ -8,6 +8,11 @@ class DeletedEntitiesStorage {
|
|
|
8
8
|
markDeleted(entityName, primary) {
|
|
9
9
|
this.deleted.add(this.getKey(entityName, primary));
|
|
10
10
|
}
|
|
11
|
+
merge(storage) {
|
|
12
|
+
for (const key of storage.deleted) {
|
|
13
|
+
this.deleted.add(key);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
11
16
|
isDeleted(entityName, primary) {
|
|
12
17
|
return this.deleted.has(this.getKey(entityName, primary));
|
|
13
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeletedEntitiesStorage.js","sourceRoot":"","sources":["../../../../src/mapper/delete/DeletedEntitiesStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IAAnC;QACS,YAAO,GAAG,IAAI,GAAG,EAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"DeletedEntitiesStorage.js","sourceRoot":"","sources":["../../../../src/mapper/delete/DeletedEntitiesStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IAAnC;QACS,YAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAmBpC,CAAC;IAjBO,WAAW,CAAC,UAAkB,EAAE,OAA2B;QACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,CAAC;IAEM,KAAK,CAAC,OAA+B;QAC3C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACrB;IACF,CAAC;IAEM,SAAS,CAAC,UAAkB,EAAE,OAA2B;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1D,CAAC;IAEO,MAAM,CAAC,UAAkB,EAAE,OAA2B;QAC7D,OAAO,GAAG,UAAU,IAAI,OAAO,EAAE,CAAA;IAClC,CAAC;CACD;AApBD,wDAoBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Input, Model } from '@contember/schema';
|
|
2
|
+
export declare type OneHasOneOwningRelationTuple = [Model.Entity, Model.OneHasOneOwningRelation];
|
|
3
|
+
export declare const findRelationsWithOrphanRemoval: (schema: Model.Schema, entity: Model.Entity) => OneHasOneOwningRelationTuple[];
|
|
4
|
+
export declare type EntityOwningRelationTuple = [Model.Entity, Model.ManyHasOneRelation | Model.OneHasOneOwningRelation];
|
|
5
|
+
export declare const findOwningRelations: (schema: Model.Schema, entity: Model.Entity) => EntityOwningRelationTuple[];
|
|
6
|
+
export declare type EntityReferenceRow = {
|
|
7
|
+
id: Input.PrimaryValue;
|
|
8
|
+
ref: Input.PrimaryValue;
|
|
9
|
+
};
|
|
10
|
+
export declare const formatConstraintViolationMessage: (rows: Pick<EntityReferenceRow, 'id' | 'ref'>[], entity: Model.Entity, relation: Model.ManyHasOneRelation | Model.OneHasOneOwningRelation) => string;
|
|
11
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/mapper/delete/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGhD,oBAAY,4BAA4B,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAExF,eAAO,MAAM,8BAA8B,WAAY,MAAM,MAAM,UAAU,MAAM,MAAM,KAAG,4BAA4B,EAavH,CAAA;AAED,oBAAY,yBAAyB,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAEhH,eAAO,MAAM,mBAAmB,WAAY,MAAM,MAAM,UAAU,MAAM,MAAM,KAAG,yBAAyB,EAuBzG,CAAA;AAED,oBAAY,kBAAkB,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,CAAA;AAEpF,eAAO,MAAM,gCAAgC,SACtC,KAAK,kBAAkB,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,UACtC,MAAM,MAAM,YACV,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,WAelE,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatConstraintViolationMessage = exports.findOwningRelations = exports.findRelationsWithOrphanRemoval = void 0;
|
|
4
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
5
|
+
const findRelationsWithOrphanRemoval = (schema, entity) => {
|
|
6
|
+
return Object.values((0, schema_utils_1.acceptEveryFieldVisitor)(schema, entity, {
|
|
7
|
+
visitColumn: () => null,
|
|
8
|
+
visitManyHasManyInverse: () => null,
|
|
9
|
+
visitManyHasManyOwning: () => null,
|
|
10
|
+
visitOneHasOneInverse: () => null,
|
|
11
|
+
visitOneHasMany: () => null,
|
|
12
|
+
visitOneHasOneOwning: ({ relation, targetEntity }) => relation.orphanRemoval ? [targetEntity, relation] : null,
|
|
13
|
+
visitManyHasOne: () => null,
|
|
14
|
+
})).filter((it) => it !== null);
|
|
15
|
+
};
|
|
16
|
+
exports.findRelationsWithOrphanRemoval = findRelationsWithOrphanRemoval;
|
|
17
|
+
const findOwningRelations = (schema, entity) => {
|
|
18
|
+
return Object.values(schema.entities)
|
|
19
|
+
.map(entity => (0, schema_utils_1.acceptEveryFieldVisitor)(schema, entity, {
|
|
20
|
+
visitColumn: () => null,
|
|
21
|
+
visitManyHasManyInverse: () => null,
|
|
22
|
+
visitManyHasManyOwning: () => null,
|
|
23
|
+
visitOneHasOneInverse: () => null,
|
|
24
|
+
visitOneHasMany: () => null,
|
|
25
|
+
visitOneHasOneOwning: ({ relation }) => [entity, relation],
|
|
26
|
+
visitManyHasOne: ({ relation }) => [entity, relation],
|
|
27
|
+
}))
|
|
28
|
+
.reduce((acc, value) => [
|
|
29
|
+
...acc,
|
|
30
|
+
...Object.values(value).filter((it) => it !== null),
|
|
31
|
+
], [])
|
|
32
|
+
.filter(([{}, relation]) => relation.target === entity.name);
|
|
33
|
+
};
|
|
34
|
+
exports.findOwningRelations = findOwningRelations;
|
|
35
|
+
const formatConstraintViolationMessage = (rows, entity, relation) => {
|
|
36
|
+
const referencedRows = [...new Set(rows.map(it => it.ref))];
|
|
37
|
+
const referencedRowsSample = referencedRows.slice(0, 10);
|
|
38
|
+
const referencedRowsRemaining = referencedRows.length - referencedRowsSample.length;
|
|
39
|
+
const referencingRowsSample = rows.slice(0, 10).map(it => it.id);
|
|
40
|
+
const referencingRowsRemaining = rows.length - referencingRowsSample.length;
|
|
41
|
+
return 'Cannot delete ' + referencedRowsSample.join(', ')
|
|
42
|
+
+ (referencedRowsRemaining > 0 ? ` and ${referencedRowsRemaining} more` : '')
|
|
43
|
+
+ ` row(s) of entity ${relation.target}, `
|
|
44
|
+
+ `because it is still referenced from ` + referencingRowsSample.join(', ')
|
|
45
|
+
+ (referencingRowsRemaining > 0 ? ` and ${referencingRowsRemaining} more` : '')
|
|
46
|
+
+ ` row(s) of entity ${entity.name} in relation ${relation.name}.`;
|
|
47
|
+
};
|
|
48
|
+
exports.formatConstraintViolationMessage = formatConstraintViolationMessage;
|
|
49
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/mapper/delete/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,11 @@ export * from './update';
|
|
|
5
5
|
export * from './ColumnValue';
|
|
6
6
|
export * from './Constraints';
|
|
7
7
|
export * from './ErrorUtils';
|
|
8
|
+
export * from './EventManager';
|
|
8
9
|
export * from './JunctionTableManager';
|
|
9
10
|
export * from './Mapper';
|
|
10
|
-
export * from '
|
|
11
|
+
export * from '../ExecutionContainer';
|
|
12
|
+
export * from './MapperFactory';
|
|
11
13
|
export * from './MutationProcessorHelper';
|
|
12
14
|
export * from './Result';
|
|
13
15
|
export * from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,UAAU,CAAA;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
package/dist/src/mapper/index.js
CHANGED
|
@@ -21,9 +21,11 @@ __exportStar(require("./update"), exports);
|
|
|
21
21
|
__exportStar(require("./ColumnValue"), exports);
|
|
22
22
|
__exportStar(require("./Constraints"), exports);
|
|
23
23
|
__exportStar(require("./ErrorUtils"), exports);
|
|
24
|
+
__exportStar(require("./EventManager"), exports);
|
|
24
25
|
__exportStar(require("./JunctionTableManager"), exports);
|
|
25
26
|
__exportStar(require("./Mapper"), exports);
|
|
26
|
-
__exportStar(require("
|
|
27
|
+
__exportStar(require("../ExecutionContainer"), exports);
|
|
28
|
+
__exportStar(require("./MapperFactory"), exports);
|
|
27
29
|
__exportStar(require("./MutationProcessorHelper"), exports);
|
|
28
30
|
__exportStar(require("./Result"), exports);
|
|
29
31
|
__exportStar(require("./types"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapper/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,gDAA6B;AAC7B,gDAA6B;AAC7B,+CAA4B;AAC5B,yDAAsC;AACtC,2CAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapper/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,gDAA6B;AAC7B,gDAA6B;AAC7B,+CAA4B;AAC5B,iDAA8B;AAC9B,yDAAsC;AACtC,2CAAwB;AACxB,wDAAqC;AACrC,kDAA+B;AAC/B,4DAAyC;AACzC,2CAAwB;AACxB,0CAAuB"}
|