@contember/engine-content-api 2.0.0-alpha.20 → 2.0.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) 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/update/SqlUpdateInputProcessor.cjs +36 -36
  56. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  57. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  58. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  59. package/dist/development/src/mapper/update/UpdateBuilder.cjs +2 -14
  60. package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  61. package/dist/development/src/mapper/update/UpdateBuilder.js +2 -14
  62. package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
  63. package/dist/development/src/mapper/update/Updater.cjs +45 -17
  64. package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
  65. package/dist/development/src/mapper/update/Updater.js +47 -19
  66. package/dist/development/src/mapper/update/Updater.js.map +1 -1
  67. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
  68. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  69. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
  70. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  71. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
  72. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  73. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
  74. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  75. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
  76. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  77. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
  78. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  79. package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
  80. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  81. package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
  82. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  83. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
  84. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  85. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
  86. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  87. package/dist/development/src/resolvers/MutationResolver.cjs +1 -1
  88. package/dist/development/src/resolvers/MutationResolver.js +1 -1
  89. package/dist/production/index.cjs +1 -1
  90. package/dist/production/index.js +1 -1
  91. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
  92. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  93. package/dist/production/src/input-validation/preValidation/InputPreValidator.js +1 -1
  94. package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  95. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs +10 -10
  96. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  97. package/dist/production/src/inputProcessing/CreateInputVisitor.js +10 -10
  98. package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  99. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs +13 -13
  100. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  101. package/dist/production/src/inputProcessing/UpdateInputVisitor.js +13 -13
  102. package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  103. package/dist/production/src/mapper/MutationProcessorHelper.cjs +10 -2
  104. package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  105. package/dist/production/src/mapper/MutationProcessorHelper.js +10 -2
  106. package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
  107. package/dist/production/src/mapper/Result.cjs +10 -27
  108. package/dist/production/src/mapper/Result.cjs.map +1 -1
  109. package/dist/production/src/mapper/Result.js +10 -27
  110. package/dist/production/src/mapper/Result.js.map +1 -1
  111. package/dist/production/src/mapper/insert/InsertBuilder.cjs +1 -13
  112. package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  113. package/dist/production/src/mapper/insert/InsertBuilder.js +1 -13
  114. package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
  115. package/dist/production/src/mapper/insert/Inserter.cjs +43 -21
  116. package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
  117. package/dist/production/src/mapper/insert/Inserter.js +45 -23
  118. package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
  119. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs +22 -76
  120. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  121. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js +22 -76
  122. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  123. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +45 -0
  124. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  125. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +45 -0
  126. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  127. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +42 -0
  128. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  129. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +42 -0
  130. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  131. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +37 -0
  132. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  133. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +37 -0
  134. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  135. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +25 -32
  136. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  137. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +25 -32
  138. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  139. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +67 -0
  140. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  141. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +67 -0
  142. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  143. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
  144. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  145. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  146. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  147. package/dist/production/src/mapper/update/UpdateBuilder.cjs +2 -14
  148. package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  149. package/dist/production/src/mapper/update/UpdateBuilder.js +2 -14
  150. package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
  151. package/dist/production/src/mapper/update/Updater.cjs +45 -17
  152. package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
  153. package/dist/production/src/mapper/update/Updater.js +47 -19
  154. package/dist/production/src/mapper/update/Updater.js.map +1 -1
  155. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
  156. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  157. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
  158. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  159. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
  160. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  161. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
  162. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  163. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
  164. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  165. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
  166. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  167. package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
  168. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  169. package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
  170. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  171. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
  172. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  173. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
  174. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  175. package/dist/production/src/resolvers/MutationResolver.cjs +1 -1
  176. package/dist/production/src/resolvers/MutationResolver.js +1 -1
  177. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  178. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts.map +1 -1
  179. package/dist/types/inputProcessing/CreateInputVisitor.d.ts +8 -8
  180. package/dist/types/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  181. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts +8 -8
  182. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  183. package/dist/types/mapper/MutationProcessorHelper.d.ts +2 -2
  184. package/dist/types/mapper/MutationProcessorHelper.d.ts.map +1 -1
  185. package/dist/types/mapper/Result.d.ts +11 -5
  186. package/dist/types/mapper/Result.d.ts.map +1 -1
  187. package/dist/types/mapper/insert/InsertBuilder.d.ts +3 -7
  188. package/dist/types/mapper/insert/InsertBuilder.d.ts.map +1 -1
  189. package/dist/types/mapper/insert/Inserter.d.ts +0 -1
  190. package/dist/types/mapper/insert/Inserter.d.ts.map +1 -1
  191. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts +11 -8
  192. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  193. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts +24 -0
  194. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts.map +1 -0
  195. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts +23 -0
  196. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts.map +1 -0
  197. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts +26 -0
  198. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts.map +1 -0
  199. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts +29 -0
  200. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
  201. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts +24 -0
  202. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
  203. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts +10 -7
  204. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  205. package/dist/types/mapper/update/UpdateBuilder.d.ts +2 -6
  206. package/dist/types/mapper/update/UpdateBuilder.d.ts.map +1 -1
  207. package/dist/types/mapper/update/Updater.d.ts +0 -1
  208. package/dist/types/mapper/update/Updater.d.ts.map +1 -1
  209. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts +46 -0
  210. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts.map +1 -0
  211. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts +40 -0
  212. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts.map +1 -0
  213. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts +46 -0
  214. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts.map +1 -0
  215. package/dist/types/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.d.ts +17 -13
  216. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
  217. package/dist/types/mapper/{relations → update/relations}/OneHasOneOwningUpdateInputProcessor.d.ts +19 -16
  218. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
  219. package/dist/types/tsconfig.tsbuildinfo +1 -1
  220. package/package.json +10 -10
  221. package/src/input-validation/preValidation/InputPreValidator.ts +3 -5
  222. package/src/inputProcessing/CreateInputVisitor.ts +14 -14
  223. package/src/inputProcessing/UpdateInputVisitor.ts +17 -17
  224. package/src/mapper/MutationProcessorHelper.ts +16 -8
  225. package/src/mapper/Result.ts +11 -47
  226. package/src/mapper/insert/InsertBuilder.ts +8 -22
  227. package/src/mapper/insert/Inserter.ts +53 -40
  228. package/src/mapper/insert/SqlCreateInputProcessor.ts +35 -88
  229. package/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts +59 -0
  230. package/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts +57 -0
  231. package/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts +50 -0
  232. package/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts +91 -0
  233. package/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.ts +87 -0
  234. package/src/mapper/update/SqlUpdateInputProcessor.ts +48 -46
  235. package/src/mapper/update/UpdateBuilder.ts +9 -23
  236. package/src/mapper/update/Updater.ts +53 -34
  237. package/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.ts +116 -0
  238. package/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.ts +125 -0
  239. package/src/mapper/update/relations/OneHasManyUpdateInputProcessor.ts +111 -0
  240. package/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.ts +93 -73
  241. package/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.ts +243 -0
  242. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +8 -8
  243. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +4 -4
  244. package/dist/development/src/mapper/DataManipulationBuilder.cjs +0 -5
  245. package/dist/development/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  246. package/dist/development/src/mapper/DataManipulationBuilder.js +0 -5
  247. package/dist/development/src/mapper/DataManipulationBuilder.js.map +0 -1
  248. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  249. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  250. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  251. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  252. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  253. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  254. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  255. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  256. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  257. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  258. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  259. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  260. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  261. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  262. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  263. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  264. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  265. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  266. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  267. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  268. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  269. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  270. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  271. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  272. package/dist/production/src/mapper/DataManipulationBuilder.cjs +0 -5
  273. package/dist/production/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  274. package/dist/production/src/mapper/DataManipulationBuilder.js +0 -5
  275. package/dist/production/src/mapper/DataManipulationBuilder.js.map +0 -1
  276. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  277. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  278. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  279. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  280. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  281. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  282. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  283. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  284. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  285. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  286. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  287. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  288. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  289. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  290. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  291. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  292. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  293. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  294. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  295. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  296. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  297. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  298. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  299. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  300. package/dist/types/mapper/DataManipulationBuilder.d.ts +0 -7
  301. package/dist/types/mapper/DataManipulationBuilder.d.ts.map +0 -1
  302. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts +0 -32
  303. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts.map +0 -1
  304. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts +0 -32
  305. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts.map +0 -1
  306. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts +0 -29
  307. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts.map +0 -1
  308. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +0 -21
  309. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +0 -1
  310. package/dist/types/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +0 -1
  311. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +0 -21
  312. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +0 -1
  313. package/dist/types/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +0 -1
  314. package/src/mapper/DataManipulationBuilder.ts +0 -12
  315. package/src/mapper/relations/ManyHasManyInputProcessor.ts +0 -108
  316. package/src/mapper/relations/ManyHasOneInputProcessor.ts +0 -158
  317. package/src/mapper/relations/OneHasManyInputProcessor.ts +0 -101
  318. package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +0 -99
  319. package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +0 -92
  320. package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +0 -253
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneHasOneOwningCreateInputProcessor.js","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":[],"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,IAAI,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,UAAU,iBAAiB,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,UAAU,iBAAiB,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,IAAI,iCAAiC,CAAA,GAAI,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;"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const MutationProcessorHelper = require("../MutationProcessorHelper.cjs");
4
- const OneHasOneInverseUpdateInputProcessor = require("../relations/OneHasOneInverseUpdateInputProcessor.cjs");
5
- const OneHasOneOwningUpdateInputProcessor = require("../relations/OneHasOneOwningUpdateInputProcessor.cjs");
6
- const OneHasManyInputProcessor = require("../relations/OneHasManyInputProcessor.cjs");
7
- const ManyHasOneInputProcessor = require("../relations/ManyHasOneInputProcessor.cjs");
8
- const ManyHasManyInputProcessor = require("../relations/ManyHasManyInputProcessor.cjs");
4
+ const OneHasOneInverseUpdateInputProcessor = require("./relations/OneHasOneInverseUpdateInputProcessor.cjs");
5
+ const OneHasOneOwningUpdateInputProcessor = require("./relations/OneHasOneOwningUpdateInputProcessor.cjs");
6
+ const OneHasManyUpdateInputProcessor = require("./relations/OneHasManyUpdateInputProcessor.cjs");
7
+ const ManyHasManyUpdateInputProcessor = require("./relations/ManyHasManyUpdateInputProcessor.cjs");
8
+ const ManyHasOneUpdateInputProcessor = require("./relations/ManyHasOneUpdateInputProcessor.cjs");
9
9
  var __defProp = Object.defineProperty;
