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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -5,7 +5,6 @@ const CreateInputVisitor = require("../../inputProcessing/CreateInputVisitor.cjs
5
5
  const schemaUtils = require("@contember/schema-utils");
6
6
  require("@contember/schema");
7
7
  const SqlCreateInputProcessor = require("./SqlCreateInputProcessor.cjs");
8
- const ErrorUtils = require("../ErrorUtils.cjs");
9
8
  const ColumnValue = require("../ColumnValue.cjs");
10
9
  class Inserter {
11
10
  constructor(schema, schemaDatabaseMetadata, insertBuilderFactory, providers) {
@@ -16,34 +15,57 @@ class Inserter {
16
15
  }
17
16
  async insert(mapper, entity, data, insertIdCallback, builderCb) {
18
17
  const insertBuilder = this.insertBuilderFactory.create(entity);
19
- insertBuilder.insert.then((id) => id && insertIdCallback(String(id)));
20
18
  insertBuilder.addPredicates(Object.keys(data));
21
19
  const visitor = new CreateInputVisitor.CreateInputVisitor(
22
20
  new SqlCreateInputProcessor.SqlCreateInputProcessor(insertBuilder, mapper, this.providers),
23
21
  this.schema,
24
22
  data
25
23
  );
26
- const promises = schemaUtils.acceptEveryFieldVisitor(
27
- this.schema,
28
- entity,
29
- visitor
30
- );
31
- builderCb(insertBuilder);
32
- const okResultFactory = (primary, values) => new Result.MutationCreateOk([], entity, primary, data, values);
33
- const insertPromise = this.executeInsert(insertBuilder, mapper, okResultFactory);
34
- return await Result.collectResults(this.schema, this.schemaDatabaseMetadata, insertPromise, Object.values(promises));
35
- }
36
- async executeInsert(insertBuilder, mapper, okResultFactory) {
37
- return ErrorUtils.tryMutation(this.schema, this.schemaDatabaseMetadata, async () => {
38
- const result = await insertBuilder.execute(mapper);
39
- if (result.aborted) {
40
- return [new Result.MutationNothingToDo([], Result.NothingToDoReason.aborted)];
24
+ const resultList = [];
25
+ const postInserts = [];
26
+ const keys = /* @__PURE__ */ new Set([
27
+ entity.primary,
28
+ ...Object.keys(data),
29
+ ...Object.keys(entity.fields)
30
+ ]);
31
+ for (const key of keys.values()) {
32
+ const resultSet = await schemaUtils.acceptFieldVisitor(
33
+ this.schema,
34
+ entity,
35
+ key,
36
+ visitor
37
+ );
38
+ for (const result of resultSet) {
39
+ if (typeof result === "function") {
40
+ postInserts.push(result);
41
+ } else {
42
+ for (const resultItem of await result) {
43
+ resultList.push(resultItem);
44
+ if (resultItem.error) {
45
+ return resultList;
46
+ }
47
+ }
48
+ }
41
49
  }
42
- if (result.primaryValue === null) {
43
- return [new Result.MutationNoResultError([])];
50
+ }
51
+ builderCb(insertBuilder);
52
+ const insertResult = await insertBuilder.execute(mapper);
53
+ if (insertResult.primaryValue === null) {
54
+ return [new Result.MutationNoResultError([]), ...resultList];
55
+ }
56
+ insertIdCallback(String(insertResult.primaryValue));
57
+ const okResult = new Result.MutationCreateOk([], entity, insertResult.primaryValue, data, ColumnValue.rowDataToFieldValues(insertResult.values));
58
+ resultList.unshift(okResult);
59
+ for (const postInsert of postInserts) {
60
+ const postInsertResult = await postInsert({ primary: insertResult.primaryValue });
61
+ for (const result of postInsertResult) {
62
+ resultList.push(result);
63
+ if (result.error) {
64
+ return resultList;
65
+ }
44
66
  }
45
- return [okResultFactory(result.primaryValue, ColumnValue.rowDataToFieldValues(result.values))];
46
- });
67
+ }
68
+ return resultList;
47
69
  }
48
70
  }
49
71
  exports.Inserter = Inserter;
@@ -1 +1 @@
1
- {"version":3,"file":"Inserter.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/Inserter.ts"],"sourcesContent":["import {\n\tcollectResults,\n\tMutationCreateOk,\n\tMutationNoResultError,\n\tMutationNothingToDo,\n\tMutationResultList,\n\tNothingToDoReason,\n\tRowValues,\n} from '../Result'\nimport { CreateInputVisitor } from '../../inputProcessing'\nimport { SqlCreateInputProcessor } from './SqlCreateInputProcessor'\nimport { Mapper } from '../Mapper'\nimport { Input, Model, Value } from '@contember/schema'\nimport { acceptEveryFieldVisitor, Providers } from '@contember/schema-utils'\nimport { InsertBuilderFactory } from './InsertBuilderFactory'\nimport { InsertBuilder } from './InsertBuilder'\nimport { tryMutation } from '../ErrorUtils'\nimport { rowDataToFieldValues } from '../ColumnValue'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport class Inserter {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly schemaDatabaseMetadata: DatabaseMetadata,\n\t\tprivate readonly insertBuilderFactory: InsertBuilderFactory,\n\t\tprivate readonly providers: Providers,\n\t) {}\n\n\tpublic async insert(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\tdata: Input.CreateDataInput,\n\t\tinsertIdCallback: (id: string) => void,\n\t\tbuilderCb: (builder: InsertBuilder) => void,\n\t): Promise<MutationResultList> {\n\t\tconst insertBuilder = this.insertBuilderFactory.create(entity)\n\t\t// eslint-disable-next-line promise/catch-or-return\n\t\tinsertBuilder.insert.then(id => id && insertIdCallback(String(id)))\n\n\t\tinsertBuilder.addPredicates(Object.keys(data))\n\t\tconst visitor = new CreateInputVisitor<MutationResultList>(\n\t\t\tnew SqlCreateInputProcessor(insertBuilder, mapper, this.providers),\n\t\t\tthis.schema,\n\t\t\tdata,\n\t\t)\n\t\tconst promises = acceptEveryFieldVisitor<Promise<MutationResultList | MutationResultList[] | undefined>>(\n\t\t\tthis.schema,\n\t\t\tentity,\n\t\t\tvisitor,\n\t\t)\n\t\tbuilderCb(insertBuilder)\n\n\t\tconst okResultFactory = (primary: Value.PrimaryValue, values: RowValues) =>\n\t\t\tnew MutationCreateOk([], entity, primary, data, values)\n\t\tconst insertPromise = this.executeInsert(insertBuilder, mapper, okResultFactory)\n\n\t\treturn await collectResults(this.schema, this.schemaDatabaseMetadata, insertPromise, Object.values(promises))\n\t}\n\n\tprivate async executeInsert(\n\t\tinsertBuilder: InsertBuilder,\n\t\tmapper: Mapper,\n\t\tokResultFactory: (primary: Value.PrimaryValue, values: RowValues) => MutationCreateOk,\n\t): Promise<MutationResultList> {\n\t\treturn tryMutation(this.schema, this.schemaDatabaseMetadata, async () => {\n\t\t\tconst result = await insertBuilder.execute(mapper)\n\t\t\tif (result.aborted) {\n\t\t\t\treturn [new MutationNothingToDo([], NothingToDoReason.aborted)]\n\t\t\t}\n\n\t\t\tif (result.primaryValue === null) {\n\t\t\t\treturn [new MutationNoResultError([])]\n\t\t\t}\n\t\t\treturn [okResultFactory(result.primaryValue, rowDataToFieldValues(result.values))]\n\t\t})\n\t}\n}\n\n"],"names":["CreateInputVisitor","SqlCreateInputProcessor","acceptEveryFieldVisitor","MutationCreateOk","collectResults","tryMutation","MutationNothingToDo","NothingToDoReason","MutationNoResultError","rowDataToFieldValues"],"mappings":";;;;;;;;;AAoBO,MAAM,SAAS;AAAA,EACrB,YACkB,QACA,wBACA,sBACA,WAChB;AAJgB,SAAA,SAAA;AACA,SAAA,yBAAA;AACA,SAAA,uBAAA;AACA,SAAA,YAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,QACA,QACA,MACA,kBACA,WAC8B;AAC9B,UAAM,gBAAgB,KAAK,qBAAqB,OAAO,MAAM;AAE/C,kBAAA,OAAO,KAAK,CAAM,OAAA,MAAM,iBAAiB,OAAO,EAAE,CAAC,CAAC;AAElE,kBAAc,cAAc,OAAO,KAAK,IAAI,CAAC;AAC7C,UAAM,UAAU,IAAIA,mBAAA;AAAA,MACnB,IAAIC,wBAAA,wBAAwB,eAAe,QAAQ,KAAK,SAAS;AAAA,MACjE,KAAK;AAAA,MACL;AAAA,IAAA;AAED,UAAM,WAAWC,YAAA;AAAA,MAChB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAED,cAAU,aAAa;AAEjB,UAAA,kBAAkB,CAAC,SAA6B,WACrD,IAAIC,OAAAA,iBAAiB,CAAI,GAAA,QAAQ,SAAS,MAAM,MAAM;AACvD,UAAM,gBAAgB,KAAK,cAAc,eAAe,QAAQ,eAAe;AAExE,WAAA,MAAMC,OAAe,eAAA,KAAK,QAAQ,KAAK,wBAAwB,eAAe,OAAO,OAAO,QAAQ,CAAC;AAAA,EAC7G;AAAA,EAEA,MAAc,cACb,eACA,QACA,iBAC8B;AAC9B,WAAOC,WAAY,YAAA,KAAK,QAAQ,KAAK,wBAAwB,YAAY;AACxE,YAAM,SAAS,MAAM,cAAc,QAAQ,MAAM;AACjD,UAAI,OAAO,SAAS;AACnB,eAAO,CAAC,IAAIC,OAAAA,oBAAoB,CAAA,GAAIC,OAAAA,kBAAkB,OAAO,CAAC;AAAA,MAC/D;AAEI,UAAA,OAAO,iBAAiB,MAAM;AACjC,eAAO,CAAC,IAAIC,OAAAA,sBAAsB,CAAE,CAAA,CAAC;AAAA,MACtC;AACO,aAAA,CAAC,gBAAgB,OAAO,cAAcC,iCAAqB,OAAO,MAAM,CAAC,CAAC;AAAA,IAAA,CACjF;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"Inserter.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/Inserter.ts"],"sourcesContent":["import { MutationCreateOk, MutationNoResultError, MutationNothingToDo, MutationResultList, NothingToDoReason } from '../Result'\nimport { CreateInputVisitor } from '../../inputProcessing'\nimport { SqlCreateInputProcessor, SqlCreateInputProcessorResult } from './SqlCreateInputProcessor'\nimport { Mapper } from '../Mapper'\nimport { Input, Model } from '@contember/schema'\nimport { acceptFieldVisitor, Providers } from '@contember/schema-utils'\nimport { InsertBuilderFactory } from './InsertBuilderFactory'\nimport { InsertBuilder } from './InsertBuilder'\nimport { rowDataToFieldValues } from '../ColumnValue'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport class Inserter {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly schemaDatabaseMetadata: DatabaseMetadata,\n\t\tprivate readonly insertBuilderFactory: InsertBuilderFactory,\n\t\tprivate readonly providers: Providers,\n\t) {}\n\n\tpublic async insert(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\tdata: Input.CreateDataInput,\n\t\tinsertIdCallback: (id: string) => void,\n\t\tbuilderCb: (builder: InsertBuilder) => void,\n\t): Promise<MutationResultList> {\n\t\tconst insertBuilder = this.insertBuilderFactory.create(entity)\n\n\t\tinsertBuilder.addPredicates(Object.keys(data))\n\n\t\tconst visitor = new CreateInputVisitor<SqlCreateInputProcessorResult>(\n\t\t\tnew SqlCreateInputProcessor(insertBuilder, mapper, this.providers),\n\t\t\tthis.schema,\n\t\t\tdata,\n\t\t)\n\n\t\tconst resultList: MutationResultList = []\n\t\tconst postInserts: Exclude<SqlCreateInputProcessorResult, MutationResultList>[] = []\n\n\t\tconst keys = new Set([\n\t\t\tentity.primary,\n\t\t\t...Object.keys(data),\n\t\t\t...Object.keys(entity.fields),\n\t\t])\n\n\t\tfor (const key of keys.values()) {\n\t\t\tconst resultSet = await acceptFieldVisitor(\n\t\t\t\tthis.schema,\n\t\t\t\tentity,\n\t\t\t\tkey,\n\t\t\t\tvisitor,\n\t\t\t)\n\t\t\tfor (const result of resultSet) {\n\t\t\t\tif (typeof result === 'function') {\n\t\t\t\t\tpostInserts.push(result)\n\t\t\t\t} else {\n\t\t\t\t\tfor (const resultItem of await result) {\n\t\t\t\t\t\tresultList.push(resultItem)\n\t\t\t\t\t\tif (resultItem.error) {\n\t\t\t\t\t\t\treturn resultList\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuilderCb(insertBuilder)\n\t\tconst insertResult = await insertBuilder.execute(mapper)\n\n\t\tif (insertResult.primaryValue === null) {\n\t\t\treturn [new MutationNoResultError([]), ...resultList]\n\t\t}\n\t\tinsertIdCallback(String(insertResult.primaryValue))\n\n\t\tconst okResult = new MutationCreateOk([], entity, insertResult.primaryValue, data, rowDataToFieldValues(insertResult.values))\n\t\tresultList.unshift(okResult)\n\n\t\tfor (const postInsert of postInserts) {\n\t\t\tconst postInsertResult = await postInsert({ primary: insertResult.primaryValue })\n\t\t\tfor (const result of postInsertResult) {\n\t\t\t\tresultList.push(result)\n\t\t\t\tif (result.error) {\n\t\t\t\t\treturn resultList\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn resultList\n\t}\n}\n\n"],"names":["CreateInputVisitor","SqlCreateInputProcessor","acceptFieldVisitor","MutationNoResultError","MutationCreateOk","rowDataToFieldValues"],"mappings":";;;;;;;;AAWO,MAAM,SAAS;AAAA,EACrB,YACkB,QACA,wBACA,sBACA,WAChB;AAJgB,SAAA,SAAA;AACA,SAAA,yBAAA;AACA,SAAA,uBAAA;AACA,SAAA,YAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,QACA,QACA,MACA,kBACA,WAC8B;AAC9B,UAAM,gBAAgB,KAAK,qBAAqB,OAAO,MAAM;AAE7D,kBAAc,cAAc,OAAO,KAAK,IAAI,CAAC;AAE7C,UAAM,UAAU,IAAIA,mBAAA;AAAA,MACnB,IAAIC,wBAAA,wBAAwB,eAAe,QAAQ,KAAK,SAAS;AAAA,MACjE,KAAK;AAAA,MACL;AAAA,IAAA;AAGD,UAAM,aAAiC,CAAA;AACvC,UAAM,cAA4E,CAAA;AAE5E,UAAA,2BAAW,IAAI;AAAA,MACpB,OAAO;AAAA,MACP,GAAG,OAAO,KAAK,IAAI;AAAA,MACnB,GAAG,OAAO,KAAK,OAAO,MAAM;AAAA,IAAA,CAC5B;AAEU,eAAA,OAAO,KAAK,UAAU;AAChC,YAAM,YAAY,MAAMC,YAAA;AAAA,QACvB,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAED,iBAAW,UAAU,WAAW;AAC3B,YAAA,OAAO,WAAW,YAAY;AACjC,sBAAY,KAAK,MAAM;AAAA,QAAA,OACjB;AACK,qBAAA,cAAc,MAAM,QAAQ;AACtC,uBAAW,KAAK,UAAU;AAC1B,gBAAI,WAAW,OAAO;AACd,qBAAA;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAEA,cAAU,aAAa;AACvB,UAAM,eAAe,MAAM,cAAc,QAAQ,MAAM;AAEnD,QAAA,aAAa,iBAAiB,MAAM;AACvC,aAAO,CAAC,IAAIC,OAAA,sBAAsB,CAAE,CAAA,GAAG,GAAG,UAAU;AAAA,IACrD;AACiB,qBAAA,OAAO,aAAa,YAAY,CAAC;AAElD,UAAM,WAAW,IAAIC,wBAAiB,CAAA,GAAI,QAAQ,aAAa,cAAc,MAAMC,YAAA,qBAAqB,aAAa,MAAM,CAAC;AAC5H,eAAW,QAAQ,QAAQ;AAE3B,eAAW,cAAc,aAAa;AACrC,YAAM,mBAAmB,MAAM,WAAW,EAAE,SAAS,aAAa,cAAc;AAChF,iBAAW,UAAU,kBAAkB;AACtC,mBAAW,KAAK,MAAM;AACtB,YAAI,OAAO,OAAO;AACV,iBAAA;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAEO,WAAA;AAAA,EACR;AACD;;"}
@@ -1,9 +1,8 @@
1
- import { collectResults, MutationNothingToDo, NothingToDoReason, MutationNoResultError, MutationCreateOk } from "../Result.js";
1
+ import { MutationNoResultError, MutationCreateOk } from "../Result.js";
2
2
  import { CreateInputVisitor } from "../../inputProcessing/CreateInputVisitor.js";
3
- import { acceptEveryFieldVisitor } from "@contember/schema-utils";
3
+ import { acceptFieldVisitor } from "@contember/schema-utils";
4
4
  import "@contember/schema";
5
5
  import { SqlCreateInputProcessor } from "./SqlCreateInputProcessor.js";
6
- import { tryMutation } from "../ErrorUtils.js";
7
6
  import { rowDataToFieldValues } from "../ColumnValue.js";
8
7
  class Inserter {
9
8
  constructor(schema, schemaDatabaseMetadata, insertBuilderFactory, providers) {
@@ -14,34 +13,57 @@ class Inserter {
14
13
  }
15
14
  async insert(mapper, entity, data, insertIdCallback, builderCb) {
16
15
  const insertBuilder = this.insertBuilderFactory.create(entity);
17
- insertBuilder.insert.then((id) => id && insertIdCallback(String(id)));
18
16
  insertBuilder.addPredicates(Object.keys(data));
19
17
  const visitor = new CreateInputVisitor(
20
18
  new SqlCreateInputProcessor(insertBuilder, mapper, this.providers),
21
19
  this.schema,
22
20
  data
23
21
  );
24
- const promises = acceptEveryFieldVisitor(
25
- this.schema,
26
- entity,
27
- visitor
28
- );
29
- builderCb(insertBuilder);
30
- const okResultFactory = (primary, values) => new MutationCreateOk([], entity, primary, data, values);
31
- const insertPromise = this.executeInsert(insertBuilder, mapper, okResultFactory);
32
- return await collectResults(this.schema, this.schemaDatabaseMetadata, insertPromise, Object.values(promises));
33
- }
34
- async executeInsert(insertBuilder, mapper, okResultFactory) {
35
- return tryMutation(this.schema, this.schemaDatabaseMetadata, async () => {
36
- const result = await insertBuilder.execute(mapper);
37
- if (result.aborted) {
38
- return [new MutationNothingToDo([], NothingToDoReason.aborted)];
22
+ const resultList = [];
23
+ const postInserts = [];
24
+ const keys = /* @__PURE__ */ new Set([
25
+ entity.primary,
26
+ ...Object.keys(data),
27
+ ...Object.keys(entity.fields)
28
+ ]);
29
+ for (const key of keys.values()) {
30
+ const resultSet = await acceptFieldVisitor(
31
+ this.schema,
32
+ entity,
33
+ key,
34
+ visitor
35
+ );
36
+ for (const result of resultSet) {
37
+ if (typeof result === "function") {
38
+ postInserts.push(result);
39
+ } else {
40
+ for (const resultItem of await result) {
41
+ resultList.push(resultItem);
42
+ if (resultItem.error) {
43
+ return resultList;
44
+ }
45
+ }
46
+ }
39
47
  }
40
- if (result.primaryValue === null) {
41
- return [new MutationNoResultError([])];
48
+ }
49
+ builderCb(insertBuilder);
50
+ const insertResult = await insertBuilder.execute(mapper);
51
+ if (insertResult.primaryValue === null) {
52
+ return [new MutationNoResultError([]), ...resultList];
53
+ }
54
+ insertIdCallback(String(insertResult.primaryValue));
55
+ const okResult = new MutationCreateOk([], entity, insertResult.primaryValue, data, rowDataToFieldValues(insertResult.values));
56
+ resultList.unshift(okResult);
57
+ for (const postInsert of postInserts) {
58
+ const postInsertResult = await postInsert({ primary: insertResult.primaryValue });
59
+ for (const result of postInsertResult) {
60
+ resultList.push(result);
61
+ if (result.error) {
62
+ return resultList;
63
+ }
42
64
  }
43
- return [okResultFactory(result.primaryValue, rowDataToFieldValues(result.values))];
44
- });
65
+ }
66
+ return resultList;
45
67
  }
46
68
  }
47
69
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"Inserter.js","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/Inserter.ts"],"sourcesContent":["import {\n\tcollectResults,\n\tMutationCreateOk,\n\tMutationNoResultError,\n\tMutationNothingToDo,\n\tMutationResultList,\n\tNothingToDoReason,\n\tRowValues,\n} from '../Result'\nimport { CreateInputVisitor } from '../../inputProcessing'\nimport { SqlCreateInputProcessor } from './SqlCreateInputProcessor'\nimport { Mapper } from '../Mapper'\nimport { Input, Model, Value } from '@contember/schema'\nimport { acceptEveryFieldVisitor, Providers } from '@contember/schema-utils'\nimport { InsertBuilderFactory } from './InsertBuilderFactory'\nimport { InsertBuilder } from './InsertBuilder'\nimport { tryMutation } from '../ErrorUtils'\nimport { rowDataToFieldValues } from '../ColumnValue'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport class Inserter {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly schemaDatabaseMetadata: DatabaseMetadata,\n\t\tprivate readonly insertBuilderFactory: InsertBuilderFactory,\n\t\tprivate readonly providers: Providers,\n\t) {}\n\n\tpublic async insert(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\tdata: Input.CreateDataInput,\n\t\tinsertIdCallback: (id: string) => void,\n\t\tbuilderCb: (builder: InsertBuilder) => void,\n\t): Promise<MutationResultList> {\n\t\tconst insertBuilder = this.insertBuilderFactory.create(entity)\n\t\t// eslint-disable-next-line promise/catch-or-return\n\t\tinsertBuilder.insert.then(id => id && insertIdCallback(String(id)))\n\n\t\tinsertBuilder.addPredicates(Object.keys(data))\n\t\tconst visitor = new CreateInputVisitor<MutationResultList>(\n\t\t\tnew SqlCreateInputProcessor(insertBuilder, mapper, this.providers),\n\t\t\tthis.schema,\n\t\t\tdata,\n\t\t)\n\t\tconst promises = acceptEveryFieldVisitor<Promise<MutationResultList | MutationResultList[] | undefined>>(\n\t\t\tthis.schema,\n\t\t\tentity,\n\t\t\tvisitor,\n\t\t)\n\t\tbuilderCb(insertBuilder)\n\n\t\tconst okResultFactory = (primary: Value.PrimaryValue, values: RowValues) =>\n\t\t\tnew MutationCreateOk([], entity, primary, data, values)\n\t\tconst insertPromise = this.executeInsert(insertBuilder, mapper, okResultFactory)\n\n\t\treturn await collectResults(this.schema, this.schemaDatabaseMetadata, insertPromise, Object.values(promises))\n\t}\n\n\tprivate async executeInsert(\n\t\tinsertBuilder: InsertBuilder,\n\t\tmapper: Mapper,\n\t\tokResultFactory: (primary: Value.PrimaryValue, values: RowValues) => MutationCreateOk,\n\t): Promise<MutationResultList> {\n\t\treturn tryMutation(this.schema, this.schemaDatabaseMetadata, async () => {\n\t\t\tconst result = await insertBuilder.execute(mapper)\n\t\t\tif (result.aborted) {\n\t\t\t\treturn [new MutationNothingToDo([], NothingToDoReason.aborted)]\n\t\t\t}\n\n\t\t\tif (result.primaryValue === null) {\n\t\t\t\treturn [new MutationNoResultError([])]\n\t\t\t}\n\t\t\treturn [okResultFactory(result.primaryValue, rowDataToFieldValues(result.values))]\n\t\t})\n\t}\n}\n\n"],"names":[],"mappings":";;;;;;;AAoBO,MAAM,SAAS;AAAA,EACrB,YACkB,QACA,wBACA,sBACA,WAChB;AAJgB,SAAA,SAAA;AACA,SAAA,yBAAA;AACA,SAAA,uBAAA;AACA,SAAA,YAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,QACA,QACA,MACA,kBACA,WAC8B;AAC9B,UAAM,gBAAgB,KAAK,qBAAqB,OAAO,MAAM;AAE/C,kBAAA,OAAO,KAAK,CAAM,OAAA,MAAM,iBAAiB,OAAO,EAAE,CAAC,CAAC;AAElE,kBAAc,cAAc,OAAO,KAAK,IAAI,CAAC;AAC7C,UAAM,UAAU,IAAI;AAAA,MACnB,IAAI,wBAAwB,eAAe,QAAQ,KAAK,SAAS;AAAA,MACjE,KAAK;AAAA,MACL;AAAA,IAAA;AAED,UAAM,WAAW;AAAA,MAChB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IAAA;AAED,cAAU,aAAa;AAEjB,UAAA,kBAAkB,CAAC,SAA6B,WACrD,IAAI,iBAAiB,CAAI,GAAA,QAAQ,SAAS,MAAM,MAAM;AACvD,UAAM,gBAAgB,KAAK,cAAc,eAAe,QAAQ,eAAe;AAExE,WAAA,MAAM,eAAe,KAAK,QAAQ,KAAK,wBAAwB,eAAe,OAAO,OAAO,QAAQ,CAAC;AAAA,EAC7G;AAAA,EAEA,MAAc,cACb,eACA,QACA,iBAC8B;AAC9B,WAAO,YAAY,KAAK,QAAQ,KAAK,wBAAwB,YAAY;AACxE,YAAM,SAAS,MAAM,cAAc,QAAQ,MAAM;AACjD,UAAI,OAAO,SAAS;AACnB,eAAO,CAAC,IAAI,oBAAoB,CAAA,GAAI,kBAAkB,OAAO,CAAC;AAAA,MAC/D;AAEI,UAAA,OAAO,iBAAiB,MAAM;AACjC,eAAO,CAAC,IAAI,sBAAsB,CAAE,CAAA,CAAC;AAAA,MACtC;AACO,aAAA,CAAC,gBAAgB,OAAO,cAAc,qBAAqB,OAAO,MAAM,CAAC,CAAC;AAAA,IAAA,CACjF;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"Inserter.js","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/Inserter.ts"],"sourcesContent":["import { MutationCreateOk, MutationNoResultError, MutationNothingToDo, MutationResultList, NothingToDoReason } from '../Result'\nimport { CreateInputVisitor } from '../../inputProcessing'\nimport { SqlCreateInputProcessor, SqlCreateInputProcessorResult } from './SqlCreateInputProcessor'\nimport { Mapper } from '../Mapper'\nimport { Input, Model } from '@contember/schema'\nimport { acceptFieldVisitor, Providers } from '@contember/schema-utils'\nimport { InsertBuilderFactory } from './InsertBuilderFactory'\nimport { InsertBuilder } from './InsertBuilder'\nimport { rowDataToFieldValues } from '../ColumnValue'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport class Inserter {\n\tconstructor(\n\t\tprivate readonly schema: Model.Schema,\n\t\tprivate readonly schemaDatabaseMetadata: DatabaseMetadata,\n\t\tprivate readonly insertBuilderFactory: InsertBuilderFactory,\n\t\tprivate readonly providers: Providers,\n\t) {}\n\n\tpublic async insert(\n\t\tmapper: Mapper,\n\t\tentity: Model.Entity,\n\t\tdata: Input.CreateDataInput,\n\t\tinsertIdCallback: (id: string) => void,\n\t\tbuilderCb: (builder: InsertBuilder) => void,\n\t): Promise<MutationResultList> {\n\t\tconst insertBuilder = this.insertBuilderFactory.create(entity)\n\n\t\tinsertBuilder.addPredicates(Object.keys(data))\n\n\t\tconst visitor = new CreateInputVisitor<SqlCreateInputProcessorResult>(\n\t\t\tnew SqlCreateInputProcessor(insertBuilder, mapper, this.providers),\n\t\t\tthis.schema,\n\t\t\tdata,\n\t\t)\n\n\t\tconst resultList: MutationResultList = []\n\t\tconst postInserts: Exclude<SqlCreateInputProcessorResult, MutationResultList>[] = []\n\n\t\tconst keys = new Set([\n\t\t\tentity.primary,\n\t\t\t...Object.keys(data),\n\t\t\t...Object.keys(entity.fields),\n\t\t])\n\n\t\tfor (const key of keys.values()) {\n\t\t\tconst resultSet = await acceptFieldVisitor(\n\t\t\t\tthis.schema,\n\t\t\t\tentity,\n\t\t\t\tkey,\n\t\t\t\tvisitor,\n\t\t\t)\n\t\t\tfor (const result of resultSet) {\n\t\t\t\tif (typeof result === 'function') {\n\t\t\t\t\tpostInserts.push(result)\n\t\t\t\t} else {\n\t\t\t\t\tfor (const resultItem of await result) {\n\t\t\t\t\t\tresultList.push(resultItem)\n\t\t\t\t\t\tif (resultItem.error) {\n\t\t\t\t\t\t\treturn resultList\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuilderCb(insertBuilder)\n\t\tconst insertResult = await insertBuilder.execute(mapper)\n\n\t\tif (insertResult.primaryValue === null) {\n\t\t\treturn [new MutationNoResultError([]), ...resultList]\n\t\t}\n\t\tinsertIdCallback(String(insertResult.primaryValue))\n\n\t\tconst okResult = new MutationCreateOk([], entity, insertResult.primaryValue, data, rowDataToFieldValues(insertResult.values))\n\t\tresultList.unshift(okResult)\n\n\t\tfor (const postInsert of postInserts) {\n\t\t\tconst postInsertResult = await postInsert({ primary: insertResult.primaryValue })\n\t\t\tfor (const result of postInsertResult) {\n\t\t\t\tresultList.push(result)\n\t\t\t\tif (result.error) {\n\t\t\t\t\treturn resultList\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn resultList\n\t}\n}\n\n"],"names":[],"mappings":";;;;;;AAWO,MAAM,SAAS;AAAA,EACrB,YACkB,QACA,wBACA,sBACA,WAChB;AAJgB,SAAA,SAAA;AACA,SAAA,yBAAA;AACA,SAAA,uBAAA;AACA,SAAA,YAAA;AAAA,EACf;AAAA,EAEH,MAAa,OACZ,QACA,QACA,MACA,kBACA,WAC8B;AAC9B,UAAM,gBAAgB,KAAK,qBAAqB,OAAO,MAAM;AAE7D,kBAAc,cAAc,OAAO,KAAK,IAAI,CAAC;AAE7C,UAAM,UAAU,IAAI;AAAA,MACnB,IAAI,wBAAwB,eAAe,QAAQ,KAAK,SAAS;AAAA,MACjE,KAAK;AAAA,MACL;AAAA,IAAA;AAGD,UAAM,aAAiC,CAAA;AACvC,UAAM,cAA4E,CAAA;AAE5E,UAAA,2BAAW,IAAI;AAAA,MACpB,OAAO;AAAA,MACP,GAAG,OAAO,KAAK,IAAI;AAAA,MACnB,GAAG,OAAO,KAAK,OAAO,MAAM;AAAA,IAAA,CAC5B;AAEU,eAAA,OAAO,KAAK,UAAU;AAChC,YAAM,YAAY,MAAM;AAAA,QACvB,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAED,iBAAW,UAAU,WAAW;AAC3B,YAAA,OAAO,WAAW,YAAY;AACjC,sBAAY,KAAK,MAAM;AAAA,QAAA,OACjB;AACK,qBAAA,cAAc,MAAM,QAAQ;AACtC,uBAAW,KAAK,UAAU;AAC1B,gBAAI,WAAW,OAAO;AACd,qBAAA;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAEA,cAAU,aAAa;AACvB,UAAM,eAAe,MAAM,cAAc,QAAQ,MAAM;AAEnD,QAAA,aAAa,iBAAiB,MAAM;AACvC,aAAO,CAAC,IAAI,sBAAsB,CAAE,CAAA,GAAG,GAAG,UAAU;AAAA,IACrD;AACiB,qBAAA,OAAO,aAAa,YAAY,CAAC;AAElD,UAAM,WAAW,IAAI,iBAAiB,CAAA,GAAI,QAAQ,aAAa,cAAc,MAAM,qBAAqB,aAAa,MAAM,CAAC;AAC5H,eAAW,QAAQ,QAAQ;AAE3B,eAAW,cAAc,aAAa;AACrC,YAAM,mBAAmB,MAAM,WAAW,EAAE,SAAS,aAAa,cAAc;AAChF,iBAAW,UAAU,kBAAkB;AACtC,mBAAW,KAAK,MAAM;AACtB,YAAI,OAAO,OAAO;AACV,iBAAA;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAEO,WAAA;AAAA,EACR;AACD;"}
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const schemaUtils = require("@contember/schema-utils");
4
4
  const MutationProcessorHelper = require("../MutationProcessorHelper.cjs");
5
- const OneHasOneInverseCreateInputProcessor = require("../relations/OneHasOneInverseCreateInputProcessor.cjs");
6
- const OneHasOneOwningCreateInputProcessor = require("../relations/OneHasOneOwningCreateInputProcessor.cjs");
7
- const ManyHasManyInputProcessor = require("../relations/ManyHasManyInputProcessor.cjs");
8
- const ManyHasOneInputProcessor = require("../relations/ManyHasOneInputProcessor.cjs");
9
- const OneHasManyInputProcessor = require("../relations/OneHasManyInputProcessor.cjs");
5
+ const OneHasOneInverseCreateInputProcessor = require("./relations/OneHasOneInverseCreateInputProcessor.cjs");
6
+ const OneHasOneOwningCreateInputProcessor = require("./relations/OneHasOneOwningCreateInputProcessor.cjs");
7
+ const OneHasManyCreateInputProcessor = require("./relations/OneHasManyCreateInputProcessor.cjs");
8
+ const ManyHasOneCreateInputProcessor = require("./relations/ManyHasOneCreateInputProcessor.cjs");
9
+ const ManyHasManyCreateInputProcessor = require("./relations/ManyHasManyCreateInputProcessor.cjs");
10
10
  var __defProp = Object.defineProperty;
11
11
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
12
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -21,82 +21,28 @@ class SqlCreateInputProcessor {
21
21
  __publicField(this, "manyHasOneCreateInputProcessor");
22
22
  __publicField(this, "manyHasManyCreateInputProcessor");
23
23
  __publicField(this, "manyHasManyInverse", {
24
- connect: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
25
- const primary = await this.insertBuilder.insert;
26
- if (!primary) {
27
- return [];
28
- }
29
- return this.manyHasManyCreateInputProcessor.connect(ctx, primary);
30
- }),
31
- create: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
32
- const primary = await this.insertBuilder.insert;
33
- if (!primary) {
34
- return [];
35
- }
36
- return this.manyHasManyCreateInputProcessor.create(ctx, primary);
37
- }),
38
- connectOrCreate: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
39
- const primary = await this.insertBuilder.insert;
40
- if (!primary) {
41
- return [];
42
- }
43
- return this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary);
44
- })
24
+ connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connect(ctx)),
25
+ create: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.create(ctx)),
26
+ connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx))
45
27
  });
46
28
  __publicField(this, "manyHasManyOwning", {
47
- connect: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
48
- const primary = await this.insertBuilder.insert;
49
- if (!primary) {
50
- return [];
51
- }
52
- return this.manyHasManyCreateInputProcessor.connect(ctx, primary);
53
- }),
54
- create: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
55
- const primary = await this.insertBuilder.insert;
56
- if (!primary) {
57
- return [];
58
- }
59
- return this.manyHasManyCreateInputProcessor.create(ctx, primary);
60
- }),
61
- connectOrCreate: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
62
- const primary = await this.insertBuilder.insert;
63
- if (!primary) {
64
- return [];
65
- }
66
- return this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary);
67
- })
29
+ connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connect(ctx)),
30
+ create: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.create(ctx)),
31
+ connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx))
68
32
  });
