@contember/engine-content-api 1.2.0-rc.4 → 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 (378) 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/update/SqlUpdateInputProcessor.d.ts +5 -0
  102. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  103. package/dist/src/mapper/update/SqlUpdateInputProcessor.js +52 -389
  104. package/dist/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  105. package/dist/src/mapper/update/UpdateBuilder.d.ts +7 -4
  106. package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
  107. package/dist/src/mapper/update/UpdateBuilder.js +18 -12
  108. package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
  109. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts +3 -1
  110. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts.map +1 -1
  111. package/dist/src/mapper/update/UpdateBuilderFactory.js +3 -2
  112. package/dist/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  113. package/dist/src/mapper/update/Updater.d.ts +1 -4
  114. package/dist/src/mapper/update/Updater.d.ts.map +1 -1
  115. package/dist/src/mapper/update/Updater.js +11 -13
  116. package/dist/src/mapper/update/Updater.js.map +1 -1
  117. package/dist/src/resolvers/MutationResolver.js +1 -1
  118. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  119. package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts +3 -0
  120. package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts.map +1 -1
  121. package/dist/src/schema/GraphQlSchemaBuilderFactory.js +4 -2
  122. package/dist/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  123. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts +15 -0
  124. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts.map +1 -0
  125. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js +43 -0
  126. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -0
  127. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -1
  128. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js +2 -6
  129. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  130. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  131. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +3 -0
  132. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  133. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts +3 -1
  134. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  135. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +15 -8
  136. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  137. package/dist/src/schema/mutations/EntityInputProvider.d.ts.map +1 -1
  138. package/dist/src/schema/mutations/EntityInputProvider.js +0 -3
  139. package/dist/src/schema/mutations/EntityInputProvider.js.map +1 -1
  140. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -1
  141. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js +2 -6
  142. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  143. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  144. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +3 -0
  145. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  146. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts +3 -1
  147. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  148. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +11 -22
  149. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  150. package/dist/src/tsconfig.tsbuildinfo +1 -1
  151. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +2 -2
  152. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  153. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +1 -1
  154. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
  155. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +1 -1
  156. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
  157. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +0 -3
  158. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
  159. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +13 -32
  160. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
  161. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js +11 -30
  162. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js.map +1 -1
  163. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js +62 -45
  164. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js.map +1 -1
  165. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js +10 -11
  166. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js.map +1 -1
  167. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js +29 -18
  168. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js.map +1 -1
  169. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts +2 -0
  170. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts.map +1 -0
  171. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js +97 -0
  172. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js.map +1 -0
  173. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js +58 -22
  174. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js.map +1 -1
  175. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts +2 -0
  176. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts.map +1 -0
  177. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
  178. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.js.map +1 -0
  179. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts +2 -0
  180. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts.map +1 -0
  181. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
  182. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.js.map +1 -0
  183. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts +2 -0
  184. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts.map +1 -0
  185. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js +99 -0
  186. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js.map +1 -0
  187. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts +2 -0
  188. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts.map +1 -0
  189. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.js → create.test.js} +1 -1
  190. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.js.map +1 -0
  191. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts +2 -0
  192. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts.map +1 -0
  193. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.js → connect.test.js} +1 -1
  194. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js.map +1 -0
  195. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts +2 -0
  196. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts.map +1 -0
  197. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.js → create.test.js} +1 -1
  198. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.js.map +1 -0
  199. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts +2 -0
  200. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts.map +1 -0
  201. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
  202. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.js.map +1 -0
  203. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts +2 -0
  204. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts.map +1 -0
  205. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
  206. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.js.map +1 -0
  207. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts +2 -0
  208. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts.map +1 -0
  209. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.js → empty.test.js} +1 -1
  210. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.js.map +1 -0
  211. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js +49 -11
  212. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js.map +1 -1
  213. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js +49 -11
  214. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js.map +1 -1
  215. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js +83 -49
  216. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js.map +1 -1
  217. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js +10 -11
  218. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js.map +1 -1
  219. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js +49 -11
  220. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js.map +1 -1
  221. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js +103 -0
  222. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js.map +1 -1
  223. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js +20 -14
  224. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js.map +1 -1
  225. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js +101 -11
  226. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js.map +1 -1
  227. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js +17 -11
  228. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
  229. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts +1 -0
  230. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts.map +1 -1
  231. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js +9 -1
  232. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js.map +1 -1
  233. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js +8 -6
  234. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js.map +1 -1
  235. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js +76 -0
  236. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
  237. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts +2 -0
  238. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts.map +1 -0
  239. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js +53 -0
  240. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js.map +1 -0
  241. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +80 -0
  242. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js.map +1 -1
  243. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js +66 -25
  244. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js.map +1 -1
  245. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts +1 -0
  246. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts.map +1 -1
  247. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js +10 -2
  248. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js.map +1 -1
  249. package/dist/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
  250. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
  251. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
  252. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
  253. package/dist/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
  254. package/dist/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
  255. package/dist/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
  256. package/dist/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
  257. package/dist/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
  258. package/dist/tests/src/test.d.ts +0 -1
  259. package/dist/tests/src/test.d.ts.map +1 -1
  260. package/dist/tests/src/test.js +1 -27
  261. package/dist/tests/src/test.js.map +1 -1
  262. package/dist/tests/src/testGraphql.js +1 -1
  263. package/dist/tests/src/testGraphql.js.map +1 -1
  264. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  265. package/package.json +11 -11
  266. package/src/input-validation/preValidation/CreateInputPreValidationProcessor.ts +6 -0
  267. package/src/input-validation/preValidation/UpdateInputPreValidationProcessor.ts +6 -0
  268. package/src/inputProcessing/CreateInputProcessor.ts +8 -11
  269. package/src/inputProcessing/CreateInputVisitor.ts +11 -2
  270. package/src/inputProcessing/UniqueWhereExpander.ts +5 -1
  271. package/src/inputProcessing/UpdateInputProcessor.ts +18 -18
  272. package/src/inputProcessing/UpdateInputVisitor.ts +6 -2
  273. package/src/mapper/DataManipulationBuilder.ts +12 -0
  274. package/src/mapper/Mapper.ts +75 -47
  275. package/src/mapper/MapperContainer.ts +10 -6
  276. package/src/mapper/Result.ts +1 -1
  277. package/src/mapper/delete/DeleteExecutor.ts +221 -95
  278. package/src/mapper/delete/DeleteState.ts +80 -0
  279. package/src/mapper/delete/DeletedEntitiesStorage.ts +6 -0
  280. package/src/mapper/delete/helpers.ts +68 -0
  281. package/src/mapper/insert/InsertBuilder.ts +23 -12
  282. package/src/mapper/insert/InsertBuilderFactory.ts +3 -1
  283. package/src/mapper/insert/Inserter.ts +6 -10
  284. package/src/mapper/insert/SqlCreateInputProcessor.ts +61 -139
  285. package/src/mapper/relations/ManyHasManyInputProcessor.ts +108 -0
  286. package/src/mapper/relations/ManyHasOneInputProcessor.ts +158 -0
  287. package/src/mapper/relations/OneHasManyInputProcessor.ts +101 -0
  288. package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +99 -0
  289. package/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts +164 -0
  290. package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +92 -0
  291. package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +253 -0
  292. package/src/mapper/select/JoinBuilder.ts +4 -4
  293. package/src/mapper/select/WhereBuilder.ts +11 -11
  294. package/src/mapper/update/SqlUpdateInputProcessor.ts +55 -484
  295. package/src/mapper/update/UpdateBuilder.ts +22 -15
  296. package/src/mapper/update/UpdateBuilderFactory.ts +10 -1
  297. package/src/mapper/update/Updater.ts +10 -19
  298. package/src/resolvers/MutationResolver.ts +1 -1
  299. package/src/schema/GraphQlSchemaBuilderFactory.ts +7 -4
  300. package/src/schema/mutations/ConnectOrCreateRelationInputProvider.ts +54 -0
  301. package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +2 -6
  302. package/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts +3 -1
  303. package/src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts +20 -15
  304. package/src/schema/mutations/EntityInputProvider.ts +0 -3
  305. package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +2 -6
  306. package/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts +3 -1
  307. package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +52 -57
  308. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +2 -2
  309. package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +1 -1
  310. package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +1 -1
  311. package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +0 -3
  312. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +15 -34
  313. package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +12 -31
  314. package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +68 -46
  315. package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +11 -12
  316. package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +30 -19
  317. package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +102 -0
  318. package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +63 -23
  319. package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  320. package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  321. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +106 -0
  322. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  323. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.ts → connect.test.ts} +0 -0
  324. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  325. package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  326. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  327. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.ts → empty.test.ts} +0 -0
  328. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +51 -12
  329. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +51 -12
  330. package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +86 -50
  331. package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +11 -12
  332. package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +51 -12
  333. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +106 -1
  334. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +20 -14
  335. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +106 -12
  336. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +17 -11
  337. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts +13 -0
  338. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +8 -6
  339. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +80 -1
  340. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +51 -0
  341. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +81 -1
  342. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +69 -26
  343. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.ts +14 -1
  344. package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
  345. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
  346. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
  347. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
  348. package/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
  349. package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
  350. package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
  351. package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
  352. package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
  353. package/tests/src/test.ts +0 -25
  354. package/tests/src/testGraphql.ts +1 -1
  355. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts +0 -2
  356. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts.map +0 -1
  357. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js.map +0 -1
  358. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts +0 -2
  359. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts.map +0 -1
  360. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js.map +0 -1
  361. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts +0 -2
  362. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts.map +0 -1
  363. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js.map +0 -1
  364. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts +0 -2
  365. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts.map +0 -1
  366. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js.map +0 -1
  367. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts +0 -2
  368. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts.map +0 -1
  369. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js.map +0 -1
  370. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts +0 -2
  371. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts.map +0 -1
  372. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js.map +0 -1
  373. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts +0 -2
  374. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts.map +0 -1
  375. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js.map +0 -1
  376. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts +0 -2
  377. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts.map +0 -1
  378. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js.map +0 -1