10
10
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
11
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -21,40 +21,40 @@ class SqlUpdateInputProcessor {
21
21
  __publicField(this, "manyHasOneUpdateInputProcessor");
22
22
  __publicField(this, "manyHasManyUpdateInputProcessor");
23
23
  __publicField(this, "manyHasManyInverse", {
24
- connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),
25
- create: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),
26
- connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),
27
- update: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),
28
- upsert: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),
29
- delete: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),
30
- disconnect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue))
24
+ connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx)),
25
+ create: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx)),
26
+ connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),
27
+ update: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx)),
28
+ upsert: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx)),
29
+ delete: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx)),
30
+ disconnect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx))
31
31
  });
32
32
  __publicField(this, "manyHasManyOwning", {
33
- connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),
34
- create: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),
35
- connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),
36
- update: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),
37
- upsert: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),
38
- delete: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),
39
- disconnect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue))
33
+ connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx)),
34
+ create: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx)),
35
+ connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),
36
+ update: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx)),
37
+ upsert: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx)),
38
+ delete: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx)),
39
+ disconnect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx))
40
40
  });
41
41
  __publicField(this, "manyHasOne", {
42
- connect: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connect(ctx, this.updateBuilder)),
43
- create: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.create(ctx, this.updateBuilder)),
44
- connectOrCreate: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx, this.updateBuilder)),
45
- update: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.update(ctx, this.primaryValue)),
46
- upsert: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.upsert(ctx, this.updateBuilder, this.primaryValue)),
47
- delete: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.delete(ctx, this.updateBuilder, this.primaryValue)),
48
- disconnect: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.disconnect(ctx, this.updateBuilder))
42
+ connect: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connect(ctx)),
43
+ create: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.create(ctx)),
44
+ connectOrCreate: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx)),
45
+ update: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.update(ctx)),
46
+ upsert: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.upsert(ctx)),
47
+ delete: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.delete(ctx)),
48
+ disconnect: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.disconnect(ctx))
49
49
  });
50
50
  __publicField(this, "oneHasMany", {
51
- connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),
52
- create: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),
53
- connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),
54
- update: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),
55
- upsert: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),
56
- delete: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),
57
- disconnect: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue))
51
+ connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connect(ctx)),
52
+ create: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.create(ctx)),
53
+ connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx)),
54
+ update: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.update(ctx)),
55
+ upsert: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.upsert(ctx)),
56
+ delete: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.delete(ctx)),
57
+ disconnect: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.disconnect(ctx))
58
58
  });
59
59
  __publicField(this, "oneHasOneInverse", {
60
60
  connect: MutationProcessorHelper.hasOneProcessor((ctx) => this.oneHasOneInverseUpdateInputProcessor.connect(ctx)),
@@ -76,9 +76,9 @@ class SqlUpdateInputProcessor {
76
76
  });
77
77
  this.oneHasOneInverseUpdateInputProcessor = new OneHasOneInverseUpdateInputProcessor.OneHasOneInverseUpdateInputProcessor(this.primaryValue, this.mapper);
78
78
  this.oneHasOneOwningUpdateInputProcessor = new OneHasOneOwningUpdateInputProcessor.OneHasOneOwningUpdateInputProcessor(this.primaryValue, this.mapper, this.updateBuilder);
79
- this.oneHasManyUpdateInputProcessor = new OneHasManyInputProcessor.OneHasManyInputProcessor(this.mapper);
80
- this.manyHasOneUpdateInputProcessor = new ManyHasOneInputProcessor.ManyHasOneInputProcessor(this.mapper);
81
- this.manyHasManyUpdateInputProcessor = new ManyHasManyInputProcessor.ManyHasManyInputProcessor(this.mapper);
79
+ this.oneHasManyUpdateInputProcessor = new OneHasManyUpdateInputProcessor.OneHasManyUpdateInputProcessor(this.mapper);
80
+ this.manyHasOneUpdateInputProcessor = new ManyHasOneUpdateInputProcessor.ManyHasOneUpdateInputProcessor(this.mapper, this.updateBuilder, this.primaryValue);
81
+ this.manyHasManyUpdateInputProcessor = new ManyHasManyUpdateInputProcessor.ManyHasManyUpdateInputProcessor(this.mapper);
82
82
  }
83
83
  column({ entity, column }) {
84
84
  if (this.data[column.name] !== void 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"SqlUpdateInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/update/SqlUpdateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { UpdateBuilder } from './UpdateBuilder'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseUpdateInputProcessor } from '../relations/OneHasOneInverseUpdateInputProcessor'\nimport { OneHasOneOwningUpdateInputProcessor } from '../relations/OneHasOneOwningUpdateInputProcessor'\nimport { OneHasManyInputProcessor } from '../relations/OneHasManyInputProcessor'\nimport { ManyHasOneInputProcessor } from '../relations/ManyHasOneInputProcessor'\nimport { ManyHasManyInputProcessor } from '../relations/ManyHasManyInputProcessor'\nimport { UpdateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\n\nexport class SqlUpdateInputProcessor implements UpdateInputProcessor<MutationResultList> {\n\tprivate oneHasOneInverseUpdateInputProcessor: OneHasOneInverseUpdateInputProcessor\n\tprivate oneHasOneOwningUpdateInputProcessor: OneHasOneOwningUpdateInputProcessor\n\tprivate oneHasManyUpdateInputProcessor: OneHasManyInputProcessor\n\tprivate manyHasOneUpdateInputProcessor: ManyHasOneInputProcessor\n\tprivate manyHasManyUpdateInputProcessor: ManyHasManyInputProcessor\n\n\tconstructor(\n\t\tprivate readonly primaryValue: Input.PrimaryValue,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t\tprivate readonly updateBuilder: UpdateBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t\tthis.oneHasOneInverseUpdateInputProcessor = new OneHasOneInverseUpdateInputProcessor(this.primaryValue, this.mapper)\n\t\tthis.oneHasOneOwningUpdateInputProcessor = new OneHasOneOwningUpdateInputProcessor(this.primaryValue, this.mapper, this.updateBuilder)\n\t\tthis.oneHasManyUpdateInputProcessor = new OneHasManyInputProcessor(this.mapper)\n\t\tthis.manyHasOneUpdateInputProcessor = new ManyHasOneInputProcessor(this.mapper)\n\t\tthis.manyHasManyUpdateInputProcessor = new ManyHasManyInputProcessor(this.mapper)\n\t}\n\n\tpublic column({ entity, column }: Model.ColumnContext) {\n\t\tif (this.data[column.name] !== undefined) {\n\t\t\tthis.updateBuilder.addFieldValue(column.name, this.data[column.name] as Value.AtomicValue)\n\t\t}\n\t\treturn Promise.resolve([])\n\t}\n\n\tmanyHasManyInverse: UpdateInputProcessor<MutationResultList>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue)),\n\t}\n\n\tmanyHasManyOwning: UpdateInputProcessor<MutationResultList>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue)),\n\t}\n\n\tmanyHasOne: UpdateInputProcessor<MutationResultList>['manyHasOne'] = {\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connect(ctx, this.updateBuilder)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.create(ctx, this.updateBuilder)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx, this.updateBuilder)),\n\t\tupdate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.upsert(ctx, this.updateBuilder, this.primaryValue)),\n\t\tdelete: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.delete(ctx, this.updateBuilder, this.primaryValue)),\n\t\tdisconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.disconnect(ctx, this.updateBuilder)),\n\t}\n\n\toneHasMany: UpdateInputProcessor<MutationResultList>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),\n\t\tcreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),\n\t\tupdate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),\n\t\tdelete: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),\n\t\tdisconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue)),\n\t}\n\n\toneHasOneInverse: UpdateInputProcessor<MutationResultList>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasOneOwning: UpdateInputProcessor<MutationResultList>['oneHasOneOwning'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.disconnect(ctx)),\n\t}\n}\n"],"names":["hasManyProcessor","hasOneProcessor","OneHasOneInverseUpdateInputProcessor","OneHasOneOwningUpdateInputProcessor","OneHasManyInputProcessor","ManyHasOneInputProcessor","ManyHasManyInputProcessor"],"mappings":"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"}
