@contember/engine-content-api 2.0.0-alpha.20 → 2.0.0-alpha.21
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
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Result = require("../../Result.cjs");
|
|
4
|
+
class ManyHasManyCreateInputProcessor {
|
|
5
|
+
constructor(mapper) {
|
|
6
|
+
this.mapper = mapper;
|
|
7
|
+
}
|
|
8
|
+
async connect({ entity, targetEntity, relation, targetRelation, input }) {
|
|
9
|
+
return async ({ primary }) => {
|
|
10
|
+
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
11
|
+
if (!otherPrimary) {
|
|
12
|
+
return [new Result.MutationEntryNotFoundError([], input)];
|
|
13
|
+
}
|
|
14
|
+
return await this.mapper.connectJunction(entity, relation, primary, otherPrimary);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
async create({ entity, targetEntity, relation, input }) {
|
|
18
|
+
return async ({ primary }) => {
|
|
19
|
+
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
20
|
+
const insertPrimary = Result.getInsertPrimary(insertResult);
|
|
21
|
+
if (!insertPrimary) {
|
|
22
|
+
return insertResult;
|
|
23
|
+
}
|
|
24
|
+
return [
|
|
25
|
+
...insertResult,
|
|
26
|
+
...await this.mapper.connectJunction(entity, relation, primary, insertPrimary)
|
|
27
|
+
];
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
async connectOrCreate(context) {
|
|
31
|
+
return async ({ primary }) => {
|
|
32
|
+
let otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect);
|
|
33
|
+
if (!otherPrimary) {
|
|
34
|
+
const insertResult = await this.mapper.insert(context.targetEntity, context.input.create);
|
|
35
|
+
otherPrimary = Result.getInsertPrimary(insertResult);
|
|
36
|
+
if (!otherPrimary) {
|
|
37
|
+
return insertResult;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ManyHasManyCreateInputProcessor = ManyHasManyCreateInputProcessor;
|
|
45
|
+
//# sourceMappingURL=ManyHasManyCreateInputProcessor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManyHasManyCreateInputProcessor.cjs","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { getInsertPrimary, MutationEntryNotFoundError } from '../../Result'\nimport { Mapper } from '../../Mapper'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\n\ntype Context = Model.ManyHasManyOwningContext | Model.ManyHasManyInverseContext\n\nexport class ManyHasManyCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\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 }: Context & { input: Input.UniqueWhere },\n\t): Promise<SqlCreateInputProcessorResult> {\n\t\treturn async ({ primary }) => {\n\t\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!otherPrimary) {\n\t\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t\t}\n\t\t\treturn await this.mapper.connectJunction(entity, relation, primary, otherPrimary)\n\t\t}\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, relation, input }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\t\tconst insertPrimary = getInsertPrimary(insertResult)\n\t\t\tif (!insertPrimary) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t...insertResult,\n\t\t\t\t...(await this.mapper.connectJunction(entity, relation, primary, insertPrimary)),\n\t\t\t]\n\t\t}\n\t}\n\n\tpublic async connectOrCreate(\n\t\tcontext: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tlet otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect)\n\t\t\tif (!otherPrimary) {\n\t\t\t\tconst insertResult = await this.mapper.insert(context.targetEntity, context.input.create)\n\t\t\t\totherPrimary = getInsertPrimary(insertResult)\n\t\t\t\tif (!otherPrimary) {\n\t\t\t\t\treturn insertResult\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary)\n\t\t}\n\t}\n}\n"],"names":["MutationEntryNotFoundError","getInsertPrimary"],"mappings":";;;AAQO,MAAM,gCAAiI;AAAA,EAE7I,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,SACT;AAClC,WAAA,OAAO,EAAE,cAAc;AAC7B,YAAM,eAAe,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AAC1E,UAAI,CAAC,cAAc;AAClB,eAAO,CAAC,IAAIA,OAAA,2BAA2B,IAAI,KAAK,CAAC;AAAA,MAClD;AACA,aAAO,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,YAAY;AAAA,IAAA;AAAA,EAElF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,UAAU,SACjC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,YAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,KAAK;AAC3D,YAAA,gBAAgBC,wBAAiB,YAAY;AACnD,UAAI,CAAC,eAAe;AACZ,eAAA;AAAA,MACR;AACO,aAAA;AAAA,QACN,GAAG;AAAA,QACH,GAAI,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,aAAa;AAAA,MAAA;AAAA,IAC/E;AAAA,EAEF;AAAA,EAEA,MAAa,gBACZ,SACC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC1D,UAAA,eAAe,MAAM,KAAK,OAAO,gBAAgB,QAAQ,cAAc,QAAQ,MAAM,OAAO;AAChG,UAAI,CAAC,cAAc;AACZ,cAAA,eAAe,MAAM,KAAK,OAAO,OAAO,QAAQ,cAAc,QAAQ,MAAM,MAAM;AACxF,uBAAeA,OAAAA,iBAAiB,YAAY;AAC5C,YAAI,CAAC,cAAc;AACX,iBAAA;AAAA,QACR;AAAA,MACD;AACO,aAAA,MAAM,KAAK,OAAO,gBAAgB,QAAQ,QAAQ,QAAQ,UAAU,SAAS,YAAY;AAAA,IAAA;AAAA,EAElG;AACD;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { MutationEntryNotFoundError, getInsertPrimary } from "../../Result.js";
|
|
2
|
+
class ManyHasManyCreateInputProcessor {
|
|
3
|
+
constructor(mapper) {
|
|
4
|
+
this.mapper = mapper;
|
|
5
|
+
}
|
|
6
|
+
async connect({ entity, targetEntity, relation, targetRelation, input }) {
|
|
7
|
+
return async ({ primary }) => {
|
|
8
|
+
const otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
9
|
+
if (!otherPrimary) {
|
|
10
|
+
return [new MutationEntryNotFoundError([], input)];
|
|
11
|
+
}
|
|
12
|
+
return await this.mapper.connectJunction(entity, relation, primary, otherPrimary);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
async create({ entity, targetEntity, relation, input }) {
|
|
16
|
+
return async ({ primary }) => {
|
|
17
|
+
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
18
|
+
const insertPrimary = getInsertPrimary(insertResult);
|
|
19
|
+
if (!insertPrimary) {
|
|
20
|
+
return insertResult;
|
|
21
|
+
}
|
|
22
|
+
return [
|
|
23
|
+
...insertResult,
|
|
24
|
+
...await this.mapper.connectJunction(entity, relation, primary, insertPrimary)
|
|
25
|
+
];
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
async connectOrCreate(context) {
|
|
29
|
+
return async ({ primary }) => {
|
|
30
|
+
let otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect);
|
|
31
|
+
if (!otherPrimary) {
|
|
32
|
+
const insertResult = await this.mapper.insert(context.targetEntity, context.input.create);
|
|
33
|
+
otherPrimary = getInsertPrimary(insertResult);
|
|
34
|
+
if (!otherPrimary) {
|
|
35
|
+
return insertResult;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
ManyHasManyCreateInputProcessor
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=ManyHasManyCreateInputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManyHasManyCreateInputProcessor.js","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { getInsertPrimary, MutationEntryNotFoundError } from '../../Result'\nimport { Mapper } from '../../Mapper'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\n\ntype Context = Model.ManyHasManyOwningContext | Model.ManyHasManyInverseContext\n\nexport class ManyHasManyCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\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 }: Context & { input: Input.UniqueWhere },\n\t): Promise<SqlCreateInputProcessorResult> {\n\t\treturn async ({ primary }) => {\n\t\t\tconst otherPrimary = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!otherPrimary) {\n\t\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t\t}\n\t\t\treturn await this.mapper.connectJunction(entity, relation, primary, otherPrimary)\n\t\t}\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, relation, input }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\t\tconst insertPrimary = getInsertPrimary(insertResult)\n\t\t\tif (!insertPrimary) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t...insertResult,\n\t\t\t\t...(await this.mapper.connectJunction(entity, relation, primary, insertPrimary)),\n\t\t\t]\n\t\t}\n\t}\n\n\tpublic async connectOrCreate(\n\t\tcontext: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tlet otherPrimary = await this.mapper.getPrimaryValue(context.targetEntity, context.input.connect)\n\t\t\tif (!otherPrimary) {\n\t\t\t\tconst insertResult = await this.mapper.insert(context.targetEntity, context.input.create)\n\t\t\t\totherPrimary = getInsertPrimary(insertResult)\n\t\t\t\tif (!otherPrimary) {\n\t\t\t\t\treturn insertResult\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.mapper.connectJunction(context.entity, context.relation, primary, otherPrimary)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";AAQO,MAAM,gCAAiI;AAAA,EAE7I,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QACZ,EAAE,QAAQ,cAAc,UAAU,gBAAgB,SACT;AAClC,WAAA,OAAO,EAAE,cAAc;AAC7B,YAAM,eAAe,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AAC1E,UAAI,CAAC,cAAc;AAClB,eAAO,CAAC,IAAI,2BAA2B,IAAI,KAAK,CAAC;AAAA,MAClD;AACA,aAAO,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,YAAY;AAAA,IAAA;AAAA,EAElF;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,UAAU,SACjC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,YAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,KAAK;AAC3D,YAAA,gBAAgB,iBAAiB,YAAY;AACnD,UAAI,CAAC,eAAe;AACZ,eAAA;AAAA,MACR;AACO,aAAA;AAAA,QACN,GAAG;AAAA,QACH,GAAI,MAAM,KAAK,OAAO,gBAAgB,QAAQ,UAAU,SAAS,aAAa;AAAA,MAAA;AAAA,IAC/E;AAAA,EAEF;AAAA,EAEA,MAAa,gBACZ,SACC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC1D,UAAA,eAAe,MAAM,KAAK,OAAO,gBAAgB,QAAQ,cAAc,QAAQ,MAAM,OAAO;AAChG,UAAI,CAAC,cAAc;AACZ,cAAA,eAAe,MAAM,KAAK,OAAO,OAAO,QAAQ,cAAc,QAAQ,MAAM,MAAM;AACxF,uBAAe,iBAAiB,YAAY;AAC5C,YAAI,CAAC,cAAc;AACX,iBAAA;AAAA,QACR;AAAA,MACD;AACO,aAAA,MAAM,KAAK,OAAO,gBAAgB,QAAQ,QAAQ,QAAQ,UAAU,SAAS,YAAY;AAAA,IAAA;AAAA,EAElG;AACD;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Result = require("../../Result.cjs");
|
|
4
|
+
class ManyHasOneCreateInputProcessor {
|
|
5
|
+
constructor(mapper, insertBuilder) {
|
|
6
|
+
this.mapper = mapper;
|
|
7
|
+
this.insertBuilder = insertBuilder;
|
|
8
|
+
}
|
|
9
|
+
async connect({ targetEntity, relation, input }) {
|
|
10
|
+
const value = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
11
|
+
if (!value) {
|
|
12
|
+
return [new Result.MutationEntryNotFoundError([], input)];
|
|
13
|
+
}
|
|
14
|
+
this.insertBuilder.addFieldValue(relation.name, value);
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
async create({ relation, targetEntity, input }) {
|
|
18
|
+
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
19
|
+
const value = Result.getInsertPrimary(insertResult);
|
|
20
|
+
if (!value) {
|
|
21
|
+
return insertResult;
|
|
22
|
+
}
|
|
23
|
+
this.insertBuilder.addFieldValue(relation.name, value);
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
async connectOrCreate({ input: { connect, create }, relation, targetEntity }) {
|
|
27
|
+
const value = await this.mapper.getPrimaryValue(targetEntity, connect);
|
|
28
|
+
if (value) {
|
|
29
|
+
this.insertBuilder.addFieldValue(relation.name, value);
|
|
30
|
+
} else {
|
|
31
|
+
const insertResult = await this.mapper.insert(targetEntity, create);
|
|
32
|
+
const primary = Result.getInsertPrimary(insertResult);
|
|
33
|
+
if (!primary) {
|
|
34
|
+
return insertResult;
|
|
35
|
+
}
|
|
36
|
+
this.insertBuilder.addFieldValue(relation.name, primary);
|
|
37
|
+
}
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ManyHasOneCreateInputProcessor = ManyHasOneCreateInputProcessor;
|
|
42
|
+
//# sourceMappingURL=ManyHasOneCreateInputProcessor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManyHasOneCreateInputProcessor.cjs","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { getInsertPrimary, MutationEntryNotFoundError } from '../../Result'\nimport { Mapper } from '../../Mapper'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\nimport { InsertBuilder } from '../InsertBuilder'\n\ntype Context = Model.ManyHasOneContext\n\nexport class ManyHasOneCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly insertBuilder: InsertBuilder,\n\t) {\n\t}\n\tpublic async connect(\n\t\t{ targetEntity, relation, input }: Context & { input: Input.UniqueWhere },\n\t) {\n\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\tif (!value) {\n\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t}\n\t\tthis.insertBuilder.addFieldValue(relation.name, value)\n\t\treturn []\n\t}\n\n\tpublic async create(\n\t\t{ relation, targetEntity, input }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\tconst value = getInsertPrimary(insertResult)\n\t\tif (!value) {\n\t\t\treturn insertResult\n\t\t}\n\t\tthis.insertBuilder.addFieldValue(relation.name, value)\n\t\treturn []\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ input: { connect, create }, relation, targetEntity }: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, connect)\n\t\tif (value) {\n\t\t\tthis.insertBuilder.addFieldValue(relation.name, value)\n\t\t} else {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, create)\n\t\t\tconst primary = getInsertPrimary(insertResult)\n\t\t\tif (!primary) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\n\t\t\tthis.insertBuilder.addFieldValue(relation.name, primary)\n\t\t}\n\t\treturn []\n\t}\n}\n"],"names":["MutationEntryNotFoundError","getInsertPrimary"],"mappings":";;;AASO,MAAM,+BAAiI;AAAA,EAE7I,YACkB,QACA,eAChB;AAFgB,SAAA,SAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EACA,MAAa,QACZ,EAAE,cAAc,UAAU,SACzB;AACD,UAAM,QAAQ,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AACnE,QAAI,CAAC,OAAO;AACX,aAAO,CAAC,IAAIA,OAAA,2BAA2B,IAAI,KAAK,CAAC;AAAA,IAClD;AACA,SAAK,cAAc,cAAc,SAAS,MAAM,KAAK;AACrD,WAAO;EACR;AAAA,EAEA,MAAa,OACZ,EAAE,UAAU,cAAc,SACzB;AACD,UAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,KAAK;AAC3D,UAAA,QAAQC,wBAAiB,YAAY;AAC3C,QAAI,CAAC,OAAO;AACJ,aAAA;AAAA,IACR;AACA,SAAK,cAAc,cAAc,SAAS,MAAM,KAAK;AACrD,WAAO;EACR;AAAA,EAEA,MAAa,gBACZ,EAAE,OAAO,EAAE,SAAS,UAAU,UAAU,gBACvC;AACD,UAAM,QAAQ,MAAM,KAAK,OAAO,gBAAgB,cAAc,OAAO;AACrE,QAAI,OAAO;AACV,WAAK,cAAc,cAAc,SAAS,MAAM,KAAK;AAAA,IAAA,OAC/C;AACN,YAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,MAAM;AAC5D,YAAA,UAAUA,wBAAiB,YAAY;AAC7C,UAAI,CAAC,SAAS;AACN,eAAA;AAAA,MACR;AAEA,WAAK,cAAc,cAAc,SAAS,MAAM,OAAO;AAAA,IACxD;AACA,WAAO;EACR;AACD;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { MutationEntryNotFoundError, getInsertPrimary } from "../../Result.js";
|
|
2
|
+
class ManyHasOneCreateInputProcessor {
|
|
3
|
+
constructor(mapper, insertBuilder) {
|
|
4
|
+
this.mapper = mapper;
|
|
5
|
+
this.insertBuilder = insertBuilder;
|
|
6
|
+
}
|
|
7
|
+
async connect({ targetEntity, relation, input }) {
|
|
8
|
+
const value = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
9
|
+
if (!value) {
|
|
10
|
+
return [new MutationEntryNotFoundError([], input)];
|
|
11
|
+
}
|
|
12
|
+
this.insertBuilder.addFieldValue(relation.name, value);
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
async create({ relation, targetEntity, input }) {
|
|
16
|
+
const insertResult = await this.mapper.insert(targetEntity, input);
|
|
17
|
+
const value = getInsertPrimary(insertResult);
|
|
18
|
+
if (!value) {
|
|
19
|
+
return insertResult;
|
|
20
|
+
}
|
|
21
|
+
this.insertBuilder.addFieldValue(relation.name, value);
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
async connectOrCreate({ input: { connect, create }, relation, targetEntity }) {
|
|
25
|
+
const value = await this.mapper.getPrimaryValue(targetEntity, connect);
|
|
26
|
+
if (value) {
|
|
27
|
+
this.insertBuilder.addFieldValue(relation.name, value);
|
|
28
|
+
} else {
|
|
29
|
+
const insertResult = await this.mapper.insert(targetEntity, create);
|
|
30
|
+
const primary = getInsertPrimary(insertResult);
|
|
31
|
+
if (!primary) {
|
|
32
|
+
return insertResult;
|
|
33
|
+
}
|
|
34
|
+
this.insertBuilder.addFieldValue(relation.name, primary);
|
|
35
|
+
}
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
ManyHasOneCreateInputProcessor
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=ManyHasOneCreateInputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManyHasOneCreateInputProcessor.js","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { getInsertPrimary, MutationEntryNotFoundError } from '../../Result'\nimport { Mapper } from '../../Mapper'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\nimport { InsertBuilder } from '../InsertBuilder'\n\ntype Context = Model.ManyHasOneContext\n\nexport class ManyHasOneCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly insertBuilder: InsertBuilder,\n\t) {\n\t}\n\tpublic async connect(\n\t\t{ targetEntity, relation, input }: Context & { input: Input.UniqueWhere },\n\t) {\n\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\tif (!value) {\n\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t}\n\t\tthis.insertBuilder.addFieldValue(relation.name, value)\n\t\treturn []\n\t}\n\n\tpublic async create(\n\t\t{ relation, targetEntity, input }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\tconst value = getInsertPrimary(insertResult)\n\t\tif (!value) {\n\t\t\treturn insertResult\n\t\t}\n\t\tthis.insertBuilder.addFieldValue(relation.name, value)\n\t\treturn []\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ input: { connect, create }, relation, targetEntity }: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\tconst value = await this.mapper.getPrimaryValue(targetEntity, connect)\n\t\tif (value) {\n\t\t\tthis.insertBuilder.addFieldValue(relation.name, value)\n\t\t} else {\n\t\t\tconst insertResult = await this.mapper.insert(targetEntity, create)\n\t\t\tconst primary = getInsertPrimary(insertResult)\n\t\t\tif (!primary) {\n\t\t\t\treturn insertResult\n\t\t\t}\n\n\t\t\tthis.insertBuilder.addFieldValue(relation.name, primary)\n\t\t}\n\t\treturn []\n\t}\n}\n"],"names":[],"mappings":";AASO,MAAM,+BAAiI;AAAA,EAE7I,YACkB,QACA,eAChB;AAFgB,SAAA,SAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EACA,MAAa,QACZ,EAAE,cAAc,UAAU,SACzB;AACD,UAAM,QAAQ,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AACnE,QAAI,CAAC,OAAO;AACX,aAAO,CAAC,IAAI,2BAA2B,IAAI,KAAK,CAAC;AAAA,IAClD;AACA,SAAK,cAAc,cAAc,SAAS,MAAM,KAAK;AACrD,WAAO;EACR;AAAA,EAEA,MAAa,OACZ,EAAE,UAAU,cAAc,SACzB;AACD,UAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,KAAK;AAC3D,UAAA,QAAQ,iBAAiB,YAAY;AAC3C,QAAI,CAAC,OAAO;AACJ,aAAA;AAAA,IACR;AACA,SAAK,cAAc,cAAc,SAAS,MAAM,KAAK;AACrD,WAAO;EACR;AAAA,EAEA,MAAa,gBACZ,EAAE,OAAO,EAAE,SAAS,UAAU,UAAU,gBACvC;AACD,UAAM,QAAQ,MAAM,KAAK,OAAO,gBAAgB,cAAc,OAAO;AACrE,QAAI,OAAO;AACV,WAAK,cAAc,cAAc,SAAS,MAAM,KAAK;AAAA,IAAA,OAC/C;AACN,YAAM,eAAe,MAAM,KAAK,OAAO,OAAO,cAAc,MAAM;AAC5D,YAAA,UAAU,iBAAiB,YAAY;AAC7C,UAAI,CAAC,SAAS;AACN,eAAA;AAAA,MACR;AAEA,WAAK,cAAc,cAAc,SAAS,MAAM,OAAO;AAAA,IACxD;AACA,WAAO;EACR;AACD;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
class OneHasManyCreateInputProcessor {
|
|
4
|
+
constructor(mapper) {
|
|
5
|
+
this.mapper = mapper;
|
|
6
|
+
}
|
|
7
|
+
async connect({ entity, targetEntity, targetRelation, input }) {
|
|
8
|
+
return async ({ primary }) => {
|
|
9
|
+
return await this.mapper.update(targetEntity, input, {
|
|
10
|
+
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
async create({ entity, targetEntity, targetRelation, input }) {
|
|
15
|
+
return async ({ primary }) => {
|
|
16
|
+
return await this.mapper.insert(targetEntity, {
|
|
17
|
+
...input,
|
|
18
|
+
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async connectOrCreate({ entity, targetRelation, targetEntity, input: { connect, create } }) {
|
|
23
|
+
return async ({ primary }) => {
|
|
24
|
+
const connectData = {
|
|
25
|
+
[targetRelation.name]: {
|
|
26
|
+
connect: { [entity.primary]: primary }
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
return await this.mapper.upsert(targetEntity, connect, connectData, {
|
|
30
|
+
...create,
|
|
31
|
+
...connectData
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.OneHasManyCreateInputProcessor = OneHasManyCreateInputProcessor;
|
|
37
|
+
//# sourceMappingURL=OneHasManyCreateInputProcessor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasManyCreateInputProcessor.cjs","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { Mapper } from '../../Mapper'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\n\ntype Context = Model.OneHasManyContext\n\nexport class OneHasManyCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\tpublic async connect(\n\t\t{ entity, targetEntity, targetRelation, input }: Context & { input: Input.UniqueWhere },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\treturn await this.mapper.update(targetEntity, input, {\n\t\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, targetRelation, input }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\treturn await this.mapper.insert(targetEntity, {\n\t\t\t\t...input,\n\t\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ entity, targetRelation, targetEntity, input: { connect, create } }: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst connectData = {\n\t\t\t\t[targetRelation.name]: {\n\t\t\t\t\tconnect: { [entity.primary]: primary },\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn await this.mapper.upsert(targetEntity, connect, connectData, {\n\t\t\t\t...create,\n\t\t\t\t...connectData,\n\t\t\t})\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAOO,MAAM,+BAAgI;AAAA,EAE5I,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EACA,MAAa,QACZ,EAAE,QAAQ,cAAc,gBAAgB,SACvC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc,OAAO;AAAA,QACpD,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MAAA,CAChE;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,SACvC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,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,IAAA;AAAA,EAEH;AAAA,EAEA,MAAa,gBACZ,EAAE,QAAQ,gBAAgB,cAAc,OAAO,EAAE,SAAS,OAAO,KAChE;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,YAAM,cAAc;AAAA,QACnB,CAAC,eAAe,IAAI,GAAG;AAAA,UACtB,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,QAAQ;AAAA,QACtC;AAAA,MAAA;AAED,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc,SAAS,aAAa;AAAA,QACnE,GAAG;AAAA,QACH,GAAG;AAAA,MAAA,CACH;AAAA,IAAA;AAAA,EAEH;AACD;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
class OneHasManyCreateInputProcessor {
|
|
2
|
+
constructor(mapper) {
|
|
3
|
+
this.mapper = mapper;
|
|
4
|
+
}
|
|
5
|
+
async connect({ entity, targetEntity, targetRelation, input }) {
|
|
6
|
+
return async ({ primary }) => {
|
|
7
|
+
return await this.mapper.update(targetEntity, input, {
|
|
8
|
+
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
async create({ entity, targetEntity, targetRelation, input }) {
|
|
13
|
+
return async ({ primary }) => {
|
|
14
|
+
return await this.mapper.insert(targetEntity, {
|
|
15
|
+
...input,
|
|
16
|
+
[targetRelation.name]: { connect: { [entity.primary]: primary } }
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async connectOrCreate({ entity, targetRelation, targetEntity, input: { connect, create } }) {
|
|
21
|
+
return async ({ primary }) => {
|
|
22
|
+
const connectData = {
|
|
23
|
+
[targetRelation.name]: {
|
|
24
|
+
connect: { [entity.primary]: primary }
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return await this.mapper.upsert(targetEntity, connect, connectData, {
|
|
28
|
+
...create,
|
|
29
|
+
...connectData
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
OneHasManyCreateInputProcessor
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=OneHasManyCreateInputProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasManyCreateInputProcessor.js","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model } from '@contember/schema'\nimport { Mapper } from '../../Mapper'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\n\ntype Context = Model.OneHasManyContext\n\nexport class OneHasManyCreateInputProcessor implements CreateInputProcessor.HasManyRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\tpublic async connect(\n\t\t{ entity, targetEntity, targetRelation, input }: Context & { input: Input.UniqueWhere },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\treturn await this.mapper.update(targetEntity, input, {\n\t\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async create(\n\t\t{ entity, targetEntity, targetRelation, input }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\treturn await this.mapper.insert(targetEntity, {\n\t\t\t\t...input,\n\t\t\t\t[targetRelation.name]: { connect: { [entity.primary]: primary } },\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ entity, targetRelation, targetEntity, input: { connect, create } }: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst connectData = {\n\t\t\t\t[targetRelation.name]: {\n\t\t\t\t\tconnect: { [entity.primary]: primary },\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn await this.mapper.upsert(targetEntity, connect, connectData, {\n\t\t\t\t...create,\n\t\t\t\t...connectData,\n\t\t\t})\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAOO,MAAM,+BAAgI;AAAA,EAE5I,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EACA,MAAa,QACZ,EAAE,QAAQ,cAAc,gBAAgB,SACvC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc,OAAO;AAAA,QACpD,CAAC,eAAe,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,UAAU;AAAA,MAAA,CAChE;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,MAAa,OACZ,EAAE,QAAQ,cAAc,gBAAgB,SACvC;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,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,IAAA;AAAA,EAEH;AAAA,EAEA,MAAa,gBACZ,EAAE,QAAQ,gBAAgB,cAAc,OAAO,EAAE,SAAS,OAAO,KAChE;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,YAAM,cAAc;AAAA,QACnB,CAAC,eAAe,IAAI,GAAG;AAAA,UACtB,SAAS,EAAE,CAAC,OAAO,OAAO,GAAG,QAAQ;AAAA,QACtC;AAAA,MAAA;AAED,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc,SAAS,aAAa;AAAA,QACnE,GAAG;AAAA,QACH,GAAG;AAAA,MAAA,CACH;AAAA,IAAA;AAAA,EAEH;AACD;"}
|
|
@@ -1,44 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const Result = require("
|
|
4
|
-
const CheckedPrimary = require("
|
|
3
|
+
const Result = require("../../Result.cjs");
|
|
4
|
+
const CheckedPrimary = require("../../CheckedPrimary.cjs");
|
|
5
5
|
class OneHasOneInverseCreateInputProcessor {
|
|
6
|
-
constructor(
|
|
7
|
-
this.insertBuilder = insertBuilder;
|
|
6
|
+
constructor(mapper) {
|
|
8
7
|
this.mapper = mapper;
|
|
9
8
|
}
|
|
10
9
|
async connect(context) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
return await this.connectInternal({ ...context, input: new CheckedPrimary.CheckedPrimary(owner) }, primary);
|
|
10
|
+
return async ({ primary }) => {
|
|
11
|
+
const { targetEntity, input } = context;
|
|
12
|
+
const owner = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
13
|
+
if (!owner) {
|
|
14
|
+
return [new Result.MutationEntryNotFoundError([], input)];
|
|
15
|
+
}
|
|
16
|
+
return await this.connectInternal({ ...context, input: new CheckedPrimary.CheckedPrimary(owner) }, primary);
|
|
17
|
+
};
|
|
21
18
|
}
|
|
22
|
-
async create(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
builder.addFieldValue(context.targetRelation.name, primary);
|
|
30
|
-
});
|
|
19
|
+
async create({ input, targetRelation, targetEntity }) {
|
|
20
|
+
return async ({ primary }) => {
|
|
21
|
+
return await this.mapper.insert(targetEntity, input, (builder) => {
|
|
22
|
+
builder.addPredicates([targetRelation.name]);
|
|
23
|
+
builder.addFieldValue(targetRelation.name, primary);
|
|
24
|
+
});
|
|
25
|
+
};
|
|
31
26
|
}
|
|
32
27
|
async connectOrCreate({ input, ...context }) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
return await this.createInternal({ input: input.create, ...context }, primary);
|
|
28
|
+
return async ({ primary }) => {
|
|
29
|
+
const owner = await this.mapper.getPrimaryValue(context.targetEntity, input.connect);
|
|
30
|
+
if (owner) {
|
|
31
|
+
return await this.connectInternal({ ...context, input: new CheckedPrimary.CheckedPrimary(owner) }, primary);
|
|
32
|
+
}
|
|
33
|
+
return await this.createInternal({ input: input.create, ...context }, primary);
|
|
34
|
+
};
|
|
42
35
|
}
|
|
43
36
|
async connectInternal({ entity, targetEntity, targetRelation, relation, input }, primary) {
|
|
44
37
|
const currentInverseSideOfOwner = await this.mapper.selectField(targetEntity, input, targetRelation.name);
|
package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseCreateInputProcessor.cjs","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts"],"sourcesContent":["import { Mapper } from '../../Mapper'\nimport { ConstraintType, MutationConstraintViolationError, MutationEntryNotFoundError, MutationResultList } from '../../Result'\nimport { CheckedPrimary } from '../../CheckedPrimary'\nimport { Input, Model } from '@contember/schema'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\n\ntype Context = Model.OneHasOneInverseContext\n\nexport class OneHasOneInverseCreateInputProcessor implements CreateInputProcessor.HasOneRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(context: Context & { input: Input.UniqueWhere }) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst { targetEntity, input } = context\n\t\t\tconst owner = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!owner) {\n\t\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t\t}\n\n\t\t\treturn await this.connectInternal({ ...context, input: new CheckedPrimary(owner) }, primary)\n\t\t}\n\t}\n\n\n\tpublic async create(\n\t\t{ input, targetRelation, targetEntity }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\treturn await this.mapper.insert(targetEntity, input, builder => {\n\t\t\t\tbuilder.addPredicates([targetRelation.name])\n\t\t\t\tbuilder.addFieldValue(targetRelation.name, primary)\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ input, ...context }: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst owner = await this.mapper.getPrimaryValue(context.targetEntity, input.connect)\n\t\t\tif (owner) {\n\t\t\t\treturn await this.connectInternal({ ...context, input: new CheckedPrimary(owner) }, primary)\n\t\t\t}\n\n\t\t\treturn await this.createInternal({ input: input.create, ...context }, primary)\n\t\t}\n\t}\n\n\tprivate async connectInternal(\n\t\t{ entity, targetEntity, targetRelation, relation, input }: Context & { input: CheckedPrimary },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\n\t\tconst currentInverseSideOfOwner = await this.mapper.selectField(targetEntity, input, targetRelation.name)\n\t\tconst orphanResult: MutationResultList = []\n\t\tif (currentInverseSideOfOwner) {\n\t\t\tif (targetRelation.orphanRemoval) {\n\t\t\t\tconst orphanUnique = { [entity.primary]: currentInverseSideOfOwner }\n\t\t\t\tconst orphanDelete = await this.mapper.delete(entity, orphanUnique)\n\t\t\t\torphanResult.push(...orphanDelete)\n\t\t\t} else if (!relation.nullable) {\n\t\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t\t}\n\t\t}\n\n\t\tconst connectResult = await this.mapper.updateInternal(targetEntity, input, update => {\n\t\t\tupdate.addPredicates([targetRelation.name])\n\t\t\tupdate.addFieldValue(targetRelation.name, primary)\n\t\t})\n\n\t\treturn [\n\t\t\t...connectResult,\n\t\t\t...orphanResult,\n\t\t]\n\t}\n\n\tprivate async createInternal(\n\t\tcontext: Context & { input: Input.CreateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.insert(context.targetEntity, context.input, builder => {\n\t\t\tbuilder.addPredicates([context.targetRelation.name])\n\t\t\tbuilder.addFieldValue(context.targetRelation.name, primary)\n\t\t})\n\t}\n}\n"],"names":["MutationEntryNotFoundError","CheckedPrimary","MutationConstraintViolationError","ConstraintType"],"mappings":";;;;AASO,MAAM,qCAAsI;AAAA,EAElJ,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QAAQ,SAAiD;AAC9D,WAAA,OAAO,EAAE,cAA+C;AACxD,YAAA,EAAE,cAAc,MAAU,IAAA;AAChC,YAAM,QAAQ,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AACnE,UAAI,CAAC,OAAO;AACX,eAAO,CAAC,IAAIA,OAAA,2BAA2B,IAAI,KAAK,CAAC;AAAA,MAClD;AAEA,aAAO,MAAM,KAAK,gBAAgB,EAAE,GAAG,SAAS,OAAO,IAAIC,8BAAe,KAAK,EAAE,GAAG,OAAO;AAAA,IAAA;AAAA,EAE7F;AAAA,EAGA,MAAa,OACZ,EAAE,OAAO,gBAAgB,gBACxB;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc,OAAO,CAAW,YAAA;AAC/D,gBAAQ,cAAc,CAAC,eAAe,IAAI,CAAC;AACnC,gBAAA,cAAc,eAAe,MAAM,OAAO;AAAA,MAAA,CAClD;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,MAAa,gBACZ,EAAE,OAAO,GAAG,WACX;AACM,WAAA,OAAO,EAAE,cAA+C;AACxD,YAAA,QAAQ,MAAM,KAAK,OAAO,gBAAgB,QAAQ,cAAc,MAAM,OAAO;AACnF,UAAI,OAAO;AACV,eAAO,MAAM,KAAK,gBAAgB,EAAE,GAAG,SAAS,OAAO,IAAIA,8BAAe,KAAK,EAAE,GAAG,OAAO;AAAA,MAC5F;AAEO,aAAA,MAAM,KAAK,eAAe,EAAE,OAAO,MAAM,QAAQ,GAAG,WAAW,OAAO;AAAA,IAAA;AAAA,EAE/E;AAAA,EAEA,MAAc,gBACb,EAAE,QAAQ,cAAc,gBAAgB,UAAU,MAAM,GACxD,SACC;AAEK,UAAA,4BAA4B,MAAM,KAAK,OAAO,YAAY,cAAc,OAAO,eAAe,IAAI;AACxG,UAAM,eAAmC,CAAA;AACzC,QAAI,2BAA2B;AAC9B,UAAI,eAAe,eAAe;AACjC,cAAM,eAAe,EAAE,CAAC,OAAO,OAAO,GAAG,0BAA0B;AACnE,cAAM,eAAe,MAAM,KAAK,OAAO,OAAO,QAAQ,YAAY;AACrD,qBAAA,KAAK,GAAG,YAAY;AAAA,MAAA,WACvB,CAAC,SAAS,UAAU;AAC9B,eAAO,CAAC,IAAIC,OAAAA,iCAAiC,CAAA,GAAIC,OAAAA,eAAe,OAAO,CAAC;AAAA,MACzE;AAAA,IACD;AAEA,UAAM,gBAAgB,MAAM,KAAK,OAAO,eAAe,cAAc,OAAO,CAAU,WAAA;AACrF,aAAO,cAAc,CAAC,eAAe,IAAI,CAAC;AACnC,aAAA,cAAc,eAAe,MAAM,OAAO;AAAA,IAAA,CACjD;AAEM,WAAA;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,MAAc,eACb,SACA,SACC;AACM,WAAA,MAAM,KAAK,OAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,CAAW,YAAA;AAC/E,cAAQ,cAAc,CAAC,QAAQ,eAAe,IAAI,CAAC;AACnD,cAAQ,cAAc,QAAQ,eAAe,MAAM,OAAO;AAAA,IAAA,CAC1D;AAAA,EACF;AACD;;"}
|
|
@@ -1,42 +1,35 @@
|
|
|
1
|
-
import { MutationEntryNotFoundError, MutationConstraintViolationError, ConstraintType } from "
|
|
2
|
-
import { CheckedPrimary } from "
|
|
1
|
+
import { MutationEntryNotFoundError, MutationConstraintViolationError, ConstraintType } from "../../Result.js";
|
|
2
|
+
import { CheckedPrimary } from "../../CheckedPrimary.js";
|
|
3
3
|
class OneHasOneInverseCreateInputProcessor {
|
|
4
|
-
constructor(
|
|
5
|
-
this.insertBuilder = insertBuilder;
|
|
4
|
+
constructor(mapper) {
|
|
6
5
|
this.mapper = mapper;
|
|
7
6
|
}
|
|
8
7
|
async connect(context) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
return await this.connectInternal({ ...context, input: new CheckedPrimary(owner) }, primary);
|
|
8
|
+
return async ({ primary }) => {
|
|
9
|
+
const { targetEntity, input } = context;
|
|
10
|
+
const owner = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
11
|
+
if (!owner) {
|
|
12
|
+
return [new MutationEntryNotFoundError([], input)];
|
|
13
|
+
}
|
|
14
|
+
return await this.connectInternal({ ...context, input: new CheckedPrimary(owner) }, primary);
|
|
15
|
+
};
|
|
19
16
|
}
|
|
20
|
-
async create(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
builder.addFieldValue(context.targetRelation.name, primary);
|
|
28
|
-
});
|
|
17
|
+
async create({ input, targetRelation, targetEntity }) {
|
|
18
|
+
return async ({ primary }) => {
|
|
19
|
+
return await this.mapper.insert(targetEntity, input, (builder) => {
|
|
20
|
+
builder.addPredicates([targetRelation.name]);
|
|
21
|
+
builder.addFieldValue(targetRelation.name, primary);
|
|
22
|
+
});
|
|
23
|
+
};
|
|
29
24
|
}
|
|
30
25
|
async connectOrCreate({ input, ...context }) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
return await this.createInternal({ input: input.create, ...context }, primary);
|
|
26
|
+
return async ({ primary }) => {
|
|
27
|
+
const owner = await this.mapper.getPrimaryValue(context.targetEntity, input.connect);
|
|
28
|
+
if (owner) {
|
|
29
|
+
return await this.connectInternal({ ...context, input: new CheckedPrimary(owner) }, primary);
|
|
30
|
+
}
|
|
31
|
+
return await this.createInternal({ input: input.create, ...context }, primary);
|
|
32
|
+
};
|
|
40
33
|
}
|
|
41
34
|
async connectInternal({ entity, targetEntity, targetRelation, relation, input }, primary) {
|
|
42
35
|
const currentInverseSideOfOwner = await this.mapper.selectField(targetEntity, input, targetRelation.name);
|
package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseCreateInputProcessor.js","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts"],"sourcesContent":["import { Mapper } from '../../Mapper'\nimport { ConstraintType, MutationConstraintViolationError, MutationEntryNotFoundError, MutationResultList } from '../../Result'\nimport { CheckedPrimary } from '../../CheckedPrimary'\nimport { Input, Model } from '@contember/schema'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\n\ntype Context = Model.OneHasOneInverseContext\n\nexport class OneHasOneInverseCreateInputProcessor implements CreateInputProcessor.HasOneRelationProcessor<Context, SqlCreateInputProcessorResult> {\n\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t}\n\n\tpublic async connect(context: Context & { input: Input.UniqueWhere }) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst { targetEntity, input } = context\n\t\t\tconst owner = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!owner) {\n\t\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t\t}\n\n\t\t\treturn await this.connectInternal({ ...context, input: new CheckedPrimary(owner) }, primary)\n\t\t}\n\t}\n\n\n\tpublic async create(\n\t\t{ input, targetRelation, targetEntity }: Context & { input: Input.CreateDataInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\treturn await this.mapper.insert(targetEntity, input, builder => {\n\t\t\t\tbuilder.addPredicates([targetRelation.name])\n\t\t\t\tbuilder.addFieldValue(targetRelation.name, primary)\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic async connectOrCreate(\n\t\t{ input, ...context }: Context & { input: Input.ConnectOrCreateInput },\n\t) {\n\t\treturn async ({ primary }: { primary: Input.PrimaryValue }) => {\n\t\t\tconst owner = await this.mapper.getPrimaryValue(context.targetEntity, input.connect)\n\t\t\tif (owner) {\n\t\t\t\treturn await this.connectInternal({ ...context, input: new CheckedPrimary(owner) }, primary)\n\t\t\t}\n\n\t\t\treturn await this.createInternal({ input: input.create, ...context }, primary)\n\t\t}\n\t}\n\n\tprivate async connectInternal(\n\t\t{ entity, targetEntity, targetRelation, relation, input }: Context & { input: CheckedPrimary },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\n\t\tconst currentInverseSideOfOwner = await this.mapper.selectField(targetEntity, input, targetRelation.name)\n\t\tconst orphanResult: MutationResultList = []\n\t\tif (currentInverseSideOfOwner) {\n\t\t\tif (targetRelation.orphanRemoval) {\n\t\t\t\tconst orphanUnique = { [entity.primary]: currentInverseSideOfOwner }\n\t\t\t\tconst orphanDelete = await this.mapper.delete(entity, orphanUnique)\n\t\t\t\torphanResult.push(...orphanDelete)\n\t\t\t} else if (!relation.nullable) {\n\t\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t\t}\n\t\t}\n\n\t\tconst connectResult = await this.mapper.updateInternal(targetEntity, input, update => {\n\t\t\tupdate.addPredicates([targetRelation.name])\n\t\t\tupdate.addFieldValue(targetRelation.name, primary)\n\t\t})\n\n\t\treturn [\n\t\t\t...connectResult,\n\t\t\t...orphanResult,\n\t\t]\n\t}\n\n\tprivate async createInternal(\n\t\tcontext: Context & { input: Input.CreateDataInput },\n\t\tprimary: Input.PrimaryValue,\n\t) {\n\t\treturn await this.mapper.insert(context.targetEntity, context.input, builder => {\n\t\t\tbuilder.addPredicates([context.targetRelation.name])\n\t\t\tbuilder.addFieldValue(context.targetRelation.name, primary)\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AASO,MAAM,qCAAsI;AAAA,EAElJ,YACkB,QAChB;AADgB,SAAA,SAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QAAQ,SAAiD;AAC9D,WAAA,OAAO,EAAE,cAA+C;AACxD,YAAA,EAAE,cAAc,MAAU,IAAA;AAChC,YAAM,QAAQ,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AACnE,UAAI,CAAC,OAAO;AACX,eAAO,CAAC,IAAI,2BAA2B,IAAI,KAAK,CAAC;AAAA,MAClD;AAEA,aAAO,MAAM,KAAK,gBAAgB,EAAE,GAAG,SAAS,OAAO,IAAI,eAAe,KAAK,EAAE,GAAG,OAAO;AAAA,IAAA;AAAA,EAE7F;AAAA,EAGA,MAAa,OACZ,EAAE,OAAO,gBAAgB,gBACxB;AACM,WAAA,OAAO,EAAE,cAA+C;AAC9D,aAAO,MAAM,KAAK,OAAO,OAAO,cAAc,OAAO,CAAW,YAAA;AAC/D,gBAAQ,cAAc,CAAC,eAAe,IAAI,CAAC;AACnC,gBAAA,cAAc,eAAe,MAAM,OAAO;AAAA,MAAA,CAClD;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,MAAa,gBACZ,EAAE,OAAO,GAAG,WACX;AACM,WAAA,OAAO,EAAE,cAA+C;AACxD,YAAA,QAAQ,MAAM,KAAK,OAAO,gBAAgB,QAAQ,cAAc,MAAM,OAAO;AACnF,UAAI,OAAO;AACV,eAAO,MAAM,KAAK,gBAAgB,EAAE,GAAG,SAAS,OAAO,IAAI,eAAe,KAAK,EAAE,GAAG,OAAO;AAAA,MAC5F;AAEO,aAAA,MAAM,KAAK,eAAe,EAAE,OAAO,MAAM,QAAQ,GAAG,WAAW,OAAO;AAAA,IAAA;AAAA,EAE/E;AAAA,EAEA,MAAc,gBACb,EAAE,QAAQ,cAAc,gBAAgB,UAAU,MAAM,GACxD,SACC;AAEK,UAAA,4BAA4B,MAAM,KAAK,OAAO,YAAY,cAAc,OAAO,eAAe,IAAI;AACxG,UAAM,eAAmC,CAAA;AACzC,QAAI,2BAA2B;AAC9B,UAAI,eAAe,eAAe;AACjC,cAAM,eAAe,EAAE,CAAC,OAAO,OAAO,GAAG,0BAA0B;AACnE,cAAM,eAAe,MAAM,KAAK,OAAO,OAAO,QAAQ,YAAY;AACrD,qBAAA,KAAK,GAAG,YAAY;AAAA,MAAA,WACvB,CAAC,SAAS,UAAU;AAC9B,eAAO,CAAC,IAAI,iCAAiC,CAAA,GAAI,eAAe,OAAO,CAAC;AAAA,MACzE;AAAA,IACD;AAEA,UAAM,gBAAgB,MAAM,KAAK,OAAO,eAAe,cAAc,OAAO,CAAU,WAAA;AACrF,aAAO,cAAc,CAAC,eAAe,IAAI,CAAC;AACnC,aAAA,cAAc,eAAe,MAAM,OAAO;AAAA,IAAA,CACjD;AAEM,WAAA;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,MAAc,eACb,SACA,SACC;AACM,WAAA,MAAM,KAAK,OAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,CAAW,YAAA;AAC/E,cAAQ,cAAc,CAAC,QAAQ,eAAe,IAAI,CAAC;AACnD,cAAQ,cAAc,QAAQ,eAAe,MAAM,OAAO;AAAA,IAAA,CAC1D;AAAA,EACF;AACD;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Result = require("../../Result.cjs");
|
|
4
|
+
class OneHasOneOwningCreateInputProcessor {
|
|
5
|
+
constructor(mapper, insertBuilder) {
|
|
6
|
+
this.mapper = mapper;
|
|
7
|
+
this.insertBuilder = insertBuilder;
|
|
8
|
+
}
|
|
9
|
+
async connect(context) {
|
|
10
|
+
const { input, relation, targetEntity } = context;
|
|
11
|
+
const inverseSide = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
12
|
+
if (!inverseSide) {
|
|
13
|
+
return [new Result.MutationEntryNotFoundError([], input)];
|
|
14
|
+
}
|
|
15
|
+
const disconnectResult = await this.disconnectCurrentOwner({ ...context, input: inverseSide });
|
|
16
|
+
if (disconnectResult.some((it) => it.error)) {
|
|
17
|
+
return disconnectResult;
|
|
18
|
+
}
|
|
19
|
+
this.insertBuilder.addFieldValue(relation.name, inverseSide);
|
|
20
|
+
return disconnectResult;
|
|
21
|
+
}
|
|
22
|
+
async create(context) {
|
|
23
|
+
const insertResult = await this.mapper.insert(context.targetEntity, context.input);
|
|
24
|
+
const primary = Result.getInsertPrimary(insertResult);
|
|
25
|
+
if (!primary) {
|
|
26
|
+
return insertResult;
|
|
27
|
+
}
|
|
28
|
+
this.insertBuilder.addFieldValue(context.relation.name, primary);
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
async connectOrCreate({ input, ...context }) {
|
|
32
|
+
const inverseSide = await this.mapper.getPrimaryValue(context.targetEntity, input.connect);
|
|
33
|
+
if (inverseSide) {
|
|
34
|
+
this.insertBuilder.addFieldValue(context.relation.name, inverseSide);
|
|
35
|
+
const disconnectResult = await this.disconnectCurrentOwner({ ...context, input: inverseSide });
|
|
36
|
+
if (disconnectResult.some((it) => it.error)) {
|
|
37
|
+
return disconnectResult;
|
|
38
|
+
}
|
|
39
|
+
return [];
|
|
40
|
+
} else {
|
|
41
|
+
const insertResult = await this.mapper.insert(context.targetEntity, input.create);
|
|
42
|
+
const primary = Result.getInsertPrimary(insertResult);
|
|
43
|
+
if (primary) {
|
|
44
|
+
this.insertBuilder.addFieldValue(context.relation.name, primary);
|
|
45
|
+
}
|
|
46
|
+
return insertResult;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async disconnectCurrentOwner({ entity, relation, targetEntity, input }) {
|
|
50
|
+
const currentOwnerOfInverseSide = await this.mapper.getPrimaryValue(entity, {
|
|
51
|
+
[relation.name]: { [targetEntity.primary]: input }
|
|
52
|
+
});
|
|
53
|
+
if (!currentOwnerOfInverseSide) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
if (!relation.nullable) {
|
|
57
|
+
return [new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull)];
|
|
58
|
+
}
|
|
59
|
+
const currentOwnerUnique = { [entity.primary]: currentOwnerOfInverseSide };
|
|
60
|
+
return await this.mapper.updateInternal(entity, currentOwnerUnique, (builder) => {
|
|
61
|
+
builder.addPredicates([relation.name]);
|
|
62
|
+
builder.addFieldValue(relation.name, null);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.OneHasOneOwningCreateInputProcessor = OneHasOneOwningCreateInputProcessor;
|
|
67
|
+
//# sourceMappingURL=OneHasOneOwningCreateInputProcessor.cjs.map
|
package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneOwningCreateInputProcessor.cjs","sources":["../../../../../../../packages/engine-content-api/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.ts"],"sourcesContent":["import {\n\tConstraintType,\n\tgetInsertPrimary,\n\tMutationConstraintViolationError,\n\tMutationEntryNotFoundError,\n\tMutationResultList,\n} from '../../Result'\nimport { InsertBuilder } from '../../insert'\nimport { Mapper } from '../../Mapper'\nimport { Input, Model } from '@contember/schema'\nimport { CreateInputProcessor } from '../../../inputProcessing'\nimport { SqlCreateInputProcessorResult } from '../SqlCreateInputProcessor'\n\ntype Context = Model.OneHasOneOwningContext\n\nexport class OneHasOneOwningCreateInputProcessor implements CreateInputProcessor.HasOneRelationProcessor<Context, SqlCreateInputProcessorResult>{\n\tconstructor(\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly insertBuilder: InsertBuilder,\n\t) {\n\t}\n\n\tpublic async connect(context: Context & { input: Input.UniqueWhere }) {\n\t\tconst { input, relation, targetEntity } = context\n\t\tconst inverseSide = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\tif (!inverseSide) {\n\t\t\treturn [new MutationEntryNotFoundError([], input)]\n\t\t}\n\t\tconst disconnectResult = await this.disconnectCurrentOwner({ ...context, input: inverseSide })\n\t\tif (disconnectResult.some(it => it.error)) {\n\t\t\treturn disconnectResult\n\t\t}\n\t\tthis.insertBuilder.addFieldValue(relation.name, inverseSide)\n\t\treturn disconnectResult\n\t}\n\n\tpublic async create(context: Context & { input: Input.CreateDataInput }) {\n\t\tconst insertResult = await this.mapper.insert(context.targetEntity, context.input)\n\t\tconst primary = getInsertPrimary(insertResult)\n\t\tif (!primary) {\n\t\t\treturn insertResult\n\t\t}\n\t\tthis.insertBuilder.addFieldValue(context.relation.name, primary)\n\t\treturn []\n\t}\n\n\tpublic async connectOrCreate({ input, ...context }: Context & { input: Input.ConnectOrCreateInput }) {\n\t\tconst inverseSide = await this.mapper.getPrimaryValue(context.targetEntity, input.connect)\n\t\tif (inverseSide) {\n\t\t\tthis.insertBuilder.addFieldValue(context.relation.name, inverseSide)\n\t\t\tconst disconnectResult = await this.disconnectCurrentOwner({ ...context, input: inverseSide })\n\t\t\tif (disconnectResult.some(it => it.error)) {\n\t\t\t\treturn disconnectResult\n\t\t\t}\n\t\t\treturn []\n\n\t\t} else {\n\t\t\tconst insertResult = await this.mapper.insert(context.targetEntity, input.create)\n\t\t\tconst primary = getInsertPrimary(insertResult)\n\t\t\tif (primary) {\n\t\t\t\tthis.insertBuilder.addFieldValue(context.relation.name, primary)\n\t\t\t}\n\t\t\treturn insertResult\n\t\t}\n\t}\n\n\tprivate async disconnectCurrentOwner(\n\t\t{ entity, relation, targetEntity, input }: Context & { input: Input.PrimaryValue },\n\t): Promise<MutationResultList> {\n\t\tconst currentOwnerOfInverseSide = await this.mapper.getPrimaryValue(entity, {\n\t\t\t[relation.name]: { [targetEntity.primary]: input },\n\t\t})\n\t\tif (!currentOwnerOfInverseSide) {\n\t\t\treturn []\n\t\t}\n\n\t\tif (!relation.nullable) {\n\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t}\n\n\t\tconst currentOwnerUnique = { [entity.primary]: currentOwnerOfInverseSide }\n\t\treturn await this.mapper.updateInternal(entity, currentOwnerUnique, builder => {\n\t\t\tbuilder.addPredicates([relation.name])\n\t\t\tbuilder.addFieldValue(relation.name, null)\n\t\t})\n\t}\n}\n"],"names":["MutationEntryNotFoundError","getInsertPrimary","MutationConstraintViolationError","ConstraintType"],"mappings":";;;AAeO,MAAM,oCAAmI;AAAA,EAC/I,YACkB,QACA,eAChB;AAFgB,SAAA,SAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAa,QAAQ,SAAiD;AACrE,UAAM,EAAE,OAAO,UAAU,aAAA,IAAiB;AAC1C,UAAM,cAAc,MAAM,KAAK,OAAO,gBAAgB,cAAc,KAAK;AACzE,QAAI,CAAC,aAAa;AACjB,aAAO,CAAC,IAAIA,OAAA,2BAA2B,IAAI,KAAK,CAAC;AAAA,IAClD;AACM,UAAA,mBAAmB,MAAM,KAAK,uBAAuB,EAAE,GAAG,SAAS,OAAO,YAAA,CAAa;AAC7F,QAAI,iBAAiB,KAAK,CAAM,OAAA,GAAG,KAAK,GAAG;AACnC,aAAA;AAAA,IACR;AACA,SAAK,cAAc,cAAc,SAAS,MAAM,WAAW;AACpD,WAAA;AAAA,EACR;AAAA,EAEA,MAAa,OAAO,SAAqD;AAClE,UAAA,eAAe,MAAM,KAAK,OAAO,OAAO,QAAQ,cAAc,QAAQ,KAAK;AAC3E,UAAA,UAAUC,wBAAiB,YAAY;AAC7C,QAAI,CAAC,SAAS;AACN,aAAA;AAAA,IACR;AACA,SAAK,cAAc,cAAc,QAAQ,SAAS,MAAM,OAAO;AAC/D,WAAO;EACR;AAAA,EAEA,MAAa,gBAAgB,EAAE,OAAO,GAAG,WAA4D;AAC9F,UAAA,cAAc,MAAM,KAAK,OAAO,gBAAgB,QAAQ,cAAc,MAAM,OAAO;AACzF,QAAI,aAAa;AAChB,WAAK,cAAc,cAAc,QAAQ,SAAS,MAAM,WAAW;AAC7D,YAAA,mBAAmB,MAAM,KAAK,uBAAuB,EAAE,GAAG,SAAS,OAAO,YAAA,CAAa;AAC7F,UAAI,iBAAiB,KAAK,CAAM,OAAA,GAAG,KAAK,GAAG;AACnC,eAAA;AAAA,MACR;AACA,aAAO;IAAC,OAEF;AACA,YAAA,eAAe,MAAM,KAAK,OAAO,OAAO,QAAQ,cAAc,MAAM,MAAM;AAC1E,YAAA,UAAUA,wBAAiB,YAAY;AAC7C,UAAI,SAAS;AACZ,aAAK,cAAc,cAAc,QAAQ,SAAS,MAAM,OAAO;AAAA,MAChE;AACO,aAAA;AAAA,IACR;AAAA,EACD;AAAA,EAEA,MAAc,uBACb,EAAE,QAAQ,UAAU,cAAc,SACJ;AAC9B,UAAM,4BAA4B,MAAM,KAAK,OAAO,gBAAgB,QAAQ;AAAA,MAC3E,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC,aAAa,OAAO,GAAG,MAAM;AAAA,IAAA,CACjD;AACD,QAAI,CAAC,2BAA2B;AAC/B,aAAO;IACR;AAEI,QAAA,CAAC,SAAS,UAAU;AACvB,aAAO,CAAC,IAAIC,OAAAA,iCAAiC,CAAA,GAAIC,OAAAA,eAAe,OAAO,CAAC;AAAA,IACzE;AAEA,UAAM,qBAAqB,EAAE,CAAC,OAAO,OAAO,GAAG,0BAA0B;AACzE,WAAO,MAAM,KAAK,OAAO,eAAe,QAAQ,oBAAoB,CAAW,YAAA;AAC9E,cAAQ,cAAc,CAAC,SAAS,IAAI,CAAC;AAC7B,cAAA,cAAc,SAAS,MAAM,IAAI;AAAA,IAAA,CACzC;AAAA,EACF;AACD;;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { MutationEntryNotFoundError, getInsertPrimary, MutationConstraintViolationError, ConstraintType } from "../../Result.js";
|
|
2
|
+
class OneHasOneOwningCreateInputProcessor {
|
|
3
|
+
constructor(mapper, insertBuilder) {
|
|
4
|
+
this.mapper = mapper;
|
|
5
|
+
this.insertBuilder = insertBuilder;
|
|
6
|
+
}
|
|
7
|
+
async connect(context) {
|
|
8
|
+
const { input, relation, targetEntity } = context;
|
|
9
|
+
const inverseSide = await this.mapper.getPrimaryValue(targetEntity, input);
|
|
10
|
+
if (!inverseSide) {
|
|
11
|
+
return [new MutationEntryNotFoundError([], input)];
|
|
12
|
+
}
|
|
13
|
+
const disconnectResult = await this.disconnectCurrentOwner({ ...context, input: inverseSide });
|
|
14
|
+
if (disconnectResult.some((it) => it.error)) {
|
|
15
|
+
return disconnectResult;
|
|
16
|
+
}
|
|
17
|
+
this.insertBuilder.addFieldValue(relation.name, inverseSide);
|
|
18
|
+
return disconnectResult;
|
|
19
|
+
}
|
|
20
|
+
async create(context) {
|
|
21
|
+
const insertResult = await this.mapper.insert(context.targetEntity, context.input);
|
|
22
|
+
const primary = getInsertPrimary(insertResult);
|
|
23
|
+
if (!primary) {
|
|
24
|
+
return insertResult;
|
|
25
|
+
}
|
|
26
|
+
this.insertBuilder.addFieldValue(context.relation.name, primary);
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
async connectOrCreate({ input, ...context }) {
|
|
30
|
+
const inverseSide = await this.mapper.getPrimaryValue(context.targetEntity, input.connect);
|
|
31
|
+
if (inverseSide) {
|
|
32
|
+
this.insertBuilder.addFieldValue(context.relation.name, inverseSide);
|
|
33
|
+
const disconnectResult = await this.disconnectCurrentOwner({ ...context, input: inverseSide });
|
|
34
|
+
if (disconnectResult.some((it) => it.error)) {
|
|
35
|
+
return disconnectResult;
|
|
36
|
+
}
|
|
37
|
+
return [];
|
|
38
|
+
} else {
|
|
39
|
+
const insertResult = await this.mapper.insert(context.targetEntity, input.create);
|
|
40
|
+
const primary = getInsertPrimary(insertResult);
|
|
41
|
+
if (primary) {
|
|
42
|
+
this.insertBuilder.addFieldValue(context.relation.name, primary);
|
|
43
|
+
}
|
|
44
|
+
return insertResult;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async disconnectCurrentOwner({ entity, relation, targetEntity, input }) {
|
|
48
|
+
const currentOwnerOfInverseSide = await this.mapper.getPrimaryValue(entity, {
|
|
49
|
+
[relation.name]: { [targetEntity.primary]: input }
|
|
50
|
+
});
|
|
51
|
+
if (!currentOwnerOfInverseSide) {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
if (!relation.nullable) {
|
|
55
|
+
return [new MutationConstraintViolationError([], ConstraintType.notNull)];
|
|
56
|
+
}
|
|
57
|
+
const currentOwnerUnique = { [entity.primary]: currentOwnerOfInverseSide };
|
|
58
|
+
return await this.mapper.updateInternal(entity, currentOwnerUnique, (builder) => {
|
|
59
|
+
builder.addPredicates([relation.name]);
|
|
60
|
+
builder.addFieldValue(relation.name, null);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
OneHasOneOwningCreateInputProcessor
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=OneHasOneOwningCreateInputProcessor.js.map
|