@@ -28,17 +28,16 @@ const schema_1 = require("./schema");
28
28
  parameters: [(0, testUuid_1.testUuid)(2)],
29
29
  response: { rows: [{ id: (0, testUuid_1.testUuid)(1) }] },
30
30
  },
31
- ...(0, test_1.sqlDeferred)([
32
- {
33
- sql: (0, tags_1.SQL) `delete from "public"."site"
34
- where "id" in (select "root_"."id"
35
- from "public"."site" as "root_"
36
- where "root_"."id" = ?)
37
- returning "id"`,
38
- parameters: [(0, testUuid_1.testUuid)(1)],
39
- response: { rows: [{ id: (0, testUuid_1.testUuid)(1) }] },
40
- },
41
- ]),
31
+ {
32
+ sql: (0, tags_1.SQL) `select "root_"."id" as "id", true as "allowed" from "public"."site" as "root_" where "root_"."id" = ?`,
33
+ parameters: [(0, testUuid_1.testUuid)(1)],
34
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(1), allowed: true }] },
35
+ },
36
+ {
37
+ sql: (0, tags_1.SQL) `delete from "public"."site" where "id" in (?)`,
38
+ parameters: [(0, testUuid_1.testUuid)(1)],
39
+ response: {},
40
+ },
42
41
  ]),
