@contember/engine-content-api 2.0.0-alpha.19 → 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.
Files changed (330) hide show
  1. package/dist/development/index.cjs +1 -1
  2. package/dist/development/index.js +1 -1
  3. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
  4. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  5. package/dist/development/src/input-validation/preValidation/InputPreValidator.js +1 -1
  6. package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  7. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs +10 -10
  8. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  9. package/dist/development/src/inputProcessing/CreateInputVisitor.js +10 -10
  10. package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  11. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs +13 -13
  12. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  13. package/dist/development/src/inputProcessing/UpdateInputVisitor.js +13 -13
  14. package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  15. package/dist/development/src/mapper/MutationProcessorHelper.cjs +10 -2
  16. package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  17. package/dist/development/src/mapper/MutationProcessorHelper.js +10 -2
  18. package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -1
  19. package/dist/development/src/mapper/Result.cjs +10 -27
  20. package/dist/development/src/mapper/Result.cjs.map +1 -1
  21. package/dist/development/src/mapper/Result.js +10 -27
  22. package/dist/development/src/mapper/Result.js.map +1 -1
  23. package/dist/development/src/mapper/insert/InsertBuilder.cjs +1 -13
  24. package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  25. package/dist/development/src/mapper/insert/InsertBuilder.js +1 -13
  26. package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -1
  27. package/dist/development/src/mapper/insert/Inserter.cjs +43 -21
  28. package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
  29. package/dist/development/src/mapper/insert/Inserter.js +45 -23
  30. package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
  31. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs +22 -76
  32. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  33. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js +22 -76
  34. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  35. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +45 -0
  36. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  37. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +45 -0
  38. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  39. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +42 -0
  40. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  41. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +42 -0
  42. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  43. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +37 -0
  44. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  45. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +37 -0
  46. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  47. package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +25 -32
  48. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  49. package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +25 -32
  50. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  51. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +67 -0
  52. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  53. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +67 -0
  54. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  55. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs +3 -0
  56. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  57. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js +3 -0
  58. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  59. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
  60. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  61. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  62. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  63. package/dist/development/src/mapper/update/UpdateBuilder.cjs +2 -14
  64. package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  65. package/dist/development/src/mapper/update/UpdateBuilder.js +2 -14
  66. package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
  67. package/dist/development/src/mapper/update/Updater.cjs +45 -17
  68. package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
  69. package/dist/development/src/mapper/update/Updater.js +47 -19
  70. package/dist/development/src/mapper/update/Updater.js.map +1 -1
  71. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
  72. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  73. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
  74. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  75. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
  76. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  77. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
  78. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  79. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
  80. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  81. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
  82. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  83. package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
  84. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  85. package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
  86. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  87. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
  88. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  89. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
  90. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  91. package/dist/development/src/resolvers/MutationResolver.cjs +1 -1
  92. package/dist/development/src/resolvers/MutationResolver.js +1 -1
  93. package/dist/production/index.cjs +1 -1
  94. package/dist/production/index.js +1 -1
  95. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
  96. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  97. package/dist/production/src/input-validation/preValidation/InputPreValidator.js +1 -1
  98. package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  99. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs +10 -10
  100. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  101. package/dist/production/src/inputProcessing/CreateInputVisitor.js +10 -10
  102. package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  103. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs +13 -13
  104. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  105. package/dist/production/src/inputProcessing/UpdateInputVisitor.js +13 -13
  106. package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  107. package/dist/production/src/mapper/MutationProcessorHelper.cjs +10 -2
  108. package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  109. package/dist/production/src/mapper/MutationProcessorHelper.js +10 -2
  110. package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
  111. package/dist/production/src/mapper/Result.cjs +10 -27
  112. package/dist/production/src/mapper/Result.cjs.map +1 -1
  113. package/dist/production/src/mapper/Result.js +10 -27
  114. package/dist/production/src/mapper/Result.js.map +1 -1
  115. package/dist/production/src/mapper/insert/InsertBuilder.cjs +1 -13
  116. package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  117. package/dist/production/src/mapper/insert/InsertBuilder.js +1 -13
  118. package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
  119. package/dist/production/src/mapper/insert/Inserter.cjs +43 -21
  120. package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
  121. package/dist/production/src/mapper/insert/Inserter.js +45 -23
  122. package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
  123. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs +22 -76
  124. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  125. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js +22 -76
  126. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  127. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +45 -0
  128. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  129. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +45 -0
  130. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  131. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +42 -0
  132. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  133. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +42 -0
  134. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  135. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +37 -0
  136. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  137. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +37 -0
  138. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  139. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +25 -32
  140. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  141. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +25 -32
  142. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  143. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +67 -0
  144. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  145. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +67 -0
  146. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  147. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs +3 -0
  148. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  149. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js +3 -0
  150. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  151. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
  152. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  153. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  154. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  155. package/dist/production/src/mapper/update/UpdateBuilder.cjs +2 -14
  156. package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  157. package/dist/production/src/mapper/update/UpdateBuilder.js +2 -14
  158. package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
  159. package/dist/production/src/mapper/update/Updater.cjs +45 -17
  160. package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
  161. package/dist/production/src/mapper/update/Updater.js +47 -19
  162. package/dist/production/src/mapper/update/Updater.js.map +1 -1
  163. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
  164. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  165. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
  166. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  167. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
  168. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  169. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
  170. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  171. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
  172. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  173. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
  174. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  175. package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
  176. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  177. package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
  178. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  179. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
  180. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  181. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
  182. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  183. package/dist/production/src/resolvers/MutationResolver.cjs +1 -1
  184. package/dist/production/src/resolvers/MutationResolver.js +1 -1
  185. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  186. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts.map +1 -1
  187. package/dist/types/inputProcessing/CreateInputVisitor.d.ts +8 -8
  188. package/dist/types/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  189. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts +8 -8
  190. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  191. package/dist/types/mapper/MutationProcessorHelper.d.ts +2 -2
  192. package/dist/types/mapper/MutationProcessorHelper.d.ts.map +1 -1
  193. package/dist/types/mapper/Result.d.ts +11 -5
  194. package/dist/types/mapper/Result.d.ts.map +1 -1
  195. package/dist/types/mapper/insert/InsertBuilder.d.ts +3 -7
  196. package/dist/types/mapper/insert/InsertBuilder.d.ts.map +1 -1
  197. package/dist/types/mapper/insert/Inserter.d.ts +0 -1
  198. package/dist/types/mapper/insert/Inserter.d.ts.map +1 -1
  199. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts +11 -8
  200. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  201. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts +24 -0
  202. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts.map +1 -0
  203. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts +23 -0
  204. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts.map +1 -0
  205. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts +26 -0
  206. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts.map +1 -0
  207. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts +29 -0
  208. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
  209. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts +24 -0
  210. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
  211. package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  212. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts +10 -7
  213. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  214. package/dist/types/mapper/update/UpdateBuilder.d.ts +2 -6
  215. package/dist/types/mapper/update/UpdateBuilder.d.ts.map +1 -1
  216. package/dist/types/mapper/update/Updater.d.ts +0 -1
  217. package/dist/types/mapper/update/Updater.d.ts.map +1 -1
  218. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts +46 -0
  219. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts.map +1 -0
  220. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts +40 -0
  221. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts.map +1 -0
  222. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts +46 -0
  223. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts.map +1 -0
  224. package/dist/types/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.d.ts +17 -13
  225. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
  226. package/dist/types/mapper/{relations → update/relations}/OneHasOneOwningUpdateInputProcessor.d.ts +19 -16
  227. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
  228. package/dist/types/tsconfig.tsbuildinfo +1 -1
  229. package/package.json +11 -11
  230. package/src/input-validation/preValidation/InputPreValidator.ts +3 -5
  231. package/src/inputProcessing/CreateInputVisitor.ts +14 -14
  232. package/src/inputProcessing/UpdateInputVisitor.ts +17 -17
  233. package/src/mapper/MutationProcessorHelper.ts +16 -8
  234. package/src/mapper/Result.ts +11 -47
  235. package/src/mapper/insert/InsertBuilder.ts +8 -22
  236. package/src/mapper/insert/Inserter.ts +53 -40
  237. package/src/mapper/insert/SqlCreateInputProcessor.ts +35 -88
  238. package/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts +59 -0
  239. package/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts +57 -0
  240. package/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts +50 -0
  241. package/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts +91 -0
  242. package/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.ts +87 -0
  243. package/src/mapper/select/handlers/FieldsVisitor.ts +3 -0
  244. package/src/mapper/update/SqlUpdateInputProcessor.ts +48 -46
  245. package/src/mapper/update/UpdateBuilder.ts +9 -23
  246. package/src/mapper/update/Updater.ts +53 -34
  247. package/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.ts +116 -0
  248. package/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.ts +125 -0
  249. package/src/mapper/update/relations/OneHasManyUpdateInputProcessor.ts +111 -0
  250. package/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.ts +93 -73
  251. package/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.ts +243 -0
  252. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +8 -8
  253. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +4 -4
  254. package/dist/development/src/mapper/DataManipulationBuilder.cjs +0 -5
  255. package/dist/development/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  256. package/dist/development/src/mapper/DataManipulationBuilder.js +0 -5
  257. package/dist/development/src/mapper/DataManipulationBuilder.js.map +0 -1
  258. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  259. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  260. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  261. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  262. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  263. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  264. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  265. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  266. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  267. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  268. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  269. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  270. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  271. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  272. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  273. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  274. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  275. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  276. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  277. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  278. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  279. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  280. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  281. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  282. package/dist/production/src/mapper/DataManipulationBuilder.cjs +0 -5
  283. package/dist/production/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  284. package/dist/production/src/mapper/DataManipulationBuilder.js +0 -5
  285. package/dist/production/src/mapper/DataManipulationBuilder.js.map +0 -1
  286. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  287. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  288. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  289. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  290. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  291. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  292. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  293. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  294. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  295. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  296. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  297. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  298. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  299. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  300. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  301. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  302. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  303. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  304. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  305. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  306. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  307. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  308. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  309. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  310. package/dist/types/mapper/DataManipulationBuilder.d.ts +0 -7
  311. package/dist/types/mapper/DataManipulationBuilder.d.ts.map +0 -1
  312. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts +0 -32
  313. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts.map +0 -1
  314. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts +0 -32
  315. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts.map +0 -1
  316. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts +0 -29
  317. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts.map +0 -1
  318. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +0 -21
  319. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +0 -1
  320. package/dist/types/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +0 -1
  321. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +0 -21
  322. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +0 -1
  323. package/dist/types/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +0 -1
  324. package/src/mapper/DataManipulationBuilder.ts +0 -12
  325. package/src/mapper/relations/ManyHasManyInputProcessor.ts +0 -108
  326. package/src/mapper/relations/ManyHasOneInputProcessor.ts +0 -158
  327. package/src/mapper/relations/OneHasManyInputProcessor.ts +0 -101
  328. package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +0 -99
  329. package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +0 -92
  330. package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +0 -253