69
33
  __publicField(this, "manyHasOne", {
70
34
  nothing: async (ctx) => {
71
35
  this.insertBuilder.addFieldValue(ctx.relation.name, null);
72
36
  return [];
73
37
  },
74
- connect: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connect(ctx, this.insertBuilder)),
75
- create: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.create(ctx, this.insertBuilder)),
76
- connectOrCreate: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx, this.insertBuilder))
38
+ connect: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connect(ctx)),
39
+ create: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.create(ctx)),
40
+ connectOrCreate: MutationProcessorHelper.hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx))
77
41
  });
78
42
  __publicField(this, "oneHasMany", {
79
- connect: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
80
- const primary = await this.insertBuilder.insert;
81
- if (!primary) {
82
- return [];
83
- }
84
- return this.oneHasManyCreateInputProcessor.connect(ctx, primary);
85
- }),
86
- create: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
87
- const primary = await this.insertBuilder.insert;
88
- if (!primary) {
89
- return [];
90
- }
91
- return this.oneHasManyCreateInputProcessor.create(ctx, primary);
92
- }),
93
- connectOrCreate: MutationProcessorHelper.hasManyProcessor(async (ctx) => {
94
- const primary = await this.insertBuilder.insert;
95
- if (!primary) {
96
- return [];
97
- }
98
- return this.oneHasManyCreateInputProcessor.connectOrCreate(ctx, primary);
99
- })
43
+ connect: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyCreateInputProcessor.connect(ctx)),
44
+ create: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyCreateInputProcessor.create(ctx)),
45
+ connectOrCreate: MutationProcessorHelper.hasManyProcessor((ctx) => this.oneHasManyCreateInputProcessor.connectOrCreate(ctx))
100
46
  });