43
42
  ],
44
43
  return: {
@@ -50,4 +49,95 @@ const schema_1 = require("./schema");
50
49
  },
51
50
  });
52
51
  });
52
+ (0, vitest_1.test)('delete', async () => {
53
+ await (0, test_1.execute)({
54
+ schema: schema_1.siteSettingSchema,
55
+ query: (0, tags_1.GQL) `mutation {
56
+ updateSiteSetting(
57
+ by: {id: "${(0, testUuid_1.testUuid)(2)}"},
58
+ data: {site: {delete: true}}
59
+ ) {
60
+ ok
61
+ }
62
+ }`,
63
+ executes: [
64
+ ...(0, test_1.sqlTransaction)([
65
+ {
66
+ sql: (0, tags_1.SQL) `SELECT "root_"."id"
67
+ FROM "public"."site_setting" AS "root_"
68
+ WHERE "root_"."id" = ?`,
69
+ parameters: [(0, testUuid_1.testUuid)(2)],
70
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(2) }] },
71
+ },
72
+ {
73
+ sql: (0, tags_1.SQL) `SELECT "root_"."id"
74
+ FROM "public"."site" AS "root_"
75
+ WHERE "root_"."setting_id" = ?`,
76
+ parameters: [(0, testUuid_1.testUuid)(2)],
77
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(1) }] },
78
+ },
79
+ {
80
+ sql: (0, tags_1.SQL) `SELECT "root_"."id" AS "id", TRUE AS "allowed"
81
+ FROM "public"."site" AS "root_"
82
+ WHERE "root_"."id" = ?`,
83
+ parameters: [(0, testUuid_1.testUuid)(1)],
84
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(1), allowed: true }] },
85
+ },
86
+ {
87
+ sql: (0, tags_1.SQL) `DELETE
88
+ FROM "public"."site"
89
+ WHERE "id" IN (?)`,
90
+ parameters: [(0, testUuid_1.testUuid)(1)],
91
+ response: {},
92
+ },
93
+ ]),
94
+ ],
95
+ return: {
96
+ data: {
97
+ updateSiteSetting: {
98
+ ok: true,
99
+ },
100
+ },
101
+ },
102
+ });
103
+ });
104
+ (0, vitest_1.test)('delete - denied', async () => {
105
+ await (0, test_1.execute)({
106
+ schema: schema_1.siteSettingSchema,
107
+ query: (0, tags_1.GQL) `mutation {
108
+ updateSiteSetting(
109
+ by: {id: "${(0, testUuid_1.testUuid)(2)}"},
110
+ data: {site: {delete: true}}
111
+ ) {
112
+ ok
113
+ }
114
+ }`,
115
+ executes: [
116
+ ...(0, test_1.failedTransaction)([
117
+ {
118
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?`,
119
+ parameters: [(0, testUuid_1.testUuid)(2)],
120
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(2) }] },
121
+ },
122
+ {
123
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site" as "root_" where "root_"."setting_id" = ?`,
124
+ parameters: [(0, testUuid_1.testUuid)(2)],
125
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(1) }] },
126
+ },
127
+ {
128
+ sql: (0, tags_1.SQL) `select "root_"."id" as "id", true as "allowed" from "public"."site" as "root_" where "root_"."id" = ?`,
129
+ parameters: [(0, testUuid_1.testUuid)(1)],
130
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(1), allowed: false }] },
131
+ },
132
+ ]),
133
+ ],
134
+ return: {
135
+ data: {
136
+ updateSiteSetting: {
137
+ ok: false,
138
+ },
139
+ },
140
+ },
141
+ });
142
+ });
53
143
  //# sourceMappingURL=delete.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,kDAA8E;AAC9E,kDAAkD;AAClD,0DAAsD;AACtD,qCAA4C;AAE5C,IAAA,aAAI,EAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,IAAA,mBAAQ,EAAC,CAAC,CAAC;;;;;QAK3B;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD,GAAG,IAAA,kBAAW,EAAC;oBACd;wBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;6BAIe;wBACvB,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;wBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;qBACzC;iBACD,CAAC;aACF,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,iBAAiB,EAAE;oBAClB,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"delete.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,13 @@ const tags_1 = require("../../../../../src/tags");
