@contember/engine-content-api 1.2.0-rc.4 → 1.3.0-alpha.1
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/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/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/Mapper.d.ts +9 -14
- package/dist/src/mapper/Mapper.d.ts.map +1 -1
- package/dist/src/mapper/Mapper.js +48 -15
- package/dist/src/mapper/Mapper.js.map +1 -1
- package/dist/src/mapper/MapperContainer.d.ts.map +1 -1
- package/dist/src/mapper/MapperContainer.js +3 -3
- package/dist/src/mapper/MapperContainer.js.map +1 -1
- package/dist/src/mapper/Result.d.ts +2 -2
- package/dist/src/mapper/Result.d.ts.map +1 -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 +143 -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/insert/InsertBuilder.d.ts +8 -5
- package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
- package/dist/src/mapper/insert/InsertBuilder.js +16 -9
- 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 +6 -9
- 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/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 +7 -4
- package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
- package/dist/src/mapper/update/UpdateBuilder.js +18 -12
- package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/src/mapper/update/UpdateBuilderFactory.d.ts +3 -1
- package/dist/src/mapper/update/UpdateBuilderFactory.d.ts.map +1 -1
- package/dist/src/mapper/update/UpdateBuilderFactory.js +3 -2
- 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 +11 -13
- package/dist/src/mapper/update/Updater.js.map +1 -1
- package/dist/src/resolvers/MutationResolver.js +1 -1
- package/dist/src/resolvers/MutationResolver.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/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/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +2 -2
- package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +0 -3
- package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.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} +1 -1
- 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/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/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/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/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/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/oneHasOneInverse/connect.test.js +103 -0
- 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 +20 -14
- 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 +17 -11
- 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/upsert.test.js +8 -6
- 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 +76 -0
- 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 +80 -0
- 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/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/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/src/test.d.ts +0 -1
- package/dist/tests/src/test.d.ts.map +1 -1
- package/dist/tests/src/test.js +1 -27
- 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/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/DataManipulationBuilder.ts +12 -0
- package/src/mapper/Mapper.ts +75 -47
- package/src/mapper/MapperContainer.ts +10 -6
- package/src/mapper/Result.ts +1 -1
- package/src/mapper/delete/DeleteExecutor.ts +221 -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/insert/InsertBuilder.ts +23 -12
- package/src/mapper/insert/InsertBuilderFactory.ts +3 -1
- package/src/mapper/insert/Inserter.ts +6 -10
- 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/WhereBuilder.ts +11 -11
- package/src/mapper/update/SqlUpdateInputProcessor.ts +55 -484
- package/src/mapper/update/UpdateBuilder.ts +22 -15
- package/src/mapper/update/UpdateBuilderFactory.ts +10 -1
- package/src/mapper/update/Updater.ts +10 -19
- package/src/resolvers/MutationResolver.ts +1 -1
- package/src/schema/GraphQlSchemaBuilderFactory.ts +7 -4
- 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/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +2 -2
- package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +1 -1
- package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +1 -1
- package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +0 -3
- 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/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/connectOrCreate.test.ts +106 -0
- package/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.ts → create.test.ts} +0 -0
- package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.ts → connect.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
- package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +51 -12
- package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +51 -12
- package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +86 -50
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +11 -12
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +51 -12
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +106 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +20 -14
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +106 -12
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +17 -11
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts +13 -0
- package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +8 -6
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +80 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +51 -0
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +81 -1
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +69 -26
- package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.ts +14 -1
- 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/src/test.ts +0 -25
- package/tests/src/testGraphql.ts +1 -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
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OneHasManyInputProcessor = void 0;
|
|
4
|
+
const Result_1 = require("../Result");
|
|
5
|
+
class OneHasManyInputProcessor {
|
|
6
|
+
constructor(mapper) {
|
|
7
|
+
this.mapper = mapper;
|
|
8
|
+
}
|
|
9
|
+
async connect({ entity, targetEntity, targetRelation, input }, primary) {
|
|
10
|
+
return await this.mapper.update(targetEntity, input, {
|
|
11
|
+
[targetRelation.name]: { connect: { [entity.primary]: primary } },
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async create({ entity, targetEntity, targetRelation, input }, primary) {
|
|
15
|
+
return await this.mapper.insert(targetEntity, {
|
|
16
|
+
...input,
|
|
17
|
+
[targetRelation.name]: { connect: { [entity.primary]: primary } },
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async connectOrCreate({ entity, targetRelation, targetEntity, input: { connect, create } }, primary) {
|
|
21
|
+
const connectData = {
|
|
22
|
+
[targetRelation.name]: {
|
|
23
|
+
connect: { [entity.primary]: primary },
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
return await this.mapper.upsert(targetEntity, connect, connectData, {
|
|
27
|
+
...create,
|
|
28
|
+
...connectData,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async update({ entity, targetEntity, targetRelation, input: { data, where } }, primary) {
|
|
32
|
+
return await this.mapper.update(targetEntity, { ...where, [targetRelation.name]: { [entity.primary]: primary } }, {
|
|
33
|
+
...data,
|
|
34
|
+
// [targetRelation.name]: {connect: thisPrimary}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async upsert({ entity, targetEntity, targetRelation, input: { create, update, where } }, primary) {
|
|
38
|
+
const result = await this.mapper.update(targetEntity, { ...where, [targetRelation.name]: { [entity.primary]: primary } }, {
|
|
39
|
+
...update,
|
|
40
|
+
// [targetRelation.name]: {connect: thisPrimary}
|
|
41
|
+
});
|
|
42
|
+
if (result[0].result === Result_1.MutationResultType.notFoundError) {
|
|
43
|
+
return await this.mapper.insert(targetEntity, {
|
|
44
|
+
...create,
|
|
45
|
+
[targetRelation.name]: { connect: { [entity.primary]: primary } },
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
async disconnect({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
51
|
+
return await this.mapper.update(targetEntity, { ...input, [targetRelation.name]: { [entity.primary]: primary } }, { [targetRelation.name]: { disconnect: true } });
|
|
52
|
+
}
|
|
53
|
+
async delete({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
54
|
+
return await this.mapper.delete(targetEntity, {
|
|
55
|
+
...input,
|
|
56
|
+
[targetRelation.name]: { [entity.primary]: primary },
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.OneHasManyInputProcessor = OneHasManyInputProcessor;
|
|
61
|
+
//# sourceMappingURL=OneHasManyInputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasManyInputProcessor.js","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasManyInputProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { InsertBuilder } from '../insert';
|
|
2
|
+
import { Mapper } from '../Mapper';
|
|
3
|
+
import { MutationResultList } from '../Result';
|
|
4
|
+
import { Input, Model } from '@contember/schema';
|
|
5
|
+
export declare class OneHasOneInverseCreateInputProcessor {
|
|
6
|
+
private readonly insertBuilder;
|
|
7
|
+
private readonly mapper;
|
|
8
|
+
constructor(insertBuilder: InsertBuilder, mapper: Mapper);
|
|
9
|
+
connect(context: Model.OneHasOneInverseContext & {
|
|
10
|
+
input: Input.UniqueWhere;
|
|
11
|
+
}): Promise<import("../Result").MutationResult[]>;
|
|
12
|
+
create(context: Model.OneHasOneInverseContext & {
|
|
13
|
+
input: Input.CreateDataInput;
|
|
14
|
+
}): Promise<MutationResultList>;
|
|
15
|
+
connectOrCreate({ input, ...context }: Model.OneHasOneInverseContext & {
|
|
16
|
+
input: Input.ConnectOrCreateInput;
|
|
17
|
+
}): Promise<MutationResultList>;
|
|
18
|
+
private connectInternal;
|
|
19
|
+
private createInternal;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=OneHasOneInverseCreateInputProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseCreateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAIN,kBAAkB,EAClB,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,qBAAa,oCAAoC;IAE/C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IAInB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE;IAe7E,MAAM,CAClB,OAAO,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IAY7D,eAAe,CAC3B,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE;YAc/E,eAAe;YA4Bf,cAAc;CAS5B"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OneHasOneInverseCreateInputProcessor = void 0;
|
|
4
|
+
const Result_1 = require("../Result");
|
|
5
|
+
const CheckedPrimary_1 = require("../CheckedPrimary");
|
|
6
|
+
class OneHasOneInverseCreateInputProcessor {
|
|
7
|
+
constructor(insertBuilder, mapper) {
|
|
8
|
+
this.insertBuilder = insertBuilder;
|
|
9
|
+
this.mapper = mapper;
|
|
10
|
+
}
|
|
11
|
+
async connect(context) {
|
|
12
|
+
const { targetEntity, input } = context;
|
|
13
|
+
const primary = await this.insertBuilder.insert;
|
|
14
|
+
if (!primary) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
const owner = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
18
|
+
if (!owner) {
|
|
19
|
+
return [new Result_1.MutationEntryNotFoundError([], input)];
|
|
20
|
+
}
|
|
21
|
+
return await this.connectInternal({ ...context, input: new CheckedPrimary_1.CheckedPrimary(owner) }, primary);
|
|
22
|
+
}
|
|
23
|
+
async create(context) {
|
|
24
|
+
const primary = await this.insertBuilder.insert;
|
|
25
|
+
if (!primary) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
return await this.mapper.insert(context.targetEntity, context.input, builder => {
|
|
29
|
+
builder.addPredicates([context.targetRelation.name]);
|
|
30
|
+
builder.addFieldValue(context.targetRelation.name, primary);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async connectOrCreate({ input, ...context }) {
|
|
34
|
+
const primary = await this.insertBuilder.insert;
|
|
35
|
+
if (!primary) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
const owner = await this.mapper.getPrimaryValue(context.targetEntity, input.connect);
|
|
39
|
+
if (owner) {
|
|
40
|
+
return await this.connectInternal({ ...context, input: new CheckedPrimary_1.CheckedPrimary(owner) }, primary);
|
|
41
|
+
}
|
|
42
|
+
return await this.createInternal({ input: input.create, ...context }, primary);
|
|
43
|
+
}
|
|
44
|
+
async connectInternal({ entity, targetEntity, targetRelation, relation, input }, primary) {
|
|
45
|
+
const currentInverseSideOfOwner = await this.mapper.selectField(targetEntity, input, targetRelation.name);
|
|
46
|
+
const orphanResult = [];
|
|
47
|
+
if (currentInverseSideOfOwner) {
|
|
48
|
+
if (targetRelation.orphanRemoval) {
|
|
49
|
+
const orphanUnique = { [entity.primary]: currentInverseSideOfOwner };
|
|
50
|
+
const orphanDelete = await this.mapper.delete(entity, orphanUnique);
|
|
51
|
+
orphanResult.push(...orphanDelete);
|
|
52
|
+
}
|
|
53
|
+
else if (!relation.nullable) {
|
|
54
|
+
return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const connectResult = await this.mapper.updateInternal(targetEntity, input, update => {
|
|
58
|
+
update.addPredicates([targetRelation.name]);
|
|
59
|
+
update.addFieldValue(targetRelation.name, primary);
|
|
60
|
+
});
|
|
61
|
+
return [
|
|
62
|
+
...connectResult,
|
|
63
|
+
...orphanResult,
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
async createInternal(context, primary) {
|
|
67
|
+
return await this.mapper.insert(context.targetEntity, context.input, builder => {
|
|
68
|
+
builder.addPredicates([context.targetRelation.name]);
|
|
69
|
+
builder.addFieldValue(context.targetRelation.name, primary);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.OneHasOneInverseCreateInputProcessor = OneHasOneInverseCreateInputProcessor;
|
|
74
|
+
//# sourceMappingURL=OneHasOneInverseCreateInputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseCreateInputProcessor.js","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MutationResultList } from '../Result';
|
|
2
|
+
import { UpdateInputProcessor } from '../../inputProcessing';
|
|
3
|
+
import { Input, Model } from '@contember/schema';
|
|
4
|
+
import { Mapper } from '../Mapper';
|
|
5
|
+
export declare class OneHasOneInverseUpdateInputProcessor {
|
|
6
|
+
private readonly primaryValue;
|
|
7
|
+
private readonly mapper;
|
|
8
|
+
constructor(primaryValue: Input.PrimaryValue, mapper: Mapper);
|
|
9
|
+
connect({ input, ...ctx }: Model.OneHasOneInverseContext & {
|
|
10
|
+
input: Input.UniqueWhere;
|
|
11
|
+
}): Promise<MutationResultList>;
|
|
12
|
+
connectOrCreate({ input, ...ctx }: Model.OneHasOneInverseContext & {
|
|
13
|
+
input: Input.ConnectOrCreateInput;
|
|
14
|
+
}): Promise<MutationResultList>;
|
|
15
|
+
private connectInternal;
|
|
16
|
+
create({ entity, targetEntity, targetRelation, input }: Model.OneHasOneInverseContext & {
|
|
17
|
+
input: Input.CreateDataInput;
|
|
18
|
+
}): Promise<MutationResultList>;
|
|
19
|
+
update({ entity, targetEntity, targetRelation, input }: Model.OneHasOneInverseContext & {
|
|
20
|
+
input: Input.UpdateDataInput;
|
|
21
|
+
}): Promise<MutationResultList>;
|
|
22
|
+
upsert(context: Model.OneHasOneInverseContext & {
|
|
23
|
+
input: UpdateInputProcessor.UpsertInput;
|
|
24
|
+
}): Promise<MutationResultList>;
|
|
25
|
+
disconnect({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneInverseContext & {
|
|
26
|
+
input: undefined;
|
|
27
|
+
}): Promise<MutationResultList>;
|
|
28
|
+
delete({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneInverseContext & {
|
|
29
|
+
input: undefined;
|
|
30
|
+
}): Promise<MutationResultList>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=OneHasOneInverseUpdateInputProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseUpdateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,kBAAkB,EAGlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,qBAAa,oCAAoC;IAE/C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,MAAM,EAAE,MAAM;IAInB,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,EAAG,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE;IAQxF,eAAe,CAC3B,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE;YAU3E,eAAe;IAuChB,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IA0BxH,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IAQxH,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAA;KAAE;IAgB3F,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE;IA4BnH,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE;CAO5H"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OneHasOneInverseUpdateInputProcessor = void 0;
|
|
4
|
+
const Result_1 = require("../Result");
|
|
5
|
+
class OneHasOneInverseUpdateInputProcessor {
|
|
6
|
+
constructor(primaryValue, mapper) {
|
|
7
|
+
this.primaryValue = primaryValue;
|
|
8
|
+
this.mapper = mapper;
|
|
9
|
+
}
|
|
10
|
+
async connect({ input, ...ctx }) {
|
|
11
|
+
const newOwner = await this.mapper.getPrimaryValue(ctx.targetEntity, input);
|
|
12
|
+
if (!newOwner) {
|
|
13
|
+
return [new Result_1.MutationEntryNotFoundError([], input)];
|
|
14
|
+
}
|
|
15
|
+
return await this.connectInternal(ctx, newOwner);
|
|
16
|
+
}
|
|
17
|
+
async connectOrCreate({ input, ...ctx }) {
|
|
18
|
+
const newOwner = await this.mapper.getPrimaryValue(ctx.targetEntity, input.connect);
|
|
19
|
+
if (newOwner) {
|
|
20
|
+
return await this.connectInternal(ctx, newOwner);
|
|
21
|
+
}
|
|
22
|
+
return await this.create({ ...ctx, input: input.create });
|
|
23
|
+
}
|
|
24
|
+
async connectInternal({ entity, targetEntity, targetRelation }, newOwner) {
|
|
25
|
+
const currentOwner = await this.mapper.getPrimaryValue(targetEntity, {
|
|
26
|
+
[targetRelation.name]: { [entity.primary]: this.primaryValue },
|
|
27
|
+
});
|
|
28
|
+
if (newOwner === currentOwner) {
|
|
29
|
+
return [new Result_1.MutationNothingToDo([], Result_1.NothingToDoReason.alreadyExists)];
|
|
30
|
+
}
|
|
31
|
+
const result = [];
|
|
32
|
+
if (currentOwner) {
|
|
33
|
+
if (!targetRelation.nullable) {
|
|
34
|
+
// todo cascade delete support?
|
|
35
|
+
return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
|
|
36
|
+
}
|
|
37
|
+
const disconnectFromCurrentOwner = await this.mapper.updateInternal(targetEntity, { [targetEntity.primary]: currentOwner }, builder => {
|
|
38
|
+
builder.addPredicates([targetRelation.name]);
|
|
39
|
+
builder.addFieldValue(targetRelation.name, null);
|
|
40
|
+
});
|
|
41
|
+
result.push(...disconnectFromCurrentOwner);
|
|
42
|
+
}
|
|
43
|
+
const orphanedInverseSide = targetRelation.orphanRemoval
|
|
44
|
+
? await this.mapper.selectField(targetEntity, { [targetEntity.primary]: newOwner }, targetRelation.name)
|
|
45
|
+
: null;
|
|
46
|
+
const connectToNewOwner = await this.mapper.updateInternal(targetEntity, { [targetEntity.primary]: newOwner }, builder => {
|
|
47
|
+
builder.addPredicates([targetRelation.name]);
|
|
48
|
+
builder.addFieldValue(targetRelation.name, this.primaryValue);
|
|
49
|
+
});
|
|
50
|
+
result.push(...connectToNewOwner);
|
|
51
|
+
if (orphanedInverseSide) {
|
|
52
|
+
const deleteOrphanedInverseSide = await this.mapper.delete(entity, { [entity.primary]: orphanedInverseSide });
|
|
53
|
+
result.push(...deleteOrphanedInverseSide);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
async create({ entity, targetEntity, targetRelation, input }) {
|
|
58
|
+
const currentOwner = await this.mapper.getPrimaryValue(targetEntity, {
|
|
59
|
+
[targetRelation.name]: { [entity.primary]: this.primaryValue },
|
|
60
|
+
});
|
|
61
|
+
if (currentOwner && !targetRelation.nullable) {
|
|
62
|
+
// todo cascade delete support?
|
|
63
|
+
return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
|
|
64
|
+
}
|
|
65
|
+
const result = [];
|
|
66
|
+
if (currentOwner) {
|
|
67
|
+
const disconnectFromCurrentOwner = await this.mapper.updateInternal(targetEntity, { [targetEntity.primary]: currentOwner }, builder => {
|
|
68
|
+
builder.addPredicates([targetRelation.name]);
|
|
69
|
+
builder.addFieldValue(targetRelation.name, null);
|
|
70
|
+
});
|
|
71
|
+
result.push(...disconnectFromCurrentOwner);
|
|
72
|
+
}
|
|
73
|
+
const connectToNewlyCreatedOwner = await this.mapper.insert(targetEntity, input, builder => {
|
|
74
|
+
builder.addFieldValue(targetRelation.name, this.primaryValue);
|
|
75
|
+
builder.addPredicates([targetRelation.name]);
|
|
76
|
+
});
|
|
77
|
+
result.push(...connectToNewlyCreatedOwner);
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
async update({ entity, targetEntity, targetRelation, input }) {
|
|
81
|
+
return await this.mapper.update(targetEntity, { [targetRelation.name]: { [entity.primary]: this.primaryValue } }, input);
|
|
82
|
+
}
|
|
83
|
+
async upsert(context) {
|
|
84
|
+
const { targetEntity, targetRelation, entity, input: { update, create } } = context;
|
|
85
|
+
const result = await this.mapper.update(targetEntity, { [targetRelation.name]: { [entity.primary]: this.primaryValue } }, update);
|
|
86
|
+
if (result[0].result === Result_1.MutationResultType.notFoundError) {
|
|
87
|
+
return await this.create({
|
|
88
|
+
...context,
|
|
89
|
+
input: create,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
async disconnect({ entity, targetEntity, relation, targetRelation }) {
|
|
95
|
+
if (!relation.nullable && !targetRelation.orphanRemoval) {
|
|
96
|
+
return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
|
|
97
|
+
}
|
|
98
|
+
const currentOwner = await this.mapper.getPrimaryValue(targetEntity, {
|
|
99
|
+
[targetRelation.name]: { [entity.primary]: this.primaryValue },
|
|
100
|
+
});
|
|
101
|
+
if (!currentOwner) {
|
|
102
|
+
return [new Result_1.MutationNothingToDo([], Result_1.NothingToDoReason.emptyRelation)];
|
|
103
|
+
}
|
|
104
|
+
if (currentOwner && !targetRelation.nullable) {
|
|
105
|
+
return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
|
|
106
|
+
}
|
|
107
|
+
const result = await this.mapper.updateInternal(targetEntity, { [targetEntity.primary]: currentOwner }, builder => {
|
|
108
|
+
builder.addPredicates([targetRelation.name]);
|
|
109
|
+
builder.addFieldValue(targetRelation.name, null);
|
|
110
|
+
});
|
|
111
|
+
if (targetRelation.orphanRemoval) {
|
|
112
|
+
result.push(...(await this.mapper.delete(entity, { [entity.primary]: this.primaryValue })));
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
async delete({ entity, targetEntity, relation, targetRelation }) {
|
|
117
|
+
if (!relation.nullable && !targetRelation.orphanRemoval) {
|
|
118
|
+
return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
|
|
119
|
+
}
|
|
120
|
+
// orphan removal is handled in mapper.delete
|
|
121
|
+
return await this.mapper.delete(targetEntity, { [targetRelation.name]: { [entity.primary]: this.primaryValue } });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.OneHasOneInverseUpdateInputProcessor = OneHasOneInverseUpdateInputProcessor;
|
|
125
|
+
//# sourceMappingURL=OneHasOneInverseUpdateInputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseUpdateInputProcessor.js","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MutationResultList } from '../Result';
|
|
2
|
+
import { InsertBuilder } from '../insert';
|
|
3
|
+
import { Mapper } from '../Mapper';
|
|
4
|
+
import { Input, Model } from '@contember/schema';
|
|
5
|
+
export declare class OneHasOneOwningCreateInputProcessor {
|
|
6
|
+
private readonly insertBuilder;
|
|
7
|
+
private readonly mapper;
|
|
8
|
+
constructor(insertBuilder: InsertBuilder, mapper: Mapper);
|
|
9
|
+
connect(context: Model.OneHasOneOwningContext & {
|
|
10
|
+
input: Input.UniqueWhere;
|
|
11
|
+
}): Promise<MutationResultList>;
|
|
12
|
+
create(context: Model.OneHasOneOwningContext & {
|
|
13
|
+
input: Input.CreateDataInput;
|
|
14
|
+
}): Promise<MutationResultList>;
|
|
15
|
+
connectOrCreate({ input, ...context }: Model.OneHasOneOwningContext & {
|
|
16
|
+
input: Input.ConnectOrCreateInput;
|
|
17
|
+
}): Promise<MutationResultList>;
|
|
18
|
+
private createInternal;
|
|
19
|
+
private connectInternal;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=OneHasOneOwningCreateInputProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneOwningCreateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,kBAAkB,EAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGhD,qBAAa,mCAAmC;IAE9C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IAInB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE;IAc5E,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IAQ/E,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE;YAY1G,cAAc;YAad,eAAe;CAyB7B"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OneHasOneOwningCreateInputProcessor = void 0;
|
|
4
|
+
const Result_1 = require("../Result");
|
|
5
|
+
const DataManipulationBuilder_1 = require("../DataManipulationBuilder");
|
|
6
|
+
class OneHasOneOwningCreateInputProcessor {
|
|
7
|
+
constructor(insertBuilder, mapper) {
|
|
8
|
+
this.insertBuilder = insertBuilder;
|
|
9
|
+
this.mapper = mapper;
|
|
10
|
+
}
|
|
11
|
+
async connect(context) {
|
|
12
|
+
const { input, relation, targetEntity } = context;
|
|
13
|
+
const result = [];
|
|
14
|
+
await this.insertBuilder.addFieldValue(relation.name, async () => {
|
|
15
|
+
const inverseSide = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
16
|
+
if (!inverseSide) {
|
|
17
|
+
result.push(new Result_1.MutationEntryNotFoundError([], input));
|
|
18
|
+
return DataManipulationBuilder_1.AbortDataManipulation;
|
|
19
|
+
}
|
|
20
|
+
return this.connectInternal({ ...context, input: inverseSide }, result);
|
|
21
|
+
});
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
async create(context) {
|
|
25
|
+
const result = [];
|
|
26
|
+
await this.insertBuilder.addFieldValue(context.relation.name, async () => {
|
|
27
|
+
return await this.createInternal(context, result);
|
|
28
|
+
});
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
async connectOrCreate({ input, ...context }) {
|
|
32
|
+
const result = [];
|
|
33
|
+
await this.insertBuilder.addFieldValue(context.relation.name, async () => {
|
|
34
|
+
const inverseSide = await this.mapper.getPrimaryValue(context.targetEntity, input.connect);
|
|
35
|
+
if (inverseSide) {
|
|
36
|
+
return await this.connectInternal({ ...context, input: inverseSide }, result);
|
|
37
|
+
}
|
|
38
|
+
return await this.createInternal({ ...context, input: input.create }, result);
|
|
39
|
+
});
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
async createInternal(context, result) {
|
|
43
|
+
const insertResult = await this.mapper.insert(context.targetEntity, context.input);
|
|
44
|
+
result.push(...insertResult);
|
|
45
|
+
const primary = (0, Result_1.getInsertPrimary)(insertResult);
|
|
46
|
+
if (!primary) {
|
|
47
|
+
return DataManipulationBuilder_1.AbortDataManipulation;
|
|
48
|
+
}
|
|
49
|
+
return primary;
|
|
50
|
+
}
|
|
51
|
+
async connectInternal({ entity, relation, targetEntity, input }, result) {
|
|
52
|
+
const currentOwnerOfInverseSide = await this.mapper.getPrimaryValue(entity, {
|
|
53
|
+
[relation.name]: { [targetEntity.primary]: input },
|
|
54
|
+
});
|
|
55
|
+
if (!currentOwnerOfInverseSide) {
|
|
56
|
+
return input;
|
|
57
|
+
}
|
|
58
|
+
if (!relation.nullable) {
|
|
59
|
+
result.push(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull));
|
|
60
|
+
return DataManipulationBuilder_1.AbortDataManipulation;
|
|
61
|
+
}
|
|
62
|
+
const currentOwnerUnique = { [entity.primary]: currentOwnerOfInverseSide };
|
|
63
|
+
const currentOwnerDisconnectResult = await this.mapper.updateInternal(entity, currentOwnerUnique, builder => {
|
|
64
|
+
builder.addPredicates([relation.name]);
|
|
65
|
+
builder.addFieldValue(relation.name, null);
|
|
66
|
+
});
|
|
67
|
+
result.push(...currentOwnerDisconnectResult);
|
|
68
|
+
return input;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.OneHasOneOwningCreateInputProcessor = OneHasOneOwningCreateInputProcessor;
|
|
72
|
+
//# sourceMappingURL=OneHasOneOwningCreateInputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneOwningCreateInputProcessor.js","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { UpdateInputProcessor } from '../../inputProcessing';
|
|
2
|
+
import { Input, Model } from '@contember/schema';
|
|
3
|
+
import { MutationResultList } from '../Result';
|
|
4
|
+
import { Mapper } from '../Mapper';
|
|
5
|
+
import { UpdateBuilder } from '../update/UpdateBuilder';
|
|
6
|
+
export declare class OneHasOneOwningUpdateInputProcessor {
|
|
7
|
+
private readonly primaryValue;
|
|
8
|
+
private readonly mapper;
|
|
9
|
+
private readonly updateBuilder;
|
|
10
|
+
constructor(primaryValue: Input.PrimaryValue, mapper: Mapper, updateBuilder: UpdateBuilder);
|
|
11
|
+
connect(context: Model.OneHasOneOwningContext & {
|
|
12
|
+
input: Input.UniqueWhere;
|
|
13
|
+
}): Promise<MutationResultList>;
|
|
14
|
+
create(context: Model.OneHasOneOwningContext & {
|
|
15
|
+
input: Input.CreateDataInput;
|
|
16
|
+
}): Promise<MutationResultList>;
|
|
17
|
+
connectOrCreate({ input: { connect, create }, ...context }: Model.OneHasOneOwningContext & {
|
|
18
|
+
input: Input.ConnectOrCreateInput;
|
|
19
|
+
}): Promise<MutationResultList>;
|
|
20
|
+
private createInternal;
|
|
21
|
+
private connectInternal;
|
|
22
|
+
private getCurrentInverseSide;
|
|
23
|
+
private cleanupOrphan;
|
|
24
|
+
update({ entity, relation, targetEntity, input }: Model.OneHasOneOwningContext & {
|
|
25
|
+
input: Input.UpdateDataInput;
|
|
26
|
+
}): Promise<MutationResultList>;
|
|
27
|
+
upsert({ entity, relation, targetEntity, input: { create, update } }: Model.OneHasOneOwningContext & {
|
|
28
|
+
input: UpdateInputProcessor.UpsertInput;
|
|
29
|
+
}): Promise<MutationResultList>;
|
|
30
|
+
disconnect({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneOwningContext & {
|
|
31
|
+
input: undefined;
|
|
32
|
+
}): Promise<MutationResultList>;
|
|
33
|
+
delete({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneOwningContext & {
|
|
34
|
+
input: undefined;
|
|
35
|
+
}): Promise<MutationResultList>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=OneHasOneOwningUpdateInputProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneOwningUpdateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAMN,kBAAkB,EAElB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAIvD,qBAAa,mCAAmC;IAE9C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa;IAIjC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE;IAsB5E,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IAc/E,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE;YAqB/H,cAAc;YAmBd,eAAe;YAgDf,qBAAqB;YAOrB,aAAa;IAQd,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IAYjH,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAA;KAAE;IA0BhJ,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE;IA6BlH,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,sBAAsB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE;CAsB3H"}
|