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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/dist/development/index.cjs +1 -1
  2. package/dist/development/index.js +1 -1
  3. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
  4. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  5. package/dist/development/src/input-validation/preValidation/InputPreValidator.js +1 -1
  6. package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  7. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs +10 -10
  8. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  9. package/dist/development/src/inputProcessing/CreateInputVisitor.js +10 -10
  10. package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  11. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs +13 -13
  12. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  13. package/dist/development/src/inputProcessing/UpdateInputVisitor.js +13 -13
  14. package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  15. package/dist/development/src/mapper/MutationProcessorHelper.cjs +10 -2
  16. package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  17. package/dist/development/src/mapper/MutationProcessorHelper.js +10 -2
  18. package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -1
  19. package/dist/development/src/mapper/Result.cjs +10 -27
  20. package/dist/development/src/mapper/Result.cjs.map +1 -1
  21. package/dist/development/src/mapper/Result.js +10 -27
  22. package/dist/development/src/mapper/Result.js.map +1 -1
  23. package/dist/development/src/mapper/insert/InsertBuilder.cjs +1 -13
  24. package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  25. package/dist/development/src/mapper/insert/InsertBuilder.js +1 -13
  26. package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -1
  27. package/dist/development/src/mapper/insert/Inserter.cjs +43 -21
  28. package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -1
  29. package/dist/development/src/mapper/insert/Inserter.js +45 -23
  30. package/dist/development/src/mapper/insert/Inserter.js.map +1 -1
  31. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs +22 -76
  32. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  33. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js +22 -76
  34. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  35. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +45 -0
  36. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  37. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +45 -0
  38. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  39. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +42 -0
  40. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  41. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +42 -0
  42. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  43. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +37 -0
  44. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  45. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +37 -0
  46. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  47. package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +25 -32
  48. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  49. package/dist/development/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +25 -32
  50. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  51. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +67 -0
  52. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  53. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +67 -0
  54. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  55. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs +3 -0
  56. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  57. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js +3 -0
  58. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  59. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
  60. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  61. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  62. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  63. package/dist/development/src/mapper/update/UpdateBuilder.cjs +2 -14
  64. package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  65. package/dist/development/src/mapper/update/UpdateBuilder.js +2 -14
  66. package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -1
  67. package/dist/development/src/mapper/update/Updater.cjs +45 -17
  68. package/dist/development/src/mapper/update/Updater.cjs.map +1 -1
  69. package/dist/development/src/mapper/update/Updater.js +47 -19
  70. package/dist/development/src/mapper/update/Updater.js.map +1 -1
  71. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
  72. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  73. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
  74. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  75. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
  76. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  77. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
  78. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  79. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
  80. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  81. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
  82. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  83. package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
  84. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  85. package/dist/development/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
  86. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  87. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
  88. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  89. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
  90. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  91. package/dist/development/src/resolvers/MutationResolver.cjs +1 -1
  92. package/dist/development/src/resolvers/MutationResolver.js +1 -1
  93. package/dist/production/index.cjs +1 -1
  94. package/dist/production/index.js +1 -1
  95. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs +1 -1
  96. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -1
  97. package/dist/production/src/input-validation/preValidation/InputPreValidator.js +1 -1
  98. package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -1
  99. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs +10 -10
  100. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -1
  101. package/dist/production/src/inputProcessing/CreateInputVisitor.js +10 -10
  102. package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  103. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs +13 -13
  104. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -1
  105. package/dist/production/src/inputProcessing/UpdateInputVisitor.js +13 -13
  106. package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  107. package/dist/production/src/mapper/MutationProcessorHelper.cjs +10 -2
  108. package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -1
  109. package/dist/production/src/mapper/MutationProcessorHelper.js +10 -2
  110. package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -1
  111. package/dist/production/src/mapper/Result.cjs +10 -27
  112. package/dist/production/src/mapper/Result.cjs.map +1 -1
  113. package/dist/production/src/mapper/Result.js +10 -27
  114. package/dist/production/src/mapper/Result.js.map +1 -1
  115. package/dist/production/src/mapper/insert/InsertBuilder.cjs +1 -13
  116. package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -1
  117. package/dist/production/src/mapper/insert/InsertBuilder.js +1 -13
  118. package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -1
  119. package/dist/production/src/mapper/insert/Inserter.cjs +43 -21
  120. package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -1
  121. package/dist/production/src/mapper/insert/Inserter.js +45 -23
  122. package/dist/production/src/mapper/insert/Inserter.js.map +1 -1
  123. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs +22 -76
  124. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -1
  125. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js +22 -76
  126. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  127. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +45 -0
  128. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  129. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +45 -0
  130. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  131. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +42 -0
  132. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  133. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +42 -0
  134. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  135. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +37 -0
  136. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  137. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +37 -0
  138. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  139. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.cjs +25 -32
  140. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  141. package/dist/production/src/mapper/{relations → insert/relations}/OneHasOneInverseCreateInputProcessor.js +25 -32
  142. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  143. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +67 -0
  144. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  145. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +67 -0
  146. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  147. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs +3 -0
  148. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -1
  149. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js +3 -0
  150. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  151. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs +36 -36
  152. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -1
  153. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js +36 -36
  154. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  155. package/dist/production/src/mapper/update/UpdateBuilder.cjs +2 -14
  156. package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -1
  157. package/dist/production/src/mapper/update/UpdateBuilder.js +2 -14
  158. package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -1
  159. package/dist/production/src/mapper/update/Updater.cjs +45 -17
  160. package/dist/production/src/mapper/update/Updater.cjs.map +1 -1
  161. package/dist/production/src/mapper/update/Updater.js +47 -19
  162. package/dist/production/src/mapper/update/Updater.js.map +1 -1
  163. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +89 -0
  164. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  165. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +89 -0
  166. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  167. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +89 -0
  168. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  169. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +89 -0
  170. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  171. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +86 -0
  172. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  173. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +86 -0
  174. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  175. package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.cjs +83 -66
  176. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  177. package/dist/production/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.js +83 -66
  178. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  179. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +187 -0
  180. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  181. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +187 -0
  182. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  183. package/dist/production/src/resolvers/MutationResolver.cjs +1 -1
  184. package/dist/production/src/resolvers/MutationResolver.js +1 -1
  185. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  186. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts.map +1 -1
  187. package/dist/types/inputProcessing/CreateInputVisitor.d.ts +8 -8
  188. package/dist/types/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  189. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts +8 -8
  190. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  191. package/dist/types/mapper/MutationProcessorHelper.d.ts +2 -2
  192. package/dist/types/mapper/MutationProcessorHelper.d.ts.map +1 -1
  193. package/dist/types/mapper/Result.d.ts +11 -5
  194. package/dist/types/mapper/Result.d.ts.map +1 -1
  195. package/dist/types/mapper/insert/InsertBuilder.d.ts +3 -7
  196. package/dist/types/mapper/insert/InsertBuilder.d.ts.map +1 -1
  197. package/dist/types/mapper/insert/Inserter.d.ts +0 -1
  198. package/dist/types/mapper/insert/Inserter.d.ts.map +1 -1
  199. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts +11 -8
  200. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  201. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts +24 -0
  202. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts.map +1 -0
  203. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts +23 -0
  204. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts.map +1 -0
  205. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts +26 -0
  206. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts.map +1 -0
  207. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts +29 -0
  208. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
  209. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts +24 -0
  210. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
  211. package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  212. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts +10 -7
  213. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  214. package/dist/types/mapper/update/UpdateBuilder.d.ts +2 -6
  215. package/dist/types/mapper/update/UpdateBuilder.d.ts.map +1 -1
  216. package/dist/types/mapper/update/Updater.d.ts +0 -1
  217. package/dist/types/mapper/update/Updater.d.ts.map +1 -1
  218. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts +46 -0
  219. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts.map +1 -0
  220. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts +40 -0
  221. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts.map +1 -0
  222. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts +46 -0
  223. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts.map +1 -0
  224. package/dist/types/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.d.ts +17 -13
  225. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
  226. package/dist/types/mapper/{relations → update/relations}/OneHasOneOwningUpdateInputProcessor.d.ts +19 -16
  227. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
  228. package/dist/types/tsconfig.tsbuildinfo +1 -1
  229. package/package.json +11 -11
  230. package/src/input-validation/preValidation/InputPreValidator.ts +3 -5
  231. package/src/inputProcessing/CreateInputVisitor.ts +14 -14
  232. package/src/inputProcessing/UpdateInputVisitor.ts +17 -17
  233. package/src/mapper/MutationProcessorHelper.ts +16 -8
  234. package/src/mapper/Result.ts +11 -47
  235. package/src/mapper/insert/InsertBuilder.ts +8 -22
  236. package/src/mapper/insert/Inserter.ts +53 -40
  237. package/src/mapper/insert/SqlCreateInputProcessor.ts +35 -88
  238. package/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.ts +59 -0
  239. package/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.ts +57 -0
  240. package/src/mapper/insert/relations/OneHasManyCreateInputProcessor.ts +50 -0
  241. package/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.ts +91 -0
  242. package/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.ts +87 -0
  243. package/src/mapper/select/handlers/FieldsVisitor.ts +3 -0
  244. package/src/mapper/update/SqlUpdateInputProcessor.ts +48 -46
  245. package/src/mapper/update/UpdateBuilder.ts +9 -23
  246. package/src/mapper/update/Updater.ts +53 -34
  247. package/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.ts +116 -0
  248. package/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.ts +125 -0
  249. package/src/mapper/update/relations/OneHasManyUpdateInputProcessor.ts +111 -0
  250. package/src/mapper/{relations → update/relations}/OneHasOneInverseUpdateInputProcessor.ts +93 -73
  251. package/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.ts +243 -0
  252. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.ts +8 -8
  253. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.ts +4 -4
  254. package/dist/development/src/mapper/DataManipulationBuilder.cjs +0 -5
  255. package/dist/development/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  256. package/dist/development/src/mapper/DataManipulationBuilder.js +0 -5
  257. package/dist/development/src/mapper/DataManipulationBuilder.js.map +0 -1
  258. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  259. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  260. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  261. package/dist/development/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  262. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  263. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  264. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  265. package/dist/development/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  266. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  267. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  268. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  269. package/dist/development/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  270. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  271. package/dist/development/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  272. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  273. package/dist/development/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  274. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  275. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  276. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  277. package/dist/development/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  278. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  279. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  280. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  281. package/dist/development/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  282. package/dist/production/src/mapper/DataManipulationBuilder.cjs +0 -5
  283. package/dist/production/src/mapper/DataManipulationBuilder.cjs.map +0 -1
  284. package/dist/production/src/mapper/DataManipulationBuilder.js +0 -5
  285. package/dist/production/src/mapper/DataManipulationBuilder.js.map +0 -1
  286. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs +0 -75
  287. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.cjs.map +0 -1
  288. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js +0 -75
  289. package/dist/production/src/mapper/relations/ManyHasManyInputProcessor.js.map +0 -1
  290. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs +0 -114
  291. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.cjs.map +0 -1
  292. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js +0 -114
  293. package/dist/production/src/mapper/relations/ManyHasOneInputProcessor.js.map +0 -1
  294. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs +0 -72
  295. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.cjs.map +0 -1
  296. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js +0 -72
  297. package/dist/production/src/mapper/relations/OneHasManyInputProcessor.js.map +0 -1
  298. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.cjs.map +0 -1
  299. package/dist/production/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +0 -1
  300. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +0 -1
  301. package/dist/production/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +0 -1
  302. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs +0 -71
  303. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.cjs.map +0 -1
  304. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +0 -71
  305. package/dist/production/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +0 -1
  306. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs +0 -200
  307. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +0 -1
  308. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +0 -200
  309. package/dist/production/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +0 -1
  310. package/dist/types/mapper/DataManipulationBuilder.d.ts +0 -7
  311. package/dist/types/mapper/DataManipulationBuilder.d.ts.map +0 -1
  312. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts +0 -32
  313. package/dist/types/mapper/relations/ManyHasManyInputProcessor.d.ts.map +0 -1
  314. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts +0 -32
  315. package/dist/types/mapper/relations/ManyHasOneInputProcessor.d.ts.map +0 -1
  316. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts +0 -29
  317. package/dist/types/mapper/relations/OneHasManyInputProcessor.d.ts.map +0 -1
  318. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +0 -21
  319. package/dist/types/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +0 -1
  320. package/dist/types/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +0 -1
  321. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +0 -21
  322. package/dist/types/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +0 -1
  323. package/dist/types/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +0 -1
  324. package/src/mapper/DataManipulationBuilder.ts +0 -12
  325. package/src/mapper/relations/ManyHasManyInputProcessor.ts +0 -108
  326. package/src/mapper/relations/ManyHasOneInputProcessor.ts +0 -158
  327. package/src/mapper/relations/OneHasManyInputProcessor.ts +0 -101
  328. package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +0 -99
  329. package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +0 -92
  330. package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +0 -253
@@ -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":"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"}
@@ -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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"}