6
6
  const testUuid_1 = require("../../../../../src/testUuid");
7
7
  const schema_1 = require("./schema");
8
8
  (0, vitest_1.test)('disconnect', async () => {
9
+ const settingId = (0, testUuid_1.testUuid)(2);
10
+ const siteId = (0, testUuid_1.testUuid)(1);
9
11
  await (0, test_1.execute)({
10
12
  schema: schema_1.siteSettingSchema,
11
13
  query: (0, tags_1.GQL) `mutation {
12
14
  updateSiteSetting(
13
- by: {id: "${(0, testUuid_1.testUuid)(2)}"},
15
+ by: {id: "${settingId}"},
14
16
  data: {site: {disconnect: true}}
15
17
  ) {
16
18
  ok
@@ -20,25 +22,29 @@ const schema_1 = require("./schema");
20
22
  ...(0, test_1.sqlTransaction)([
21
23
  {
22
24
  sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?`,
23
- parameters: [(0, testUuid_1.testUuid)(2)],
24
- response: { rows: [{ id: (0, testUuid_1.testUuid)(2) }] },
25
+ parameters: [settingId],
26
+ response: { rows: [{ id: settingId }] },
25
27
  },
26
28
  {
27
29
  sql: (0, tags_1.SQL) `select "root_"."id"
28
30
  from "public"."site" as "root_"
29
31
  where "root_"."setting_id" = ?`,
30
- parameters: [(0, testUuid_1.testUuid)(2)],
32
+ parameters: [settingId],
31
33
  response: {
32
- rows: [{ id: (0, testUuid_1.testUuid)(1) }],
34
+ rows: [{ id: siteId }],
33
35
  },
34
36
  },
35
37
  {
36
- sql: (0, tags_1.SQL) `
37
- with "newData_" as
38
- (select ? :: uuid as "setting_id", "root_"."id", "root_"."name" from "public"."site" as "root_" where "root_"."id" = ?)
39
- update "public"."site" set "setting_id" = "newData_"."setting_id"
40
- from "newData_" where "site"."id" = "newData_"."id"`,
41
- parameters: [null, (0, testUuid_1.testUuid)(1)],
38
+ sql: (0, tags_1.SQL) `with "newData_" as
39
+ (select
40
+ ? :: uuid as "setting_id",
41
+ "root_"."id",
42
+ "root_"."name"
43
+ from "public"."site" as "root_"
44
+ where "root_"."id" = ?) update "public"."site"
45
+ set "setting_id" = "newData_"."setting_id" from "newData_"
46
+ where "site"."id" = "newData_"."id"`,
47
+ parameters: [null, siteId],
42
48
  response: { rowCount: 1 },
43
49
  },
44
50
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"disconnect.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,kDAAiE;AACjE,kDAAkD;AAClD,0DAAsD;AACtD,qCAA4C;AAE5C,IAAA,aAAI,EAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,IAAA,mBAAQ,EAAC,CAAC,CAAC;;;;;QAK3B;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;sDAEyC;oBACjD,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE;wBACT,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC;qBAC3B;iBACD;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;2DAI8C;oBACtD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACzB;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,iBAAiB,EAAE;oBAClB,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"disconnect.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,kDAAiE;AACjE,kDAAkD;AAClD,0DAAsD;AACtD,qCAA4C;AAE5C,IAAA,aAAI,EAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,SAAS;;;;;QAKzB;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,SAAS,CAAC;oBACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;iBACvC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;sDAEyC;oBACjD,UAAU,EAAE,CAAC,SAAS,CAAC;oBACvB,QAAQ,EAAE;wBACT,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;qBACtB;iBACD;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;;;;kDAQqC;oBAC7C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;oBAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACzB;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,iBAAiB,EAAE;oBAClB,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
1
  import { Model } from '@contember/schema';
2
2
  export declare const siteSettingSchema: Model.Schema;
3
+ export declare const siteSettingSchemaWithOrphanRemoval: Model.Schema;
3
4
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,eAAO,MAAM,iBAAiB,cAWf,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,eAAO,MAAM,iBAAiB,cAWf,CAAA;AAEf,eAAO,MAAM,kCAAkC,cAWhC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.siteSettingSchema = void 0;
3
+ exports.siteSettingSchemaWithOrphanRemoval = exports.siteSettingSchema = void 0;
4
4
  const schema_definition_1 = require("@contember/schema-definition");
5
5
  const schema_1 = require("@contember/schema");
6
6
  exports.siteSettingSchema = new schema_definition_1.SchemaBuilder()
@@ -11,4 +11,12 @@ exports.siteSettingSchema = new schema_definition_1.SchemaBuilder()
11
11
  .target('SiteSetting', e => e.column('url', c => c.type(schema_1.Model.ColumnType.String)))
12
12
  .onDelete(schema_1.Model.OnDelete.setNull)))
13
13
  .buildSchema();
14
+ exports.siteSettingSchemaWithOrphanRemoval = new schema_definition_1.SchemaBuilder()
15
+ .entity('Site', entity => entity
16
+ .column('name', c => c.type(schema_1.Model.ColumnType.String))
17
+ .oneHasOne('setting', r => r
18
+ .inversedBy('site')
19
+ .target('SiteSetting', e => e.column('url', c => c.type(schema_1.Model.ColumnType.String)))
20
+ .removeOrphan()))
21
+ .buildSchema();
14
22
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts"],"names":[],"mappings":";;;AAAA,oEAA4D;AAC5D,8CAAyC;AAE5B,QAAA,iBAAiB,GAAG,IAAI,iCAAa,EAAE;KAClD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CACxB,MAAM;KACJ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACpD,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CACzB,CAAC;KACC,UAAU,CAAC,MAAM,CAAC;KAClB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KACjF,QAAQ,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAClC,CACF;KACA,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts"],"names":[],"mappings":";;;AAAA,oEAA4D;AAC5D,8CAAyC;AAE5B,QAAA,iBAAiB,GAAG,IAAI,iCAAa,EAAE;KAClD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CACxB,MAAM;KACJ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACpD,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CACzB,CAAC;KACC,UAAU,CAAC,MAAM,CAAC;KAClB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KACjF,QAAQ,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAClC,CACF;KACA,WAAW,EAAE,CAAA;AAEF,QAAA,kCAAkC,GAAG,IAAI,iCAAa,EAAE;KACnE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CACxB,MAAM;KACJ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACpD,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CACzB,CAAC;KACC,UAAU,CAAC,MAAM,CAAC;KAClB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KACjF,YAAY,EAAE,CAChB,CACF;KACA,WAAW,EAAE,CAAA"}
@@ -54,11 +54,13 @@ const schema_1 = require("./schema");
54
54
  });