1
+ {"version":3,"file":"SqlUpdateInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/update/SqlUpdateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { UpdateBuilder } from './UpdateBuilder'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseUpdateInputProcessor } from './relations/OneHasOneInverseUpdateInputProcessor'\nimport { OneHasOneOwningUpdateInputProcessor } from './relations/OneHasOneOwningUpdateInputProcessor'\nimport { OneHasManyUpdateInputProcessor } from './relations/OneHasManyUpdateInputProcessor'\nimport { ManyHasManyUpdateInputProcessor } from './relations/ManyHasManyUpdateInputProcessor'\nimport { UpdateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\nimport { ManyHasOneUpdateInputProcessor } from './relations/ManyHasOneUpdateInputProcessor'\n\nexport type SqlUpdateInputProcessorResult = MutationResultList | ((ctx: { primary: Input.PrimaryValue}) => Promise<MutationResultList>)\n\nexport class SqlUpdateInputProcessor implements UpdateInputProcessor<SqlUpdateInputProcessorResult> {\n\tprivate oneHasOneInverseUpdateInputProcessor: OneHasOneInverseUpdateInputProcessor\n\tprivate oneHasOneOwningUpdateInputProcessor: OneHasOneOwningUpdateInputProcessor\n\tprivate oneHasManyUpdateInputProcessor: OneHasManyUpdateInputProcessor\n\tprivate manyHasOneUpdateInputProcessor: ManyHasOneUpdateInputProcessor\n\tprivate manyHasManyUpdateInputProcessor: ManyHasManyUpdateInputProcessor\n\n\tconstructor(\n\t\tprivate readonly primaryValue: Input.PrimaryValue,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t\tprivate readonly updateBuilder: UpdateBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t\tthis.oneHasOneInverseUpdateInputProcessor = new OneHasOneInverseUpdateInputProcessor(this.primaryValue, this.mapper)\n\t\tthis.oneHasOneOwningUpdateInputProcessor = new OneHasOneOwningUpdateInputProcessor(this.primaryValue, this.mapper, this.updateBuilder)\n\t\tthis.oneHasManyUpdateInputProcessor = new OneHasManyUpdateInputProcessor(this.mapper)\n\t\tthis.manyHasOneUpdateInputProcessor = new ManyHasOneUpdateInputProcessor(this.mapper, this.updateBuilder, this.primaryValue)\n\t\tthis.manyHasManyUpdateInputProcessor = new ManyHasManyUpdateInputProcessor(this.mapper)\n\t}\n\n\tpublic column({ entity, column }: Model.ColumnContext) {\n\t\tif (this.data[column.name] !== undefined) {\n\t\t\tthis.updateBuilder.addFieldValue(column.name, this.data[column.name] as Value.AtomicValue)\n\t\t}\n\t\treturn Promise.resolve([])\n\t}\n\n\tmanyHasManyInverse: UpdateInputProcessor<SqlUpdateInputProcessorResult>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\tmanyHasManyOwning: UpdateInputProcessor<SqlUpdateInputProcessorResult>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\tmanyHasOne: UpdateInputProcessor<SqlUpdateInputProcessorResult>['manyHasOne'] = {\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasMany: UpdateInputProcessor<SqlUpdateInputProcessorResult>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasOneInverse: UpdateInputProcessor<SqlUpdateInputProcessorResult>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasOneOwning: UpdateInputProcessor<SqlUpdateInputProcessorResult>['oneHasOneOwning'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.disconnect(ctx)),\n\t}\n}\n"],"names":["hasManyProcessor","hasOneProcessor","OneHasOneInverseUpdateInputProcessor","OneHasOneOwningUpdateInputProcessor","OneHasManyUpdateInputProcessor","ManyHasOneUpdateInputProcessor","ManyHasManyUpdateInputProcessor"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { hasManyProcessor, hasOneProcessor } from "../MutationProcessorHelper.js";
2
- import { OneHasOneInverseUpdateInputProcessor } from "../relations/OneHasOneInverseUpdateInputProcessor.js";
3
- import { OneHasOneOwningUpdateInputProcessor } from "../relations/OneHasOneOwningUpdateInputProcessor.js";
4
- import { OneHasManyInputProcessor } from "../relations/OneHasManyInputProcessor.js";
5
- import { ManyHasOneInputProcessor } from "../relations/ManyHasOneInputProcessor.js";
6
- import { ManyHasManyInputProcessor } from "../relations/ManyHasManyInputProcessor.js";
2
+ import { OneHasOneInverseUpdateInputProcessor } from "./relations/OneHasOneInverseUpdateInputProcessor.js";
3
+ import { OneHasOneOwningUpdateInputProcessor } from "./relations/OneHasOneOwningUpdateInputProcessor.js";
4
+ import { OneHasManyUpdateInputProcessor } from "./relations/OneHasManyUpdateInputProcessor.js";
5
+ import { ManyHasManyUpdateInputProcessor } from "./relations/ManyHasManyUpdateInputProcessor.js";
6
+ import { ManyHasOneUpdateInputProcessor } from "./relations/ManyHasOneUpdateInputProcessor.js";
7
7
  var __defProp = Object.defineProperty;
8
8
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
9
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -19,40 +19,40 @@ class SqlUpdateInputProcessor {
19
19
  __publicField(this, "manyHasOneUpdateInputProcessor");
20
20
  __publicField(this, "manyHasManyUpdateInputProcessor");
21
21
  __publicField(this, "manyHasManyInverse", {
22
- connect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),
23
- create: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),
24
- connectOrCreate: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),
25
- update: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),
26
- upsert: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),
27
- delete: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),
28
- disconnect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue))
22
+ connect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx)),
23
+ create: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx)),
24
+ connectOrCreate: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),
25
+ update: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx)),
26
+ upsert: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx)),
27
+ delete: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx)),
28
+ disconnect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx))
29
29
  });
30
30
  __publicField(this, "manyHasManyOwning", {
31
- connect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),
32
- create: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),
33
- connectOrCreate: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),
34
- update: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),
35
- upsert: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),
36
- delete: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),
37
- disconnect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue))
31
+ connect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connect(ctx)),
32
+ create: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.create(ctx)),
33
+ connectOrCreate: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),
34
+ update: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.update(ctx)),
35
+ upsert: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.upsert(ctx)),
36
+ delete: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.delete(ctx)),
37
+ disconnect: hasManyProcessor((ctx) => this.manyHasManyUpdateInputProcessor.disconnect(ctx))
38
38
  });
39
39
  __publicField(this, "manyHasOne", {
40
- connect: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connect(ctx, this.updateBuilder)),
41
- create: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.create(ctx, this.updateBuilder)),
42
- connectOrCreate: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx, this.updateBuilder)),
43
- update: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.update(ctx, this.primaryValue)),
44
- upsert: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.upsert(ctx, this.updateBuilder, this.primaryValue)),
45
- delete: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.delete(ctx, this.updateBuilder, this.primaryValue)),
46
- disconnect: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.disconnect(ctx, this.updateBuilder))
40
+ connect: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connect(ctx)),
41
+ create: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.create(ctx)),
42
+ connectOrCreate: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx)),
43
+ update: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.update(ctx)),
44
+ upsert: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.upsert(ctx)),
45
+ delete: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.delete(ctx)),
46
+ disconnect: hasOneProcessor((ctx) => this.manyHasOneUpdateInputProcessor.disconnect(ctx))
47
47
  });
48
48
  __publicField(this, "oneHasMany", {
49
- connect: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),
50
- create: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),
51
- connectOrCreate: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),
52
- update: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),
53
- upsert: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),
54
- delete: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),
55
- disconnect: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue))
49
+ connect: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connect(ctx)),
50
+ create: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.create(ctx)),
51
+ connectOrCreate: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx)),
52
+ update: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.update(ctx)),
53
+ upsert: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.upsert(ctx)),
54
+ delete: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.delete(ctx)),
55
+ disconnect: hasManyProcessor((ctx) => this.oneHasManyUpdateInputProcessor.disconnect(ctx))
56
56
  });
