@contember/engine-content-api 1.2.0-rc.3 → 1.3.0-alpha.1

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 (390) hide show
  1. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts.map +1 -1
  2. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js +6 -0
  3. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  4. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts.map +1 -1
  5. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js +6 -0
  6. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  7. package/dist/src/inputProcessing/CreateInputProcessor.d.ts +27 -9
  8. package/dist/src/inputProcessing/CreateInputProcessor.d.ts.map +1 -1
  9. package/dist/src/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  10. package/dist/src/inputProcessing/CreateInputVisitor.js +10 -2
  11. package/dist/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  12. package/dist/src/inputProcessing/UniqueWhereExpander.d.ts +2 -1
  13. package/dist/src/inputProcessing/UniqueWhereExpander.d.ts.map +1 -1
  14. package/dist/src/inputProcessing/UniqueWhereExpander.js +4 -0
  15. package/dist/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  16. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts +41 -16
  17. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts.map +1 -1
  18. package/dist/src/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  19. package/dist/src/inputProcessing/UpdateInputVisitor.js +7 -2
  20. package/dist/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  21. package/dist/src/mapper/DataManipulationBuilder.d.ts +7 -0
  22. package/dist/src/mapper/DataManipulationBuilder.d.ts.map +1 -0
  23. package/dist/src/mapper/DataManipulationBuilder.js +5 -0
  24. package/dist/src/mapper/DataManipulationBuilder.js.map +1 -0
  25. package/dist/src/mapper/Mapper.d.ts +9 -14
  26. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  27. package/dist/src/mapper/Mapper.js +48 -15
  28. package/dist/src/mapper/Mapper.js.map +1 -1
  29. package/dist/src/mapper/MapperContainer.d.ts.map +1 -1
  30. package/dist/src/mapper/MapperContainer.js +3 -3
  31. package/dist/src/mapper/MapperContainer.js.map +1 -1
  32. package/dist/src/mapper/Result.d.ts +2 -2
  33. package/dist/src/mapper/Result.d.ts.map +1 -1
  34. package/dist/src/mapper/Result.js.map +1 -1
  35. package/dist/src/mapper/delete/DeleteExecutor.d.ts +12 -5
  36. package/dist/src/mapper/delete/DeleteExecutor.d.ts.map +1 -1
  37. package/dist/src/mapper/delete/DeleteExecutor.js +143 -77
  38. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  39. package/dist/src/mapper/delete/DeleteState.d.ts +22 -0
  40. package/dist/src/mapper/delete/DeleteState.d.ts.map +1 -0
  41. package/dist/src/mapper/delete/DeleteState.js +68 -0
  42. package/dist/src/mapper/delete/DeleteState.js.map +1 -0
  43. package/dist/src/mapper/delete/DeletedEntitiesStorage.d.ts +1 -0
  44. package/dist/src/mapper/delete/DeletedEntitiesStorage.d.ts.map +1 -1
  45. package/dist/src/mapper/delete/DeletedEntitiesStorage.js +5 -0
  46. package/dist/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  47. package/dist/src/mapper/delete/helpers.d.ts +11 -0
  48. package/dist/src/mapper/delete/helpers.d.ts.map +1 -0
  49. package/dist/src/mapper/delete/helpers.js +49 -0
  50. package/dist/src/mapper/delete/helpers.js.map +1 -0
  51. package/dist/src/mapper/insert/InsertBuilder.d.ts +8 -5
  52. package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
  53. package/dist/src/mapper/insert/InsertBuilder.js +16 -9
  54. package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
  55. package/dist/src/mapper/insert/InsertBuilderFactory.d.ts +3 -1
  56. package/dist/src/mapper/insert/InsertBuilderFactory.d.ts.map +1 -1
  57. package/dist/src/mapper/insert/InsertBuilderFactory.js +3 -2
  58. package/dist/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  59. package/dist/src/mapper/insert/Inserter.d.ts +3 -6
  60. package/dist/src/mapper/insert/Inserter.d.ts.map +1 -1
  61. package/dist/src/mapper/insert/Inserter.js +6 -9
  62. package/dist/src/mapper/insert/Inserter.js.map +1 -1
  63. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts +5 -0
  64. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  65. package/dist/src/mapper/insert/SqlCreateInputProcessor.js +54 -120
  66. package/dist/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  67. package/dist/src/mapper/relations/ManyHasManyInputProcessor.d.ts +32 -0
  68. package/dist/src/mapper/relations/ManyHasManyInputProcessor.d.ts.map +1 -0
  69. package/dist/src/mapper/relations/ManyHasManyInputProcessor.js +77 -0
  70. package/dist/src/mapper/relations/ManyHasManyInputProcessor.js.map +1 -0
  71. package/dist/src/mapper/relations/ManyHasOneInputProcessor.d.ts +32 -0
  72. package/dist/src/mapper/relations/ManyHasOneInputProcessor.d.ts.map +1 -0
  73. package/dist/src/mapper/relations/ManyHasOneInputProcessor.js +108 -0
  74. package/dist/src/mapper/relations/ManyHasOneInputProcessor.js.map +1 -0
  75. package/dist/src/mapper/relations/OneHasManyInputProcessor.d.ts +29 -0
  76. package/dist/src/mapper/relations/OneHasManyInputProcessor.d.ts.map +1 -0
  77. package/dist/src/mapper/relations/OneHasManyInputProcessor.js +61 -0
  78. package/dist/src/mapper/relations/OneHasManyInputProcessor.js.map +1 -0
  79. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +21 -0
  80. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
  81. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js +74 -0
  82. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  83. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts +32 -0
  84. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
  85. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js +125 -0
  86. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  87. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +21 -0
  88. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
  89. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +72 -0
  90. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  91. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts +37 -0
  92. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
  93. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +193 -0
  94. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  95. package/dist/src/mapper/select/JoinBuilder.d.ts +1 -1
  96. package/dist/src/mapper/select/JoinBuilder.d.ts.map +1 -1
  97. package/dist/src/mapper/select/JoinBuilder.js.map +1 -1
  98. package/dist/src/mapper/select/WhereBuilder.d.ts +2 -2
  99. package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
  100. package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
  101. package/dist/src/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -1
  102. package/dist/src/mapper/select/optimizer/WhereOptimizer.js +3 -1
  103. package/dist/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  104. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts +3 -1
  105. package/dist/src/mapper/select/optimizer/WhereReplacer.d.ts.map +1 -1
  106. package/dist/src/mapper/select/optimizer/WhereReplacer.js +42 -18
  107. package/dist/src/mapper/select/optimizer/WhereReplacer.js.map +1 -1
  108. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts +5 -0
  109. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  110. package/dist/src/mapper/update/SqlUpdateInputProcessor.js +52 -389
  111. package/dist/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  112. package/dist/src/mapper/update/UpdateBuilder.d.ts +7 -4
  113. package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
  114. package/dist/src/mapper/update/UpdateBuilder.js +18 -12
  115. package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
  116. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts +3 -1
  117. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts.map +1 -1
  118. package/dist/src/mapper/update/UpdateBuilderFactory.js +3 -2
  119. package/dist/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  120. package/dist/src/mapper/update/Updater.d.ts +1 -4
  121. package/dist/src/mapper/update/Updater.d.ts.map +1 -1
  122. package/dist/src/mapper/update/Updater.js +11 -13
  123. package/dist/src/mapper/update/Updater.js.map +1 -1
  124. package/dist/src/resolvers/MutationResolver.js +1 -1
  125. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  126. package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts +3 -0
  127. package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts.map +1 -1
  128. package/dist/src/schema/GraphQlSchemaBuilderFactory.js +4 -2
  129. package/dist/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  130. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts +15 -0
  131. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts.map +1 -0
  132. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js +43 -0
  133. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -0
  134. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -1
  135. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js +2 -6
  136. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  137. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  138. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +3 -0
  139. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  140. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts +3 -1
  141. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  142. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +15 -8
  143. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  144. package/dist/src/schema/mutations/EntityInputProvider.d.ts.map +1 -1
  145. package/dist/src/schema/mutations/EntityInputProvider.js +0 -3
  146. package/dist/src/schema/mutations/EntityInputProvider.js.map +1 -1
  147. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -1
  148. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js +2 -6
  149. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  150. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  151. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +3 -0
  152. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  153. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts +3 -1
  154. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  155. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +11 -22
  156. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  157. package/dist/src/tsconfig.tsbuildinfo +1 -1
  158. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +2 -2
  159. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  160. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +1 -1
  161. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
  162. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +1 -1
  163. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
  164. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +0 -3
  165. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
  166. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +13 -32
  167. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
  168. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js +11 -30
  169. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js.map +1 -1
  170. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js +62 -45
  171. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js.map +1 -1
  172. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js +10 -11
  173. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js.map +1 -1
  174. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js +29 -18
  175. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js.map +1 -1
  176. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts +2 -0
  177. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts.map +1 -0
  178. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js +97 -0
  179. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js.map +1 -0
  180. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js +58 -22
  181. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js.map +1 -1
  182. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts +2 -0
  183. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts.map +1 -0
  184. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
  185. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.js.map +1 -0
  186. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts +2 -0
  187. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts.map +1 -0
  188. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
  189. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.js.map +1 -0
  190. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts +2 -0
  191. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts.map +1 -0
  192. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js +99 -0
  193. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js.map +1 -0
  194. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts +2 -0
  195. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts.map +1 -0
  196. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.js → create.test.js} +1 -1
  197. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.js.map +1 -0
  198. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts +2 -0
  199. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts.map +1 -0
  200. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.js → connect.test.js} +1 -1
  201. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js.map +1 -0
  202. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts +2 -0
  203. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts.map +1 -0
  204. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.js → create.test.js} +1 -1
  205. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.js.map +1 -0
  206. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts +2 -0
  207. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts.map +1 -0
  208. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
  209. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.js.map +1 -0
  210. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts +2 -0
  211. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts.map +1 -0
  212. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
  213. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.js.map +1 -0
  214. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts +2 -0
  215. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts.map +1 -0
  216. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.js → empty.test.js} +1 -1
  217. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.js.map +1 -0
  218. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js +49 -11
  219. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js.map +1 -1
  220. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js +49 -11
  221. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js.map +1 -1
  222. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js +83 -49
  223. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js.map +1 -1
  224. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js +10 -11
  225. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js.map +1 -1
  226. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js +49 -11
  227. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js.map +1 -1
  228. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js +103 -0
  229. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js.map +1 -1
  230. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js +20 -14
  231. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js.map +1 -1
  232. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js +101 -11
  233. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js.map +1 -1
  234. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js +17 -11
  235. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
  236. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts +1 -0
  237. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts.map +1 -1
  238. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js +9 -1
  239. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js.map +1 -1
  240. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js +8 -6
  241. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js.map +1 -1
  242. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js +76 -0
  243. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
  244. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts +2 -0
  245. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts.map +1 -0
  246. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js +53 -0
  247. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js.map +1 -0
  248. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +80 -0
  249. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js.map +1 -1
  250. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js +66 -25
  251. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js.map +1 -1
  252. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts +1 -0
  253. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts.map +1 -1
  254. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js +10 -2
  255. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js.map +1 -1
  256. package/dist/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
  257. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
  258. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
  259. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
  260. package/dist/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
  261. package/dist/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
  262. package/dist/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
  263. package/dist/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
  264. package/dist/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
  265. package/dist/tests/cases/unit/whereOptimizer.test.js +114 -13
  266. package/dist/tests/cases/unit/whereOptimizer.test.js.map +1 -1
  267. package/dist/tests/src/test.d.ts +0 -1
  268. package/dist/tests/src/test.d.ts.map +1 -1
  269. package/dist/tests/src/test.js +1 -27
  270. package/dist/tests/src/test.js.map +1 -1
  271. package/dist/tests/src/testGraphql.js +1 -1
  272. package/dist/tests/src/testGraphql.js.map +1 -1
  273. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  274. package/package.json +11 -11
  275. package/src/input-validation/preValidation/CreateInputPreValidationProcessor.ts +6 -0
  276. package/src/input-validation/preValidation/UpdateInputPreValidationProcessor.ts +6 -0
  277. package/src/inputProcessing/CreateInputProcessor.ts +8 -11
  278. package/src/inputProcessing/CreateInputVisitor.ts +11 -2
  279. package/src/inputProcessing/UniqueWhereExpander.ts +5 -1
  280. package/src/inputProcessing/UpdateInputProcessor.ts +18 -18
  281. package/src/inputProcessing/UpdateInputVisitor.ts +6 -2
  282. package/src/mapper/DataManipulationBuilder.ts +12 -0
  283. package/src/mapper/Mapper.ts +75 -47
  284. package/src/mapper/MapperContainer.ts +10 -6
  285. package/src/mapper/Result.ts +1 -1
  286. package/src/mapper/delete/DeleteExecutor.ts +221 -95
  287. package/src/mapper/delete/DeleteState.ts +80 -0
  288. package/src/mapper/delete/DeletedEntitiesStorage.ts +6 -0
  289. package/src/mapper/delete/helpers.ts +68 -0
  290. package/src/mapper/insert/InsertBuilder.ts +23 -12
  291. package/src/mapper/insert/InsertBuilderFactory.ts +3 -1
  292. package/src/mapper/insert/Inserter.ts +6 -10
  293. package/src/mapper/insert/SqlCreateInputProcessor.ts +61 -139
  294. package/src/mapper/relations/ManyHasManyInputProcessor.ts +108 -0
  295. package/src/mapper/relations/ManyHasOneInputProcessor.ts +158 -0
  296. package/src/mapper/relations/OneHasManyInputProcessor.ts +101 -0
  297. package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +99 -0
  298. package/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts +164 -0
  299. package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +92 -0
  300. package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +253 -0
  301. package/src/mapper/select/JoinBuilder.ts +4 -4
  302. package/src/mapper/select/WhereBuilder.ts +11 -11
  303. package/src/mapper/select/optimizer/WhereOptimizer.ts +3 -1
  304. package/src/mapper/select/optimizer/WhereReplacer.ts +45 -18
  305. package/src/mapper/update/SqlUpdateInputProcessor.ts +55 -484
  306. package/src/mapper/update/UpdateBuilder.ts +22 -15
  307. package/src/mapper/update/UpdateBuilderFactory.ts +10 -1
  308. package/src/mapper/update/Updater.ts +10 -19
  309. package/src/resolvers/MutationResolver.ts +1 -1
  310. package/src/schema/GraphQlSchemaBuilderFactory.ts +7 -4
  311. package/src/schema/mutations/ConnectOrCreateRelationInputProvider.ts +54 -0
  312. package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +2 -6
  313. package/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts +3 -1
  314. package/src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts +20 -15
  315. package/src/schema/mutations/EntityInputProvider.ts +0 -3
  316. package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +2 -6
  317. package/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts +3 -1
  318. package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +52 -57
  319. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +2 -2
  320. package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +1 -1
  321. package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +1 -1
  322. package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +0 -3
  323. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +15 -34
  324. package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +12 -31
  325. package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +68 -46
  326. package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +11 -12
  327. package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +30 -19
  328. package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +102 -0
  329. package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +63 -23
  330. package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  331. package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  332. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +106 -0
  333. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  334. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.ts → connect.test.ts} +0 -0
  335. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  336. package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  337. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  338. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.ts → empty.test.ts} +0 -0
  339. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +51 -12
  340. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +51 -12
  341. package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +86 -50
  342. package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +11 -12
  343. package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +51 -12
  344. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +106 -1
  345. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +20 -14
  346. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +106 -12
  347. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +17 -11
  348. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts +13 -0
  349. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +8 -6
  350. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +80 -1
  351. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +51 -0
  352. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +81 -1
  353. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +69 -26
  354. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.ts +14 -1
  355. package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
  356. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
  357. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
  358. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
  359. package/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
  360. package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
  361. package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
  362. package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
  363. package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
  364. package/tests/cases/unit/whereOptimizer.test.ts +120 -13
  365. package/tests/src/test.ts +0 -25
  366. package/tests/src/testGraphql.ts +1 -1
  367. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts +0 -2
  368. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts.map +0 -1
  369. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js.map +0 -1
  370. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts +0 -2
  371. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts.map +0 -1
  372. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js.map +0 -1
  373. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts +0 -2
  374. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts.map +0 -1
  375. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js.map +0 -1
  376. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts +0 -2
  377. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts.map +0 -1
  378. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js.map +0 -1
  379. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts +0 -2
  380. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts.map +0 -1
  381. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js.map +0 -1
  382. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts +0 -2
  383. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts.map +0 -1
  384. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js.map +0 -1
  385. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts +0 -2
  386. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts.map +0 -1
  387. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js.map +0 -1
  388. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts +0 -2
  389. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts.map +0 -1
  390. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js.map +0 -1
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OneHasOneOwningUpdateInputProcessor = void 0;
4
+ const schema_1 = require("@contember/schema");
5
+ const Result_1 = require("../Result");
6
+ const CheckedPrimary_1 = require("../CheckedPrimary");
7
+ const DataManipulationBuilder_1 = require("../DataManipulationBuilder");
8
+ class OneHasOneOwningUpdateInputProcessor {
9
+ constructor(primaryValue, mapper, updateBuilder) {
10
+ this.primaryValue = primaryValue;
11
+ this.mapper = mapper;
12
+ this.updateBuilder = updateBuilder;
13
+ }
14
+ async connect(context) {
15
+ const result = [];
16
+ let currentInverseSide;
17
+ const { entity, relation, targetEntity, targetRelation, input } = context;
18
+ const newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {
19
+ const newInverseSide = await this.mapper.getPrimaryValue(targetEntity, input);
20
+ if (!newInverseSide) {
21
+ result.push(new Result_1.MutationEntryNotFoundError([], input));
22
+ return DataManipulationBuilder_1.AbortDataManipulation;
23
+ }
24
+ currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
25
+ return await this.connectInternal(context, currentInverseSide, newInverseSide, result);
26
+ });
27
+ if (newInverseSide) {
28
+ result.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)));
29
+ }
30
+ return result;
31
+ }
32
+ async create(context) {
33
+ const result = [];
34
+ let currentInverseSide;
35
+ const { entity, relation, targetEntity, targetRelation } = context;
36
+ await this.updateBuilder.addFieldValue(relation.name, async () => {
37
+ currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
38
+ // orphan removal handled bellow
39
+ return await this.createInternal(context, currentInverseSide, result);
40
+ });
41
+ result.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)));
42
+ return result;
43
+ }
44
+ async connectOrCreate({ input: { connect, create }, ...context }) {
45
+ const result = [];
46
+ let currentInverseSide;
47
+ const { relation, targetRelation, targetEntity, entity } = context;
48
+ const newInverseSide = await this.updateBuilder.addFieldValue(relation.name, async () => {
49
+ const newInverseSide = await this.mapper.getPrimaryValue(targetEntity, connect);
50
+ currentInverseSide = await this.getCurrentInverseSide(targetRelation, relation, entity);
51
+ if (newInverseSide) {
52
+ return await this.connectInternal(context, currentInverseSide, newInverseSide, result);
53
+ }
54
+ return await this.createInternal({ ...context, input: create }, currentInverseSide, result);
55
+ });
56
+ if (newInverseSide) {
57
+ result.push(...(await this.cleanupOrphan(relation, targetEntity, currentInverseSide)));
58
+ }
59
+ return result;
60
+ }
61
+ async createInternal({ targetEntity, targetRelation, relation, input }, currentInverseSide, result) {
62
+ if (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {
63
+ result.push(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull));
64
+ return DataManipulationBuilder_1.AbortDataManipulation;
65
+ }
66
+ const insertResult = await this.mapper.insert(targetEntity, input);
67
+ result.push(...insertResult);
68
+ const newInverseSide = (0, Result_1.getInsertPrimary)(insertResult);
69
+ if (newInverseSide) {
70
+ return newInverseSide;
71
+ }
72
+ return DataManipulationBuilder_1.AbortDataManipulation;
73
+ }
74
+ async connectInternal({ targetEntity, targetRelation, relation, entity }, currentInverseSide, newInverseSide, result) {
75
+ if (currentInverseSide === newInverseSide) {
76
+ result.push(new Result_1.MutationNothingToDo([], Result_1.NothingToDoReason.alreadyExists));
77
+ return undefined;
78
+ }
79
+ const currentOwnerOfNewInverseSide = await this.mapper.getPrimaryValue(entity, {
80
+ [relation.name]: { [targetEntity.primary]: newInverseSide },
81
+ });
82
+ if (currentOwnerOfNewInverseSide === this.primaryValue) {
83
+ result.push(new Result_1.MutationNothingToDo([], Result_1.NothingToDoReason.alreadyExists));
84
+ return undefined;
85
+ }
86
+ // orphan removal handled bellow
87
+ if (targetRelation && !targetRelation.nullable && !relation.orphanRemoval && currentInverseSide) {
88
+ result.push(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull));
89
+ return DataManipulationBuilder_1.AbortDataManipulation;
90
+ }
91
+ if (currentOwnerOfNewInverseSide) {
92
+ if (!relation.nullable) {
93
+ result.push(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull));
94
+ return DataManipulationBuilder_1.AbortDataManipulation;
95
+ }
96
+ const currentOwnerDisconnect = await this.mapper.updateInternal(entity, {
97
+ [entity.primary]: currentOwnerOfNewInverseSide,
98
+ }, builder => {
99
+ builder.addPredicates([relation.name]);
100
+ builder.addFieldValue(relation.name, null);
101
+ });
102
+ result.push(...currentOwnerDisconnect);
103
+ }
104
+ return newInverseSide;
105
+ }
106
+ async getCurrentInverseSide(targetRelation, relation, entity) {
107
+ if ((targetRelation && !targetRelation.nullable) || relation.orphanRemoval) {
108
+ return this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
109
+ }
110
+ return undefined;
111
+ }
112
+ async cleanupOrphan(relation, targetEntity, currentInverseSide) {
113
+ if (relation.orphanRemoval && currentInverseSide) {
114
+ await this.updateBuilder.update;
115
+ return await this.mapper.delete(targetEntity, { [targetEntity.primary]: currentInverseSide });
116
+ }
117
+ return [];
118
+ }
119
+ async update({ entity, relation, targetEntity, input }) {
120
+ const inversePrimary = await this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
121
+ if (!inversePrimary) {
122
+ return [new Result_1.MutationNothingToDo([], Result_1.NothingToDoReason.emptyRelation)];
123
+ }
124
+ return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, input);
125
+ }
126
+ async upsert({ entity, relation, targetEntity, input: { create, update } }) {
127
+ const select = this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
128
+ const result = [];
129
+ //addColumnData has to be called synchronously
130
+ await this.updateBuilder.addFieldValue(relation.name, async () => {
131
+ const primary = await select;
132
+ if (primary) {
133
+ return undefined;
134
+ }
135
+ const insertResult = await this.mapper.insert(targetEntity, create);
136
+ const insertPrimary = (0, Result_1.getInsertPrimary)(insertResult);
137
+ if (insertPrimary) {
138
+ return insertPrimary;
139
+ }
140
+ result.push(...insertResult);
141
+ return DataManipulationBuilder_1.AbortDataManipulation;
142
+ });
143
+ const inversePrimary = await select;
144
+ if (inversePrimary) {
145
+ return await this.mapper.update(targetEntity, { [targetEntity.primary]: inversePrimary }, update);
146
+ }
147
+ return result;
148
+ }
149
+ async disconnect({ entity, targetEntity, relation, targetRelation }) {
150
+ if (!relation.nullable) {
151
+ return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
152
+ }
153
+ const result = [];
154
+ const currentInverseSide = (targetRelation && !targetRelation.nullable) || relation.orphanRemoval
155
+ ? this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name)
156
+ : Promise.resolve(undefined);
157
+ this.updateBuilder.addFieldValue(relation.name, async () => {
158
+ const inversePrimary = await currentInverseSide;
159
+ if (inversePrimary && targetRelation && !targetRelation.nullable && !relation.orphanRemoval) {
160
+ result.push(new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull));
161
+ return DataManipulationBuilder_1.AbortDataManipulation;
162
+ }
163
+ return null;
164
+ });
165
+ if (relation.orphanRemoval) {
166
+ const inversePrimary = await currentInverseSide;
167
+ if (inversePrimary) {
168
+ await this.updateBuilder.update;
169
+ const deleteOrphanedInverseSide = await this.mapper.delete(targetEntity, { [targetEntity.primary]: inversePrimary });
170
+ result.push(...deleteOrphanedInverseSide);
171
+ }
172
+ }
173
+ return result;
174
+ }
175
+ async delete({ entity, targetEntity, relation, targetRelation }) {
176
+ if (!relation.nullable && relation.joiningColumn.onDelete !== schema_1.Model.OnDelete.cascade) {
177
+ return [new Result_1.MutationConstraintViolationError([], Result_1.ConstraintType.notNull)];
178
+ }
179
+ if (relation.joiningColumn.onDelete === schema_1.Model.OnDelete.restrict) {
180
+ // eslint-disable-next-line no-console
181
+ console.error('[DEPRECATED] You are deleting an entity over the relation where onDelete behaviour is set to restrict. This will fail in next version.');
182
+ this.updateBuilder.addFieldValue(relation.name, null);
183
+ }
184
+ const targetPrimary = await this.mapper.selectField(entity, { [entity.primary]: this.primaryValue }, relation.name);
185
+ if (!targetPrimary) {
186
+ return [new Result_1.MutationNothingToDo([], Result_1.NothingToDoReason.emptyRelation)];
187
+ }
188
+ await this.updateBuilder.update;
189
+ return await this.mapper.delete(targetEntity, new CheckedPrimary_1.CheckedPrimary(targetPrimary));
190
+ }
191
+ }
192
+ exports.OneHasOneOwningUpdateInputProcessor = OneHasOneOwningUpdateInputProcessor;
193
+ //# sourceMappingURL=OneHasOneOwningUpdateInputProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OneHasOneOwningUpdateInputProcessor.js","sourceRoot":"","sources":["../../../../src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@ import { SelectBuilder } from '@contember/database';
4
4
  export declare class JoinBuilder {
5
5
  private readonly schema;
6
6
  constructor(schema: Model.Schema);
7
- join<Filled extends keyof SelectBuilder.Options>(qb: SelectBuilder<SelectBuilder.Result>, path: Path, entity: Model.Entity, relationName: string): SelectBuilder<SelectBuilder.Result>;
7
+ join<R extends SelectBuilder.Result>(qb: SelectBuilder<R>, path: Path, entity: Model.Entity, relationName: string): SelectBuilder<R>;
8
8
  }