55
55
  });
56
56
  (0, vitest_1.test)('upsert - not exists', async () => {
57
+ const settingId = (0, testUuid_1.testUuid)(2);
58
+ const siteId = (0, testUuid_1.testUuid)(1);
57
59
  await (0, test_1.execute)({
58
60
  schema: schema_1.siteSettingSchema,
59
61
  query: (0, tags_1.GQL) `mutation {
60
62
  updateSiteSetting(
61
- by: {id: "${(0, testUuid_1.testUuid)(2)}"},
63
+ by: {id: "${settingId}"},
62
64
  data: {site: {upsert: {update: {name: "Mangoweb"}, create: {name: "Mgw"}}}}
63
65
  ) {
64
66
  ok
@@ -68,14 +70,14 @@ const schema_1 = require("./schema");
68
70
  ...(0, test_1.sqlTransaction)([
69
71
  {
70
72
  sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?`,
71
- parameters: [(0, testUuid_1.testUuid)(2)],
72
- response: { rows: [{ id: (0, testUuid_1.testUuid)(2) }] },
73
+ parameters: [settingId],
74
+ response: { rows: [{ id: settingId }] },
73
75
  },
74
76
  {
75
77
  sql: (0, tags_1.SQL) `select "root_"."id"
76
78
  from "public"."site" as "root_"
77
79
  where "root_"."setting_id" = ?`,
78
- parameters: [(0, testUuid_1.testUuid)(2)],
80
+ parameters: [settingId],
79
81
  response: {
80
82
  rows: [],
81
83
  },
@@ -87,8 +89,8 @@ const schema_1 = require("./schema");
87
89
  select "root_"."id", "root_"."name", "root_"."setting_id"
88
90
  from "root_"
89
91
  returning "id"`,
90
- parameters: [(0, testUuid_1.testUuid)(1), 'Mgw', (0, testUuid_1.testUuid)(2)],
91
- response: { rows: [{ id: (0, testUuid_1.testUuid)(1) }] },
92
+ parameters: [siteId, 'Mgw', settingId],
93
+ response: { rows: [{ id: siteId }] },
92
94
  },
93
95
  ]),
94
96
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"upsert.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,kDAAiE;AACjE,kDAAkD;AAClD,0DAAsD;AACtD,qCAA4C;AAE5C,IAAA,aAAI,EAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,IAAA,mBAAQ,EAAC,CAAC,CAAC;;;;;QAK3B;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;sDAEyC;oBACjD,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE;wBACT,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC;qBAC3B;iBACD;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;MAKP;oBACD,UAAU,EAAE,CAAC,UAAU,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACrC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACzB;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,iBAAiB,EAAE;oBAClB,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AACF,IAAA,aAAI,EAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,IAAA,mBAAQ,EAAC,CAAC,CAAC;;;;;QAK3B;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;sDAEyC;oBACjD,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE;wBACT,IAAI,EAAE,EAAE;qBACR;iBACD;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;sBAKS;oBACjB,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,iBAAiB,EAAE;oBAClB,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"upsert.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,kDAAiE;AACjE,kDAAkD;AAClD,0DAAsD;AACtD,qCAA4C;AAE5C,IAAA,aAAI,EAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,IAAA,mBAAQ,EAAC,CAAC,CAAC;;;;;QAK3B;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;sDAEyC;oBACjD,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE;wBACT,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC;qBAC3B;iBACD;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;MAKP;oBACD,UAAU,EAAE,CAAC,UAAU,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACrC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACzB;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,iBAAiB,EAAE;oBAClB,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AACF,IAAA,aAAI,EAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,SAAS;;;;;QAKzB;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,SAAS,CAAC;oBACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;iBACvC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;sDAEyC;oBACjD,UAAU,EAAE,CAAC,SAAS,CAAC;oBACvB,QAAQ,EAAE;wBACT,IAAI,EAAE,EAAE;qBACR;iBACD;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;sBAKS;oBACjB,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;oBACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;iBACpC;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,iBAAiB,EAAE;oBAClB,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -173,4 +173,80 @@ const schema_1 = require("./schema");
173
173
  },
174
174
  });
175
175
  });
176
+ (0, vitest_1.test)('connect - orphan removal', async () => {
177
+ const settingId = (0, testUuid_1.testUuid)(1);
178
+ const siteId = (0, testUuid_1.testUuid)(2);
179
+ const settingId2 = (0, testUuid_1.testUuid)(3);
180
+ await (0, test_1.execute)({
181
+ schema: schema_1.siteSettingSchemaWithOrphanRemoval,
182
+ query: (0, tags_1.GQL) `mutation {
183
+ updateSite(
184
+ by: {id: "${siteId}"},
185
+ data: {setting: {connect: {id: "${settingId}"}}}
186
+ ) {
187
+ ok
188
+ }
189
+ }`,
190
+ executes: [
191
+ ...(0, test_1.sqlTransaction)([
192
+ // the owner
193
+ {
194
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site" as "root_" where "root_"."id" = ?`,
195
+ parameters: [siteId],
196
+ response: { rows: [{ id: siteId }] },
197
+ },
198
+ // new inverse
199
+ {
200
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?`,
201
+ parameters: [settingId],
202
+ response: { rows: [{ id: settingId }] },
203
+ },
204
+ // current inverse
205
+ {
206
+ sql: 'select "root_"."setting_id" from "public"."site" as "root_" where "root_"."id" = ?',
207
+ parameters: [siteId],
208
+ response: { rows: [{ setting_id: settingId2 }] },
209
+ },
210
+ // owner of new inverse
211
+ {
212
+ sql: 'select "root_"."id" from "public"."site" as "root_" where "root_"."setting_id" = ?',
213
+ parameters: [settingId],
214
+ response: { rows: [] },
215
+ },
216
+ {
217
+ sql: 'with "newData_" as (select ? :: uuid as "setting_id", "root_"."id", "root_"."name" from "public"."site" as "root_" where "root_"."id" = ?) update "public"."site" set "setting_id" = "newData_"."setting_id" from "newData_" where "site"."id" = "newData_"."id"',
218
+ parameters: [settingId, siteId],
219
+ response: { rowCount: 1 },
220
+ },
221
+ {
222
+ sql: 'select "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?',
223
+ parameters: [settingId2],
224
+ response: { rows: [{ id: settingId2 }] },
225
+ },
226
+ {
227
+ sql: 'select "root_"."id" as "id", true as "allowed" from "public"."site_setting" as "root_" where "root_"."id" = ?',
228
+ parameters: [settingId2],
229
+ response: { rows: [{ id: settingId2, allowed: true }] },
230
+ },
231
+ {
232
+ sql: 'select "root_"."id" as "id", "root_"."setting_id" as "ref" from "public"."site" as "root_" where "setting_id" in (?)',
233
+ parameters: [settingId2],
234
+ response: { rows: [] },
235
+ },
236
+ {
237
+ sql: 'DELETE FROM "public"."site_setting" WHERE "id" IN (?)',
238
+ parameters: [settingId2],
239
+ response: { rowCount: 1 },
240
+ },
241
+ ]),
242
+ ],
243
+ return: {
244
+ data: {
245
+ updateSite: {
246
+ ok: true,
247
+ },
248
+ },
249
+ },
250
+ });
251
+ });
176
252
  //# sourceMappingURL=connect.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=connectOrCreate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectOrCreate.test.d.ts","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const test_1 = require("../../../../../src/test");
5
+ const tags_1 = require("../../../../../src/tags");
6
+ const testUuid_1 = require("../../../../../src/testUuid");
7
+ const schema_1 = require("./schema");
8
+ (0, vitest_1.test)('connect or create', async () => {
9
+ await (0, test_1.execute)({
10
+ schema: schema_1.siteSettingSchema,
11
+ query: (0, tags_1.GQL) `mutation {
12
+ updateSite(
13
+ by: {id: "${(0, testUuid_1.testUuid)(2)}"},
14
+ data: {setting: {connectOrCreate: {connect: {url: "xyz"}, create: {url: "abcd"}}}}
15
+ ) {
16
+ ok
17
+ }
18
+ }`,
19
+ executes: [
20
+ ...(0, test_1.sqlTransaction)([
21
+ {
22
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site" as "root_" where "root_"."id" = ?`,
23
+ parameters: [(0, testUuid_1.testUuid)(2)],
24
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(2) }] },
25
+ },
26
+ {
27
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site_setting" as "root_" where "root_"."url" = ?`,
28
+ parameters: ['xyz'],
29
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(3) }] },
30
+ },
31
+ {
32
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site" as "root_" where "root_"."setting_id" = ?`,
33
+ parameters: [(0, testUuid_1.testUuid)(3)],
34
+ response: { rows: [] },
35
+ },
36
+ {
37
+ sql: `with "newData_" as (select ? :: uuid as "setting_id", "root_"."id", "root_"."name" from "public"."site" as "root_" where "root_"."id" = ?)
38
+ update "public"."site" set "setting_id" = "newData_"."setting_id" from "newData_" where "site"."id" = "newData_"."id"`,
39
+ parameters: [(0, testUuid_1.testUuid)(3), (0, testUuid_1.testUuid)(2)],
40
+ response: { rowCount: 1 },
41
+ },
42
+ ]),
43
+ ],
44
+ return: {
45
+ data: {
46
+ updateSite: {
47
+ ok: true,
48
+ },
49
+ },
50
+ },
51
+ });
52
+ });
53
+ //# sourceMappingURL=connectOrCreate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectOrCreate.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,kDAAiE;AACjE,kDAAkD;AAClD,0DAAsD;AACtD,qCAA4C;AAE5C,IAAA,aAAI,EAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,IAAA,mBAAQ,EAAC,CAAC,CAAC;;;;;QAK3B;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,4EAA4E;oBACpF,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,qFAAqF;oBAC7F,UAAU,EAAE,CAAC,KAAK,CAAC;oBACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,oFAAoF;oBAC5F,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;iBACtB;gBACD;oBACC,GAAG,EAAE;kIACwH;oBAC7H,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACtC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACzB;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,UAAU,EAAE;oBACX,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -67,4 +67,84 @@ const schema_1 = require("./schema");
67
67
  },