57
57
  __publicField(this, "oneHasOneInverse", {
58
58
  connect: hasOneProcessor((ctx) => this.oneHasOneInverseUpdateInputProcessor.connect(ctx)),
@@ -74,9 +74,9 @@ class SqlUpdateInputProcessor {
74
74
  });
75
75
  this.oneHasOneInverseUpdateInputProcessor = new OneHasOneInverseUpdateInputProcessor(this.primaryValue, this.mapper);
76
76
  this.oneHasOneOwningUpdateInputProcessor = new OneHasOneOwningUpdateInputProcessor(this.primaryValue, this.mapper, this.updateBuilder);
77
- this.oneHasManyUpdateInputProcessor = new OneHasManyInputProcessor(this.mapper);
78
- this.manyHasOneUpdateInputProcessor = new ManyHasOneInputProcessor(this.mapper);
79
- this.manyHasManyUpdateInputProcessor = new ManyHasManyInputProcessor(this.mapper);
77
+ this.oneHasManyUpdateInputProcessor = new OneHasManyUpdateInputProcessor(this.mapper);
78
+ this.manyHasOneUpdateInputProcessor = new ManyHasOneUpdateInputProcessor(this.mapper, this.updateBuilder, this.primaryValue);
79
+ this.manyHasManyUpdateInputProcessor = new ManyHasManyUpdateInputProcessor(this.mapper);
80
80
  }