9
9
  //# sourceMappingURL=JoinBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JoinBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/JoinBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,qBAAa,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK,CAAC,MAAM;IAEjD,IAAI,CAAC,MAAM,SAAS,MAAM,aAAa,CAAC,OAAO,EAC9C,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,MAAM;CAqBrB"}
1
+ {"version":3,"file":"JoinBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/JoinBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,qBAAa,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK,CAAC,MAAM;IAEjD,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,EAClC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,MAAM,GAClB,aAAa,CAAC,CAAC,CAAC;CAoBnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"JoinBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/JoinBuilder.ts"],"names":[],"mappings":";;;AACA,0DAAoF;AAEpF,+CAA2C;AAC3C,kDAA8C;AAG9C,MAAa,WAAW;IACvB,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAErD,IAAI,CACH,EAAuC,EACvC,IAAU,EACV,MAAoB,EACpB,YAAoB;QAEpB,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;QACvE,IAAI,CAAC,YAAY,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,IAAI,KAAK,YAAY,YAAY,CAAC,CAAA;SACpG;QAED,MAAM,KAAK,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjG,OAAO,KAAK,CAAC,MAAM,CAAsC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAA;YAClD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;gBACzD,OAAO,EAAE,CAAA;aACT;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAEzD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CACxD,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CACtG,CAAA;QACF,CAAC,EAAE,EAAE,CAAC,CAAA;IACP,CAAC;CACD;AA5BD,kCA4BC"}
1
+ {"version":3,"file":"JoinBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/JoinBuilder.ts"],"names":[],"mappings":";;;AACA,0DAAoF;AAEpF,+CAA2C;AAC3C,kDAA8C;AAG9C,MAAa,WAAW;IACvB,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAErD,IAAI,CACH,EAAoB,EACpB,IAAU,EACV,MAAoB,EACpB,YAAoB;QAEpB,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;QACvE,IAAI,CAAC,YAAY,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,IAAI,KAAK,YAAY,YAAY,CAAC,CAAA;SACpG;QAED,MAAM,KAAK,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjG,OAAO,KAAK,CAAC,MAAM,CAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAA;YAClD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;gBACzD,OAAO,EAAE,CAAA;aACT;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAEzD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CACxD,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CACtG,CAAA;QACF,CAAC,EAAE,EAAE,CAAC,CAAA;IACP,CAAC;CACD;AA5BD,kCA4BC"}
@@ -12,8 +12,8 @@ export declare class WhereBuilder {
12
12
  private readonly whereOptimizer;
13
13
  private readonly useExistsInHasManyFilter;
14
14
  constructor(schema: Model.Schema, joinBuilder: JoinBuilder, conditionBuilder: ConditionBuilder, pathFactory: PathFactory, whereOptimizer: WhereOptimizer, useExistsInHasManyFilter: boolean);
15
- build(qb: SelectBuilder<SelectBuilder.Result>, entity: Model.Entity, path: Path, where: Input.OptionalWhere, optimizationHints?: WhereOptimizationHints): SelectBuilder<SelectBuilder.Result>;
16
- buildAdvanced(entity: Model.Entity, path: Path, where: Input.OptionalWhere, callback: (clauseCb: (clause: SqlConditionBuilder) => SqlConditionBuilder) => SelectBuilder<SelectBuilder.Result>, optimizationHints?: WhereOptimizationHints): SelectBuilder<SelectBuilder.Result>;
15
+ build<R extends SelectBuilder.Result>(qb: SelectBuilder<R>, entity: Model.Entity, path: Path, where: Input.OptionalWhere, optimizationHints?: WhereOptimizationHints): SelectBuilder<R>;
16
+ buildAdvanced<R extends SelectBuilder.Result>(entity: Model.Entity, path: Path, where: Input.OptionalWhere, callback: (clauseCb: (clause: SqlConditionBuilder) => SqlConditionBuilder) => SelectBuilder<R>, optimizationHints?: WhereOptimizationHints): SelectBuilder<R>;
17
17
  private buildInternal;
18
18
  private buildRecursive;
19
19
  private createManyHasManySubquery;
@@ -1 +1 @@
1
- {"version":3,"file":"WhereBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EACN,gBAAgB,IAAI,mBAAmB,EAIvC,aAAa,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEnF,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBALxB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,wBAAwB,EAAE,OAAO;IAG5C,KAAK,CACX,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,iBAAiB,GAAE,sBAA2B;IAaxC,aAAa,CACnB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EACjH,iBAAiB,GAAE,sBAA2B;IAY/C,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,cAAc;IAoLtB,OAAO,CAAC,yBAAyB;IAsCjC,OAAO,CAAC,gCAAgC;IA4CxC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,kBAAkB;CAe1B;AAED,oBAAY,mBAAmB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"WhereBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EACN,gBAAgB,IAAI,mBAAmB,EAIvC,aAAa,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEnF,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBALxB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,wBAAwB,EAAE,OAAO;IAG5C,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,EAC1C,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,iBAAiB,GAAE,sBAA2B,GAC5C,aAAa,CAAC,CAAC,CAAC;IAYZ,aAAa,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,EAClD,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,KAAK,aAAa,CAAC,CAAC,CAAC,EAC9F,iBAAiB,GAAE,sBAA2B,GAC5C,aAAa,CAAC,CAAC,CAAC;IAWnB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,cAAc;IAoLtB,OAAO,CAAC,yBAAyB;IAsCjC,OAAO,CAAC,gCAAgC;IA4CxC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,kBAAkB;CAe1B;AAED,oBAAY,mBAAmB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhereBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/select/WhereBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WhereOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAYzD,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IACzC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,CAAA;CAC3C;AAID,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAJpC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAmG;gBAGnH,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,kBAAkB,EAAE,kBAAkB;IAIjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,YAAiB,EAAE,mBAAwB,EAAE,GAAE,sBAA2B,GAAG,KAAK,CAAC,aAAa;IA+BpK,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,iBAAiB;CAqCzB"}
1
+ {"version":3,"file":"WhereOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAYzD,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IACzC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,CAAA;CAC3C;AAID,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAJpC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAmG;gBAGnH,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,kBAAkB,EAAE,kBAAkB;IAIjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,YAAiB,EAAE,mBAAwB,EAAE,GAAE,sBAA2B,GAAG,KAAK,CAAC,aAAa;IA+BpK,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;CAqCzB"}
@@ -117,7 +117,9 @@ class WhereOptimizer {
117
117
  const a = result[j];
118
118
  const b = result[i];
119
119
  if (i !== j && typeof a !== 'boolean' && typeof b !== 'boolean') {
120
- const elResult = (0, WhereReplacer_1.replaceWhere)(a, b, { [entity.primary]: replacement });
120
+ const elResult = (0, WhereReplacer_1.replaceWhere)(a, b, { [entity.primary]: replacement }, {
121
+ replaceSubOperands: true,
122
+ });
121
123
  if (elResult !== a) {
122
124
  if (!copied) {
123
125
  result = [...result];
@@ -1 +1 @@
1
- {"version":3,"file":"WhereOptimizer.js","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhereOptimizer.js","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  import { Input } from '@contember/schema';
2
- export declare const replaceWhere: (subject: Input.OptionalWhere, find: Input.OptionalWhere, replace: Input.OptionalWhere) => Input.OptionalWhere;
2
+ export declare const replaceWhere: (subject: Input.OptionalWhere, find: Input.OptionalWhere, replace: Input.OptionalWhere, opts?: {
3
+ replaceSubOperands?: boolean;
4
+ }) => Input.OptionalWhere;
3
5
  //# sourceMappingURL=WhereReplacer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WhereReplacer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereReplacer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAGnD,eAAO,MAAM,YAAY,YAAa,MAAM,aAAa,QAAQ,MAAM,aAAa,WAAW,MAAM,aAAa,KAAG,MAAM,aAmC1H,CAAA"}
1
+ {"version":3,"file":"WhereReplacer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereReplacer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAGnD,eAAO,MAAM,YAAY,YAAa,MAAM,aAAa,QAAQ,MAAM,aAAa,WAAW,MAAM,aAAa,SAAQ;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,MAAM,aA6CvK,CAAA"}
@@ -5,42 +5,66 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.replaceWhere = void 0;
7
7
  const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
8
- const replaceWhere = (subject, find, replace) => {
8
+ const replaceWhere = (subject, find, replace, opts = {}) => {
9
9
  if ((0, fast_deep_equal_1.default)(subject, find)) {
10
10
  return replace;
11
11
  }
12
12
  let result = subject;
13
13
  let copied = false;
14
+ // copy on write to preserve referential integrity, when nothing has changed
15
+ const write = (key, value) => {
16
+ if (!copied) {
17
+ result = { ...result };
18
+ copied = true;
19
+ }
20
+ result[key] = value;
21
+ };
14
22
  for (const key in subject) {
15
23
  const value = subject[key];
16
24
  if (key === 'not') {
17
- const newNot = (0, exports.replaceWhere)(value, find, replace);
25
+ const newNot = (0, exports.replaceWhere)(value, find, replace, opts);
18
26
  if (newNot !== value) {
19
- if (!copied) {
20
- result = { ...result };
21
- }
22
- result['not'] = newNot;
27
+ write('not', newNot);
23
28
  }
24
29
  }
25
30
  else if (key === 'and' || key === 'or') {
26
- const items = [];
27
- let itemChanged = false;
28
- for (const el of value) {
29
- const newEl = (0, exports.replaceWhere)(el, find, replace);
30
- if (newEl !== el) {
31
- itemChanged = true;
32
- }
33
- items.push(newEl);
31
+ const operands = value;
32
+ const subOperandsToFind = opts.replaceSubOperands && Object.keys(find).length === 1 && find[key] ? find[key] : null;
33
+ if (subOperandsToFind !== null && containsAllOperands(operands, subOperandsToFind)) {
34
+ write(key, [replace]);
34
35
  }
35
- if (itemChanged) {
36
- if (!copied) {
37
- result = { ...result };
36
+ else {
37
+ const items = [];
38
+ let itemChanged = false;
39
+ for (const el of operands) {
40
+ const newEl = (0, exports.replaceWhere)(el, find, replace, opts);
41
+ if (newEl !== el) {
42
+ itemChanged = true;
43
+ }
44
+ items.push(newEl);
45
+ }
46
+ if (itemChanged) {
47
+ write(key, items);
38
48
  }
39
- result[key] = items;
40
49
  }
41
50
  }
42
51
  }
43
52
  return result;
44
53
  };
45
54
  exports.replaceWhere = replaceWhere;
55
+ const containsAllOperands = (subjectOperands, findOperands) => {
56
+ for (const op1 of findOperands) {
57
+ let found = false;
58
+ for (const op2 of subjectOperands) {
59
+ if ((0, fast_deep_equal_1.default)(op1, op2)) {
60
+ found = true;
61
+ break;
62
+ }
63
+ }
64
+ if (!found) {
65
+ return false;
66
+ }
67
+ }
68
+ return true;
69
+ };
46
70
  //# sourceMappingURL=WhereReplacer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WhereReplacer.js","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereReplacer.ts"],"names":[],"mappings":";;;;;;AACA,sEAAuC;AAEhC,MAAM,YAAY,GAAG,CAAC,OAA4B,EAAE,IAAyB,EAAE,OAA4B,EAAuB,EAAE;IAC1I,IAAI,IAAA,yBAAS,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QAC7B,OAAO,OAAO,CAAA;KACd;IACD,IAAI,MAAM,GAAkC,OAAO,CAAA;IACnD,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,GAAG,KAAK,KAAK,EAAE;YAClB,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAA4B,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACxE,IAAI,MAAM,KAAK,KAAK,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACZ,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;iBACtB;gBACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;aACtB;SACD;aAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE;YACzC,MAAM,KAAK,GAA0B,EAAE,CAAA;YACvC,IAAI,WAAW,GAAG,KAAK,CAAA;YACvB,KAAK,MAAM,EAAE,IAAI,KAA8B,EAAE;gBAChD,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC7C,IAAI,KAAK,KAAK,EAAE,EAAE;oBACjB,WAAW,GAAG,IAAI,CAAA;iBAClB;gBACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACjB;YACD,IAAI,WAAW,EAAE;gBAChB,IAAI,CAAC,MAAM,EAAE;oBACZ,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;iBACtB;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;aACnB;SACD;KACD;IACD,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAnCY,QAAA,YAAY,gBAmCxB"}
1
+ {"version":3,"file":"WhereReplacer.js","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereReplacer.ts"],"names":[],"mappings":";;;;;;AACA,sEAAuC;AAEhC,MAAM,YAAY,GAAG,CAAC,OAA4B,EAAE,IAAyB,EAAE,OAA4B,EAAE,OAAyC,EAAE,EAAuB,EAAE;IACvL,IAAI,IAAA,yBAAS,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE;QAC7B,OAAO,OAAO,CAAA;KACd;IACD,IAAI,MAAM,GAAkC,OAAO,CAAA;IACnD,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,4EAA4E;IAC5E,MAAM,KAAK,GAAG,CAAmB,GAAM,EAAE,KAA6B,EAAE,EAAE;QACzE,IAAI,CAAC,MAAM,EAAE;YACZ,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;YACtB,MAAM,GAAG,IAAI,CAAA;SACb;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACpB,CAAC,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,GAAG,KAAK,KAAK,EAAE;YAClB,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;YAC9E,IAAI,MAAM,KAAK,KAAK,EAAE;gBACrB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;aACpB;SACD;aAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,EAAE;YACzC,MAAM,QAAQ,GAAG,KAA8B,CAAA;YAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,GAAG,CAA2B,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9I,IAAI,iBAAiB,KAAK,IAAI,IAAI,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE;gBACnF,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;aACrB;iBAAM;gBACN,MAAM,KAAK,GAA0B,EAAE,CAAA;gBACvC,IAAI,WAAW,GAAG,KAAK,CAAA;gBACvB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;oBAC1B,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;oBACnD,IAAI,KAAK,KAAK,EAAE,EAAE;wBACjB,WAAW,GAAG,IAAI,CAAA;qBAClB;oBACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;iBACjB;gBACD,IAAI,WAAW,EAAE;oBAChB,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;iBACjB;aACD;SAED;KACD;IACD,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AA7CY,QAAA,YAAY,gBA6CxB;AAGD,MAAM,mBAAmB,GAAG,CAAC,eAAsC,EAAE,YAAmC,EAAW,EAAE;IACpH,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC/B,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;YAClC,IAAI,IAAA,yBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBACxB,KAAK,GAAG,IAAI,CAAA;gBACZ,MAAK;aACL;SACD;QACD,IAAI,CAAC,KAAK,EAAE;YACX,OAAO,KAAK,CAAA;SACZ;KACD;IACD,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA"}
@@ -8,6 +8,11 @@ export declare class SqlUpdateInputProcessor implements UpdateInputProcessor<Mut
8
8
  private readonly data;
9
9
  private readonly updateBuilder;
10
10
  private readonly mapper;
11
+ private oneHasOneInverseUpdateInputProcessor;
12
+ private oneHasOneOwningUpdateInputProcessor;
13
+ private oneHasManyUpdateInputProcessor;
14
+ private manyHasOneUpdateInputProcessor;
15
+ private manyHasManyUpdateInputProcessor;
11
16
  constructor(primaryValue: Input.PrimaryValue, data: Input.UpdateDataInput, updateBuilder: UpdateBuilder, mapper: Mapper);
12
17
  column({ entity, column }: Model.ColumnContext): Promise<never[]>;
13
18
  manyHasManyInverse: UpdateInputProcessor<MutationResultList>['manyHasManyInverse'];
@@ -1 +1 @@
1
- {"version":3,"file":"SqlUpdateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/update/SqlUpdateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAMN,kBAAkB,EAGlB,MAAM,WAAW,CAAA;AAOlB,qBAAa,uBAAwB,YAAW,oBAAoB,CAAC,kBAAkB,CAAC;IAEtF,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,IAAI,EAAE,KAAK,CAAC,eAAe,EAC3B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IAGzB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa;IAOrD,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,CAgEjF;IAED,iBAAiB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC,CAyD/E;IAED,UAAU,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAwFjE;IAED,UAAU,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAoDjE;IAED,gBAAgB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CA0D7E;IAED,eAAe,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CA4J3E;CACD"}
1
+ {"version":3,"file":"SqlUpdateInputProcessor.d.ts","sourceRoot":"","sources":["../../../../src/mapper/update/SqlUpdateInputProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,qBAAa,uBAAwB,YAAW,oBAAoB,CAAC,kBAAkB,CAAC;IAQtF,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVxB,OAAO,CAAC,oCAAoC,CAA2E;IACvH,OAAO,CAAC,mCAAmC,CAA8F;IACzI,OAAO,CAAC,8BAA8B,CAA4C;IAClF,OAAO,CAAC,8BAA8B,CAA4C;IAClF,OAAO,CAAC,+BAA+B,CAA6C;gBAGlE,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,IAAI,EAAE,KAAK,CAAC,eAAe,EAC3B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IAGzB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa;IAOrD,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,CAQjF;IAED,iBAAiB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC,CAQ/E;IAED,UAAU,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAQjE;IAED,UAAU,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAQjE;IAED,gBAAgB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAQ7E;IAED,eAAe,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,CAQ3E;CACD"}