68
68
  });
69
69
  });
70
+ (0, vitest_1.test)('create - orphan removal', async () => {
71
+ const siteId = (0, testUuid_1.testUuid)(2);
72
+ const currentSettingId = (0, testUuid_1.testUuid)(3);
73
+ await (0, test_1.execute)({
74
+ schema: schema_1.siteSettingSchemaWithOrphanRemoval,
75
+ query: (0, tags_1.GQL) `mutation {
76
+ updateSite(
77
+ by: {id: "${siteId}"},
78
+ data: {setting: {create: {url: "http://mangoweb.cz"}}}
79
+ ) {
80
+ ok
81
+ }
82
+ }`,
83
+ executes: [
84
+ ...(0, test_1.sqlTransaction)([
85
+ {
86
+ sql: (0, tags_1.SQL) `select "root_"."id" from "public"."site" as "root_" where "root_"."id" = ?`,
87
+ parameters: [siteId],
88
+ response: { rows: [{ id: siteId }] },
89
+ },
90
+ // get current inverse side
91
+ {
92
+ sql: 'select "root_"."setting_id" from "public"."site" as "root_" where "root_"."id" = ?',
93
+ parameters: [siteId],
94
+ response: { rows: [{ setting_id: currentSettingId }] },
95
+ },
96
+ {
97
+ sql: (0, tags_1.SQL) `with "root_" as
98
+ (select ? :: uuid as "id", ? :: text as "url")
99
+ insert into "public"."site_setting" ("id", "url")
100
+ select "root_"."id", "root_"."url"
101
+ from "root_"
102
+ returning "id"`,
103
+ parameters: [(0, testUuid_1.testUuid)(1), 'http://mangoweb.cz'],
104
+ response: { rows: [{ id: (0, testUuid_1.testUuid)(1) }] },
105
+ },
106
+ {
107
+ sql: (0, tags_1.SQL) `with "newData_" as
108
+ (select
109
+ ? :: uuid as "setting_id",
110
+ "root_"."id",
111
+ "root_"."name"
112
+ from "public"."site" as "root_"
113
+ where "root_"."id" = ?) update "public"."site"
114
+ set "setting_id" = "newData_"."setting_id" from "newData_"
115
+ where "site"."id" = "newData_"."id"`,
116
+ parameters: [(0, testUuid_1.testUuid)(1), siteId],
117
+ response: { rowCount: 1 },
118
+ },
119
+ {
120
+ sql: 'select "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?',
121
+ parameters: [currentSettingId],
122
+ response: { rows: [{ id: currentSettingId }] },
123
+ },
124
+ {
125
+ sql: 'select "root_"."id" as "id", true as "allowed" from "public"."site_setting" as "root_" where "root_"."id" = ?',
126
+ parameters: [currentSettingId],
127
+ response: { rows: [{ id: currentSettingId, allowed: true }] },
128
+ },
129
+ {
130
+ sql: 'select "root_"."id" as "id", "root_"."setting_id" as "ref" from "public"."site" as "root_" where "setting_id" in (?)',
131
+ parameters: [currentSettingId],
132
+ response: { rows: [] },
133
+ },
134
+ {
135
+ sql: 'DELETE FROM "public"."site_setting" WHERE "id" IN (?)',
136
+ parameters: [currentSettingId],
137
+ response: { rowCount: 1 },
138
+ },
139
+ ]),
140
+ ],
141
+ return: {
142
+ data: {
143
+ updateSite: {
144
+ ok: true,
145
+ },
146
+ },
147
+ },
148
+ });
149
+ });
70
150
  //# sourceMappingURL=create.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts"],"names":[],"mappings":";;AAAA,mCAA6B;AAC7B,kDAAiE;AACjE,kDAAkD;AAClD,0DAAsD;AACtD,qCAA4C;AAE5C,IAAA,aAAI,EAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,0BAAiB;QACzB,KAAK,EAAE,IAAA,UAAG,EAAA;;wBAEY,IAAA,mBAAQ,EAAC,CAAC,CAAC;;;;;QAK3B;QACN,QAAQ,EAAE;YACT,GAAG,IAAA,qBAAc,EAAC;gBACjB;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA,4EAA4E;oBACpF,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD,IAAI;gBACJ,8IAA8I;gBAC9I,8BAA8B;gBAC9B,+EAA+E;gBAC/E,KAAK;gBACL,IAAI;gBACJ,4IAA4I;gBAC5I,+BAA+B;gBAC/B,oDAAoD;gBACpD,KAAK;gBACL;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;sBAKS;oBACjB,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC;oBAC/C,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACzC;gBACD;oBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;;;;kDAQqC;oBAC7C,UAAU,EAAE,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAC;oBACtC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACzB;aACD,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,UAAU,EAAE;oBACX,EAAE,EAAE,IAAI;iBACR;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts"],"names":[],"mappings":"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"}