81
81
  column({ entity, column }) {
82
82
  if (this.data[column.name] !== void 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"SqlUpdateInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/update/SqlUpdateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { UpdateBuilder } from './UpdateBuilder'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseUpdateInputProcessor } from '../relations/OneHasOneInverseUpdateInputProcessor'\nimport { OneHasOneOwningUpdateInputProcessor } from '../relations/OneHasOneOwningUpdateInputProcessor'\nimport { OneHasManyInputProcessor } from '../relations/OneHasManyInputProcessor'\nimport { ManyHasOneInputProcessor } from '../relations/ManyHasOneInputProcessor'\nimport { ManyHasManyInputProcessor } from '../relations/ManyHasManyInputProcessor'\nimport { UpdateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\n\nexport class SqlUpdateInputProcessor implements UpdateInputProcessor<MutationResultList> {\n\tprivate oneHasOneInverseUpdateInputProcessor: OneHasOneInverseUpdateInputProcessor\n\tprivate oneHasOneOwningUpdateInputProcessor: OneHasOneOwningUpdateInputProcessor\n\tprivate oneHasManyUpdateInputProcessor: OneHasManyInputProcessor\n\tprivate manyHasOneUpdateInputProcessor: ManyHasOneInputProcessor\n\tprivate manyHasManyUpdateInputProcessor: ManyHasManyInputProcessor\n\n\tconstructor(\n\t\tprivate readonly primaryValue: Input.PrimaryValue,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t\tprivate readonly updateBuilder: UpdateBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t\tthis.oneHasOneInverseUpdateInputProcessor = new OneHasOneInverseUpdateInputProcessor(this.primaryValue, this.mapper)\n\t\tthis.oneHasOneOwningUpdateInputProcessor = new OneHasOneOwningUpdateInputProcessor(this.primaryValue, this.mapper, this.updateBuilder)\n\t\tthis.oneHasManyUpdateInputProcessor = new OneHasManyInputProcessor(this.mapper)\n\t\tthis.manyHasOneUpdateInputProcessor = new ManyHasOneInputProcessor(this.mapper)\n\t\tthis.manyHasManyUpdateInputProcessor = new ManyHasManyInputProcessor(this.mapper)\n\t}\n\n\tpublic column({ entity, column }: Model.ColumnContext) {\n\t\tif (this.data[column.name] !== undefined) {\n\t\t\tthis.updateBuilder.addFieldValue(column.name, this.data[column.name] as Value.AtomicValue)\n\t\t}\n\t\treturn Promise.resolve([])\n\t}\n\n\tmanyHasManyInverse: UpdateInputProcessor<MutationResultList>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue)),\n\t}\n\n\tmanyHasManyOwning: UpdateInputProcessor<MutationResultList>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue)),\n\t}\n\n\tmanyHasOne: UpdateInputProcessor<MutationResultList>['manyHasOne'] = {\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connect(ctx, this.updateBuilder)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.create(ctx, this.updateBuilder)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx, this.updateBuilder)),\n\t\tupdate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.upsert(ctx, this.updateBuilder, this.primaryValue)),\n\t\tdelete: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.delete(ctx, this.updateBuilder, this.primaryValue)),\n\t\tdisconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.disconnect(ctx, this.updateBuilder)),\n\t}\n\n\toneHasMany: UpdateInputProcessor<MutationResultList>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connect(ctx, this.primaryValue)),\n\t\tcreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.create(ctx, this.primaryValue)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx, this.primaryValue)),\n\t\tupdate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.update(ctx, this.primaryValue)),\n\t\tupsert: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.upsert(ctx, this.primaryValue)),\n\t\tdelete: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.delete(ctx, this.primaryValue)),\n\t\tdisconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.disconnect(ctx, this.primaryValue)),\n\t}\n\n\toneHasOneInverse: UpdateInputProcessor<MutationResultList>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasOneOwning: UpdateInputProcessor<MutationResultList>['oneHasOneOwning'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.disconnect(ctx)),\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlUpdateInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/update/SqlUpdateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { UpdateBuilder } from './UpdateBuilder'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseUpdateInputProcessor } from './relations/OneHasOneInverseUpdateInputProcessor'\nimport { OneHasOneOwningUpdateInputProcessor } from './relations/OneHasOneOwningUpdateInputProcessor'\nimport { OneHasManyUpdateInputProcessor } from './relations/OneHasManyUpdateInputProcessor'\nimport { ManyHasManyUpdateInputProcessor } from './relations/ManyHasManyUpdateInputProcessor'\nimport { UpdateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\nimport { ManyHasOneUpdateInputProcessor } from './relations/ManyHasOneUpdateInputProcessor'\n\nexport type SqlUpdateInputProcessorResult = MutationResultList | ((ctx: { primary: Input.PrimaryValue}) => Promise<MutationResultList>)\n\nexport class SqlUpdateInputProcessor implements UpdateInputProcessor<SqlUpdateInputProcessorResult> {\n\tprivate oneHasOneInverseUpdateInputProcessor: OneHasOneInverseUpdateInputProcessor\n\tprivate oneHasOneOwningUpdateInputProcessor: OneHasOneOwningUpdateInputProcessor\n\tprivate oneHasManyUpdateInputProcessor: OneHasManyUpdateInputProcessor\n\tprivate manyHasOneUpdateInputProcessor: ManyHasOneUpdateInputProcessor\n\tprivate manyHasManyUpdateInputProcessor: ManyHasManyUpdateInputProcessor\n\n\tconstructor(\n\t\tprivate readonly primaryValue: Input.PrimaryValue,\n\t\tprivate readonly data: Input.UpdateDataInput,\n\t\tprivate readonly updateBuilder: UpdateBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t) {\n\t\tthis.oneHasOneInverseUpdateInputProcessor = new OneHasOneInverseUpdateInputProcessor(this.primaryValue, this.mapper)\n\t\tthis.oneHasOneOwningUpdateInputProcessor = new OneHasOneOwningUpdateInputProcessor(this.primaryValue, this.mapper, this.updateBuilder)\n\t\tthis.oneHasManyUpdateInputProcessor = new OneHasManyUpdateInputProcessor(this.mapper)\n\t\tthis.manyHasOneUpdateInputProcessor = new ManyHasOneUpdateInputProcessor(this.mapper, this.updateBuilder, this.primaryValue)\n\t\tthis.manyHasManyUpdateInputProcessor = new ManyHasManyUpdateInputProcessor(this.mapper)\n\t}\n\n\tpublic column({ entity, column }: Model.ColumnContext) {\n\t\tif (this.data[column.name] !== undefined) {\n\t\t\tthis.updateBuilder.addFieldValue(column.name, this.data[column.name] as Value.AtomicValue)\n\t\t}\n\t\treturn Promise.resolve([])\n\t}\n\n\tmanyHasManyInverse: UpdateInputProcessor<SqlUpdateInputProcessorResult>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\tmanyHasManyOwning: UpdateInputProcessor<SqlUpdateInputProcessorResult>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasManyProcessor(ctx => this.manyHasManyUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\tmanyHasOne: UpdateInputProcessor<SqlUpdateInputProcessorResult>['manyHasOne'] = {\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.manyHasOneUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasMany: UpdateInputProcessor<SqlUpdateInputProcessorResult>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasManyProcessor(ctx => this.oneHasManyUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasOneInverse: UpdateInputProcessor<SqlUpdateInputProcessorResult>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneInverseUpdateInputProcessor.disconnect(ctx)),\n\t}\n\n\toneHasOneOwning: UpdateInputProcessor<SqlUpdateInputProcessorResult>['oneHasOneOwning'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.connectOrCreate(ctx)),\n\t\tupdate: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.update(ctx)),\n\t\tupsert: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.upsert(ctx)),\n\t\tdelete: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.delete(ctx)),\n\t\tdisconnect: hasOneProcessor(ctx => this.oneHasOneOwningUpdateInputProcessor.disconnect(ctx)),\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ const schemaUtils = require("@contember/schema-utils");
5
5
  const schema = require("@contember/schema");
6
6
  const Database = require("@contember/database");
7
7
  const ColumnValue = require("../ColumnValue.cjs");
8
- const DataManipulationBuilder = require("../DataManipulationBuilder.cjs");
9
8
  const EventManager = require("../EventManager.cjs");
10
9
  var __defProp = Object.defineProperty;
11
10
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -18,10 +17,6 @@ class UpdateBuilder {
18
17
  this.primary = primary;
19
18
  this.pathFactory = pathFactory;
20
19
  this.predicateFactory = predicateFactory;
21
- __publicField(this, "resolver", () => {
22
- throw new Error("UpdateBuilder: Resolver called too soon");
23
- });
24
- __publicField(this, "update", new Promise((resolve) => this.resolver = resolve));
25
20
  __publicField(this, "rowData", /* @__PURE__ */ new Map());
26
21
  __publicField(this, "newWhere", { and: [] });
27
22
  __publicField(this, "oldWhere", { and: [] });
@@ -48,12 +43,7 @@ class UpdateBuilder {
48
43
  try {
49
44
  const resolvedData = await ColumnValue.resolveRowData([...this.rowData.values()]);
50
45
  if (Object.keys(resolvedData).length === 0) {
51
- this.resolver(null);
52
- return { values: [], affectedRows: null, executed: false, aborted: false };
53
- }
54
- if (resolvedData.find((it) => it.resolvedValue === DataManipulationBuilder.AbortDataManipulation)) {
55
- this.resolver(null);
56
- return { values: [], affectedRows: null, executed: false, aborted: true };
46
+ return { values: [], affectedRows: null, executed: false };
57
47
  }
58
48
  const oldColSuffix = "_old__";
59
49
  const qb = Database.UpdateBuilder.create().with("newData_", (qb2) => {
@@ -101,7 +91,6 @@ class UpdateBuilder {
101
91
  const beforeEvent = new EventManager.BeforeUpdateEvent(this.entity, resolvedData, this.primary);
102
92
  await mapper.eventManager.fire(beforeEvent);
103
93
  const result = await qb.execute(mapper.db);
104
- this.resolver(result.length);
105
94
  if (result.length === 1) {
106
95
  const eventData = resolvedData.map((it) => ({
107
96
  ...it,
@@ -111,9 +100,8 @@ class UpdateBuilder {
111
100
  beforeEvent.afterEvent = afterUpdateEvent;
112
101
  await mapper.eventManager.fire(afterUpdateEvent);
113
102
  }
114
- return { values: resolvedData, affectedRows: result.length, executed: true, aborted: false };
103
+ return { values: resolvedData, affectedRows: result.length, executed: true };
115
104
  } catch (e) {
116
- this.resolver(null);
117
105
  throw e;
118
106
  }
119
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateBuilder.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/update/UpdateBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport { Acl, Input, Model, Value } from '@contember/schema'\nimport { acceptEveryFieldVisitor, getColumnName, getColumnType } from '@contember/schema-utils'\nimport { Client, Operator, QueryBuilder, UpdateBuilder as DbUpdateBuilder, Value as DbValue } from '@contember/database'\nimport { PathFactory, WhereBuilder } from '../select'\nimport { ColumnValue, ResolvedColumnValue, resolveGenericValue, resolveRowData } from '../ColumnValue'\nimport { PredicateFactory } from '../../acl'\nimport { AbortDataManipulation, DataManipulationBuilder } from '../DataManipulationBuilder'\nimport { AfterUpdateEvent, BeforeUpdateEvent, EventManager } from '../EventManager'\nimport { Mapper } from '../Mapper'\n\nexport interface UpdateResult {\n\tvalues: ResolvedColumnValue[]\n\texecuted: boolean\n\taborted: boolean\n\taffectedRows: number | null\n}\n\nexport class UpdateBuilder implements DataManipulationBuilder {\n\tprivate resolver: (value: number | null) => void = () => {\n\t\tthrow new Error('UpdateBuilder: Resolver called too soon')\n\t}\n\tpublic readonly update: Promise<number | null> = new Promise(resolve => (this.resolver = resolve))\n\n\tprivate rowData: Map<string, ColumnValue<AbortDataManipulation>> = new Map()\n\n\tprivate newWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\tprivate oldWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly entity: Model.Entity,\n\t\tprivate readonly whereBuilder: WhereBuilder,\n\t\tprivate readonly primary: Input.PrimaryValue,\n\t\tprivate readonly pathFactory: PathFactory,\n\t\tprivate readonly predicateFactory: PredicateFactory,\n\t) {}\n\n\tpublic addFieldValue(\n\t\tfieldName: string,\n\t\tvalue: Value.GenericValueLike<Value.AtomicValue<AbortDataManipulation | undefined>>,\n\t): Promise<Value.AtomicValue<AbortDataManipulation | undefined>> {\n\t\tconst columnName = getColumnName(this.schema, this.entity, fieldName)\n\t\tconst columnType = getColumnType(this.schema, this.entity, fieldName)\n\t\tconst resolvedValue = resolveGenericValue(value)\n\t\tthis.rowData.set(columnName, { columnName, value: resolvedValue, columnType, fieldName })\n\t\treturn resolvedValue\n\t}\n\n\tpublic addNewWhere(where: Input.OptionalWhere): void {\n\t\tthis.newWhere.and.push(where)\n\t}\n\n\tpublic addOldWhere(where: Input.OptionalWhere): void {\n\t\tthis.oldWhere.and.push(where)\n\t}\n\n\tpublic addPredicates(fields: string[]): void {\n\t\tconst predicate = this.predicateFactory.create(this.entity, Acl.Operation.update, fields)\n\t\tthis.addNewWhere(predicate)\n\t\tthis.addOldWhere(predicate)\n\t}\n\n\tpublic async execute(mapper: Mapper): Promise<UpdateResult> {\n\t\ttry {\n\t\t\tconst resolvedData = await resolveRowData<AbortDataManipulation>([...this.rowData.values()])\n\t\t\tif (Object.keys(resolvedData).length === 0) {\n\t\t\t\tthis.resolver(null)\n\t\t\t\treturn { values: [], affectedRows: null, executed: false, aborted: false }\n\t\t\t}\n\t\t\tif (resolvedData.find(it => it.resolvedValue === AbortDataManipulation)) {\n\t\t\t\tthis.resolver(null)\n\t\t\t\treturn { values: [], affectedRows: null, executed: false, aborted: true }\n\t\t\t}\n\t\t\tconst oldColSuffix = '_old__'\n\n\t\t\tconst qb = DbUpdateBuilder.create()\n\t\t\t\t.with('newData_', qb => {\n\t\t\t\t\tqb = resolvedData.reduce(\n\t\t\t\t\t\t(qb, value) =>\n\t\t\t\t\t\t\tqb\n\t\t\t\t\t\t\t\t.select(expr => expr.selectValue(value.resolvedValue as DbValue, value.columnType), value.columnName)\n\t\t\t\t\t\t\t\t.select(['root_', value.columnName], value.columnName + oldColSuffix),\n\t\t\t\t\t\tqb,\n\t\t\t\t\t)\n\t\t\t\t\tconst columns = new Set(resolvedData.map(it => it.columnName))\n\t\t\t\t\tconst allColumns: string[] = Object.values(\n\t\t\t\t\t\tacceptEveryFieldVisitor(this.schema, this.entity, {\n\t\t\t\t\t\t\tvisitColumn: ({ column }) => column.columnName,\n\t\t\t\t\t\t\tvisitManyHasOne: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitOneHasOneOwning: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\t\t\t}),\n\t\t\t\t\t).filter((it): it is string => it !== null)\n\n\t\t\t\t\tconst remainingColumns = allColumns.filter(it => !columns.has(it))\n\t\t\t\t\tqb = qb.from(this.entity.tableName, 'root_')\n\n\t\t\t\t\tqb = remainingColumns.reduce((qb, columnName) => qb.select(['root_', columnName]), qb)\n\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([]), {\n\t\t\t\t\t\tand: [{\n\t\t\t\t\t\t\t[this.entity.primary]: { eq: this.primary },\n\t\t\t\t\t\t}, this.oldWhere],\n\t\t\t\t\t})\n\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\t\t\t\t.table(this.entity.tableName)\n\t\t\t\t.values(\n\t\t\t\t\tresolvedData.reduce<QueryBuilder.ColumnExpressionMap>(\n\t\t\t\t\t\t(result: object, item) => ({\n\t\t\t\t\t\t\t...result,\n\t\t\t\t\t\t\t[item.columnName]: expr => expr.select(['newData_', item.columnName]),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.returning(...resolvedData.map(it => it.columnName + oldColSuffix))\n\t\t\t\t.from(qb => {\n\t\t\t\t\tqb = qb.from('newData_')\n\t\t\t\t\tconst col1 = tuple(this.entity.tableName, this.entity.primaryColumn)\n\t\t\t\t\tconst col2 = tuple('newData_', this.entity.primaryColumn)\n\t\t\t\t\tqb = qb.where(expr => expr.compareColumns(col1, Operator.eq, col2))\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([], 'newData_'), this.newWhere)\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\n\n\t\t\tconst beforeEvent = new BeforeUpdateEvent(this.entity, resolvedData as ResolvedColumnValue[], this.primary)\n\t\t\tawait mapper.eventManager.fire(beforeEvent)\n\n\t\t\tconst result = await qb.execute(mapper.db)\n\t\t\tthis.resolver(result.length)\n\n\t\t\tif (result.length === 1) {\n\t\t\t\tconst eventData = (resolvedData as ResolvedColumnValue[]).map(it => ({\n\t\t\t\t\t...it,\n\t\t\t\t\told: result[0][it.columnName + oldColSuffix],\n\t\t\t\t}))\n\t\t\t\tconst afterUpdateEvent = new AfterUpdateEvent(this.entity, eventData, this.primary)\n\t\t\t\tbeforeEvent.afterEvent = afterUpdateEvent\n\t\t\t\tawait mapper.eventManager.fire(afterUpdateEvent)\n\t\t\t}\n\n\t\t\treturn { values: resolvedData as ResolvedColumnValue[], affectedRows: result.length, executed: true, aborted: false }\n\t\t} catch (e) {\n\t\t\tthis.resolver(null)\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["schema","getColumnName","getColumnType","resolveGenericValue","Acl","resolveRowData","AbortDataManipulation","DbUpdateBuilder","qb","acceptEveryFieldVisitor","result","tuple","Operator","BeforeUpdateEvent","AfterUpdateEvent"],"mappings":"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"}
1
+ {"version":3,"file":"UpdateBuilder.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/update/UpdateBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport { Acl, Input, Model, Value } from '@contember/schema'\nimport { acceptEveryFieldVisitor, getColumnName, getColumnType } from '@contember/schema-utils'\nimport { Operator, QueryBuilder, UpdateBuilder as DbUpdateBuilder, Value as DbValue } from '@contember/database'\nimport { PathFactory, WhereBuilder } from '../select'\nimport { ColumnValue, ResolvedColumnValue, resolveGenericValue, resolveRowData } from '../ColumnValue'\nimport { PredicateFactory } from '../../acl'\nimport { AfterUpdateEvent, BeforeUpdateEvent } from '../EventManager'\nimport { Mapper } from '../Mapper'\n\nexport interface UpdateResult {\n\tvalues: ResolvedColumnValue[]\n\texecuted: boolean\n\taffectedRows: number | null\n}\n\nexport class UpdateBuilder {\n\tprivate rowData: Map<string, ColumnValue> = new Map()\n\n\tprivate newWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\tprivate oldWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly entity: Model.Entity,\n\t\tprivate readonly whereBuilder: WhereBuilder,\n\t\tprivate readonly primary: Input.PrimaryValue,\n\t\tprivate readonly pathFactory: PathFactory,\n\t\tprivate readonly predicateFactory: PredicateFactory,\n\t) {}\n\n\tpublic addFieldValue(\n\t\tfieldName: string,\n\t\tvalue: Value.GenericValueLike<Value.AtomicValue<undefined>>,\n\t): Promise<Value.AtomicValue<undefined>> {\n\t\tconst columnName = getColumnName(this.schema, this.entity, fieldName)\n\t\tconst columnType = getColumnType(this.schema, this.entity, fieldName)\n\t\tconst resolvedValue = resolveGenericValue(value)\n\t\tthis.rowData.set(columnName, { columnName, value: resolvedValue, columnType, fieldName })\n\t\treturn resolvedValue\n\t}\n\n\tpublic addNewWhere(where: Input.OptionalWhere): void {\n\t\tthis.newWhere.and.push(where)\n\t}\n\n\tpublic addOldWhere(where: Input.OptionalWhere): void {\n\t\tthis.oldWhere.and.push(where)\n\t}\n\n\tpublic addPredicates(fields: string[]): void {\n\t\tconst predicate = this.predicateFactory.create(this.entity, Acl.Operation.update, fields)\n\t\tthis.addNewWhere(predicate)\n\t\tthis.addOldWhere(predicate)\n\t}\n\n\tpublic async execute(mapper: Mapper): Promise<UpdateResult> {\n\t\ttry {\n\t\t\tconst resolvedData = await resolveRowData([...this.rowData.values()])\n\t\t\tif (Object.keys(resolvedData).length === 0) {\n\t\t\t\treturn { values: [], affectedRows: null, executed: false }\n\t\t\t}\n\t\t\tconst oldColSuffix = '_old__'\n\n\t\t\tconst qb = DbUpdateBuilder.create()\n\t\t\t\t.with('newData_', qb => {\n\t\t\t\t\tqb = resolvedData.reduce(\n\t\t\t\t\t\t(qb, value) =>\n\t\t\t\t\t\t\tqb\n\t\t\t\t\t\t\t\t.select(expr => expr.selectValue(value.resolvedValue as DbValue, value.columnType), value.columnName)\n\t\t\t\t\t\t\t\t.select(['root_', value.columnName], value.columnName + oldColSuffix),\n\t\t\t\t\t\tqb,\n\t\t\t\t\t)\n\t\t\t\t\tconst columns = new Set(resolvedData.map(it => it.columnName))\n\t\t\t\t\tconst allColumns: string[] = Object.values(\n\t\t\t\t\t\tacceptEveryFieldVisitor(this.schema, this.entity, {\n\t\t\t\t\t\t\tvisitColumn: ({ column }) => column.columnName,\n\t\t\t\t\t\t\tvisitManyHasOne: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitOneHasOneOwning: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\t\t\t}),\n\t\t\t\t\t).filter((it): it is string => it !== null)\n\n\t\t\t\t\tconst remainingColumns = allColumns.filter(it => !columns.has(it))\n\t\t\t\t\tqb = qb.from(this.entity.tableName, 'root_')\n\n\t\t\t\t\tqb = remainingColumns.reduce((qb, columnName) => qb.select(['root_', columnName]), qb)\n\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([]), {\n\t\t\t\t\t\tand: [{\n\t\t\t\t\t\t\t[this.entity.primary]: { eq: this.primary },\n\t\t\t\t\t\t}, this.oldWhere],\n\t\t\t\t\t})\n\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\t\t\t\t.table(this.entity.tableName)\n\t\t\t\t.values(\n\t\t\t\t\tresolvedData.reduce<QueryBuilder.ColumnExpressionMap>(\n\t\t\t\t\t\t(result: object, item) => ({\n\t\t\t\t\t\t\t...result,\n\t\t\t\t\t\t\t[item.columnName]: expr => expr.select(['newData_', item.columnName]),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.returning(...resolvedData.map(it => it.columnName + oldColSuffix))\n\t\t\t\t.from(qb => {\n\t\t\t\t\tqb = qb.from('newData_')\n\t\t\t\t\tconst col1 = tuple(this.entity.tableName, this.entity.primaryColumn)\n\t\t\t\t\tconst col2 = tuple('newData_', this.entity.primaryColumn)\n\t\t\t\t\tqb = qb.where(expr => expr.compareColumns(col1, Operator.eq, col2))\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([], 'newData_'), this.newWhere)\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\n\n\t\t\tconst beforeEvent = new BeforeUpdateEvent(this.entity, resolvedData as ResolvedColumnValue[], this.primary)\n\t\t\tawait mapper.eventManager.fire(beforeEvent)\n\n\t\t\tconst result = await qb.execute(mapper.db)\n\n\t\t\tif (result.length === 1) {\n\t\t\t\tconst eventData = (resolvedData as ResolvedColumnValue[]).map(it => ({\n\t\t\t\t\t...it,\n\t\t\t\t\told: result[0][it.columnName + oldColSuffix],\n\t\t\t\t}))\n\t\t\t\tconst afterUpdateEvent = new AfterUpdateEvent(this.entity, eventData, this.primary)\n\t\t\t\tbeforeEvent.afterEvent = afterUpdateEvent\n\t\t\t\tawait mapper.eventManager.fire(afterUpdateEvent)\n\t\t\t}\n\n\t\t\treturn { values: resolvedData as ResolvedColumnValue[], affectedRows: result.length, executed: true }\n\t\t} catch (e) {\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["schema","getColumnName","getColumnType","resolveGenericValue","Acl","resolveRowData","DbUpdateBuilder","qb","acceptEveryFieldVisitor","result","tuple","Operator","BeforeUpdateEvent","AfterUpdateEvent"],"mappings":"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"}
@@ -3,7 +3,6 @@ import { getColumnName, getColumnType, acceptEveryFieldVisitor } from "@contembe
3
3
  import { Acl } from "@contember/schema";
4
4
  import { UpdateBuilder as UpdateBuilder$1, Operator } from "@contember/database";
5
5
  import { resolveGenericValue, resolveRowData } from "../ColumnValue.js";
6
- import { AbortDataManipulation } from "../DataManipulationBuilder.js";
7
6
  import { BeforeUpdateEvent, AfterUpdateEvent } from "../EventManager.js";
8
7
  var __defProp = Object.defineProperty;
9
8
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -16,10 +15,6 @@ class UpdateBuilder {
16
15
  this.primary = primary;
17
16
  this.pathFactory = pathFactory;
18
17
  this.predicateFactory = predicateFactory;
19
- __publicField(this, "resolver", () => {
20
- throw new Error("UpdateBuilder: Resolver called too soon");
21
- });
22
- __publicField(this, "update", new Promise((resolve) => this.resolver = resolve));
23
18
  __publicField(this, "rowData", /* @__PURE__ */ new Map());
24
19
  __publicField(this, "newWhere", { and: [] });
25
20
  __publicField(this, "oldWhere", { and: [] });
@@ -46,12 +41,7 @@ class UpdateBuilder {
46
41
  try {
47
42
  const resolvedData = await resolveRowData([...this.rowData.values()]);
48
43
  if (Object.keys(resolvedData).length === 0) {
49
- this.resolver(null);
50
- return { values: [], affectedRows: null, executed: false, aborted: false };
51
- }
52
- if (resolvedData.find((it) => it.resolvedValue === AbortDataManipulation)) {
53
- this.resolver(null);
54
- return { values: [], affectedRows: null, executed: false, aborted: true };
44
+ return { values: [], affectedRows: null, executed: false };
55
45
  }
56
46
  const oldColSuffix = "_old__";
57
47
  const qb = UpdateBuilder$1.create().with("newData_", (qb2) => {
@@ -99,7 +89,6 @@ class UpdateBuilder {
99
89
  const beforeEvent = new BeforeUpdateEvent(this.entity, resolvedData, this.primary);
100
90
  await mapper.eventManager.fire(beforeEvent);
101
91
  const result = await qb.execute(mapper.db);
102
- this.resolver(result.length);
103
92
  if (result.length === 1) {
104
93
  const eventData = resolvedData.map((it) => ({
105
94
  ...it,
@@ -109,9 +98,8 @@ class UpdateBuilder {
109
98
  beforeEvent.afterEvent = afterUpdateEvent;
110
99
  await mapper.eventManager.fire(afterUpdateEvent);
111
100
  }
112
- return { values: resolvedData, affectedRows: result.length, executed: true, aborted: false };
101
+ return { values: resolvedData, affectedRows: result.length, executed: true };
113
102
  } catch (e) {
114
- this.resolver(null);
115
103
  throw e;
116
104
  }
117
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateBuilder.js","sources":["../../../../../../packages/engine-content-api/src/mapper/update/UpdateBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport { Acl, Input, Model, Value } from '@contember/schema'\nimport { acceptEveryFieldVisitor, getColumnName, getColumnType } from '@contember/schema-utils'\nimport { Client, Operator, QueryBuilder, UpdateBuilder as DbUpdateBuilder, Value as DbValue } from '@contember/database'\nimport { PathFactory, WhereBuilder } from '../select'\nimport { ColumnValue, ResolvedColumnValue, resolveGenericValue, resolveRowData } from '../ColumnValue'\nimport { PredicateFactory } from '../../acl'\nimport { AbortDataManipulation, DataManipulationBuilder } from '../DataManipulationBuilder'\nimport { AfterUpdateEvent, BeforeUpdateEvent, EventManager } from '../EventManager'\nimport { Mapper } from '../Mapper'\n\nexport interface UpdateResult {\n\tvalues: ResolvedColumnValue[]\n\texecuted: boolean\n\taborted: boolean\n\taffectedRows: number | null\n}\n\nexport class UpdateBuilder implements DataManipulationBuilder {\n\tprivate resolver: (value: number | null) => void = () => {\n\t\tthrow new Error('UpdateBuilder: Resolver called too soon')\n\t}\n\tpublic readonly update: Promise<number | null> = new Promise(resolve => (this.resolver = resolve))\n\n\tprivate rowData: Map<string, ColumnValue<AbortDataManipulation>> = new Map()\n\n\tprivate newWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\tprivate oldWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly entity: Model.Entity,\n\t\tprivate readonly whereBuilder: WhereBuilder,\n\t\tprivate readonly primary: Input.PrimaryValue,\n\t\tprivate readonly pathFactory: PathFactory,\n\t\tprivate readonly predicateFactory: PredicateFactory,\n\t) {}\n\n\tpublic addFieldValue(\n\t\tfieldName: string,\n\t\tvalue: Value.GenericValueLike<Value.AtomicValue<AbortDataManipulation | undefined>>,\n\t): Promise<Value.AtomicValue<AbortDataManipulation | undefined>> {\n\t\tconst columnName = getColumnName(this.schema, this.entity, fieldName)\n\t\tconst columnType = getColumnType(this.schema, this.entity, fieldName)\n\t\tconst resolvedValue = resolveGenericValue(value)\n\t\tthis.rowData.set(columnName, { columnName, value: resolvedValue, columnType, fieldName })\n\t\treturn resolvedValue\n\t}\n\n\tpublic addNewWhere(where: Input.OptionalWhere): void {\n\t\tthis.newWhere.and.push(where)\n\t}\n\n\tpublic addOldWhere(where: Input.OptionalWhere): void {\n\t\tthis.oldWhere.and.push(where)\n\t}\n\n\tpublic addPredicates(fields: string[]): void {\n\t\tconst predicate = this.predicateFactory.create(this.entity, Acl.Operation.update, fields)\n\t\tthis.addNewWhere(predicate)\n\t\tthis.addOldWhere(predicate)\n\t}\n\n\tpublic async execute(mapper: Mapper): Promise<UpdateResult> {\n\t\ttry {\n\t\t\tconst resolvedData = await resolveRowData<AbortDataManipulation>([...this.rowData.values()])\n\t\t\tif (Object.keys(resolvedData).length === 0) {\n\t\t\t\tthis.resolver(null)\n\t\t\t\treturn { values: [], affectedRows: null, executed: false, aborted: false }\n\t\t\t}\n\t\t\tif (resolvedData.find(it => it.resolvedValue === AbortDataManipulation)) {\n\t\t\t\tthis.resolver(null)\n\t\t\t\treturn { values: [], affectedRows: null, executed: false, aborted: true }\n\t\t\t}\n\t\t\tconst oldColSuffix = '_old__'\n\n\t\t\tconst qb = DbUpdateBuilder.create()\n\t\t\t\t.with('newData_', qb => {\n\t\t\t\t\tqb = resolvedData.reduce(\n\t\t\t\t\t\t(qb, value) =>\n\t\t\t\t\t\t\tqb\n\t\t\t\t\t\t\t\t.select(expr => expr.selectValue(value.resolvedValue as DbValue, value.columnType), value.columnName)\n\t\t\t\t\t\t\t\t.select(['root_', value.columnName], value.columnName + oldColSuffix),\n\t\t\t\t\t\tqb,\n\t\t\t\t\t)\n\t\t\t\t\tconst columns = new Set(resolvedData.map(it => it.columnName))\n\t\t\t\t\tconst allColumns: string[] = Object.values(\n\t\t\t\t\t\tacceptEveryFieldVisitor(this.schema, this.entity, {\n\t\t\t\t\t\t\tvisitColumn: ({ column }) => column.columnName,\n\t\t\t\t\t\t\tvisitManyHasOne: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitOneHasOneOwning: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\t\t\t}),\n\t\t\t\t\t).filter((it): it is string => it !== null)\n\n\t\t\t\t\tconst remainingColumns = allColumns.filter(it => !columns.has(it))\n\t\t\t\t\tqb = qb.from(this.entity.tableName, 'root_')\n\n\t\t\t\t\tqb = remainingColumns.reduce((qb, columnName) => qb.select(['root_', columnName]), qb)\n\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([]), {\n\t\t\t\t\t\tand: [{\n\t\t\t\t\t\t\t[this.entity.primary]: { eq: this.primary },\n\t\t\t\t\t\t}, this.oldWhere],\n\t\t\t\t\t})\n\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\t\t\t\t.table(this.entity.tableName)\n\t\t\t\t.values(\n\t\t\t\t\tresolvedData.reduce<QueryBuilder.ColumnExpressionMap>(\n\t\t\t\t\t\t(result: object, item) => ({\n\t\t\t\t\t\t\t...result,\n\t\t\t\t\t\t\t[item.columnName]: expr => expr.select(['newData_', item.columnName]),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.returning(...resolvedData.map(it => it.columnName + oldColSuffix))\n\t\t\t\t.from(qb => {\n\t\t\t\t\tqb = qb.from('newData_')\n\t\t\t\t\tconst col1 = tuple(this.entity.tableName, this.entity.primaryColumn)\n\t\t\t\t\tconst col2 = tuple('newData_', this.entity.primaryColumn)\n\t\t\t\t\tqb = qb.where(expr => expr.compareColumns(col1, Operator.eq, col2))\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([], 'newData_'), this.newWhere)\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\n\n\t\t\tconst beforeEvent = new BeforeUpdateEvent(this.entity, resolvedData as ResolvedColumnValue[], this.primary)\n\t\t\tawait mapper.eventManager.fire(beforeEvent)\n\n\t\t\tconst result = await qb.execute(mapper.db)\n\t\t\tthis.resolver(result.length)\n\n\t\t\tif (result.length === 1) {\n\t\t\t\tconst eventData = (resolvedData as ResolvedColumnValue[]).map(it => ({\n\t\t\t\t\t...it,\n\t\t\t\t\told: result[0][it.columnName + oldColSuffix],\n\t\t\t\t}))\n\t\t\t\tconst afterUpdateEvent = new AfterUpdateEvent(this.entity, eventData, this.primary)\n\t\t\t\tbeforeEvent.afterEvent = afterUpdateEvent\n\t\t\t\tawait mapper.eventManager.fire(afterUpdateEvent)\n\t\t\t}\n\n\t\t\treturn { values: resolvedData as ResolvedColumnValue[], affectedRows: result.length, executed: true, aborted: false }\n\t\t} catch (e) {\n\t\t\tthis.resolver(null)\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["DbUpdateBuilder","qb","result"],"mappings":"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"}
1
+ {"version":3,"file":"UpdateBuilder.js","sources":["../../../../../../packages/engine-content-api/src/mapper/update/UpdateBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport { Acl, Input, Model, Value } from '@contember/schema'\nimport { acceptEveryFieldVisitor, getColumnName, getColumnType } from '@contember/schema-utils'\nimport { Operator, QueryBuilder, UpdateBuilder as DbUpdateBuilder, Value as DbValue } from '@contember/database'\nimport { PathFactory, WhereBuilder } from '../select'\nimport { ColumnValue, ResolvedColumnValue, resolveGenericValue, resolveRowData } from '../ColumnValue'\nimport { PredicateFactory } from '../../acl'\nimport { AfterUpdateEvent, BeforeUpdateEvent } from '../EventManager'\nimport { Mapper } from '../Mapper'\n\nexport interface UpdateResult {\n\tvalues: ResolvedColumnValue[]\n\texecuted: boolean\n\taffectedRows: number | null\n}\n\nexport class UpdateBuilder {\n\tprivate rowData: Map<string, ColumnValue> = new Map()\n\n\tprivate newWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\tprivate oldWhere: { and: Input.OptionalWhere[] } = { and: [] }\n\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly entity: Model.Entity,\n\t\tprivate readonly whereBuilder: WhereBuilder,\n\t\tprivate readonly primary: Input.PrimaryValue,\n\t\tprivate readonly pathFactory: PathFactory,\n\t\tprivate readonly predicateFactory: PredicateFactory,\n\t) {}\n\n\tpublic addFieldValue(\n\t\tfieldName: string,\n\t\tvalue: Value.GenericValueLike<Value.AtomicValue<undefined>>,\n\t): Promise<Value.AtomicValue<undefined>> {\n\t\tconst columnName = getColumnName(this.schema, this.entity, fieldName)\n\t\tconst columnType = getColumnType(this.schema, this.entity, fieldName)\n\t\tconst resolvedValue = resolveGenericValue(value)\n\t\tthis.rowData.set(columnName, { columnName, value: resolvedValue, columnType, fieldName })\n\t\treturn resolvedValue\n\t}\n\n\tpublic addNewWhere(where: Input.OptionalWhere): void {\n\t\tthis.newWhere.and.push(where)\n\t}\n\n\tpublic addOldWhere(where: Input.OptionalWhere): void {\n\t\tthis.oldWhere.and.push(where)\n\t}\n\n\tpublic addPredicates(fields: string[]): void {\n\t\tconst predicate = this.predicateFactory.create(this.entity, Acl.Operation.update, fields)\n\t\tthis.addNewWhere(predicate)\n\t\tthis.addOldWhere(predicate)\n\t}\n\n\tpublic async execute(mapper: Mapper): Promise<UpdateResult> {\n\t\ttry {\n\t\t\tconst resolvedData = await resolveRowData([...this.rowData.values()])\n\t\t\tif (Object.keys(resolvedData).length === 0) {\n\t\t\t\treturn { values: [], affectedRows: null, executed: false }\n\t\t\t}\n\t\t\tconst oldColSuffix = '_old__'\n\n\t\t\tconst qb = DbUpdateBuilder.create()\n\t\t\t\t.with('newData_', qb => {\n\t\t\t\t\tqb = resolvedData.reduce(\n\t\t\t\t\t\t(qb, value) =>\n\t\t\t\t\t\t\tqb\n\t\t\t\t\t\t\t\t.select(expr => expr.selectValue(value.resolvedValue as DbValue, value.columnType), value.columnName)\n\t\t\t\t\t\t\t\t.select(['root_', value.columnName], value.columnName + oldColSuffix),\n\t\t\t\t\t\tqb,\n\t\t\t\t\t)\n\t\t\t\t\tconst columns = new Set(resolvedData.map(it => it.columnName))\n\t\t\t\t\tconst allColumns: string[] = Object.values(\n\t\t\t\t\t\tacceptEveryFieldVisitor(this.schema, this.entity, {\n\t\t\t\t\t\t\tvisitColumn: ({ column }) => column.columnName,\n\t\t\t\t\t\t\tvisitManyHasOne: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitOneHasOneOwning: ({ relation }) => relation.joiningColumn.columnName,\n\t\t\t\t\t\t\tvisitManyHasManyInverse: () => null,\n\t\t\t\t\t\t\tvisitManyHasManyOwning: () => null,\n\t\t\t\t\t\t\tvisitOneHasOneInverse: () => null,\n\t\t\t\t\t\t\tvisitOneHasMany: () => null,\n\t\t\t\t\t\t}),\n\t\t\t\t\t).filter((it): it is string => it !== null)\n\n\t\t\t\t\tconst remainingColumns = allColumns.filter(it => !columns.has(it))\n\t\t\t\t\tqb = qb.from(this.entity.tableName, 'root_')\n\n\t\t\t\t\tqb = remainingColumns.reduce((qb, columnName) => qb.select(['root_', columnName]), qb)\n\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([]), {\n\t\t\t\t\t\tand: [{\n\t\t\t\t\t\t\t[this.entity.primary]: { eq: this.primary },\n\t\t\t\t\t\t}, this.oldWhere],\n\t\t\t\t\t})\n\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\t\t\t\t.table(this.entity.tableName)\n\t\t\t\t.values(\n\t\t\t\t\tresolvedData.reduce<QueryBuilder.ColumnExpressionMap>(\n\t\t\t\t\t\t(result: object, item) => ({\n\t\t\t\t\t\t\t...result,\n\t\t\t\t\t\t\t[item.columnName]: expr => expr.select(['newData_', item.columnName]),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{},\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.returning(...resolvedData.map(it => it.columnName + oldColSuffix))\n\t\t\t\t.from(qb => {\n\t\t\t\t\tqb = qb.from('newData_')\n\t\t\t\t\tconst col1 = tuple(this.entity.tableName, this.entity.primaryColumn)\n\t\t\t\t\tconst col2 = tuple('newData_', this.entity.primaryColumn)\n\t\t\t\t\tqb = qb.where(expr => expr.compareColumns(col1, Operator.eq, col2))\n\t\t\t\t\tqb = this.whereBuilder.build(qb, this.entity, this.pathFactory.create([], 'newData_'), this.newWhere)\n\t\t\t\t\treturn qb\n\t\t\t\t})\n\n\n\t\t\tconst beforeEvent = new BeforeUpdateEvent(this.entity, resolvedData as ResolvedColumnValue[], this.primary)\n\t\t\tawait mapper.eventManager.fire(beforeEvent)\n\n\t\t\tconst result = await qb.execute(mapper.db)\n\n\t\t\tif (result.length === 1) {\n\t\t\t\tconst eventData = (resolvedData as ResolvedColumnValue[]).map(it => ({\n\t\t\t\t\t...it,\n\t\t\t\t\told: result[0][it.columnName + oldColSuffix],\n\t\t\t\t}))\n\t\t\t\tconst afterUpdateEvent = new AfterUpdateEvent(this.entity, eventData, this.primary)\n\t\t\t\tbeforeEvent.afterEvent = afterUpdateEvent\n\t\t\t\tawait mapper.eventManager.fire(afterUpdateEvent)\n\t\t\t}\n\n\t\t\treturn { values: resolvedData as ResolvedColumnValue[], affectedRows: result.length, executed: true }\n\t\t} catch (e) {\n\t\t\tthrow e\n\t\t}\n\t}\n}\n"],"names":["DbUpdateBuilder","qb","result"],"mappings":"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"}