101
47
  __publicField(this, "oneHasOneOwning", {
102
48
  nothing: async (ctx) => {
@@ -112,11 +58,11 @@ class SqlCreateInputProcessor {
112
58
  create: MutationProcessorHelper.hasOneProcessor((ctx) => this.oneHasOneInverseCreateInputProcessor.create(ctx)),
113
59
  connectOrCreate: MutationProcessorHelper.hasOneProcessor((ctx) => this.oneHasOneInverseCreateInputProcessor.connectOrCreate(ctx))
114
60
  });
115
- this.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor.OneHasOneInverseCreateInputProcessor(this.insertBuilder, this.mapper);
116
- this.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor.OneHasOneOwningCreateInputProcessor(this.insertBuilder, this.mapper);
117
- this.oneHasManyCreateInputProcessor = new OneHasManyInputProcessor.OneHasManyInputProcessor(this.mapper);
118
- this.manyHasOneCreateInputProcessor = new ManyHasOneInputProcessor.ManyHasOneInputProcessor(this.mapper);
119
- this.manyHasManyCreateInputProcessor = new ManyHasManyInputProcessor.ManyHasManyInputProcessor(this.mapper);
61
+ this.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor.OneHasOneInverseCreateInputProcessor(this.mapper);
62
+ this.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor.OneHasOneOwningCreateInputProcessor(this.mapper, this.insertBuilder);
63
+ this.oneHasManyCreateInputProcessor = new OneHasManyCreateInputProcessor.OneHasManyCreateInputProcessor(this.mapper);
64
+ this.manyHasOneCreateInputProcessor = new ManyHasOneCreateInputProcessor.ManyHasOneCreateInputProcessor(this.mapper, this.insertBuilder);
65
+ this.manyHasManyCreateInputProcessor = new ManyHasManyCreateInputProcessor.ManyHasManyCreateInputProcessor(this.mapper);
120
66
  }
121
67
  async column(context) {
122
68
  this.insertBuilder.addFieldValue(
@@ -1 +1 @@
1
- {"version":3,"file":"SqlCreateInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/SqlCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { InsertBuilder } from './InsertBuilder'\nimport { Providers, resolveColumnValue } from '@contember/schema-utils'\nimport * as Context from '../../inputProcessing'\nimport { CreateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseCreateInputProcessor } from '../relations/OneHasOneInverseCreateInputProcessor'\nimport { OneHasOneOwningCreateInputProcessor } from '../relations/OneHasOneOwningCreateInputProcessor'\nimport { ManyHasManyInputProcessor } from '../relations/ManyHasManyInputProcessor'\nimport { ManyHasOneInputProcessor } from '../relations/ManyHasOneInputProcessor'\nimport { OneHasManyInputProcessor } from '../relations/OneHasManyInputProcessor'\n\nexport class SqlCreateInputProcessor implements CreateInputProcessor<MutationResultList> {\n\n\tprivate oneHasOneInverseCreateInputProcessor: OneHasOneInverseCreateInputProcessor\n\tprivate oneHasOneOwningCreateInputProcessor: OneHasOneOwningCreateInputProcessor\n\tprivate oneHasManyCreateInputProcessor: OneHasManyInputProcessor\n\tprivate manyHasOneCreateInputProcessor: ManyHasOneInputProcessor\n\tprivate manyHasManyCreateInputProcessor: ManyHasManyInputProcessor\n\n\tconstructor(\n\t\tprivate readonly insertBuilder: InsertBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly providers: Providers,\n\t) {\n\t\tthis.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor(this.insertBuilder, this.mapper)\n\t\tthis.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor(this.insertBuilder, this.mapper)\n\t\tthis.oneHasManyCreateInputProcessor = new OneHasManyInputProcessor(this.mapper)\n\t\tthis.manyHasOneCreateInputProcessor = new ManyHasOneInputProcessor(this.mapper)\n\t\tthis.manyHasManyCreateInputProcessor = new ManyHasManyInputProcessor(this.mapper)\n\t}\n\n\tpublic async column(context: Model.ColumnContext & { input: Input.ColumnValue | undefined }): Promise<MutationResultList> {\n\t\tthis.insertBuilder.addFieldValue(\n\t\t\tcontext.column.name,\n\t\t\t((): Value.GenericValueLike<Value.AtomicValue | undefined> => {\n\t\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t\t})(),\n\t\t)\n\t\treturn []\n\t}\n\n\tmanyHasManyInverse: CreateInputProcessor<MutationResultList>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connect(ctx, primary)\n\t\t}),\n\t\tcreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.create(ctx, primary)\n\t\t}),\n\t\tconnectOrCreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary)\n\t\t}),\n\t}\n\n\tmanyHasManyOwning: CreateInputProcessor<MutationResultList>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connect(ctx, primary)\n\t\t}),\n\t\tcreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.create(ctx, primary)\n\t\t}),\n\t\tconnectOrCreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary)\n\t\t}),\n\t}\n\n\tmanyHasOne: CreateInputProcessor<MutationResultList>['manyHasOne'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connect(ctx, this.insertBuilder)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.create(ctx, this.insertBuilder)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx, this.insertBuilder)),\n\t}\n\n\toneHasMany: CreateInputProcessor<MutationResultList>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.oneHasManyCreateInputProcessor.connect(ctx, primary)\n\t\t}),\n\t\tcreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.oneHasManyCreateInputProcessor.create(ctx, primary)\n\t\t}),\n\t\tconnectOrCreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.oneHasManyCreateInputProcessor.connectOrCreate(ctx, primary)\n\t\t}),\n\t}\n\n\n\toneHasOneOwning: CreateInputProcessor<MutationResultList>['oneHasOneOwning'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\toneHasOneInverse: CreateInputProcessor<MutationResultList>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n}\n"],"names":["hasManyProcessor","hasOneProcessor","OneHasOneInverseCreateInputProcessor","OneHasOneOwningCreateInputProcessor","OneHasManyInputProcessor","ManyHasOneInputProcessor","ManyHasManyInputProcessor","resolveColumnValue"],"mappings":"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"}
1
+ {"version":3,"file":"SqlCreateInputProcessor.cjs","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/SqlCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { InsertBuilder } from './InsertBuilder'\nimport { Providers, resolveColumnValue } from '@contember/schema-utils'\nimport { CreateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseCreateInputProcessor } from './relations/OneHasOneInverseCreateInputProcessor'\nimport { OneHasOneOwningCreateInputProcessor } from './relations/OneHasOneOwningCreateInputProcessor'\nimport { OneHasManyCreateInputProcessor } from './relations/OneHasManyCreateInputProcessor'\nimport { ManyHasOneCreateInputProcessor } from './relations/ManyHasOneCreateInputProcessor'\nimport { ManyHasManyCreateInputProcessor } from './relations/ManyHasManyCreateInputProcessor'\n\n\nexport type SqlCreateInputProcessorResult = MutationResultList | ((ctx: { primary: Input.PrimaryValue }) => Promise<MutationResultList>)\nexport class SqlCreateInputProcessor implements CreateInputProcessor<SqlCreateInputProcessorResult> {\n\n\tprivate oneHasOneInverseCreateInputProcessor: OneHasOneInverseCreateInputProcessor\n\tprivate oneHasOneOwningCreateInputProcessor: OneHasOneOwningCreateInputProcessor\n\tprivate oneHasManyCreateInputProcessor: OneHasManyCreateInputProcessor\n\tprivate manyHasOneCreateInputProcessor: ManyHasOneCreateInputProcessor\n\tprivate manyHasManyCreateInputProcessor: ManyHasManyCreateInputProcessor\n\n\tconstructor(\n\t\tprivate readonly insertBuilder: InsertBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly providers: Providers,\n\t) {\n\t\tthis.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor(this.mapper)\n\t\tthis.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor(this.mapper, this.insertBuilder)\n\t\tthis.oneHasManyCreateInputProcessor = new OneHasManyCreateInputProcessor(this.mapper)\n\t\tthis.manyHasOneCreateInputProcessor = new ManyHasOneCreateInputProcessor(this.mapper, this.insertBuilder)\n\t\tthis.manyHasManyCreateInputProcessor = new ManyHasManyCreateInputProcessor(this.mapper)\n\t}\n\n\tpublic async column(context: Model.ColumnContext & { input: Input.ColumnValue | undefined }): Promise<SqlCreateInputProcessorResult> {\n\t\tthis.insertBuilder.addFieldValue(\n\t\t\tcontext.column.name,\n\t\t\t((): Value.GenericValueLike<Value.AtomicValue | undefined> => {\n\t\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t\t})(),\n\t\t)\n\t\treturn []\n\t}\n\n\tmanyHasManyInverse: CreateInputProcessor<SqlCreateInputProcessorResult>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\tmanyHasManyOwning: CreateInputProcessor<SqlCreateInputProcessorResult>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\tmanyHasOne: CreateInputProcessor<SqlCreateInputProcessorResult>['manyHasOne'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\toneHasMany: CreateInputProcessor<SqlCreateInputProcessorResult>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(ctx => this.oneHasManyCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.oneHasManyCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.oneHasManyCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\n\toneHasOneOwning: CreateInputProcessor<SqlCreateInputProcessorResult>['oneHasOneOwning'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\toneHasOneInverse: CreateInputProcessor<SqlCreateInputProcessorResult>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n}\n"],"names":["hasManyProcessor","hasOneProcessor","OneHasOneInverseCreateInputProcessor","OneHasOneOwningCreateInputProcessor","OneHasManyCreateInputProcessor","ManyHasOneCreateInputProcessor","ManyHasManyCreateInputProcessor","resolveColumnValue"],"mappings":";;;;;;;;;;;;AAeO,MAAM,wBAAuF;AAAA,EAQnG,YACkB,eACA,QACA,WAChB;AAHgB,SAAA,gBAAA;AACA,SAAA,SAAA;AACA,SAAA,YAAA;AATV,kBAAA,MAAA,sCAAA;AACA,kBAAA,MAAA,qCAAA;AACA,kBAAA,MAAA,gCAAA;AACA,kBAAA,MAAA,gCAAA;AACA,kBAAA,MAAA,iCAAA;AAwBwF,kBAAA,MAAA,sBAAA;AAAA,MAC/F,SAASA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,gCAAgC,QAAQ,GAAG,CAAC;AAAA,MAClF,QAAQA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,gCAAgC,OAAO,GAAG,CAAC;AAAA,MAChF,iBAAiBA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,gCAAgC,gBAAgB,GAAG,CAAC;AAAA,IAAA,CACnG;AAE8F,kBAAA,MAAA,qBAAA;AAAA,MAC7F,SAASA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,gCAAgC,QAAQ,GAAG,CAAC;AAAA,MAClF,QAAQA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,gCAAgC,OAAO,GAAG,CAAC;AAAA,MAChF,iBAAiBA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,gCAAgC,gBAAgB,GAAG,CAAC;AAAA,IAAA,CACnG;AAEgF,kBAAA,MAAA,cAAA;AAAA,MAC/E,SAAS,OAAM,QAAO;AACrB,aAAK,cAAc,cAAc,IAAI,SAAS,MAAM,IAAI;AACxD,eAAO;MACR;AAAA,MACA,SAASC,wBAAgB,gBAAA,CAAA,QAAO,KAAK,+BAA+B,QAAQ,GAAG,CAAC;AAAA,MAChF,QAAQA,wBAAgB,gBAAA,CAAA,QAAO,KAAK,+BAA+B,OAAO,GAAG,CAAC;AAAA,MAC9E,iBAAiBA,wBAAgB,gBAAA,CAAA,QAAO,KAAK,+BAA+B,gBAAgB,GAAG,CAAC;AAAA,IAAA,CACjG;AAEgF,kBAAA,MAAA,cAAA;AAAA,MAC/E,SAASD,wBAAiB,iBAAA,CAAA,QAAO,KAAK,+BAA+B,QAAQ,GAAG,CAAC;AAAA,MACjF,QAAQA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,+BAA+B,OAAO,GAAG,CAAC;AAAA,MAC/E,iBAAiBA,wBAAiB,iBAAA,CAAA,QAAO,KAAK,+BAA+B,gBAAgB,GAAG,CAAC;AAAA,IAAA,CAClG;AAG0F,kBAAA,MAAA,mBAAA;AAAA,MACzF,SAAS,OAAM,QAAO;AACrB,aAAK,cAAc,cAAc,IAAI,SAAS,MAAM,IAAI;AACxD,eAAO;MACR;AAAA,MACA,SAASC,wBAAgB,gBAAA,CAAA,QAAO,KAAK,oCAAoC,QAAQ,GAAG,CAAC;AAAA,MACrF,QAAQA,wBAAgB,gBAAA,CAAA,QAAO,KAAK,oCAAoC,OAAO,GAAG,CAAC;AAAA,MACnF,iBAAiBA,wBAAgB,gBAAA,CAAA,QAAO,KAAK,oCAAoC,gBAAgB,GAAG,CAAC;AAAA,IAAA,CACtG;AAE4F,kBAAA,MAAA,oBAAA;AAAA,MAC3F,SAASA,wBAAgB,gBAAA,CAAA,QAAO,KAAK,qCAAqC,QAAQ,GAAG,CAAC;AAAA,MACtF,QAAQA,wBAAgB,gBAAA,CAAA,QAAO,KAAK,qCAAqC,OAAO,GAAG,CAAC;AAAA,MACpF,iBAAiBA,wBAAgB,gBAAA,CAAA,QAAO,KAAK,qCAAqC,gBAAgB,GAAG,CAAC;AAAA,IAAA,CACvG;AA5DC,SAAK,uCAAuC,IAAIC,qCAAqC,qCAAA,KAAK,MAAM;AAChG,SAAK,sCAAsC,IAAIC,oCAAA,oCAAoC,KAAK,QAAQ,KAAK,aAAa;AAClH,SAAK,iCAAiC,IAAIC,+BAA+B,+BAAA,KAAK,MAAM;AACpF,SAAK,iCAAiC,IAAIC,+BAAA,+BAA+B,KAAK,QAAQ,KAAK,aAAa;AACxG,SAAK,kCAAkC,IAAIC,gCAAgC,gCAAA,KAAK,MAAM;AAAA,EACvF;AAAA,EAEA,MAAa,OAAO,SAAiH;AACpI,SAAK,cAAc;AAAA,MAClB,QAAQ,OAAO;AAAA,OACd,MAA6D;AACtD,eAAAC,+BAAmB,SAAS,KAAK,SAAS;AAAA,MAAA,GAC/C;AAAA,IAAA;AAEJ,WAAO;EACR;AA8CD;;"}
@@ -1,10 +1,10 @@
1
1
  import { resolveColumnValue } from "@contember/schema-utils";
2
2
  import { hasManyProcessor, hasOneProcessor } from "../MutationProcessorHelper.js";
3
- import { OneHasOneInverseCreateInputProcessor } from "../relations/OneHasOneInverseCreateInputProcessor.js";
4
- import { OneHasOneOwningCreateInputProcessor } from "../relations/OneHasOneOwningCreateInputProcessor.js";
5
- import { ManyHasManyInputProcessor } from "../relations/ManyHasManyInputProcessor.js";
6
- import { ManyHasOneInputProcessor } from "../relations/ManyHasOneInputProcessor.js";
7
- import { OneHasManyInputProcessor } from "../relations/OneHasManyInputProcessor.js";
3
+ import { OneHasOneInverseCreateInputProcessor } from "./relations/OneHasOneInverseCreateInputProcessor.js";
4
+ import { OneHasOneOwningCreateInputProcessor } from "./relations/OneHasOneOwningCreateInputProcessor.js";
5
+ import { OneHasManyCreateInputProcessor } from "./relations/OneHasManyCreateInputProcessor.js";
6
+ import { ManyHasOneCreateInputProcessor } from "./relations/ManyHasOneCreateInputProcessor.js";
7
+ import { ManyHasManyCreateInputProcessor } from "./relations/ManyHasManyCreateInputProcessor.js";
8
8
  var __defProp = Object.defineProperty;
9
9
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
10
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -19,82 +19,28 @@ class SqlCreateInputProcessor {
19
19
  __publicField(this, "manyHasOneCreateInputProcessor");
20
20
  __publicField(this, "manyHasManyCreateInputProcessor");
21
21
  __publicField(this, "manyHasManyInverse", {
22
- connect: hasManyProcessor(async (ctx) => {
23
- const primary = await this.insertBuilder.insert;
24
- if (!primary) {
25
- return [];
26
- }
27
- return this.manyHasManyCreateInputProcessor.connect(ctx, primary);
28
- }),
29
- create: hasManyProcessor(async (ctx) => {
30
- const primary = await this.insertBuilder.insert;
31
- if (!primary) {
32
- return [];
33
- }
34
- return this.manyHasManyCreateInputProcessor.create(ctx, primary);
35
- }),
36
- connectOrCreate: hasManyProcessor(async (ctx) => {
37
- const primary = await this.insertBuilder.insert;
38
- if (!primary) {
39
- return [];
40
- }
41
- return this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary);
42
- })
22
+ connect: hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connect(ctx)),
23
+ create: hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.create(ctx)),
24
+ connectOrCreate: hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx))
43
25
  });
