@contember/engine-content-api 2.0.0-alpha.20 → 2.0.0-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +1 -1
- package/dist/development/index.js +1 -1
- package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
- package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
- package/dist/development/src/input-validation/preValidation/InputPreValidator.js +1 -1
- package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
- package/dist/development/src/inputProcessing/CreateInputVisitor.cjs +10 -10
- package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
- package/dist/development/src/inputProcessing/CreateInputVisitor.js +10 -10
- package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -1
- package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs +13 -13
- package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
- package/dist/development/src/inputProcessing/UpdateInputVisitor.js +13 -13
- package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
- package/dist/development/src/mapper/MutationProcessorHelper.cjs +10 -2
- package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -1
- package/dist/development/src/mapper/MutationProcessorHelper.js +10 -2
- package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -1
- package/dist/development/src/mapper/Result.cjs +10 -27
- package/dist/development/src/mapper/Result.cjs.map +1 -1
- package/dist/development/src/mapper/Result.js +10 -27
- package/dist/development/src/mapper/Result.js.map +1 -1
- package/dist/development/src/mapper/insert/InsertBuilder.cjs +1 -13
- package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/insert/InsertBuilder.js +1 -13
- package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -1
- package/dist/development/src/mapper/insert/Inserter.cjs +43 -21
- package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
- package/dist/development/src/mapper/insert/Inserter.js +45 -23
- package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs +22 -76
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js +22 -76
- package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +45 -0
- package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +45 -0
- package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +42 -0
- package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +42 -0
- package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +37 -0
- package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +37 -0
- package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +25 -32
- package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +25 -32
- package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +67 -0
- package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +67 -0
- package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
- package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
- package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
- package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
- package/dist/development/src/mapper/update/UpdateBuilder.cjs +2 -14
- package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
- package/dist/development/src/mapper/update/UpdateBuilder.js +2 -14
- package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/development/src/mapper/update/Updater.cjs +45 -17
- package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
- package/dist/development/src/mapper/update/Updater.js +47 -19
- package/dist/development/src/mapper/update/Updater.js.map +1 -1
- package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
- package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
- package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
- package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
- package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
- package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
- package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
- package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
- package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
- package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
- package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
- package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
- package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
- package/dist/development/src/resolvers/MutationResolver.cjs +1 -1
- package/dist/development/src/resolvers/MutationResolver.js +1 -1
- package/dist/production/index.cjs +1 -1
- package/dist/production/index.js +1 -1
- package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
- package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
- package/dist/production/src/input-validation/preValidation/InputPreValidator.js +1 -1
- package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
- package/dist/production/src/inputProcessing/CreateInputVisitor.cjs +10 -10
- package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
- package/dist/production/src/inputProcessing/CreateInputVisitor.js +10 -10
- package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
- package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs +13 -13
- package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
- package/dist/production/src/inputProcessing/UpdateInputVisitor.js +13 -13
- package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
- package/dist/production/src/mapper/MutationProcessorHelper.cjs +10 -2
- package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
- package/dist/production/src/mapper/MutationProcessorHelper.js +10 -2
- package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
- package/dist/production/src/mapper/Result.cjs +10 -27
- package/dist/production/src/mapper/Result.cjs.map +1 -1
- package/dist/production/src/mapper/Result.js +10 -27
- package/dist/production/src/mapper/Result.js.map +1 -1
- package/dist/production/src/mapper/insert/InsertBuilder.cjs +1 -13
- package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/insert/InsertBuilder.js +1 -13
- package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
- package/dist/production/src/mapper/insert/Inserter.cjs +43 -21
- package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
- package/dist/production/src/mapper/insert/Inserter.js +45 -23
- package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs +22 -76
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js +22 -76
- package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +45 -0
- package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +45 -0
- package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +42 -0
- package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +42 -0
- package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +37 -0
- package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +37 -0
- package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +25 -32
- package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +25 -32
- package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +67 -0
- package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +67 -0
- package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
- package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
- package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
- package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
- package/dist/production/src/mapper/update/UpdateBuilder.cjs +2 -14
- package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
- package/dist/production/src/mapper/update/UpdateBuilder.js +2 -14
- package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/production/src/mapper/update/Updater.cjs +45 -17
- package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
- package/dist/production/src/mapper/update/Updater.js +47 -19
- package/dist/production/src/mapper/update/Updater.js.map +1 -1
- package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
- package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
- package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
- package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
- package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
- package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
- package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
- package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
- package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
- package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
- package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
- package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
- package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
- package/dist/production/src/resolvers/MutationResolver.cjs +1 -1
- package/dist/production/src/resolvers/MutationResolver.js +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/input-validation/preValidation/InputPreValidator.d.ts.map +1 -1
- package/dist/types/inputProcessing/CreateInputVisitor.d.ts +8 -8
- package/dist/types/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
- package/dist/types/inputProcessing/UpdateInputVisitor.d.ts +8 -8
- package/dist/types/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
- package/dist/types/mapper/MutationProcessorHelper.d.ts +2 -2
- package/dist/types/mapper/MutationProcessorHelper.d.ts.map +1 -1
- package/dist/types/mapper/Result.d.ts +11 -5
- package/dist/types/mapper/Result.d.ts.map +1 -1
- package/dist/types/mapper/insert/InsertBuilder.d.ts +3 -7
- package/dist/types/mapper/insert/InsertBuilder.d.ts.map +1 -1
- package/dist/types/mapper/insert/Inserter.d.ts +0 -1
- package/dist/types/mapper/insert/Inserter.d.ts.map +1 -1
- package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts +11 -8
- package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
- package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts +24 -0
- package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts +23 -0
- package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts +26 -0
- package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts +29 -0
- package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts +24 -0
- package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts +10 -7
- package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
- package/dist/types/mapper/update/UpdateBuilder.d.ts +2 -6
- package/dist/types/mapper/update/UpdateBuilder.d.ts.map +1 -1
- package/dist/types/mapper/update/Updater.d.ts +0 -1
- package/dist/types/mapper/update/Updater.d.ts.map +1 -1
- package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts +46 -0
- package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts +40 -0
- package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts +46 -0
- package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.d.ts +17 -13
- package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
- package/dist/types/mapper/{relations → update/relations}/OneHasOneOwningUpdateInputProcessor.d.ts +19 -16
- package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/input-validation/preValidation/InputPreValidator.ts +3 -5
- package/src/inputProcessing/CreateInputVisitor.ts +14 -14
- package/src/inputProcessing/UpdateInputVisitor.ts +17 -17
- package/src/mapper/MutationProcessorHelper.ts +16 -8
- package/src/mapper/Result.ts +11 -47
- package/src/mapper/insert/InsertBuilder.ts +8 -22
- package/src/mapper/insert/Inserter.ts +53 -40
- package/src/mapper/insert/SqlCreateInputProcessor.ts +35 -88
- package/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts +59 -0
- package/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts +57 -0
- package/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts +50 -0
- package/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts +91 -0
- package/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.ts +87 -0
- package/src/mapper/update/SqlUpdateInputProcessor.ts +48 -46
- package/src/mapper/update/UpdateBuilder.ts +9 -23
- package/src/mapper/update/Updater.ts +53 -34
- package/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.ts +116 -0
- package/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.ts +125 -0
- package/src/mapper/update/relations/OneHasManyUpdateInputProcessor.ts +111 -0
- package/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.ts +93 -73
- package/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.ts +243 -0
- package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +8 -8
- package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +4 -4
- package/dist/development/src/mapper/DataManipulationBuilder.cjs +0 -5
- package/dist/development/src/mapper/DataManipulationBuilder.cjs.map +0 -1
- package/dist/development/src/mapper/DataManipulationBuilder.js +0 -5
- package/dist/development/src/mapper/DataManipulationBuilder.js.map +0 -1
- package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
- package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
- package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
- package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
- package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
- package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
- package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
- package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
- package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
- package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
- package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
- package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
- package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
- package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
- package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
- package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
- package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
- package/dist/production/src/mapper/DataManipulationBuilder.cjs +0 -5
- package/dist/production/src/mapper/DataManipulationBuilder.cjs.map +0 -1
- package/dist/production/src/mapper/DataManipulationBuilder.js +0 -5
- package/dist/production/src/mapper/DataManipulationBuilder.js.map +0 -1
- package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
- package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
- package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
- package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
- package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
- package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
- package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
- package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
- package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
- package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
- package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
- package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
- package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
- package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
- package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
- package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
- package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
- package/dist/types/mapper/DataManipulationBuilder.d.ts +0 -7
- package/dist/types/mapper/DataManipulationBuilder.d.ts.map +0 -1
- package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts +0 -32
- package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts.map +0 -1
- package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts +0 -32
- package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts.map +0 -1
- package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts +0 -29
- package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts.map +0 -1
- package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +0 -21
- package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +0 -1
- package/dist/types/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +0 -1
- package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +0 -21
- package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +0 -1
- package/dist/types/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +0 -1
- package/src/mapper/DataManipulationBuilder.ts +0 -12
- package/src/mapper/relations/ManyHasManyInputProcessor.ts +0 -108
- package/src/mapper/relations/ManyHasOneInputProcessor.ts +0 -158
- package/src/mapper/relations/OneHasManyInputProcessor.ts +0 -101
- package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +0 -99
- package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +0 -92
- package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +0 -253
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataManipulationBuilder.cjs","sources":["../../../../../packages/engine-content-api/src/mapper/DataManipulationBuilder.ts"],"sourcesContent":["import { Value } from '@contember/schema'\n\nexport interface DataManipulationBuilder {\n\taddFieldValue(\n\t\tfieldName: string,\n\t\tvalue: Value.GenericValueLike<Value.AtomicValue<AbortDataManipulation | undefined>>,\n\t): Promise<Value.AtomicValue<AbortDataManipulation | undefined>>\n}\n\n\nexport const AbortDataManipulation = Symbol('AbortDataManipulation')\nexport type AbortDataManipulation = typeof AbortDataManipulation\n"],"names":[],"mappings":";;AAUa,MAAA,wBAAwB,OAAO,uBAAuB;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataManipulationBuilder.js","sources":["../../../../../packages/engine-content-api/src/mapper/DataManipulationBuilder.ts"],"sourcesContent":["import { Value } from '@contember/schema'\n\nexport interface DataManipulationBuilder {\n\taddFieldValue(\n\t\tfieldName: string,\n\t\tvalue: Value.GenericValueLike<Value.AtomicValue<AbortDataManipulation | undefined>>,\n\t): Promise<Value.AtomicValue<AbortDataManipulation | undefined>>\n}\n\n\nexport const AbortDataManipulation = Symbol('AbortDataManipulation')\nexport type AbortDataManipulation = typeof AbortDataManipulation\n"],"names":[],"mappings":"AAUa,MAAA,wBAAwB,OAAO,uBAAuB;"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const Result = require("../Result.cjs");
|
|
4
|
-
class ManyHasManyInputProcessor {
|
|
5
|
-
constructor(mapper) {
|
|
6
|
-
this.mapper = mapper;
|
|
7
|
-
}
|
|
8
|
-
async connect({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
9
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
10
|
-
if (!otherPrimary) {
|
|
11
|
-
return [new Result.MutationEntryNotFoundError([], input)];
|
|
12
|
-
}
|
|
13
|
-
return await this.mapper.connectJunction(entity, relation, primary, otherPrimary);
|
|
14
|
-
}
|
|
15
|
-
async create({ entity, targetEntity, relation, input }, primary) {
|
|
16
|
-
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
17
|
-
const insertPrimary = Result.getInsertPrimary(insertResult);
|
|
18
|
-
if (!insertPrimary) {
|
|
19
|
-
return insertResult;
|
|
20
|
-
}
|
|
21
|
-
return [
|
|
22
|
-
...insertResult,
|
|
23
|
-
...await this.mapper.connectJunction(entity, relation, primary, insertPrimary)
|
|
24
|
-
];
|
|
25
|
-
}
|
|
26
|
-
async connectOrCreate(context, primary) {
|
|
27
|
-
let otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect);
|
|
28
|
-
if (!otherPrimary) {
|
|
29
|
-
const insertResult = await this.mapper.insert(context.targetEntity, context.input.create);
|
|
30
|
-
otherPrimary = Result.getInsertPrimary(insertResult);
|
|
31
|
-
if (!otherPrimary) {
|
|
32
|
-
return insertResult;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary);
|
|
36
|
-
}
|
|
37
|
-
async update({ entity, targetEntity, relation, input: { where, data } }, primary) {
|
|
38
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where);
|
|
39
|
-
if (!otherPrimary) {
|
|
40
|
-
return [new Result.MutationEntryNotFoundError([], where)];
|
|
41
|
-
}
|
|
42
|
-
return [
|
|
43
|
-
...await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, data),
|
|
44
|
-
...await this.mapper.connectJunction(entity, relation, primary, otherPrimary)
|
|
45
|
-
];
|
|
46
|
-
}
|
|
47
|
-
async upsert({ entity, relation, targetEntity, input: { create, update, where } }, primary) {
|
|
48
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where);
|
|
49
|
-
if (otherPrimary) {
|
|
50
|
-
const updateResult = await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, update);
|
|
51
|
-
const connectResult = await this.mapper.connectJunction(entity, relation, primary, otherPrimary);
|
|
52
|
-
return [...updateResult, ...connectResult];
|
|
53
|
-
} else {
|
|
54
|
-
const insertResult = await this.mapper.insert(targetEntity, create);
|
|
55
|
-
const primaryValue = Result.getInsertPrimary(insertResult);
|
|
56
|
-
if (!primaryValue) {
|
|
57
|
-
return insertResult;
|
|
58
|
-
}
|
|
59
|
-
const connectResult = await this.mapper.connectJunction(entity, relation, primary, primaryValue);
|
|
60
|
-
return [...insertResult, ...connectResult];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async disconnect({ entity, targetEntity, relation, input }, primary) {
|
|
64
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
65
|
-
if (!otherPrimary) {
|
|
66
|
-
return [new Result.MutationEntryNotFoundError([], input)];
|
|
67
|
-
}
|
|
68
|
-
return await this.mapper.disconnectJunction(entity, relation, primary, otherPrimary);
|
|
69
|
-
}
|
|
70
|
-
async delete({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
71
|
-
return await this.mapper.delete(targetEntity, input);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.ManyHasManyInputProcessor = ManyHasManyInputProcessor;
|
|
75
|
-
//# sourceMappingURL=ManyHasManyInputProcessor.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasManyInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/ManyHasManyInputProcessor.ts"],"sourcesContent":["import { UpdateInputProcessor } from '../../inputProcessing'\nimport { Input, Model } from '@contember/schema'\nimport { getInsertPrimary, MutationEntryNotFoundError, MutationResultList } from '../Result'\nimport { Mapper } from '../Mapper'\n\ntype RelationContext = Model.ManyHasManyOwningContext | Model.ManyHasManyInverseContext\n\nexport class ManyHasManyInputProcessor {\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: RelationContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\tif (!otherPrimary) {\n\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t}\n\t\treturn await this.mapper.connectJunction(entity, relation, primary, otherPrimary)\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, relation, input }: RelationContext & { input: Input.CreateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\tconst insertPrimary = getInsertPrimary(insertResult)\n\t\tif (!insertPrimary) {\n\t\t\treturn insertResult\n\t\t}\n\t\treturn [\n\t\t\t...insertResult,\n\t\t\t...(await this.mapper.connectJunction(entity, relation, primary, insertPrimary)),\n\t\t]\n\t}\n\n\tpublic async connectOrCreate(\n\t\tcontext: RelationContext & { input: Input.ConnectOrCreateInput },\n\t\tprimary: Input.PrimaryValue,\n\t): Promise<MutationResultList> {\n\t\tlet otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect)\n\t\tif (!otherPrimary) {\n\t\t\tconst insertResult = await this.mapper.insert(context.targetEntity, context.input.create)\n\t\t\totherPrimary = getInsertPrimary(insertResult)\n\t\t\tif (!otherPrimary) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\t\t}\n\t\treturn await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary)\n\t}\n\n\tpublic async update(\n\t\t{ entity, targetEntity, relation, input: { where, data } }: RelationContext & { input: UpdateInputProcessor.UpdateManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where)\n\t\tif (!otherPrimary) {\n\t\t\treturn [new MutationEntryNotFoundError([], where)]\n\t\t}\n\t\treturn [\n\t\t\t...(await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, data)),\n\t\t\t...(await this.mapper.connectJunction(entity, relation, primary, otherPrimary)),\n\t\t]\n\t}\n\n\tpublic async upsert(\n\t\t{ entity, relation, targetEntity, input: { create, update, where } }: RelationContext & { input: UpdateInputProcessor.UpsertManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where)\n\t\tif (otherPrimary) {\n\t\t\tconst updateResult = await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, update)\n\t\t\tconst connectResult = await this.mapper.connectJunction(entity, relation, primary, otherPrimary)\n\t\t\treturn [...updateResult, ...connectResult]\n\t\t} else {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, create)\n\n\t\t\tconst primaryValue = getInsertPrimary(insertResult)\n\t\t\tif (!primaryValue) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\t\t\tconst connectResult = await this.mapper.connectJunction(entity, relation, primary, primaryValue)\n\t\t\treturn [...insertResult, ...connectResult]\n\t\t}\n\t}\n\n\tpublic async disconnect(\n\t\t{ entity, targetEntity, relation, input }: RelationContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\tif (!otherPrimary) {\n\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t}\n\n\t\treturn await this.mapper.disconnectJunction(entity, relation, primary, otherPrimary)\n\t}\n\n\tpublic async delete(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: RelationContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.delete(targetEntity, input)\n\t}\n}\n"],"names":["MutationEntryNotFoundError","getInsertPrimary"],"mappings":"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"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { MutationEntryNotFoundError, getInsertPrimary } from "../Result.js";
|
|
2
|
-
class ManyHasManyInputProcessor {
|
|
3
|
-
constructor(mapper) {
|
|
4
|
-
this.mapper = mapper;
|
|
5
|
-
}
|
|
6
|
-
async connect({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
7
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
8
|
-
if (!otherPrimary) {
|
|
9
|
-
return [new MutationEntryNotFoundError([], input)];
|
|
10
|
-
}
|
|
11
|
-
return await this.mapper.connectJunction(entity, relation, primary, otherPrimary);
|
|
12
|
-
}
|
|
13
|
-
async create({ entity, targetEntity, relation, input }, primary) {
|
|
14
|
-
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
15
|
-
const insertPrimary = getInsertPrimary(insertResult);
|
|
16
|
-
if (!insertPrimary) {
|
|
17
|
-
return insertResult;
|
|
18
|
-
}
|
|
19
|
-
return [
|
|
20
|
-
...insertResult,
|
|
21
|
-
...await this.mapper.connectJunction(entity, relation, primary, insertPrimary)
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
async connectOrCreate(context, primary) {
|
|
25
|
-
let otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect);
|
|
26
|
-
if (!otherPrimary) {
|
|
27
|
-
const insertResult = await this.mapper.insert(context.targetEntity, context.input.create);
|
|
28
|
-
otherPrimary = getInsertPrimary(insertResult);
|
|
29
|
-
if (!otherPrimary) {
|
|
30
|
-
return insertResult;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary);
|
|
34
|
-
}
|
|
35
|
-
async update({ entity, targetEntity, relation, input: { where, data } }, primary) {
|
|
36
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where);
|
|
37
|
-
if (!otherPrimary) {
|
|
38
|
-
return [new MutationEntryNotFoundError([], where)];
|
|
39
|
-
}
|
|
40
|
-
return [
|
|
41
|
-
...await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, data),
|
|
42
|
-
...await this.mapper.connectJunction(entity, relation, primary, otherPrimary)
|
|
43
|
-
];
|
|
44
|
-
}
|
|
45
|
-
async upsert({ entity, relation, targetEntity, input: { create, update, where } }, primary) {
|
|
46
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where);
|
|
47
|
-
if (otherPrimary) {
|
|
48
|
-
const updateResult = await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, update);
|
|
49
|
-
const connectResult = await this.mapper.connectJunction(entity, relation, primary, otherPrimary);
|
|
50
|
-
return [...updateResult, ...connectResult];
|
|
51
|
-
} else {
|
|
52
|
-
const insertResult = await this.mapper.insert(targetEntity, create);
|
|
53
|
-
const primaryValue = getInsertPrimary(insertResult);
|
|
54
|
-
if (!primaryValue) {
|
|
55
|
-
return insertResult;
|
|
56
|
-
}
|
|
57
|
-
const connectResult = await this.mapper.connectJunction(entity, relation, primary, primaryValue);
|
|
58
|
-
return [...insertResult, ...connectResult];
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
async disconnect({ entity, targetEntity, relation, input }, primary) {
|
|
62
|
-
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
63
|
-
if (!otherPrimary) {
|
|
64
|
-
return [new MutationEntryNotFoundError([], input)];
|
|
65
|
-
}
|
|
66
|
-
return await this.mapper.disconnectJunction(entity, relation, primary, otherPrimary);
|
|
67
|
-
}
|
|
68
|
-
async delete({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
69
|
-
return await this.mapper.delete(targetEntity, input);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export {
|
|
73
|
-
ManyHasManyInputProcessor
|
|
74
|
-
};
|
|
75
|
-
//# sourceMappingURL=ManyHasManyInputProcessor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasManyInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/ManyHasManyInputProcessor.ts"],"sourcesContent":["import { UpdateInputProcessor } from '../../inputProcessing'\nimport { Input, Model } from '@contember/schema'\nimport { getInsertPrimary, MutationEntryNotFoundError, MutationResultList } from '../Result'\nimport { Mapper } from '../Mapper'\n\ntype RelationContext = Model.ManyHasManyOwningContext | Model.ManyHasManyInverseContext\n\nexport class ManyHasManyInputProcessor {\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: RelationContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\tif (!otherPrimary) {\n\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t}\n\t\treturn await this.mapper.connectJunction(entity, relation, primary, otherPrimary)\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, relation, input }: RelationContext & { input: Input.CreateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\tconst insertPrimary = getInsertPrimary(insertResult)\n\t\tif (!insertPrimary) {\n\t\t\treturn insertResult\n\t\t}\n\t\treturn [\n\t\t\t...insertResult,\n\t\t\t...(await this.mapper.connectJunction(entity, relation, primary, insertPrimary)),\n\t\t]\n\t}\n\n\tpublic async connectOrCreate(\n\t\tcontext: RelationContext & { input: Input.ConnectOrCreateInput },\n\t\tprimary: Input.PrimaryValue,\n\t): Promise<MutationResultList> {\n\t\tlet otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect)\n\t\tif (!otherPrimary) {\n\t\t\tconst insertResult = await this.mapper.insert(context.targetEntity, context.input.create)\n\t\t\totherPrimary = getInsertPrimary(insertResult)\n\t\t\tif (!otherPrimary) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\t\t}\n\t\treturn await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary)\n\t}\n\n\tpublic async update(\n\t\t{ entity, targetEntity, relation, input: { where, data } }: RelationContext & { input: UpdateInputProcessor.UpdateManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where)\n\t\tif (!otherPrimary) {\n\t\t\treturn [new MutationEntryNotFoundError([], where)]\n\t\t}\n\t\treturn [\n\t\t\t...(await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, data)),\n\t\t\t...(await this.mapper.connectJunction(entity, relation, primary, otherPrimary)),\n\t\t]\n\t}\n\n\tpublic async upsert(\n\t\t{ entity, relation, targetEntity, input: { create, update, where } }: RelationContext & { input: UpdateInputProcessor.UpsertManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, where)\n\t\tif (otherPrimary) {\n\t\t\tconst updateResult = await this.mapper.update(targetEntity, { [targetEntity.primary]: otherPrimary }, update)\n\t\t\tconst connectResult = await this.mapper.connectJunction(entity, relation, primary, otherPrimary)\n\t\t\treturn [...updateResult, ...connectResult]\n\t\t} else {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, create)\n\n\t\t\tconst primaryValue = getInsertPrimary(insertResult)\n\t\t\tif (!primaryValue) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\t\t\tconst connectResult = await this.mapper.connectJunction(entity, relation, primary, primaryValue)\n\t\t\treturn [...insertResult, ...connectResult]\n\t\t}\n\t}\n\n\tpublic async disconnect(\n\t\t{ entity, targetEntity, relation, input }: RelationContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\tif (!otherPrimary) {\n\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t}\n\n\t\treturn await this.mapper.disconnectJunction(entity, relation, primary, otherPrimary)\n\t}\n\n\tpublic async delete(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: RelationContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.delete(targetEntity, input)\n\t}\n}\n"],"names":[],"mappings":";AAOO,MAAM,0BAA0B;AAAA,EACtC,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,MAAM,GACxD,SACC;AACD,UAAM,eAAe,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AAC1E,QAAI,CAAC,cAAc;AAClB,aAAO,CAAC,IAAI,2BAA2B,IAAI,KAAK,CAAC;AAAA,IAClD;AACA,WAAO,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,YAAY;AAAA,EACjF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,UAAU,SAClC,SACC;AACD,UAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,KAAK;AAC3D,UAAA,gBAAgB,iBAAiB,YAAY;AACnD,QAAI,CAAC,eAAe;AACZ,aAAA;AAAA,IACR;AACO,WAAA;AAAA,MACN,GAAG;AAAA,MACH,GAAI,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,aAAa;AAAA,IAAA;AAAA,EAEhF;AAAA,EAEA,MAAa,gBACZ,SACA,SAC8B;AAC1B,QAAA,eAAe,MAAM,KAAK,OAAO,gBAAgB,QAAQ,cAAc,QAAQ,MAAM,OAAO;AAChG,QAAI,CAAC,cAAc;AACZ,YAAA,eAAe,MAAM,KAAK,OAAO,OAAO,QAAQ,cAAc,QAAQ,MAAM,MAAM;AACxF,qBAAe,iBAAiB,YAAY;AAC5C,UAAI,CAAC,cAAc;AACX,eAAA;AAAA,MACR;AAAA,IACD;AACO,WAAA,MAAM,KAAK,OAAO,gBAAgB,QAAQ,QAAQ,QAAQ,UAAU,SAAS,YAAY;AAAA,EACjG;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,UAAU,OAAO,EAAE,OAAO,OAAO,GACzD,SACC;AACD,UAAM,eAAe,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AAC1E,QAAI,CAAC,cAAc;AAClB,aAAO,CAAC,IAAI,2BAA2B,IAAI,KAAK,CAAC;AAAA,IAClD;AACO,WAAA;AAAA,MACN,GAAI,MAAM,KAAK,OAAO,OAAO,cAAc,EAAE,CAAC,aAAa,OAAO,GAAG,gBAAgB,IAAI;AAAA,MACzF,GAAI,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,YAAY;AAAA,IAAA;AAAA,EAE/E;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,UAAU,cAAc,OAAO,EAAE,QAAQ,QAAQ,MAAM,EAAA,GACjE,SACC;AACD,UAAM,eAAe,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AAC1E,QAAI,cAAc;AACjB,YAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,EAAE,CAAC,aAAa,OAAO,GAAG,gBAAgB,MAAM;AACtG,YAAA,gBAAgB,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,YAAY;AAC/F,aAAO,CAAC,GAAG,cAAc,GAAG,aAAa;AAAA,IAAA,OACnC;AACN,YAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,MAAM;AAE5D,YAAA,eAAe,iBAAiB,YAAY;AAClD,UAAI,CAAC,cAAc;AACX,eAAA;AAAA,MACR;AACM,YAAA,gBAAgB,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,YAAY;AAC/F,aAAO,CAAC,GAAG,cAAc,GAAG,aAAa;AAAA,IAC1C;AAAA,EACD;AAAA,EAEA,MAAa,WACZ,EAAE,QAAQ,cAAc,UAAU,SAClC,SACC;AACD,UAAM,eAAe,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AAC1E,QAAI,CAAC,cAAc;AAClB,aAAO,CAAC,IAAI,2BAA2B,IAAI,KAAK,CAAC;AAAA,IAClD;AAEA,WAAO,MAAM,KAAK,OAAO,mBAAmB,QAAQ,UAAU,SAAS,YAAY;AAAA,EACpF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,MAAM,GACxD,SACC;AACD,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc,KAAK;AAAA,EACpD;AACD;"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const schema = require("@contember/schema");
|
|
4
|
-
const Result = require("../Result.cjs");
|
|
5
|
-
const DataManipulationBuilder = require("../DataManipulationBuilder.cjs");
|
|
6
|
-
class ManyHasOneInputProcessor {
|
|
7
|
-
constructor(mapper) {
|
|
8
|
-
this.mapper = mapper;
|
|
9
|
-
}
|
|
10
|
-
async connect({ targetEntity, relation, input }, builder) {
|
|
11
|
-
const result = [];
|
|
12
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
13
|
-
const value = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
14
|
-
if (!value) {
|
|
15
|
-
result.push(new Result.MutationEntryNotFoundError([], input));
|
|
16
|
-
return DataManipulationBuilder.AbortDataManipulation;
|
|
17
|
-
}
|
|
18
|
-
return value;
|
|
19
|
-
});
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
async create({ relation, targetEntity, input }, builder) {
|
|
23
|
-
const result = [];
|
|
24
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
25
|
-
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
26
|
-
const value = Result.getInsertPrimary(insertResult);
|
|
27
|
-
if (!value) {
|
|
28
|
-
result.push(...insertResult);
|
|
29
|
-
return DataManipulationBuilder.AbortDataManipulation;
|
|
30
|
-
}
|
|
31
|
-
return value;
|
|
32
|
-
});
|
|
33
|
-
return result;
|
|
34
|
-
}
|
|
35
|
-
async connectOrCreate({ input: { connect, create }, relation, targetEntity }, builder) {
|
|
36
|
-
const result = [];
|
|
37
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
38
|
-
const value = await this.mapper.getPrimaryValue(targetEntity, connect);
|
|
39
|
-
if (value) {
|
|
40
|
-
return value;
|
|
41
|
-
}
|
|
42
|
-
const insertPromise = this.mapper.insert(targetEntity, create);
|
|
43
|
-
const insertResult = await insertPromise;
|
|
44
|
-
const primary = Result.getInsertPrimary(insertResult);
|
|
45
|
-
if (!primary) {
|
|
46
|
-
result.push(...insertResult);
|
|
47
|
-
return DataManipulationBuilder.AbortDataManipulation;
|
|
48
|
-
}
|
|
49
|
-
return primary;
|
|
50
|
-
});
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
async update({ entity, relation, targetEntity, targetRelation, input }, primary) {
|
|
54
|
-
const inversePrimary = await this.mapper.selectField(
|
|
55
|
-
entity,
|
|
56
|
-
{ [entity.primary]: primary },
|
|
57
|
-
relation.name
|
|
58
|
-
);
|
|
59
|
-
if (!inversePrimary) {
|
|
60
|
-
return [new Result.MutationNothingToDo([], Result.NothingToDoReason.emptyRelation)];
|
|
61
|
-
}
|
|
62
|
-
return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, input);
|
|
63
|
-
}
|
|
64
|
-
async upsert({ entity, relation, targetEntity, input: { create, update } }, builder, primary) {
|
|
65
|
-
const select = this.mapper.selectField(entity, { [entity.primary]: primary }, relation.name);
|
|
66
|
-
const result = [];
|
|
67
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
68
|
-
const primary2 = await select;
|
|
69
|
-
if (primary2) {
|
|
70
|
-
return void 0;
|
|
71
|
-
}
|
|
72
|
-
const insertResult = await this.mapper.insert(targetEntity, create);
|
|
73
|
-
const insertPrimary = Result.getInsertPrimary(insertResult);
|
|
74
|
-
if (insertPrimary) {
|
|
75
|
-
return insertPrimary;
|
|
76
|
-
}
|
|
77
|
-
result.push(...insertResult);
|
|
78
|
-
return DataManipulationBuilder.AbortDataManipulation;
|
|
79
|
-
});
|
|
80
|
-
const inversePrimary = await select;
|
|
81
|
-
if (inversePrimary) {
|
|
82
|
-
return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, update);
|
|
83
|
-
} else {
|
|
84
|
-
return result;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
async disconnect({ entity, targetEntity, relation, targetRelation }, builder) {
|
|
88
|
-
if (!relation.nullable) {
|
|
89
|
-
return [new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull)];
|
|
90
|
-
}
|
|
91
|
-
builder.addFieldValue(relation.name, null);
|
|
92
|
-
return [];
|
|
93
|
-
}
|
|
94
|
-
async delete({ entity, targetEntity, relation, targetRelation }, builder, primary) {
|
|
95
|
-
if (!relation.nullable && relation.joiningColumn.onDelete !== schema.Model.OnDelete.cascade) {
|
|
96
|
-
return [new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull)];
|
|
97
|
-
}
|
|
98
|
-
if (relation.joiningColumn.onDelete === schema.Model.OnDelete.restrict) {
|
|
99
|
-
console.error(
|
|
100
|
-
"[DEPRECATED] You are deleting an entity over the relation where onDelete behaviour is set to restrict. This will fail in next version."
|
|
101
|
-
);
|
|
102
|
-
builder.addFieldValue(relation.name, null);
|
|
103
|
-
}
|
|
104
|
-
const inversePrimary = await this.mapper.selectField(
|
|
105
|
-
entity,
|
|
106
|
-
{ [entity.primary]: primary },
|
|
107
|
-
relation.name
|
|
108
|
-
);
|
|
109
|
-
await builder.update;
|
|
110
|
-
return await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary });
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
exports.ManyHasOneInputProcessor = ManyHasOneInputProcessor;
|
|
114
|
-
//# sourceMappingURL=ManyHasOneInputProcessor.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasOneInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/ManyHasOneInputProcessor.ts"],"sourcesContent":["import { UpdateInputProcessor } from '../../inputProcessing'\nimport { Input, Model } from '@contember/schema'\nimport {\n\tConstraintType,\n\tgetInsertPrimary,\n\tMutationConstraintViolationError,\n\tMutationEntryNotFoundError,\n\tMutationNothingToDo,\n\tMutationResultList,\n\tNothingToDoReason,\n} from '../Result'\nimport { Mapper } from '../Mapper'\nimport { AbortDataManipulation, DataManipulationBuilder } from '../DataManipulationBuilder'\nimport { UpdateBuilder } from '../update'\n\nexport class ManyHasOneInputProcessor {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(\n\t\t{ targetEntity, relation, input }: Model.ManyHasOneContext & { input: Input.UniqueWhere },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tconst result: MutationResultList = []\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!value) {\n\t\t\t\tresult.push(new MutationEntryNotFoundError([], input))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn value\n\t\t})\n\t\treturn result\n\t}\n\n\tpublic async create(\n\t\t{ relation, targetEntity, input }: Model.ManyHasOneContext & { input: Input.CreateDataInput },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tconst result: MutationResultList = []\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\t\tconst value = getInsertPrimary(insertResult)\n\t\t\tif (!value) {\n\t\t\t\tresult.push(...insertResult)\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn value\n\t\t})\n\t\treturn result\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ input: { connect, create }, relation, targetEntity }: Model.ManyHasOneContext & { input: Input.ConnectOrCreateInput },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tconst result: MutationResultList = []\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, connect)\n\t\t\tif (value) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t\tconst insertPromise = this.mapper.insert(targetEntity, create)\n\t\t\tconst insertResult = await insertPromise\n\t\t\tconst primary = getInsertPrimary(insertResult)\n\t\t\tif (!primary) {\n\t\t\t\tresult.push(...insertResult)\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn primary\n\t\t})\n\t\treturn result\n\t}\n\n\tpublic async update(\n\t\t{ entity, relation, targetEntity, targetRelation, input }: Model.ManyHasOneContext & { input: Input.UpdateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst inversePrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: primary },\n\t\t\trelation.name,\n\t\t)\n\t\tif (!inversePrimary) {\n\t\t\treturn [new MutationNothingToDo([], NothingToDoReason.emptyRelation)]\n\t\t}\n\t\treturn await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, input)\n\t}\n\n\tpublic async upsert(\n\t\t{ entity, relation, targetEntity, input: { create, update } }: Model.ManyHasOneContext & { input: UpdateInputProcessor.UpsertInput },\n\t\tbuilder: DataManipulationBuilder,\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst select = this.mapper.selectField(entity, { [entity.primary]: primary }, relation.name)\n\n\t\tconst result: MutationResultList = []\n\t\t// addFieldValue has to be called immediately\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst primary = await select\n\t\t\tif (primary) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, create)\n\t\t\tconst insertPrimary = getInsertPrimary(insertResult)\n\t\t\tif (insertPrimary) {\n\t\t\t\treturn insertPrimary\n\t\t\t}\n\t\t\tresult.push(...insertResult)\n\t\t\treturn AbortDataManipulation\n\t\t})\n\n\t\tconst inversePrimary = await select\n\t\tif (inversePrimary) {\n\t\t\treturn await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, update)\n\t\t} else {\n\t\t\treturn result\n\t\t}\n\t}\n\n\tpublic async disconnect(\n\t\t{ entity, targetEntity, relation, targetRelation }: Model.ManyHasOneContext & { input: undefined },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tif (!relation.nullable) {\n\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t}\n\t\tbuilder.addFieldValue(relation.name, null)\n\t\treturn []\n\t}\n\n\tpublic async delete(\n\t\t{ entity, targetEntity, relation, targetRelation }: Model.ManyHasOneContext & { input: undefined },\n\t\tbuilder: UpdateBuilder,\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tif (!relation.nullable && relation.joiningColumn.onDelete !== Model.OnDelete.cascade) {\n\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t}\n\t\tif (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'[DEPRECATED] You are deleting an entity over the relation where onDelete behaviour is set to restrict. This will fail in next version.',\n\t\t\t)\n\t\t\tbuilder.addFieldValue(relation.name, null)\n\t\t}\n\t\tconst inversePrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: primary },\n\t\t\trelation.name,\n\t\t)\n\t\tawait builder.update\n\t\treturn await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary })\n\t}\n}\n"],"names":["MutationEntryNotFoundError","AbortDataManipulation","getInsertPrimary","MutationNothingToDo","NothingToDoReason","primary","MutationConstraintViolationError","ConstraintType","Model"],"mappings":"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"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Model } from "@contember/schema";
|
|
2
|
-
import { MutationEntryNotFoundError, getInsertPrimary, MutationNothingToDo, NothingToDoReason, MutationConstraintViolationError, ConstraintType } from "../Result.js";
|
|
3
|
-
import { AbortDataManipulation } from "../DataManipulationBuilder.js";
|
|
4
|
-
class ManyHasOneInputProcessor {
|
|
5
|
-
constructor(mapper) {
|
|
6
|
-
this.mapper = mapper;
|
|
7
|
-
}
|
|
8
|
-
async connect({ targetEntity, relation, input }, builder) {
|
|
9
|
-
const result = [];
|
|
10
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
11
|
-
const value = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
12
|
-
if (!value) {
|
|
13
|
-
result.push(new MutationEntryNotFoundError([], input));
|
|
14
|
-
return AbortDataManipulation;
|
|
15
|
-
}
|
|
16
|
-
return value;
|
|
17
|
-
});
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
async create({ relation, targetEntity, input }, builder) {
|
|
21
|
-
const result = [];
|
|
22
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
23
|
-
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
24
|
-
const value = getInsertPrimary(insertResult);
|
|
25
|
-
if (!value) {
|
|
26
|
-
result.push(...insertResult);
|
|
27
|
-
return AbortDataManipulation;
|
|
28
|
-
}
|
|
29
|
-
return value;
|
|
30
|
-
});
|
|
31
|
-
return result;
|
|
32
|
-
}
|
|
33
|
-
async connectOrCreate({ input: { connect, create }, relation, targetEntity }, builder) {
|
|
34
|
-
const result = [];
|
|
35
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
36
|
-
const value = await this.mapper.getPrimaryValue(targetEntity, connect);
|
|
37
|
-
if (value) {
|
|
38
|
-
return value;
|
|
39
|
-
}
|
|
40
|
-
const insertPromise = this.mapper.insert(targetEntity, create);
|
|
41
|
-
const insertResult = await insertPromise;
|
|
42
|
-
const primary = getInsertPrimary(insertResult);
|
|
43
|
-
if (!primary) {
|
|
44
|
-
result.push(...insertResult);
|
|
45
|
-
return AbortDataManipulation;
|
|
46
|
-
}
|
|
47
|
-
return primary;
|
|
48
|
-
});
|
|
49
|
-
return result;
|
|
50
|
-
}
|
|
51
|
-
async update({ entity, relation, targetEntity, targetRelation, input }, primary) {
|
|
52
|
-
const inversePrimary = await this.mapper.selectField(
|
|
53
|
-
entity,
|
|
54
|
-
{ [entity.primary]: primary },
|
|
55
|
-
relation.name
|
|
56
|
-
);
|
|
57
|
-
if (!inversePrimary) {
|
|
58
|
-
return [new MutationNothingToDo([], NothingToDoReason.emptyRelation)];
|
|
59
|
-
}
|
|
60
|
-
return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, input);
|
|
61
|
-
}
|
|
62
|
-
async upsert({ entity, relation, targetEntity, input: { create, update } }, builder, primary) {
|
|
63
|
-
const select = this.mapper.selectField(entity, { [entity.primary]: primary }, relation.name);
|
|
64
|
-
const result = [];
|
|
65
|
-
await builder.addFieldValue(relation.name, async () => {
|
|
66
|
-
const primary2 = await select;
|
|
67
|
-
if (primary2) {
|
|
68
|
-
return void 0;
|
|
69
|
-
}
|
|
70
|
-
const insertResult = await this.mapper.insert(targetEntity, create);
|
|
71
|
-
const insertPrimary = getInsertPrimary(insertResult);
|
|
72
|
-
if (insertPrimary) {
|
|
73
|
-
return insertPrimary;
|
|
74
|
-
}
|
|
75
|
-
result.push(...insertResult);
|
|
76
|
-
return AbortDataManipulation;
|
|
77
|
-
});
|
|
78
|
-
const inversePrimary = await select;
|
|
79
|
-
if (inversePrimary) {
|
|
80
|
-
return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, update);
|
|
81
|
-
} else {
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async disconnect({ entity, targetEntity, relation, targetRelation }, builder) {
|
|
86
|
-
if (!relation.nullable) {
|
|
87
|
-
return [new MutationConstraintViolationError([], ConstraintType.notNull)];
|
|
88
|
-
}
|
|
89
|
-
builder.addFieldValue(relation.name, null);
|
|
90
|
-
return [];
|
|
91
|
-
}
|
|
92
|
-
async delete({ entity, targetEntity, relation, targetRelation }, builder, primary) {
|
|
93
|
-
if (!relation.nullable && relation.joiningColumn.onDelete !== Model.OnDelete.cascade) {
|
|
94
|
-
return [new MutationConstraintViolationError([], ConstraintType.notNull)];
|
|
95
|
-
}
|
|
96
|
-
if (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {
|
|
97
|
-
console.error(
|
|
98
|
-
"[DEPRECATED] You are deleting an entity over the relation where onDelete behaviour is set to restrict. This will fail in next version."
|
|
99
|
-
);
|
|
100
|
-
builder.addFieldValue(relation.name, null);
|
|
101
|
-
}
|
|
102
|
-
const inversePrimary = await this.mapper.selectField(
|
|
103
|
-
entity,
|
|
104
|
-
{ [entity.primary]: primary },
|
|
105
|
-
relation.name
|
|
106
|
-
);
|
|
107
|
-
await builder.update;
|
|
108
|
-
return await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export {
|
|
112
|
-
ManyHasOneInputProcessor
|
|
113
|
-
};
|
|
114
|
-
//# sourceMappingURL=ManyHasOneInputProcessor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasOneInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/ManyHasOneInputProcessor.ts"],"sourcesContent":["import { UpdateInputProcessor } from '../../inputProcessing'\nimport { Input, Model } from '@contember/schema'\nimport {\n\tConstraintType,\n\tgetInsertPrimary,\n\tMutationConstraintViolationError,\n\tMutationEntryNotFoundError,\n\tMutationNothingToDo,\n\tMutationResultList,\n\tNothingToDoReason,\n} from '../Result'\nimport { Mapper } from '../Mapper'\nimport { AbortDataManipulation, DataManipulationBuilder } from '../DataManipulationBuilder'\nimport { UpdateBuilder } from '../update'\n\nexport class ManyHasOneInputProcessor {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(\n\t\t{ targetEntity, relation, input }: Model.ManyHasOneContext & { input: Input.UniqueWhere },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tconst result: MutationResultList = []\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!value) {\n\t\t\t\tresult.push(new MutationEntryNotFoundError([], input))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn value\n\t\t})\n\t\treturn result\n\t}\n\n\tpublic async create(\n\t\t{ relation, targetEntity, input }: Model.ManyHasOneContext & { input: Input.CreateDataInput },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tconst result: MutationResultList = []\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\t\tconst value = getInsertPrimary(insertResult)\n\t\t\tif (!value) {\n\t\t\t\tresult.push(...insertResult)\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn value\n\t\t})\n\t\treturn result\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ input: { connect, create }, relation, targetEntity }: Model.ManyHasOneContext & { input: Input.ConnectOrCreateInput },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tconst result: MutationResultList = []\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, connect)\n\t\t\tif (value) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t\tconst insertPromise = this.mapper.insert(targetEntity, create)\n\t\t\tconst insertResult = await insertPromise\n\t\t\tconst primary = getInsertPrimary(insertResult)\n\t\t\tif (!primary) {\n\t\t\t\tresult.push(...insertResult)\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn primary\n\t\t})\n\t\treturn result\n\t}\n\n\tpublic async update(\n\t\t{ entity, relation, targetEntity, targetRelation, input }: Model.ManyHasOneContext & { input: Input.UpdateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst inversePrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: primary },\n\t\t\trelation.name,\n\t\t)\n\t\tif (!inversePrimary) {\n\t\t\treturn [new MutationNothingToDo([], NothingToDoReason.emptyRelation)]\n\t\t}\n\t\treturn await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, input)\n\t}\n\n\tpublic async upsert(\n\t\t{ entity, relation, targetEntity, input: { create, update } }: Model.ManyHasOneContext & { input: UpdateInputProcessor.UpsertInput },\n\t\tbuilder: DataManipulationBuilder,\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst select = this.mapper.selectField(entity, { [entity.primary]: primary }, relation.name)\n\n\t\tconst result: MutationResultList = []\n\t\t// addFieldValue has to be called immediately\n\t\tawait builder.addFieldValue(relation.name, async () => {\n\t\t\tconst primary = await select\n\t\t\tif (primary) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, create)\n\t\t\tconst insertPrimary = getInsertPrimary(insertResult)\n\t\t\tif (insertPrimary) {\n\t\t\t\treturn insertPrimary\n\t\t\t}\n\t\t\tresult.push(...insertResult)\n\t\t\treturn AbortDataManipulation\n\t\t})\n\n\t\tconst inversePrimary = await select\n\t\tif (inversePrimary) {\n\t\t\treturn await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, update)\n\t\t} else {\n\t\t\treturn result\n\t\t}\n\t}\n\n\tpublic async disconnect(\n\t\t{ entity, targetEntity, relation, targetRelation }: Model.ManyHasOneContext & { input: undefined },\n\t\tbuilder: DataManipulationBuilder,\n\t) {\n\t\tif (!relation.nullable) {\n\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t}\n\t\tbuilder.addFieldValue(relation.name, null)\n\t\treturn []\n\t}\n\n\tpublic async delete(\n\t\t{ entity, targetEntity, relation, targetRelation }: Model.ManyHasOneContext & { input: undefined },\n\t\tbuilder: UpdateBuilder,\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tif (!relation.nullable && relation.joiningColumn.onDelete !== Model.OnDelete.cascade) {\n\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t}\n\t\tif (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'[DEPRECATED] You are deleting an entity over the relation where onDelete behaviour is set to restrict. This will fail in next version.',\n\t\t\t)\n\t\t\tbuilder.addFieldValue(relation.name, null)\n\t\t}\n\t\tconst inversePrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: primary },\n\t\t\trelation.name,\n\t\t)\n\t\tawait builder.update\n\t\treturn await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary })\n\t}\n}\n"],"names":["primary"],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const Result = require("../Result.cjs");
|
|
4
|
-
class OneHasManyInputProcessor {
|
|
5
|
-
constructor(mapper) {
|
|
6
|
-
this.mapper = mapper;
|
|
7
|
-
}
|
|
8
|
-
async connect({ entity, targetEntity, targetRelation, input }, primary) {
|
|
9
|
-
return await this.mapper.update(targetEntity, input, {
|
|
10
|
-
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
async create({ entity, targetEntity, targetRelation, input }, primary) {
|
|
14
|
-
return await this.mapper.insert(targetEntity, {
|
|
15
|
-
...input,
|
|
16
|
-
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
async connectOrCreate({ entity, targetRelation, targetEntity, input: { connect, create } }, primary) {
|
|
20
|
-
const connectData = {
|
|
21
|
-
[targetRelation.name]: {
|
|
22
|
-
connect: { [entity.primary]: primary }
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
return await this.mapper.upsert(targetEntity, connect, connectData, {
|
|
26
|
-
...create,
|
|
27
|
-
...connectData
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
async update({ entity, targetEntity, targetRelation, input: { data, where } }, primary) {
|
|
31
|
-
return await this.mapper.update(
|
|
32
|
-
targetEntity,
|
|
33
|
-
{ ...where, [targetRelation.name]: { [entity.primary]: primary } },
|
|
34
|
-
{
|
|
35
|
-
...data
|
|
36
|
-
// [targetRelation.name]: {connect: thisPrimary}
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
async upsert({ entity, targetEntity, targetRelation, input: { create, update, where } }, primary) {
|
|
41
|
-
const result = await this.mapper.update(
|
|
42
|
-
targetEntity,
|
|
43
|
-
{ ...where, [targetRelation.name]: { [entity.primary]: primary } },
|
|
44
|
-
{
|
|
45
|
-
...update
|
|
46
|
-
// [targetRelation.name]: {connect: thisPrimary}
|
|
47
|
-
}
|
|
48
|
-
);
|
|
49
|
-
if (result[0].result === Result.MutationResultType.notFoundError) {
|
|
50
|
-
return await this.mapper.insert(targetEntity, {
|
|
51
|
-
...create,
|
|
52
|
-
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return result;
|
|
56
|
-
}
|
|
57
|
-
async disconnect({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
58
|
-
return await this.mapper.update(
|
|
59
|
-
targetEntity,
|
|
60
|
-
{ ...input, [targetRelation.name]: { [entity.primary]: primary } },
|
|
61
|
-
{ [targetRelation.name]: { disconnect: true } }
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
async delete({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
65
|
-
return await this.mapper.delete(targetEntity, {
|
|
66
|
-
...input,
|
|
67
|
-
[targetRelation.name]: { [entity.primary]: primary }
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.OneHasManyInputProcessor = OneHasManyInputProcessor;
|
|
72
|
-
//# sourceMappingURL=OneHasManyInputProcessor.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasManyInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/OneHasManyInputProcessor.ts"],"sourcesContent":["import { UpdateInputProcessor } from '../../inputProcessing'\nimport { Input, Model } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { MutationResultType } from '../Result'\n\nexport class OneHasManyInputProcessor {\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(\n\t\t{ entity, targetEntity, targetRelation, input }: Model.OneHasManyContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.update(targetEntity, input, {\n\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t})\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, targetRelation, input }: Model.OneHasManyContext & { input: Input.CreateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.insert(targetEntity, {\n\t\t\t...input,\n\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t})\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ entity, targetRelation, targetEntity, input: { connect, create } }: Model.OneHasManyContext & { input: Input.ConnectOrCreateInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst connectData = {\n\t\t\t[targetRelation.name]: {\n\t\t\t\tconnect: { [entity.primary]: primary },\n\t\t\t},\n\t\t}\n\t\treturn await this.mapper.upsert(targetEntity, connect, connectData, {\n\t\t\t...create,\n\t\t\t...connectData,\n\t\t})\n\t}\n\n\tpublic async update(\n\t\t{ entity, targetEntity, targetRelation, input: { data, where } }: Model.OneHasManyContext & { input: UpdateInputProcessor.UpdateManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.update(\n\t\t\ttargetEntity,\n\t\t\t{ ...where, [targetRelation.name]: { [entity.primary]: primary } },\n\t\t\t{\n\t\t\t\t...data,\n\t\t\t\t// [targetRelation.name]: {connect: thisPrimary}\n\t\t\t},\n\t\t)\n\t}\n\n\tpublic async upsert(\n\t\t{ entity, targetEntity, targetRelation, input: { create, update, where } }: Model.OneHasManyContext & { input: UpdateInputProcessor.UpsertManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst result = await this.mapper.update(\n\t\t\ttargetEntity,\n\t\t\t{ ...where, [targetRelation.name]: { [entity.primary]: primary } },\n\t\t\t{\n\t\t\t\t...update,\n\t\t\t\t// [targetRelation.name]: {connect: thisPrimary}\n\t\t\t},\n\t\t)\n\t\tif (result[0].result === MutationResultType.notFoundError) {\n\t\t\treturn await this.mapper.insert(targetEntity, {\n\t\t\t\t...create,\n\t\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t\t})\n\t\t}\n\t\treturn result\n\t}\n\n\tpublic async disconnect(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: Model.OneHasManyContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.update(\n\t\t\ttargetEntity,\n\t\t\t{ ...input, [targetRelation.name]: { [entity.primary]: primary } },\n\t\t\t{ [targetRelation.name]: { disconnect: true } },\n\t\t)\n\t}\n\n\tpublic async delete(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: Model.OneHasManyContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.delete(targetEntity, {\n\t\t\t...input,\n\t\t\t[targetRelation.name]: { [entity.primary]: primary },\n\t\t})\n\t}\n}\n"],"names":["MutationResultType"],"mappings":";;;AAKO,MAAM,yBAAyB;AAAA,EACrC,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QACZ,EAAE,QAAQ,cAAc,gBAAgB,SACxC,SACC;AACD,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc,OAAO;AAAA,MACpD,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,IAAA,CAChE;AAAA,EACF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,SACxC,SACC;AACD,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc;AAAA,MAC7C,GAAG;AAAA,MACH,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,IAAA,CAChE;AAAA,EACF;AAAA,EAEA,MAAa,gBACZ,EAAE,QAAQ,gBAAgB,cAAc,OAAO,EAAE,SAAS,SAAS,GACnE,SACC;AACD,UAAM,cAAc;AAAA,MACnB,CAAC,eAAe,IAAI,GAAG;AAAA,QACtB,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,QAAQ;AAAA,MACtC;AAAA,IAAA;AAED,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc,SAAS,aAAa;AAAA,MACnE,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACH;AAAA,EACF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,OAAO,EAAE,MAAM,QAAQ,GAC/D,SACC;AACM,WAAA,MAAM,KAAK,OAAO;AAAA,MACxB;AAAA,MACA,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MACjE;AAAA,QACC,GAAG;AAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,OAAO,EAAE,QAAQ,QAAQ,MAAM,EAAA,GACvE,SACC;AACK,UAAA,SAAS,MAAM,KAAK,OAAO;AAAA,MAChC;AAAA,MACA,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MACjE;AAAA,QACC,GAAG;AAAA;AAAA,MAEJ;AAAA,IAAA;AAED,QAAI,OAAO,CAAC,EAAE,WAAWA,OAAAA,mBAAmB,eAAe;AAC1D,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc;AAAA,QAC7C,GAAG;AAAA,QACH,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MAAA,CAChE;AAAA,IACF;AACO,WAAA;AAAA,EACR;AAAA,EAEA,MAAa,WACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,MAAM,GACxD,SACC;AACM,WAAA,MAAM,KAAK,OAAO;AAAA,MACxB;AAAA,MACA,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MACjE,EAAE,CAAC,eAAe,IAAI,GAAG,EAAE,YAAY,OAAO;AAAA,IAAA;AAAA,EAEhD;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,MAAM,GACxD,SACC;AACD,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc;AAAA,MAC7C,GAAG;AAAA,MACH,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,QAAQ;AAAA,IAAA,CACnD;AAAA,EACF;AACD;;"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { MutationResultType } from "../Result.js";
|
|
2
|
-
class OneHasManyInputProcessor {
|
|
3
|
-
constructor(mapper) {
|
|
4
|
-
this.mapper = mapper;
|
|
5
|
-
}
|
|
6
|
-
async connect({ entity, targetEntity, targetRelation, input }, primary) {
|
|
7
|
-
return await this.mapper.update(targetEntity, input, {
|
|
8
|
-
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
async create({ entity, targetEntity, targetRelation, input }, primary) {
|
|
12
|
-
return await this.mapper.insert(targetEntity, {
|
|
13
|
-
...input,
|
|
14
|
-
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
async connectOrCreate({ entity, targetRelation, targetEntity, input: { connect, create } }, primary) {
|
|
18
|
-
const connectData = {
|
|
19
|
-
[targetRelation.name]: {
|
|
20
|
-
connect: { [entity.primary]: primary }
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
return await this.mapper.upsert(targetEntity, connect, connectData, {
|
|
24
|
-
...create,
|
|
25
|
-
...connectData
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
async update({ entity, targetEntity, targetRelation, input: { data, where } }, primary) {
|
|
29
|
-
return await this.mapper.update(
|
|
30
|
-
targetEntity,
|
|
31
|
-
{ ...where, [targetRelation.name]: { [entity.primary]: primary } },
|
|
32
|
-
{
|
|
33
|
-
...data
|
|
34
|
-
// [targetRelation.name]: {connect: thisPrimary}
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
async upsert({ entity, targetEntity, targetRelation, input: { create, update, where } }, primary) {
|
|
39
|
-
const result = await this.mapper.update(
|
|
40
|
-
targetEntity,
|
|
41
|
-
{ ...where, [targetRelation.name]: { [entity.primary]: primary } },
|
|
42
|
-
{
|
|
43
|
-
...update
|
|
44
|
-
// [targetRelation.name]: {connect: thisPrimary}
|
|
45
|
-
}
|
|
46
|
-
);
|
|
47
|
-
if (result[0].result === MutationResultType.notFoundError) {
|
|
48
|
-
return await this.mapper.insert(targetEntity, {
|
|
49
|
-
...create,
|
|
50
|
-
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
async disconnect({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
56
|
-
return await this.mapper.update(
|
|
57
|
-
targetEntity,
|
|
58
|
-
{ ...input, [targetRelation.name]: { [entity.primary]: primary } },
|
|
59
|
-
{ [targetRelation.name]: { disconnect: true } }
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
async delete({ entity, targetEntity, relation, targetRelation, input }, primary) {
|
|
63
|
-
return await this.mapper.delete(targetEntity, {
|
|
64
|
-
...input,
|
|
65
|
-
[targetRelation.name]: { [entity.primary]: primary }
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
export {
|
|
70
|
-
OneHasManyInputProcessor
|
|
71
|
-
};
|
|
72
|
-
//# sourceMappingURL=OneHasManyInputProcessor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasManyInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/OneHasManyInputProcessor.ts"],"sourcesContent":["import { UpdateInputProcessor } from '../../inputProcessing'\nimport { Input, Model } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { MutationResultType } from '../Result'\n\nexport class OneHasManyInputProcessor {\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(\n\t\t{ entity, targetEntity, targetRelation, input }: Model.OneHasManyContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.update(targetEntity, input, {\n\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t})\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, targetRelation, input }: Model.OneHasManyContext & { input: Input.CreateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.insert(targetEntity, {\n\t\t\t...input,\n\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t})\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ entity, targetRelation, targetEntity, input: { connect, create } }: Model.OneHasManyContext & { input: Input.ConnectOrCreateInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst connectData = {\n\t\t\t[targetRelation.name]: {\n\t\t\t\tconnect: { [entity.primary]: primary },\n\t\t\t},\n\t\t}\n\t\treturn await this.mapper.upsert(targetEntity, connect, connectData, {\n\t\t\t...create,\n\t\t\t...connectData,\n\t\t})\n\t}\n\n\tpublic async update(\n\t\t{ entity, targetEntity, targetRelation, input: { data, where } }: Model.OneHasManyContext & { input: UpdateInputProcessor.UpdateManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.update(\n\t\t\ttargetEntity,\n\t\t\t{ ...where, [targetRelation.name]: { [entity.primary]: primary } },\n\t\t\t{\n\t\t\t\t...data,\n\t\t\t\t// [targetRelation.name]: {connect: thisPrimary}\n\t\t\t},\n\t\t)\n\t}\n\n\tpublic async upsert(\n\t\t{ entity, targetEntity, targetRelation, input: { create, update, where } }: Model.OneHasManyContext & { input: UpdateInputProcessor.UpsertManyInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\tconst result = await this.mapper.update(\n\t\t\ttargetEntity,\n\t\t\t{ ...where, [targetRelation.name]: { [entity.primary]: primary } },\n\t\t\t{\n\t\t\t\t...update,\n\t\t\t\t// [targetRelation.name]: {connect: thisPrimary}\n\t\t\t},\n\t\t)\n\t\tif (result[0].result === MutationResultType.notFoundError) {\n\t\t\treturn await this.mapper.insert(targetEntity, {\n\t\t\t\t...create,\n\t\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t\t})\n\t\t}\n\t\treturn result\n\t}\n\n\tpublic async disconnect(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: Model.OneHasManyContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.update(\n\t\t\ttargetEntity,\n\t\t\t{ ...input, [targetRelation.name]: { [entity.primary]: primary } },\n\t\t\t{ [targetRelation.name]: { disconnect: true } },\n\t\t)\n\t}\n\n\tpublic async delete(\n\t\t{ entity, targetEntity, relation, targetRelation, input }: Model.OneHasManyContext & { input: Input.UniqueWhere },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.delete(targetEntity, {\n\t\t\t...input,\n\t\t\t[targetRelation.name]: { [entity.primary]: primary },\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";AAKO,MAAM,yBAAyB;AAAA,EACrC,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QACZ,EAAE,QAAQ,cAAc,gBAAgB,SACxC,SACC;AACD,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc,OAAO;AAAA,MACpD,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,IAAA,CAChE;AAAA,EACF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,SACxC,SACC;AACD,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc;AAAA,MAC7C,GAAG;AAAA,MACH,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,IAAA,CAChE;AAAA,EACF;AAAA,EAEA,MAAa,gBACZ,EAAE,QAAQ,gBAAgB,cAAc,OAAO,EAAE,SAAS,SAAS,GACnE,SACC;AACD,UAAM,cAAc;AAAA,MACnB,CAAC,eAAe,IAAI,GAAG;AAAA,QACtB,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,QAAQ;AAAA,MACtC;AAAA,IAAA;AAED,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc,SAAS,aAAa;AAAA,MACnE,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACH;AAAA,EACF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,OAAO,EAAE,MAAM,QAAQ,GAC/D,SACC;AACM,WAAA,MAAM,KAAK,OAAO;AAAA,MACxB;AAAA,MACA,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MACjE;AAAA,QACC,GAAG;AAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,OAAO,EAAE,QAAQ,QAAQ,MAAM,EAAA,GACvE,SACC;AACK,UAAA,SAAS,MAAM,KAAK,OAAO;AAAA,MAChC;AAAA,MACA,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MACjE;AAAA,QACC,GAAG;AAAA;AAAA,MAEJ;AAAA,IAAA;AAED,QAAI,OAAO,CAAC,EAAE,WAAW,mBAAmB,eAAe;AAC1D,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc;AAAA,QAC7C,GAAG;AAAA,QACH,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MAAA,CAChE;AAAA,IACF;AACO,WAAA;AAAA,EACR;AAAA,EAEA,MAAa,WACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,MAAM,GACxD,SACC;AACM,WAAA,MAAM,KAAK,OAAO;AAAA,MACxB;AAAA,MACA,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MACjE,EAAE,CAAC,eAAe,IAAI,GAAG,EAAE,YAAY,OAAO;AAAA,IAAA;AAAA,EAEhD;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,MAAM,GACxD,SACC;AACD,WAAO,MAAM,KAAK,OAAO,OAAO,cAAc;AAAA,MAC7C,GAAG;AAAA,MACH,CAAC,eAAe,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,GAAG,QAAQ;AAAA,IAAA,CACnD;AAAA,EACF;AACD;"}
|