@@ -1,200 +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 CheckedPrimary = require("../CheckedPrimary.cjs");
6
- const DataManipulationBuilder = require("../DataManipulationBuilder.cjs");
7
- class OneHasOneOwningUpdateInputProcessor {
8
- constructor(primaryValue, mapper, updateBuilder) {
9
- this.primaryValue = primaryValue;
10
- this.mapper = mapper;
11
- this.updateBuilder = updateBuilder;
12
- }
13
- async connect(context) {
14
- const result = [];
15
- let currentInverseSide;
16
- const { entity, relation, targetEntity, targetRelation, input } = context;
17
- const newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {
18
- const newInverseSide2 = await this.mapper.getPrimaryValue(targetEntity, input);
19
- if (!newInverseSide2) {
20
- result.push(new Result.MutationEntryNotFoundError([], input));
21
- return DataManipulationBuilder.AbortDataManipulation;
22
- }
23
- currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
24
- return await this.connectInternal(context, currentInverseSide, newInverseSide2, result);
25
- });
26
- if (newInverseSide) {
27
- result.push(...await this.cleanupOrphan(relation, targetEntity, currentInverseSide));
28
- }
29
- return result;
30
- }
31
- async create(context) {
32
- const result = [];
33
- let currentInverseSide;
34
- const { entity, relation, targetEntity, targetRelation } = context;
35
- await this.updateBuilder.addFieldValue(relation.name, async () => {
36
- currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
37
- return await this.createInternal(context, currentInverseSide, result);
38
- });
39
- result.push(...await this.cleanupOrphan(relation, targetEntity, currentInverseSide));
40
- return result;
41
- }
42
- async connectOrCreate({ input: { connect, create }, ...context }) {
43
- const result = [];
44
- let currentInverseSide;
45
- const { relation, targetRelation, targetEntity, entity } = context;
46
- const newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {
47
- const newInverseSide2 = await this.mapper.getPrimaryValue(targetEntity, connect);
48
- currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
49
- if (newInverseSide2) {
50
- return await this.connectInternal(context, currentInverseSide, newInverseSide2, result);
51
- }
52
- return await this.createInternal({ ...context, input: create }, currentInverseSide, result);
53
- });
54
- if (newInverseSide) {
55
- result.push(...await this.cleanupOrphan(relation, targetEntity, currentInverseSide));
56
- }
57
- return result;
58
- }
59
- async createInternal({ targetEntity, targetRelation, relation, input }, currentInverseSide, result) {
60
- if (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {
61
- result.push(new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull));
62
- return DataManipulationBuilder.AbortDataManipulation;
63
- }
64
- const insertResult = await this.mapper.insert(targetEntity, input);
65
- result.push(...insertResult);
66
- const newInverseSide = Result.getInsertPrimary(insertResult);
67
- if (newInverseSide) {
68
- return newInverseSide;
69
- }
70
- return DataManipulationBuilder.AbortDataManipulation;
71
- }
72
- async connectInternal({ targetEntity, targetRelation, relation, entity }, currentInverseSide, newInverseSide, result) {
73
- if (currentInverseSide === newInverseSide) {
74
- result.push(new Result.MutationNothingToDo([], Result.NothingToDoReason.alreadyExists));
75
- return void 0;
76
- }
77
- const currentOwnerOfNewInverseSide = await this.mapper.getPrimaryValue(entity, {
78
- [relation.name]: { [targetEntity.primary]: newInverseSide }
79
- });
80
- if (currentOwnerOfNewInverseSide === this.primaryValue) {
81
- result.push(new Result.MutationNothingToDo([], Result.NothingToDoReason.alreadyExists));
82
- return void 0;
83
- }
84
- if (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {
85
- result.push(new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull));
86
- return DataManipulationBuilder.AbortDataManipulation;
87
- }
88
- if (currentOwnerOfNewInverseSide) {
89
- if (!relation.nullable) {
90
- result.push(new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull));
91
- return DataManipulationBuilder.AbortDataManipulation;
92
- }
93
- const currentOwnerDisconnect = await this.mapper.updateInternal(
94
- entity,
95
- {
96
- [entity.primary]: currentOwnerOfNewInverseSide
97
- },
98
- (builder) => {
99
- builder.addPredicates([relation.name]);
100
- builder.addFieldValue(relation.name, null);
101
- }
102
- );
103
- result.push(...currentOwnerDisconnect);
104
- }
105
- return newInverseSide;
106
- }
107
- async getCurrentInverseSide(targetRelation, relation, entity) {
108
- if (targetRelation && !targetRelation.nullable || relation.orphanRemoval) {
109
- return this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
110
- }
111
- return void 0;
112
- }
113
- async cleanupOrphan(relation, targetEntity, currentInverseSide) {
114
- if (relation.orphanRemoval && currentInverseSide) {
115
- await this.updateBuilder.update;
116
- return await this.mapper.delete(targetEntity, { [targetEntity.primary]: currentInverseSide });
117
- }
118
- return [];
119
- }
120
- async update({ entity, relation, targetEntity, input }) {
121
- const inversePrimary = await this.mapper.selectField(
122
- entity,
123
- { [entity.primary]: this.primaryValue },
124
- relation.name
125
- );
126
- if (!inversePrimary) {
127
- return [new Result.MutationNothingToDo([], Result.NothingToDoReason.emptyRelation)];
128
- }
129
- return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, input);
130
- }
131
- async upsert({ entity, relation, targetEntity, input: { create, update } }) {
132
- const select = this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
133
- const result = [];
134
- await this.updateBuilder.addFieldValue(relation.name, async () => {
135
- const primary = await select;
136
- if (primary) {
137
- return void 0;
138
- }
139
- const insertResult = await this.mapper.insert(targetEntity, create);
140
- const insertPrimary = Result.getInsertPrimary(insertResult);
141
- if (insertPrimary) {
142
- return insertPrimary;
143
- }
144
- result.push(...insertResult);
145
- return DataManipulationBuilder.AbortDataManipulation;
146
- });
147
- const inversePrimary = await select;
148
- if (inversePrimary) {
149
- return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, update);
150
- }
151
- return result;
152
- }
153
- async disconnect({ entity, targetEntity, relation, targetRelation }) {
154
- if (!relation.nullable) {
155
- return [new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull)];
156
- }
157
- const result = [];
158
- const currentInverseSide = targetRelation && !targetRelation.nullable || relation.orphanRemoval ? this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name) : Promise.resolve(void 0);
159
- this.updateBuilder.addFieldValue(relation.name, async () => {
160
- const inversePrimary = await currentInverseSide;
161
- if (inversePrimary && targetRelation && !targetRelation.nullable && !relation.orphanRemoval) {
162
- result.push(new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull));
163
- return DataManipulationBuilder.AbortDataManipulation;
164
- }
165
- return null;
166
- });
167
- if (relation.orphanRemoval) {
168
- const inversePrimary = await currentInverseSide;
169
- if (inversePrimary) {
170
- await this.updateBuilder.update;
171
- const deleteOrphanedInverseSide = await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary });
172
- result.push(...deleteOrphanedInverseSide);
173
- }
174
- }
175
- return result;
176
- }
177
- async delete({ entity, targetEntity, relation, targetRelation }) {
178
- if (!relation.nullable && relation.joiningColumn.onDelete !== schema.Model.OnDelete.cascade) {
179
- return [new Result.MutationConstraintViolationError([], Result.ConstraintType.notNull)];
180
- }
181
- if (relation.joiningColumn.onDelete === schema.Model.OnDelete.restrict) {
182
- console.error(
183
- "[DEPRECATED] You are deleting an entity over the relation where onDelete behaviour is set to restrict. This will fail in next version."
184
- );
185
- this.updateBuilder.addFieldValue(relation.name, null);
186
- }
187
- const targetPrimary = await this.mapper.selectField(
188
- entity,
189
- { [entity.primary]: this.primaryValue },
190
- relation.name
191
- );
192
- if (!targetPrimary) {
193
- return [new Result.MutationNothingToDo([], Result.NothingToDoReason.emptyRelation)];
194
- }
195
- await this.updateBuilder.update;
196
- return await this.mapper.delete(targetEntity, new CheckedPrimary.CheckedPrimary(targetPrimary));
197
- }
198
- }
199
- exports.OneHasOneOwningUpdateInputProcessor = OneHasOneOwningUpdateInputProcessor;
200
- //# sourceMappingURL=OneHasOneOwningUpdateInputProcessor.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OneHasOneOwningUpdateInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.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 { UpdateBuilder } from '../update/UpdateBuilder'\nimport { CheckedPrimary } from '../CheckedPrimary'\nimport { AbortDataManipulation } from '../DataManipulationBuilder'\n\nexport class OneHasOneOwningUpdateInputProcessor {\n\tconstructor(\n\t\tprivate readonly primaryValue: Input.PrimaryValue,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly updateBuilder: UpdateBuilder,\n\t) {\n\t}\n\n\tpublic async connect(context: Model.OneHasOneOwningContext & { input: Input.UniqueWhere }) {\n\t\tconst result: MutationResultList = []\n\t\tlet currentInverseSide: Input.PrimaryValue | undefined\n\n\t\tconst { entity, relation, targetEntity, targetRelation, input } = context\n\t\tconst newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tconst newInverseSide = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!newInverseSide) {\n\t\t\t\tresult.push(new MutationEntryNotFoundError([], input))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\tcurrentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity)\n\t\t\treturn await this.connectInternal(context, currentInverseSide, newInverseSide, result)\n\t\t})\n\n\t\tif (newInverseSide) {\n\t\t\tresult.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)))\n\t\t}\n\n\t\treturn result\n\t}\n\n\tpublic async create(context: Model.OneHasOneOwningContext & { input: Input.CreateDataInput }) {\n\t\tconst result: MutationResultList = []\n\t\tlet currentInverseSide: Input.PrimaryValue | undefined\n\t\tconst { entity, relation, targetEntity, targetRelation } = context\n\t\tawait this.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tcurrentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity)\n\t\t\t// orphan removal handled bellow\n\t\t\treturn await this.createInternal(context, currentInverseSide, result)\n\t\t})\n\n\t\tresult.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)))\n\t\treturn result\n\t}\n\n\tpublic async connectOrCreate({ input: { connect, create }, ...context }: Model.OneHasOneOwningContext & { input: Input.ConnectOrCreateInput }) {\n\t\tconst result: MutationResultList = []\n\t\tlet currentInverseSide: Input.PrimaryValue | undefined\n\n\t\tconst { relation, targetRelation, targetEntity, entity } = context\n\t\tconst newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tconst newInverseSide = await this.mapper.getPrimaryValue(targetEntity, connect)\n\t\t\tcurrentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity)\n\t\t\tif (newInverseSide) {\n\t\t\t\treturn await this.connectInternal(context, currentInverseSide, newInverseSide, result)\n\t\t\t}\n\t\t\treturn await this.createInternal({ ...context, input: create }, currentInverseSide, result)\n\t\t})\n\n\t\tif (newInverseSide) {\n\t\t\tresult.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)))\n\t\t}\n\n\t\treturn result\n\t}\n\n\tprivate async createInternal(\n\t\t{ targetEntity, targetRelation, relation, input }: Model.OneHasOneOwningContext & { input: Input.CreateDataInput },\n\t\tcurrentInverseSide: Input.PrimaryValue | undefined,\n\t\tresult: MutationResultList,\n\t) {\n\t\tif (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {\n\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\treturn AbortDataManipulation\n\t\t}\n\n\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\tresult.push(...insertResult)\n\t\tconst newInverseSide = getInsertPrimary(insertResult)\n\t\tif (newInverseSide) {\n\t\t\treturn newInverseSide\n\t\t}\n\t\treturn AbortDataManipulation\n\t}\n\n\tprivate async connectInternal(\n\t\t{ targetEntity, targetRelation, relation, entity }: Model.OneHasOneOwningContext,\n\t\tcurrentInverseSide: Input.PrimaryValue | undefined,\n\t\tnewInverseSide: Input.PrimaryValue,\n\t\tresult: MutationResultList,\n\t) {\n\n\t\tif (currentInverseSide === newInverseSide) {\n\t\t\tresult.push(new MutationNothingToDo([], NothingToDoReason.alreadyExists))\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst currentOwnerOfNewInverseSide = await this.mapper.getPrimaryValue(entity, {\n\t\t\t[relation.name]: { [targetEntity.primary]: newInverseSide },\n\t\t})\n\n\t\tif (currentOwnerOfNewInverseSide === this.primaryValue) {\n\t\t\tresult.push(new MutationNothingToDo([], NothingToDoReason.alreadyExists))\n\t\t\treturn undefined\n\t\t}\n\n\t\t// orphan removal handled bellow\n\t\tif (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {\n\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\treturn AbortDataManipulation\n\t\t}\n\n\t\tif (currentOwnerOfNewInverseSide) {\n\t\t\tif (!relation.nullable) {\n\t\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\n\t\t\tconst currentOwnerDisconnect = await this.mapper.updateInternal(\n\t\t\t\tentity,\n\t\t\t\t{\n\t\t\t\t\t[entity.primary]: currentOwnerOfNewInverseSide,\n\t\t\t\t},\n\t\t\t\tbuilder => {\n\t\t\t\t\tbuilder.addPredicates([relation.name])\n\t\t\t\t\tbuilder.addFieldValue(relation.name, null)\n\t\t\t\t},\n\t\t\t)\n\t\t\tresult.push(...currentOwnerDisconnect)\n\t\t}\n\t\treturn newInverseSide\n\t}\n\n\tprivate async getCurrentInverseSide(targetRelation: Model.OneHasOneInverseRelation | null, relation: Model.OneHasOneOwningRelation, entity: Model.Entity) {\n\t\tif ((targetRelation && !targetRelation.nullable) || relation.orphanRemoval) {\n\t\t\treturn this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name)\n\t\t}\n\t\treturn undefined\n\t}\n\n\tprivate async cleanupOrphan(relation: Model.OneHasOneOwningRelation, targetEntity: Model.Entity, currentInverseSide: Input.PrimaryValue | undefined) {\n\t\tif (relation.orphanRemoval && currentInverseSide) {\n\t\t\tawait this.updateBuilder.update\n\t\t\treturn await this.mapper.delete(targetEntity, { [targetEntity.primary]: currentInverseSide })\n\t\t}\n\t\treturn []\n\t}\n\n\tpublic async update({ entity, relation, targetEntity, input }: Model.OneHasOneOwningContext & { input: Input.UpdateDataInput }) {\n\t\tconst inversePrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: this.primaryValue },\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({ entity, relation, targetEntity, input: { create, update } }: Model.OneHasOneOwningContext & { input: UpdateInputProcessor.UpsertInput }) {\n\t\tconst select = this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name)\n\n\t\tconst result: MutationResultList = []\n\t\t//addColumnData has to be called synchronously\n\t\tawait this.updateBuilder.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}\n\t\treturn result\n\t}\n\n\tpublic async disconnect({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneOwningContext & { input: undefined }) {\n\t\tif (!relation.nullable) {\n\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t}\n\t\tconst result: MutationResultList = []\n\n\t\tconst currentInverseSide = (targetRelation && !targetRelation.nullable) || relation.orphanRemoval\n\t\t\t? this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name)\n\t\t\t: Promise.resolve(undefined)\n\n\t\tthis.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tconst inversePrimary = await currentInverseSide\n\t\t\tif (inversePrimary && targetRelation && !targetRelation.nullable && !relation.orphanRemoval) {\n\t\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn null\n\t\t})\n\t\tif (relation.orphanRemoval) {\n\t\t\tconst inversePrimary = await currentInverseSide\n\t\t\tif (inversePrimary) {\n\t\t\t\tawait this.updateBuilder.update\n\t\t\t\tconst deleteOrphanedInverseSide = await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary })\n\t\t\t\tresult.push(...deleteOrphanedInverseSide)\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}\n\n\tpublic async delete({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneOwningContext & { input: undefined }) {\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\tthis.updateBuilder.addFieldValue(relation.name, null)\n\t\t}\n\t\tconst targetPrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: this.primaryValue },\n\t\t\trelation.name,\n\t\t)\n\t\tif (!targetPrimary) {\n\t\t\treturn [new MutationNothingToDo([], NothingToDoReason.emptyRelation)]\n\t\t}\n\t\tawait this.updateBuilder.update\n\t\treturn await this.mapper.delete(targetEntity, new CheckedPrimary(targetPrimary))\n\t}\n}\n"],"names":["newInverseSide","MutationEntryNotFoundError","AbortDataManipulation","MutationConstraintViolationError","ConstraintType","getInsertPrimary","MutationNothingToDo","NothingToDoReason","Model","CheckedPrimary"],"mappings":"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"}
@@ -1,200 +0,0 @@
1
- import { Model } from "@contember/schema";
2
- import { MutationEntryNotFoundError, MutationConstraintViolationError, ConstraintType, getInsertPrimary, MutationNothingToDo, NothingToDoReason } from "../Result.js";
3
- import { CheckedPrimary } from "../CheckedPrimary.js";
4
- import { AbortDataManipulation } from "../DataManipulationBuilder.js";
5
- class OneHasOneOwningUpdateInputProcessor {
6
- constructor(primaryValue, mapper, updateBuilder) {
7
- this.primaryValue = primaryValue;
8
- this.mapper = mapper;
9
- this.updateBuilder = updateBuilder;
10
- }
11
- async connect(context) {
12
- const result = [];
13
- let currentInverseSide;
14
- const { entity, relation, targetEntity, targetRelation, input } = context;
15
- const newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {
16
- const newInverseSide2 = await this.mapper.getPrimaryValue(targetEntity, input);
17
- if (!newInverseSide2) {
18
- result.push(new MutationEntryNotFoundError([], input));
19
- return AbortDataManipulation;
20
- }
21
- currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
22
- return await this.connectInternal(context, currentInverseSide, newInverseSide2, result);
23
- });
24
- if (newInverseSide) {
25
- result.push(...await this.cleanupOrphan(relation, targetEntity, currentInverseSide));
26
- }
27
- return result;
28
- }
29
- async create(context) {
30
- const result = [];
31
- let currentInverseSide;
32
- const { entity, relation, targetEntity, targetRelation } = context;
33
- await this.updateBuilder.addFieldValue(relation.name, async () => {
34
- currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
35
- return await this.createInternal(context, currentInverseSide, result);
36
- });
37
- result.push(...await this.cleanupOrphan(relation, targetEntity, currentInverseSide));
38
- return result;
39
- }
40
- async connectOrCreate({ input: { connect, create }, ...context }) {
41
- const result = [];
42
- let currentInverseSide;
43
- const { relation, targetRelation, targetEntity, entity } = context;
44
- const newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {
45
- const newInverseSide2 = await this.mapper.getPrimaryValue(targetEntity, connect);
46
- currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
47
- if (newInverseSide2) {
48
- return await this.connectInternal(context, currentInverseSide, newInverseSide2, result);
49
- }
50
- return await this.createInternal({ ...context, input: create }, currentInverseSide, result);
51
- });
52
- if (newInverseSide) {
53
- result.push(...await this.cleanupOrphan(relation, targetEntity, currentInverseSide));
54
- }
55
- return result;
56
- }
57
- async createInternal({ targetEntity, targetRelation, relation, input }, currentInverseSide, result) {
58
- if (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {
59
- result.push(new MutationConstraintViolationError([], ConstraintType.notNull));
60
- return AbortDataManipulation;
61
- }
62
- const insertResult = await this.mapper.insert(targetEntity, input);
63
- result.push(...insertResult);
64
- const newInverseSide = getInsertPrimary(insertResult);
65
- if (newInverseSide) {
66
- return newInverseSide;
67
- }
68
- return AbortDataManipulation;
69
- }
70
- async connectInternal({ targetEntity, targetRelation, relation, entity }, currentInverseSide, newInverseSide, result) {
71
- if (currentInverseSide === newInverseSide) {
72
- result.push(new MutationNothingToDo([], NothingToDoReason.alreadyExists));
73
- return void 0;
74
- }
75
- const currentOwnerOfNewInverseSide = await this.mapper.getPrimaryValue(entity, {
76
- [relation.name]: { [targetEntity.primary]: newInverseSide }
77
- });
78
- if (currentOwnerOfNewInverseSide === this.primaryValue) {
79
- result.push(new MutationNothingToDo([], NothingToDoReason.alreadyExists));
80
- return void 0;
81
- }
82
- if (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {
83
- result.push(new MutationConstraintViolationError([], ConstraintType.notNull));
84
- return AbortDataManipulation;
85
- }
86
- if (currentOwnerOfNewInverseSide) {
87
- if (!relation.nullable) {
88
- result.push(new MutationConstraintViolationError([], ConstraintType.notNull));
89
- return AbortDataManipulation;
90
- }
91
- const currentOwnerDisconnect = await this.mapper.updateInternal(
92
- entity,
93
- {
94
- [entity.primary]: currentOwnerOfNewInverseSide
95
- },
96
- (builder) => {
97
- builder.addPredicates([relation.name]);
98
- builder.addFieldValue(relation.name, null);
99
- }
100
- );
101
- result.push(...currentOwnerDisconnect);
102
- }
103
- return newInverseSide;
104
- }
105
- async getCurrentInverseSide(targetRelation, relation, entity) {
106
- if (targetRelation && !targetRelation.nullable || relation.orphanRemoval) {
107
- return this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
108
- }
109
- return void 0;
110
- }
111
- async cleanupOrphan(relation, targetEntity, currentInverseSide) {
112
- if (relation.orphanRemoval && currentInverseSide) {
113
- await this.updateBuilder.update;
114
- return await this.mapper.delete(targetEntity, { [targetEntity.primary]: currentInverseSide });
115
- }
116
- return [];
117
- }
118
- async update({ entity, relation, targetEntity, input }) {
119
- const inversePrimary = await this.mapper.selectField(
120
- entity,
121
- { [entity.primary]: this.primaryValue },
122
- relation.name
123
- );
124
- if (!inversePrimary) {
125
- return [new MutationNothingToDo([], NothingToDoReason.emptyRelation)];
126
- }
127
- return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, input);
128
- }
129
- async upsert({ entity, relation, targetEntity, input: { create, update } }) {
130
- const select = this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
131
- const result = [];
132
- await this.updateBuilder.addFieldValue(relation.name, async () => {
133
- const primary = await select;
134
- if (primary) {
135
- return void 0;
136
- }
137
- const insertResult = await this.mapper.insert(targetEntity, create);
138
- const insertPrimary = getInsertPrimary(insertResult);
139
- if (insertPrimary) {
140
- return insertPrimary;
141
- }
142
- result.push(...insertResult);
143
- return AbortDataManipulation;
144
- });
145
- const inversePrimary = await select;
146
- if (inversePrimary) {
147
- return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, update);
148
- }
149
- return result;
150
- }
151
- async disconnect({ entity, targetEntity, relation, targetRelation }) {
152
- if (!relation.nullable) {
153
- return [new MutationConstraintViolationError([], ConstraintType.notNull)];
154
- }
155
- const result = [];
156
- const currentInverseSide = targetRelation && !targetRelation.nullable || relation.orphanRemoval ? this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name) : Promise.resolve(void 0);
157
- this.updateBuilder.addFieldValue(relation.name, async () => {
158
- const inversePrimary = await currentInverseSide;
159
- if (inversePrimary && targetRelation && !targetRelation.nullable && !relation.orphanRemoval) {
160
- result.push(new MutationConstraintViolationError([], ConstraintType.notNull));
161
- return AbortDataManipulation;
162
- }
163
- return null;
164
- });
165
- if (relation.orphanRemoval) {
166
- const inversePrimary = await currentInverseSide;
167
- if (inversePrimary) {
168
- await this.updateBuilder.update;
169
- const deleteOrphanedInverseSide = await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary });
170
- result.push(...deleteOrphanedInverseSide);
171
- }
172
- }
173
- return result;
174
- }
175
- async delete({ entity, targetEntity, relation, targetRelation }) {
176
- if (!relation.nullable && relation.joiningColumn.onDelete !== Model.OnDelete.cascade) {
177
- return [new MutationConstraintViolationError([], ConstraintType.notNull)];
178
- }
179
- if (relation.joiningColumn.onDelete === Model.OnDelete.restrict) {
180
- console.error(
181
- "[DEPRECATED] You are deleting an entity over the relation where onDelete behaviour is set to restrict. This will fail in next version."
182
- );
183
- this.updateBuilder.addFieldValue(relation.name, null);
184
- }
185
- const targetPrimary = await this.mapper.selectField(
186
- entity,
187
- { [entity.primary]: this.primaryValue },
188
- relation.name
189
- );
190
- if (!targetPrimary) {
191
- return [new MutationNothingToDo([], NothingToDoReason.emptyRelation)];
192
- }
193
- await this.updateBuilder.update;
194
- return await this.mapper.delete(targetEntity, new CheckedPrimary(targetPrimary));
195
- }
196
- }
197
- export {
198
- OneHasOneOwningUpdateInputProcessor
199
- };
200
- //# sourceMappingURL=OneHasOneOwningUpdateInputProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OneHasOneOwningUpdateInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.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 { UpdateBuilder } from '../update/UpdateBuilder'\nimport { CheckedPrimary } from '../CheckedPrimary'\nimport { AbortDataManipulation } from '../DataManipulationBuilder'\n\nexport class OneHasOneOwningUpdateInputProcessor {\n\tconstructor(\n\t\tprivate readonly primaryValue: Input.PrimaryValue,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly updateBuilder: UpdateBuilder,\n\t) {\n\t}\n\n\tpublic async connect(context: Model.OneHasOneOwningContext & { input: Input.UniqueWhere }) {\n\t\tconst result: MutationResultList = []\n\t\tlet currentInverseSide: Input.PrimaryValue | undefined\n\n\t\tconst { entity, relation, targetEntity, targetRelation, input } = context\n\t\tconst newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tconst newInverseSide = await this.mapper.getPrimaryValue(targetEntity, input)\n\t\t\tif (!newInverseSide) {\n\t\t\t\tresult.push(new MutationEntryNotFoundError([], input))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\tcurrentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity)\n\t\t\treturn await this.connectInternal(context, currentInverseSide, newInverseSide, result)\n\t\t})\n\n\t\tif (newInverseSide) {\n\t\t\tresult.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)))\n\t\t}\n\n\t\treturn result\n\t}\n\n\tpublic async create(context: Model.OneHasOneOwningContext & { input: Input.CreateDataInput }) {\n\t\tconst result: MutationResultList = []\n\t\tlet currentInverseSide: Input.PrimaryValue | undefined\n\t\tconst { entity, relation, targetEntity, targetRelation } = context\n\t\tawait this.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tcurrentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity)\n\t\t\t// orphan removal handled bellow\n\t\t\treturn await this.createInternal(context, currentInverseSide, result)\n\t\t})\n\n\t\tresult.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)))\n\t\treturn result\n\t}\n\n\tpublic async connectOrCreate({ input: { connect, create }, ...context }: Model.OneHasOneOwningContext & { input: Input.ConnectOrCreateInput }) {\n\t\tconst result: MutationResultList = []\n\t\tlet currentInverseSide: Input.PrimaryValue | undefined\n\n\t\tconst { relation, targetRelation, targetEntity, entity } = context\n\t\tconst newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tconst newInverseSide = await this.mapper.getPrimaryValue(targetEntity, connect)\n\t\t\tcurrentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity)\n\t\t\tif (newInverseSide) {\n\t\t\t\treturn await this.connectInternal(context, currentInverseSide, newInverseSide, result)\n\t\t\t}\n\t\t\treturn await this.createInternal({ ...context, input: create }, currentInverseSide, result)\n\t\t})\n\n\t\tif (newInverseSide) {\n\t\t\tresult.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)))\n\t\t}\n\n\t\treturn result\n\t}\n\n\tprivate async createInternal(\n\t\t{ targetEntity, targetRelation, relation, input }: Model.OneHasOneOwningContext & { input: Input.CreateDataInput },\n\t\tcurrentInverseSide: Input.PrimaryValue | undefined,\n\t\tresult: MutationResultList,\n\t) {\n\t\tif (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {\n\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\treturn AbortDataManipulation\n\t\t}\n\n\t\tconst insertResult = await this.mapper.insert(targetEntity, input)\n\t\tresult.push(...insertResult)\n\t\tconst newInverseSide = getInsertPrimary(insertResult)\n\t\tif (newInverseSide) {\n\t\t\treturn newInverseSide\n\t\t}\n\t\treturn AbortDataManipulation\n\t}\n\n\tprivate async connectInternal(\n\t\t{ targetEntity, targetRelation, relation, entity }: Model.OneHasOneOwningContext,\n\t\tcurrentInverseSide: Input.PrimaryValue | undefined,\n\t\tnewInverseSide: Input.PrimaryValue,\n\t\tresult: MutationResultList,\n\t) {\n\n\t\tif (currentInverseSide === newInverseSide) {\n\t\t\tresult.push(new MutationNothingToDo([], NothingToDoReason.alreadyExists))\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst currentOwnerOfNewInverseSide = await this.mapper.getPrimaryValue(entity, {\n\t\t\t[relation.name]: { [targetEntity.primary]: newInverseSide },\n\t\t})\n\n\t\tif (currentOwnerOfNewInverseSide === this.primaryValue) {\n\t\t\tresult.push(new MutationNothingToDo([], NothingToDoReason.alreadyExists))\n\t\t\treturn undefined\n\t\t}\n\n\t\t// orphan removal handled bellow\n\t\tif (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {\n\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\treturn AbortDataManipulation\n\t\t}\n\n\t\tif (currentOwnerOfNewInverseSide) {\n\t\t\tif (!relation.nullable) {\n\t\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\n\t\t\tconst currentOwnerDisconnect = await this.mapper.updateInternal(\n\t\t\t\tentity,\n\t\t\t\t{\n\t\t\t\t\t[entity.primary]: currentOwnerOfNewInverseSide,\n\t\t\t\t},\n\t\t\t\tbuilder => {\n\t\t\t\t\tbuilder.addPredicates([relation.name])\n\t\t\t\t\tbuilder.addFieldValue(relation.name, null)\n\t\t\t\t},\n\t\t\t)\n\t\t\tresult.push(...currentOwnerDisconnect)\n\t\t}\n\t\treturn newInverseSide\n\t}\n\n\tprivate async getCurrentInverseSide(targetRelation: Model.OneHasOneInverseRelation | null, relation: Model.OneHasOneOwningRelation, entity: Model.Entity) {\n\t\tif ((targetRelation && !targetRelation.nullable) || relation.orphanRemoval) {\n\t\t\treturn this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name)\n\t\t}\n\t\treturn undefined\n\t}\n\n\tprivate async cleanupOrphan(relation: Model.OneHasOneOwningRelation, targetEntity: Model.Entity, currentInverseSide: Input.PrimaryValue | undefined) {\n\t\tif (relation.orphanRemoval && currentInverseSide) {\n\t\t\tawait this.updateBuilder.update\n\t\t\treturn await this.mapper.delete(targetEntity, { [targetEntity.primary]: currentInverseSide })\n\t\t}\n\t\treturn []\n\t}\n\n\tpublic async update({ entity, relation, targetEntity, input }: Model.OneHasOneOwningContext & { input: Input.UpdateDataInput }) {\n\t\tconst inversePrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: this.primaryValue },\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({ entity, relation, targetEntity, input: { create, update } }: Model.OneHasOneOwningContext & { input: UpdateInputProcessor.UpsertInput }) {\n\t\tconst select = this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name)\n\n\t\tconst result: MutationResultList = []\n\t\t//addColumnData has to be called synchronously\n\t\tawait this.updateBuilder.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}\n\t\treturn result\n\t}\n\n\tpublic async disconnect({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneOwningContext & { input: undefined }) {\n\t\tif (!relation.nullable) {\n\t\t\treturn [new MutationConstraintViolationError([], ConstraintType.notNull)]\n\t\t}\n\t\tconst result: MutationResultList = []\n\n\t\tconst currentInverseSide = (targetRelation && !targetRelation.nullable) || relation.orphanRemoval\n\t\t\t? this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name)\n\t\t\t: Promise.resolve(undefined)\n\n\t\tthis.updateBuilder.addFieldValue(relation.name, async () => {\n\t\t\tconst inversePrimary = await currentInverseSide\n\t\t\tif (inversePrimary && targetRelation && !targetRelation.nullable && !relation.orphanRemoval) {\n\t\t\t\tresult.push(new MutationConstraintViolationError([], ConstraintType.notNull))\n\t\t\t\treturn AbortDataManipulation\n\t\t\t}\n\t\t\treturn null\n\t\t})\n\t\tif (relation.orphanRemoval) {\n\t\t\tconst inversePrimary = await currentInverseSide\n\t\t\tif (inversePrimary) {\n\t\t\t\tawait this.updateBuilder.update\n\t\t\t\tconst deleteOrphanedInverseSide = await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary })\n\t\t\t\tresult.push(...deleteOrphanedInverseSide)\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}\n\n\tpublic async delete({ entity, targetEntity, relation, targetRelation }: Model.OneHasOneOwningContext & { input: undefined }) {\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\tthis.updateBuilder.addFieldValue(relation.name, null)\n\t\t}\n\t\tconst targetPrimary = await this.mapper.selectField(\n\t\t\tentity,\n\t\t\t{ [entity.primary]: this.primaryValue },\n\t\t\trelation.name,\n\t\t)\n\t\tif (!targetPrimary) {\n\t\t\treturn [new MutationNothingToDo([], NothingToDoReason.emptyRelation)]\n\t\t}\n\t\tawait this.updateBuilder.update\n\t\treturn await this.mapper.delete(targetEntity, new CheckedPrimary(targetPrimary))\n\t}\n}\n"],"names":["newInverseSide"],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Value } from '@contember/schema';
2
- export interface DataManipulationBuilder {
3
- addFieldValue(fieldName: string, value: Value.GenericValueLike<Value.AtomicValue<AbortDataManipulation | undefined>>): Promise<Value.AtomicValue<AbortDataManipulation | undefined>>;
4
- }
5
- export declare const AbortDataManipulation: unique symbol;
6
- export type AbortDataManipulation = typeof AbortDataManipulation;
7
- //# sourceMappingURL=DataManipulationBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataManipulationBuilder.d.ts","sourceRoot":"","sources":["../../../src/mapper/DataManipulationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,WAAW,uBAAuB;IACvC,aAAa,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC,GACjF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC,CAAA;CAChE;AAGD,eAAO,MAAM,qBAAqB,eAAkC,CAAA;AACpE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA"}
@@ -1,32 +0,0 @@
1
- import { UpdateInputProcessor } from '../../inputProcessing';
2
- import { Input, Model } from '@contember/schema';
3
- import { MutationResultList } from '../Result';
4
- import { Mapper } from '../Mapper';
5
- type RelationContext = Model.ManyHasManyOwningContext | Model.ManyHasManyInverseContext;
6
- export declare class ManyHasManyInputProcessor {
7
- private readonly mapper;
8
- constructor(mapper: Mapper);
9
- connect({ entity, targetEntity, relation, targetRelation, input }: RelationContext & {
10
- input: Input.UniqueWhere;
11
- }, primary: Input.PrimaryValue): Promise<MutationResultList>;
12
- create({ entity, targetEntity, relation, input }: RelationContext & {
13
- input: Input.CreateDataInput;
14
- }, primary: Input.PrimaryValue): Promise<MutationResultList>;
15
- connectOrCreate(context: RelationContext & {
16
- input: Input.ConnectOrCreateInput;
17
- }, primary: Input.PrimaryValue): Promise<MutationResultList>;
18
- update({ entity, targetEntity, relation, input: { where, data } }: RelationContext & {
19
- input: UpdateInputProcessor.UpdateManyInput;
20
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResult[]>;
21
- upsert({ entity, relation, targetEntity, input: { create, update, where } }: RelationContext & {
22
- input: UpdateInputProcessor.UpsertManyInput;
23
- }, primary: Input.PrimaryValue): Promise<MutationResultList>;
24
- disconnect({ entity, targetEntity, relation, input }: RelationContext & {
25
- input: Input.UniqueWhere;
26
- }, primary: Input.PrimaryValue): Promise<MutationResultList>;
27
- delete({ entity, targetEntity, relation, targetRelation, input }: RelationContext & {
28
- input: Input.UniqueWhere;
29
- }, primary: Input.PrimaryValue): Promise<MutationResultList>;
30
- }
31
- export {};
32
- //# sourceMappingURL=ManyHasManyInputProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManyHasManyInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/ManyHasManyInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAgD,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,KAAK,eAAe,GAAG,KAAK,CAAC,wBAAwB,GAAG,KAAK,CAAC,yBAAyB,CAAA;AAEvF,qBAAa,yBAAyB;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAInB,OAAO,CACnB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,EACzG,OAAO,EAAE,KAAK,CAAC,YAAY;IASf,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE,EAC7F,OAAO,EAAE,KAAK,CAAC,YAAY;IAaf,eAAe,CAC3B,OAAO,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE,EAChE,OAAO,EAAE,KAAK,CAAC,YAAY,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAYjB,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,eAAe,CAAA;KAAE,EAC7H,OAAO,EAAE,KAAK,CAAC,YAAY;IAYf,MAAM,CAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,eAAe,CAAA;KAAE,EACvI,OAAO,EAAE,KAAK,CAAC,YAAY;IAmBf,UAAU,CACtB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,EACzF,OAAO,EAAE,KAAK,CAAC,YAAY;IAUf,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,EACzG,OAAO,EAAE,KAAK,CAAC,YAAY;CAI5B"}
@@ -1,32 +0,0 @@
1
- import { UpdateInputProcessor } from '../../inputProcessing';
2
- import { Input, Model } from '@contember/schema';
3
- import { MutationConstraintViolationError, MutationResultList } from '../Result';
4
- import { Mapper } from '../Mapper';
5
- import { DataManipulationBuilder } from '../DataManipulationBuilder';
6
- import { UpdateBuilder } from '../update';
7
- export declare class ManyHasOneInputProcessor {
8
- private readonly mapper;
9
- constructor(mapper: Mapper);
10
- connect({ targetEntity, relation, input }: Model.ManyHasOneContext & {
11
- input: Input.UniqueWhere;
12
- }, builder: DataManipulationBuilder): Promise<MutationResultList>;
13
- create({ relation, targetEntity, input }: Model.ManyHasOneContext & {
14
- input: Input.CreateDataInput;
15
- }, builder: DataManipulationBuilder): Promise<MutationResultList>;
16
- connectOrCreate({ input: { connect, create }, relation, targetEntity }: Model.ManyHasOneContext & {
17
- input: Input.ConnectOrCreateInput;
18
- }, builder: DataManipulationBuilder): Promise<MutationResultList>;
19
- update({ entity, relation, targetEntity, targetRelation, input }: Model.ManyHasOneContext & {
20
- input: Input.UpdateDataInput;
21
- }, primary: Input.PrimaryValue): Promise<MutationResultList>;
22
- upsert({ entity, relation, targetEntity, input: { create, update } }: Model.ManyHasOneContext & {
23
- input: UpdateInputProcessor.UpsertInput;
24
- }, builder: DataManipulationBuilder, primary: Input.PrimaryValue): Promise<MutationResultList>;
25
- disconnect({ entity, targetEntity, relation, targetRelation }: Model.ManyHasOneContext & {
26
- input: undefined;
27
- }, builder: DataManipulationBuilder): Promise<MutationConstraintViolationError[]>;
28
- delete({ entity, targetEntity, relation, targetRelation }: Model.ManyHasOneContext & {
29
- input: undefined;
30
- }, builder: UpdateBuilder, primary: Input.PrimaryValue): Promise<MutationResultList>;
31
- }
32
- //# sourceMappingURL=ManyHasOneInputProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManyHasOneInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/ManyHasOneInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAGN,gCAAgC,EAGhC,kBAAkB,EAElB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAyB,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,qBAAa,wBAAwB;IAGnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAInB,OAAO,CACnB,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,EACzF,OAAO,EAAE,uBAAuB;IAcpB,MAAM,CAClB,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE,EAC7F,OAAO,EAAE,uBAAuB;IAepB,eAAe,CAC3B,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE,EACvH,OAAO,EAAE,uBAAuB;IAoBpB,MAAM,CAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE,EACrH,OAAO,EAAE,KAAK,CAAC,YAAY;IAaf,MAAM,CAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAA;KAAE,EACpI,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,KAAK,CAAC,YAAY;IA4Bf,UAAU,CACtB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE,EAClG,OAAO,EAAE,uBAAuB;IASpB,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE,EAClG,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,KAAK,CAAC,YAAY;CAoB5B"}
@@ -1,29 +0,0 @@
1
- import { UpdateInputProcessor } from '../../inputProcessing';
2
- import { Input, Model } from '@contember/schema';
3
- import { Mapper } from '../Mapper';
4
- export declare class OneHasManyInputProcessor {
5
- private readonly mapper;
6
- constructor(mapper: Mapper);
7
- connect({ entity, targetEntity, targetRelation, input }: Model.OneHasManyContext & {
8
- input: Input.UniqueWhere;
9
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResultList>;
10
- create({ entity, targetEntity, targetRelation, input }: Model.OneHasManyContext & {
11
- input: Input.CreateDataInput;
12
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResultList>;
13
- connectOrCreate({ entity, targetRelation, targetEntity, input: { connect, create } }: Model.OneHasManyContext & {
14
- input: Input.ConnectOrCreateInput;
15
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResultList>;
16
- update({ entity, targetEntity, targetRelation, input: { data, where } }: Model.OneHasManyContext & {
17
- input: UpdateInputProcessor.UpdateManyInput;
18
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResultList>;
19
- upsert({ entity, targetEntity, targetRelation, input: { create, update, where } }: Model.OneHasManyContext & {
20
- input: UpdateInputProcessor.UpsertManyInput;
21
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResultList>;
22
- disconnect({ entity, targetEntity, relation, targetRelation, input }: Model.OneHasManyContext & {
23
- input: Input.UniqueWhere;
24
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResultList>;
25
- delete({ entity, targetEntity, relation, targetRelation, input }: Model.OneHasManyContext & {
26
- input: Input.UniqueWhere;
27
- }, primary: Input.PrimaryValue): Promise<import("../Result").MutationResultList>;
28
- }
29
- //# sourceMappingURL=OneHasManyInputProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OneHasManyInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasManyInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,qBAAa,wBAAwB;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAInB,OAAO,CACnB,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,EACvG,OAAO,EAAE,KAAK,CAAC,YAAY;IAOf,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE,EAC3G,OAAO,EAAE,KAAK,CAAC,YAAY;IAQf,eAAe,CAC3B,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE,EACrI,OAAO,EAAE,KAAK,CAAC,YAAY;IAaf,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,eAAe,CAAA;KAAE,EAC3I,OAAO,EAAE,KAAK,CAAC,YAAY;IAYf,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,eAAe,CAAA;KAAE,EACrJ,OAAO,EAAE,KAAK,CAAC,YAAY;IAmBf,UAAU,CACtB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,EACjH,OAAO,EAAE,KAAK,CAAC,YAAY;IASf,MAAM,CAClB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE,EACjH,OAAO,EAAE,KAAK,CAAC,YAAY;CAO5B"}
@@ -1,21 +0,0 @@
1
- import { InsertBuilder } from '../insert';
2
- import { Mapper } from '../Mapper';
3
- import { MutationResultList } from '../Result';
4
- import { Input, Model } from '@contember/schema';
5
- export declare class OneHasOneInverseCreateInputProcessor {
6
- private readonly insertBuilder;
7
- private readonly mapper;
8
- constructor(insertBuilder: InsertBuilder, mapper: Mapper);
9
- connect(context: Model.OneHasOneInverseContext & {
10
- input: Input.UniqueWhere;
11
- }): Promise<import("../Result").MutationResult[]>;
12
- create(context: Model.OneHasOneInverseContext & {
13
- input: Input.CreateDataInput;
14
- }): Promise<MutationResultList>;
15
- connectOrCreate({ input, ...context }: Model.OneHasOneInverseContext & {
16
- input: Input.ConnectOrCreateInput;
17
- }): Promise<MutationResultList>;
18
- private connectInternal;
19
- private createInternal;
20
- }
21
- //# sourceMappingURL=OneHasOneInverseCreateInputProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OneHasOneInverseCreateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAIN,kBAAkB,EAClB,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,qBAAa,oCAAoC;IAE/C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IAInB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE;IAe7E,MAAM,CAClB,OAAO,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IAY7D,eAAe,CAC3B,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE;YAc/E,eAAe;YA4Bf,cAAc;CAS5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OneHasOneInverseUpdateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,kBAAkB,EAGlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,qBAAa,oCAAoC;IAE/C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,MAAM,EAAE,MAAM;IAInB,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,EAAG,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAA;KAAE;IAQxF,eAAe,CAC3B,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAA;KAAE;YAU3E,eAAe;IAuChB,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IA0BxH,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAA;KAAE;IAQxH,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAA;KAAE;IAgB3F,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE;IA4BnH,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,uBAAuB,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE;CAO5H"}