44
26
  __publicField(this, "manyHasManyOwning", {
45
- connect: hasManyProcessor(async (ctx) => {
46
- const primary = await this.insertBuilder.insert;
47
- if (!primary) {
48
- return [];
49
- }
50
- return this.manyHasManyCreateInputProcessor.connect(ctx, primary);
51
- }),
52
- create: hasManyProcessor(async (ctx) => {
53
- const primary = await this.insertBuilder.insert;
54
- if (!primary) {
55
- return [];
56
- }
57
- return this.manyHasManyCreateInputProcessor.create(ctx, primary);
58
- }),
59
- connectOrCreate: hasManyProcessor(async (ctx) => {
60
- const primary = await this.insertBuilder.insert;
61
- if (!primary) {
62
- return [];
63
- }
64
- return this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary);
65
- })
27
+ connect: hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connect(ctx)),
28
+ create: hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.create(ctx)),
29
+ connectOrCreate: hasManyProcessor((ctx) => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx))
66
30
  });
67
31
  __publicField(this, "manyHasOne", {
68
32
  nothing: async (ctx) => {
69
33
  this.insertBuilder.addFieldValue(ctx.relation.name, null);
70
34
  return [];
71
35
  },
72
- connect: hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connect(ctx, this.insertBuilder)),
73
- create: hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.create(ctx, this.insertBuilder)),
74
- connectOrCreate: hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx, this.insertBuilder))
36
+ connect: hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connect(ctx)),
37
+ create: hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.create(ctx)),
38
+ connectOrCreate: hasOneProcessor((ctx) => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx))
75
39
  });
76
40
  __publicField(this, "oneHasMany", {
77
- connect: hasManyProcessor(async (ctx) => {
78
- const primary = await this.insertBuilder.insert;
79
- if (!primary) {
80
- return [];
81
- }
82
- return this.oneHasManyCreateInputProcessor.connect(ctx, primary);
83
- }),
84
- create: hasManyProcessor(async (ctx) => {
85
- const primary = await this.insertBuilder.insert;
86
- if (!primary) {
87
- return [];
88
- }
89
- return this.oneHasManyCreateInputProcessor.create(ctx, primary);
90
- }),
91
- connectOrCreate: hasManyProcessor(async (ctx) => {
92
- const primary = await this.insertBuilder.insert;
93
- if (!primary) {
94
- return [];
95
- }
96
- return this.oneHasManyCreateInputProcessor.connectOrCreate(ctx, primary);
97
- })
41
+ connect: hasManyProcessor((ctx) => this.oneHasManyCreateInputProcessor.connect(ctx)),
42
+ create: hasManyProcessor((ctx) => this.oneHasManyCreateInputProcessor.create(ctx)),
43
+ connectOrCreate: hasManyProcessor((ctx) => this.oneHasManyCreateInputProcessor.connectOrCreate(ctx))
98
44
  });
99
45
  __publicField(this, "oneHasOneOwning", {
100
46
  nothing: async (ctx) => {
@@ -110,11 +56,11 @@ class SqlCreateInputProcessor {
110
56
  create: hasOneProcessor((ctx) => this.oneHasOneInverseCreateInputProcessor.create(ctx)),
111
57
  connectOrCreate: hasOneProcessor((ctx) => this.oneHasOneInverseCreateInputProcessor.connectOrCreate(ctx))
112
58
  });
113
- this.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor(this.insertBuilder, this.mapper);
114
- this.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor(this.insertBuilder, this.mapper);
115
- this.oneHasManyCreateInputProcessor = new OneHasManyInputProcessor(this.mapper);
116
- this.manyHasOneCreateInputProcessor = new ManyHasOneInputProcessor(this.mapper);
117
- this.manyHasManyCreateInputProcessor = new ManyHasManyInputProcessor(this.mapper);
59
+ this.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor(this.mapper);
60
+ this.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor(this.mapper, this.insertBuilder);
61
+ this.oneHasManyCreateInputProcessor = new OneHasManyCreateInputProcessor(this.mapper);
62
+ this.manyHasOneCreateInputProcessor = new ManyHasOneCreateInputProcessor(this.mapper, this.insertBuilder);
63
+ this.manyHasManyCreateInputProcessor = new ManyHasManyCreateInputProcessor(this.mapper);
118
64
  }
119
65
  async column(context) {
120
66
  this.insertBuilder.addFieldValue(
@@ -1 +1 @@
1
- {"version":3,"file":"SqlCreateInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/SqlCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { InsertBuilder } from './InsertBuilder'\nimport { Providers, resolveColumnValue } from '@contember/schema-utils'\nimport * as Context from '../../inputProcessing'\nimport { CreateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseCreateInputProcessor } from '../relations/OneHasOneInverseCreateInputProcessor'\nimport { OneHasOneOwningCreateInputProcessor } from '../relations/OneHasOneOwningCreateInputProcessor'\nimport { ManyHasManyInputProcessor } from '../relations/ManyHasManyInputProcessor'\nimport { ManyHasOneInputProcessor } from '../relations/ManyHasOneInputProcessor'\nimport { OneHasManyInputProcessor } from '../relations/OneHasManyInputProcessor'\n\nexport class SqlCreateInputProcessor implements CreateInputProcessor<MutationResultList> {\n\n\tprivate oneHasOneInverseCreateInputProcessor: OneHasOneInverseCreateInputProcessor\n\tprivate oneHasOneOwningCreateInputProcessor: OneHasOneOwningCreateInputProcessor\n\tprivate oneHasManyCreateInputProcessor: OneHasManyInputProcessor\n\tprivate manyHasOneCreateInputProcessor: ManyHasOneInputProcessor\n\tprivate manyHasManyCreateInputProcessor: ManyHasManyInputProcessor\n\n\tconstructor(\n\t\tprivate readonly insertBuilder: InsertBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly providers: Providers,\n\t) {\n\t\tthis.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor(this.insertBuilder, this.mapper)\n\t\tthis.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor(this.insertBuilder, this.mapper)\n\t\tthis.oneHasManyCreateInputProcessor = new OneHasManyInputProcessor(this.mapper)\n\t\tthis.manyHasOneCreateInputProcessor = new ManyHasOneInputProcessor(this.mapper)\n\t\tthis.manyHasManyCreateInputProcessor = new ManyHasManyInputProcessor(this.mapper)\n\t}\n\n\tpublic async column(context: Model.ColumnContext & { input: Input.ColumnValue | undefined }): Promise<MutationResultList> {\n\t\tthis.insertBuilder.addFieldValue(\n\t\t\tcontext.column.name,\n\t\t\t((): Value.GenericValueLike<Value.AtomicValue | undefined> => {\n\t\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t\t})(),\n\t\t)\n\t\treturn []\n\t}\n\n\tmanyHasManyInverse: CreateInputProcessor<MutationResultList>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connect(ctx, primary)\n\t\t}),\n\t\tcreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.create(ctx, primary)\n\t\t}),\n\t\tconnectOrCreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary)\n\t\t}),\n\t}\n\n\tmanyHasManyOwning: CreateInputProcessor<MutationResultList>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connect(ctx, primary)\n\t\t}),\n\t\tcreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.create(ctx, primary)\n\t\t}),\n\t\tconnectOrCreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.manyHasManyCreateInputProcessor.connectOrCreate(ctx, primary)\n\t\t}),\n\t}\n\n\tmanyHasOne: CreateInputProcessor<MutationResultList>['manyHasOne'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connect(ctx, this.insertBuilder)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.create(ctx, this.insertBuilder)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx, this.insertBuilder)),\n\t}\n\n\toneHasMany: CreateInputProcessor<MutationResultList>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.oneHasManyCreateInputProcessor.connect(ctx, primary)\n\t\t}),\n\t\tcreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.oneHasManyCreateInputProcessor.create(ctx, primary)\n\t\t}),\n\t\tconnectOrCreate: hasManyProcessor(async ctx => {\n\t\t\tconst primary = await this.insertBuilder.insert\n\t\t\tif (!primary) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn this.oneHasManyCreateInputProcessor.connectOrCreate(ctx, primary)\n\t\t}),\n\t}\n\n\n\toneHasOneOwning: CreateInputProcessor<MutationResultList>['oneHasOneOwning'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\toneHasOneInverse: CreateInputProcessor<MutationResultList>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlCreateInputProcessor.js","sources":["../../../../../../packages/engine-content-api/src/mapper/insert/SqlCreateInputProcessor.ts"],"sourcesContent":["import { Input, Model, Value } from '@contember/schema'\nimport { Mapper } from '../Mapper'\nimport { InsertBuilder } from './InsertBuilder'\nimport { Providers, resolveColumnValue } from '@contember/schema-utils'\nimport { CreateInputProcessor } from '../../inputProcessing'\nimport { MutationResultList } from '../Result'\nimport { hasManyProcessor, hasOneProcessor } from '../MutationProcessorHelper'\nimport { OneHasOneInverseCreateInputProcessor } from './relations/OneHasOneInverseCreateInputProcessor'\nimport { OneHasOneOwningCreateInputProcessor } from './relations/OneHasOneOwningCreateInputProcessor'\nimport { OneHasManyCreateInputProcessor } from './relations/OneHasManyCreateInputProcessor'\nimport { ManyHasOneCreateInputProcessor } from './relations/ManyHasOneCreateInputProcessor'\nimport { ManyHasManyCreateInputProcessor } from './relations/ManyHasManyCreateInputProcessor'\n\n\nexport type SqlCreateInputProcessorResult = MutationResultList | ((ctx: { primary: Input.PrimaryValue }) => Promise<MutationResultList>)\nexport class SqlCreateInputProcessor implements CreateInputProcessor<SqlCreateInputProcessorResult> {\n\n\tprivate oneHasOneInverseCreateInputProcessor: OneHasOneInverseCreateInputProcessor\n\tprivate oneHasOneOwningCreateInputProcessor: OneHasOneOwningCreateInputProcessor\n\tprivate oneHasManyCreateInputProcessor: OneHasManyCreateInputProcessor\n\tprivate manyHasOneCreateInputProcessor: ManyHasOneCreateInputProcessor\n\tprivate manyHasManyCreateInputProcessor: ManyHasManyCreateInputProcessor\n\n\tconstructor(\n\t\tprivate readonly insertBuilder: InsertBuilder,\n\t\tprivate readonly mapper: Mapper,\n\t\tprivate readonly providers: Providers,\n\t) {\n\t\tthis.oneHasOneInverseCreateInputProcessor = new OneHasOneInverseCreateInputProcessor(this.mapper)\n\t\tthis.oneHasOneOwningCreateInputProcessor = new OneHasOneOwningCreateInputProcessor(this.mapper, this.insertBuilder)\n\t\tthis.oneHasManyCreateInputProcessor = new OneHasManyCreateInputProcessor(this.mapper)\n\t\tthis.manyHasOneCreateInputProcessor = new ManyHasOneCreateInputProcessor(this.mapper, this.insertBuilder)\n\t\tthis.manyHasManyCreateInputProcessor = new ManyHasManyCreateInputProcessor(this.mapper)\n\t}\n\n\tpublic async column(context: Model.ColumnContext & { input: Input.ColumnValue | undefined }): Promise<SqlCreateInputProcessorResult> {\n\t\tthis.insertBuilder.addFieldValue(\n\t\t\tcontext.column.name,\n\t\t\t((): Value.GenericValueLike<Value.AtomicValue | undefined> => {\n\t\t\t\treturn resolveColumnValue(context, this.providers)\n\t\t\t})(),\n\t\t)\n\t\treturn []\n\t}\n\n\tmanyHasManyInverse: CreateInputProcessor<SqlCreateInputProcessorResult>['manyHasManyInverse'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\tmanyHasManyOwning: CreateInputProcessor<SqlCreateInputProcessorResult>['manyHasManyOwning'] = {\n\t\tconnect: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.manyHasManyCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\tmanyHasOne: CreateInputProcessor<SqlCreateInputProcessorResult>['manyHasOne'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.manyHasOneCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\toneHasMany: CreateInputProcessor<SqlCreateInputProcessorResult>['oneHasMany'] = {\n\t\tconnect: hasManyProcessor(ctx => this.oneHasManyCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasManyProcessor(ctx => this.oneHasManyCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasManyProcessor(ctx => this.oneHasManyCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\n\toneHasOneOwning: CreateInputProcessor<SqlCreateInputProcessorResult>['oneHasOneOwning'] = {\n\t\tnothing: async ctx => {\n\t\t\tthis.insertBuilder.addFieldValue(ctx.relation.name, null)\n\t\t\treturn []\n\t\t},\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneOwningCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n\n\toneHasOneInverse: CreateInputProcessor<SqlCreateInputProcessorResult>['oneHasOneInverse'] = {\n\t\tconnect: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connect(ctx)),\n\t\tcreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.create(ctx)),\n\t\tconnectOrCreate: hasOneProcessor(ctx => this.oneHasOneInverseCreateInputProcessor.connectOrCreate(ctx)),\n\t}\n}\n"],"names":[],"mappings":"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"}