@contember/engine-content-api 1.2.1 → 1.3.0-alpha.2

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 (555) hide show
  1. package/dist/src/ExecutionContainer.d.ts +141 -0
  2. package/dist/src/ExecutionContainer.d.ts.map +1 -0
  3. package/dist/src/ExecutionContainer.js +84 -0
  4. package/dist/src/ExecutionContainer.js.map +1 -0
  5. package/dist/src/index.d.ts +2 -1
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +18 -2
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts.map +1 -1
  10. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js +6 -0
  11. package/dist/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -1
  12. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts.map +1 -1
  13. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js +6 -0
  14. package/dist/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -1
  15. package/dist/src/inputProcessing/CreateInputProcessor.d.ts +27 -9
  16. package/dist/src/inputProcessing/CreateInputProcessor.d.ts.map +1 -1
  17. package/dist/src/inputProcessing/CreateInputVisitor.d.ts.map +1 -1
  18. package/dist/src/inputProcessing/CreateInputVisitor.js +10 -2
  19. package/dist/src/inputProcessing/CreateInputVisitor.js.map +1 -1
  20. package/dist/src/inputProcessing/UniqueWhereExpander.d.ts +2 -1
  21. package/dist/src/inputProcessing/UniqueWhereExpander.d.ts.map +1 -1
  22. package/dist/src/inputProcessing/UniqueWhereExpander.js +4 -0
  23. package/dist/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  24. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts +41 -16
  25. package/dist/src/inputProcessing/UpdateInputProcessor.d.ts.map +1 -1
  26. package/dist/src/inputProcessing/UpdateInputVisitor.d.ts.map +1 -1
  27. package/dist/src/inputProcessing/UpdateInputVisitor.js +7 -2
  28. package/dist/src/inputProcessing/UpdateInputVisitor.js.map +1 -1
  29. package/dist/src/mapper/ColumnValue.d.ts +2 -2
  30. package/dist/src/mapper/ColumnValue.d.ts.map +1 -1
  31. package/dist/src/mapper/DataManipulationBuilder.d.ts +7 -0
  32. package/dist/src/mapper/DataManipulationBuilder.d.ts.map +1 -0
  33. package/dist/src/mapper/DataManipulationBuilder.js +5 -0
  34. package/dist/src/mapper/DataManipulationBuilder.js.map +1 -0
  35. package/dist/src/mapper/EventManager.d.ts +86 -0
  36. package/dist/src/mapper/EventManager.d.ts.map +1 -0
  37. package/dist/src/mapper/EventManager.js +118 -0
  38. package/dist/src/mapper/EventManager.js.map +1 -0
  39. package/dist/src/mapper/JunctionTableManager.d.ts +12 -11
  40. package/dist/src/mapper/JunctionTableManager.d.ts.map +1 -1
  41. package/dist/src/mapper/JunctionTableManager.js +20 -8
  42. package/dist/src/mapper/JunctionTableManager.js.map +1 -1
  43. package/dist/src/mapper/Mapper.d.ts +19 -19
  44. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  45. package/dist/src/mapper/Mapper.js +71 -21
  46. package/dist/src/mapper/Mapper.js.map +1 -1
  47. package/dist/src/mapper/MapperFactory.d.ts +33 -0
  48. package/dist/src/mapper/MapperFactory.d.ts.map +1 -0
  49. package/dist/src/mapper/MapperFactory.js +40 -0
  50. package/dist/src/mapper/MapperFactory.js.map +1 -0
  51. package/dist/src/mapper/Result.d.ts +5 -4
  52. package/dist/src/mapper/Result.d.ts.map +1 -1
  53. package/dist/src/mapper/Result.js +2 -1
  54. package/dist/src/mapper/Result.js.map +1 -1
  55. package/dist/src/mapper/delete/DeleteExecutor.d.ts +12 -5
  56. package/dist/src/mapper/delete/DeleteExecutor.d.ts.map +1 -1
  57. package/dist/src/mapper/delete/DeleteExecutor.js +183 -77
  58. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  59. package/dist/src/mapper/delete/DeleteState.d.ts +22 -0
  60. package/dist/src/mapper/delete/DeleteState.d.ts.map +1 -0
  61. package/dist/src/mapper/delete/DeleteState.js +68 -0
  62. package/dist/src/mapper/delete/DeleteState.js.map +1 -0
  63. package/dist/src/mapper/delete/DeletedEntitiesStorage.d.ts +1 -0
  64. package/dist/src/mapper/delete/DeletedEntitiesStorage.d.ts.map +1 -1
  65. package/dist/src/mapper/delete/DeletedEntitiesStorage.js +5 -0
  66. package/dist/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -1
  67. package/dist/src/mapper/delete/helpers.d.ts +11 -0
  68. package/dist/src/mapper/delete/helpers.d.ts.map +1 -0
  69. package/dist/src/mapper/delete/helpers.js +49 -0
  70. package/dist/src/mapper/delete/helpers.js.map +1 -0
  71. package/dist/src/mapper/index.d.ts +3 -1
  72. package/dist/src/mapper/index.d.ts.map +1 -1
  73. package/dist/src/mapper/index.js +3 -1
  74. package/dist/src/mapper/index.js.map +1 -1
  75. package/dist/src/mapper/insert/InsertBuilder.d.ts +10 -7
  76. package/dist/src/mapper/insert/InsertBuilder.d.ts.map +1 -1
  77. package/dist/src/mapper/insert/InsertBuilder.js +24 -11
  78. package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
  79. package/dist/src/mapper/insert/InsertBuilderFactory.d.ts +3 -1
  80. package/dist/src/mapper/insert/InsertBuilderFactory.d.ts.map +1 -1
  81. package/dist/src/mapper/insert/InsertBuilderFactory.js +3 -2
  82. package/dist/src/mapper/insert/InsertBuilderFactory.js.map +1 -1
  83. package/dist/src/mapper/insert/Inserter.d.ts +3 -6
  84. package/dist/src/mapper/insert/Inserter.d.ts.map +1 -1
  85. package/dist/src/mapper/insert/Inserter.js +9 -12
  86. package/dist/src/mapper/insert/Inserter.js.map +1 -1
  87. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts +5 -0
  88. package/dist/src/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -1
  89. package/dist/src/mapper/insert/SqlCreateInputProcessor.js +54 -120
  90. package/dist/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  91. package/dist/src/mapper/relations/ManyHasManyInputProcessor.d.ts +32 -0
  92. package/dist/src/mapper/relations/ManyHasManyInputProcessor.d.ts.map +1 -0
  93. package/dist/src/mapper/relations/ManyHasManyInputProcessor.js +77 -0
  94. package/dist/src/mapper/relations/ManyHasManyInputProcessor.js.map +1 -0
  95. package/dist/src/mapper/relations/ManyHasOneInputProcessor.d.ts +32 -0
  96. package/dist/src/mapper/relations/ManyHasOneInputProcessor.d.ts.map +1 -0
  97. package/dist/src/mapper/relations/ManyHasOneInputProcessor.js +108 -0
  98. package/dist/src/mapper/relations/ManyHasOneInputProcessor.js.map +1 -0
  99. package/dist/src/mapper/relations/OneHasManyInputProcessor.d.ts +29 -0
  100. package/dist/src/mapper/relations/OneHasManyInputProcessor.d.ts.map +1 -0
  101. package/dist/src/mapper/relations/OneHasManyInputProcessor.js +61 -0
  102. package/dist/src/mapper/relations/OneHasManyInputProcessor.js.map +1 -0
  103. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts +21 -0
  104. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
  105. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js +74 -0
  106. package/dist/src/mapper/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  107. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts +32 -0
  108. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
  109. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js +125 -0
  110. package/dist/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  111. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts +21 -0
  112. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
  113. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js +72 -0
  114. package/dist/src/mapper/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  115. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts +37 -0
  116. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
  117. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js +193 -0
  118. package/dist/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  119. package/dist/src/mapper/select/JoinBuilder.d.ts +1 -1
  120. package/dist/src/mapper/select/JoinBuilder.d.ts.map +1 -1
  121. package/dist/src/mapper/select/JoinBuilder.js.map +1 -1
  122. package/dist/src/mapper/select/OrderByHelper.d.ts +1 -1
  123. package/dist/src/mapper/select/OrderByHelper.d.ts.map +1 -1
  124. package/dist/src/mapper/select/OrderByHelper.js +3 -1
  125. package/dist/src/mapper/select/OrderByHelper.js.map +1 -1
  126. package/dist/src/mapper/select/RelationFetcher.js +2 -2
  127. package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
  128. package/dist/src/mapper/select/WhereBuilder.d.ts +2 -2
  129. package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
  130. package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
  131. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts +5 -0
  132. package/dist/src/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -1
  133. package/dist/src/mapper/update/SqlUpdateInputProcessor.js +52 -389
  134. package/dist/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -1
  135. package/dist/src/mapper/update/UpdateBuilder.d.ts +10 -7
  136. package/dist/src/mapper/update/UpdateBuilder.d.ts.map +1 -1
  137. package/dist/src/mapper/update/UpdateBuilder.js +43 -19
  138. package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
  139. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts +4 -2
  140. package/dist/src/mapper/update/UpdateBuilderFactory.d.ts.map +1 -1
  141. package/dist/src/mapper/update/UpdateBuilderFactory.js +4 -3
  142. package/dist/src/mapper/update/UpdateBuilderFactory.js.map +1 -1
  143. package/dist/src/mapper/update/Updater.d.ts +1 -4
  144. package/dist/src/mapper/update/Updater.d.ts.map +1 -1
  145. package/dist/src/mapper/update/Updater.js +17 -23
  146. package/dist/src/mapper/update/Updater.js.map +1 -1
  147. package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts +1 -3
  148. package/dist/src/resolvers/GraphQlQueryAstFactory.d.ts.map +1 -1
  149. package/dist/src/resolvers/GraphQlQueryAstFactory.js +1 -4
  150. package/dist/src/resolvers/GraphQlQueryAstFactory.js.map +1 -1
  151. package/dist/src/resolvers/MutationResolver.d.ts +1 -4
  152. package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
  153. package/dist/src/resolvers/MutationResolver.js +10 -12
  154. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  155. package/dist/src/resolvers/ReadResolver.d.ts +1 -3
  156. package/dist/src/resolvers/ReadResolver.d.ts.map +1 -1
  157. package/dist/src/resolvers/ReadResolver.js +6 -10
  158. package/dist/src/resolvers/ReadResolver.js.map +1 -1
  159. package/dist/src/resolvers/ValidationResolver.d.ts +1 -3
  160. package/dist/src/resolvers/ValidationResolver.d.ts.map +1 -1
  161. package/dist/src/resolvers/ValidationResolver.js +3 -4
  162. package/dist/src/resolvers/ValidationResolver.js.map +1 -1
  163. package/dist/src/resolvers/index.d.ts +0 -1
  164. package/dist/src/resolvers/index.d.ts.map +1 -1
  165. package/dist/src/resolvers/index.js +0 -1
  166. package/dist/src/resolvers/index.js.map +1 -1
  167. package/dist/src/schema/CustomTypesProvider.d.ts.map +1 -1
  168. package/dist/src/schema/CustomTypesProvider.js +1 -23
  169. package/dist/src/schema/CustomTypesProvider.js.map +1 -1
  170. package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts +3 -0
  171. package/dist/src/schema/GraphQlSchemaBuilderFactory.d.ts.map +1 -1
  172. package/dist/src/schema/GraphQlSchemaBuilderFactory.js +4 -2
  173. package/dist/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -1
  174. package/dist/src/schema/MutationProvider.js +4 -4
  175. package/dist/src/schema/MutationProvider.js.map +1 -1
  176. package/dist/src/schema/QueryProvider.js +3 -3
  177. package/dist/src/schema/QueryProvider.js.map +1 -1
  178. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts +15 -0
  179. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts.map +1 -0
  180. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js +43 -0
  181. package/dist/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -0
  182. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -1
  183. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js +2 -6
  184. package/dist/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -1
  185. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  186. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +3 -0
  187. package/dist/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  188. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts +3 -1
  189. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  190. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +15 -8
  191. package/dist/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -1
  192. package/dist/src/schema/mutations/EntityInputProvider.d.ts.map +1 -1
  193. package/dist/src/schema/mutations/EntityInputProvider.js +0 -3
  194. package/dist/src/schema/mutations/EntityInputProvider.js.map +1 -1
  195. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -1
  196. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js +2 -6
  197. package/dist/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -1
  198. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -1
  199. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +3 -0
  200. package/dist/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -1
  201. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts +3 -1
  202. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -1
  203. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +11 -22
  204. package/dist/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -1
  205. package/dist/src/tsconfig.tsbuildinfo +1 -1
  206. package/dist/src/types.d.ts +2 -3
  207. package/dist/src/types.d.ts.map +1 -1
  208. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js +3 -5
  209. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js.map +1 -1
  210. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js +2 -2
  211. package/dist/tests/cases/integration/graphQlDb/insert/insertSequence.test.js.map +1 -1
  212. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js +1 -1
  213. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map +1 -1
  214. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +45 -45
  215. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  216. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +5 -5
  217. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
  218. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js +2 -2
  219. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js.map +1 -1
  220. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +8 -8
  221. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
  222. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +7 -10
  223. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
  224. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js +2 -2
  225. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js.map +1 -1
  226. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +13 -32
  227. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
  228. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js +11 -30
  229. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js.map +1 -1
  230. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js +62 -45
  231. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js.map +1 -1
  232. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js +10 -11
  233. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js.map +1 -1
  234. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js +29 -18
  235. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js.map +1 -1
  236. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts +2 -0
  237. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts.map +1 -0
  238. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js +97 -0
  239. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.js.map +1 -0
  240. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js +58 -22
  241. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js.map +1 -1
  242. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts +2 -0
  243. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts.map +1 -0
  244. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
  245. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.js.map +1 -0
  246. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts +2 -0
  247. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts.map +1 -0
  248. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
  249. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.js.map +1 -0
  250. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts +2 -0
  251. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts.map +1 -0
  252. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js +99 -0
  253. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.js.map +1 -0
  254. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts +2 -0
  255. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts.map +1 -0
  256. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.js → create.test.js} +1 -1
  257. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.js.map +1 -0
  258. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts +2 -0
  259. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts.map +1 -0
  260. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.js → connect.test.js} +4 -4
  261. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.js.map +1 -0
  262. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts +2 -0
  263. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts.map +1 -0
  264. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.js → create.test.js} +1 -1
  265. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.js.map +1 -0
  266. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts +2 -0
  267. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts.map +1 -0
  268. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.js → create.test.js} +1 -1
  269. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.js.map +1 -0
  270. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts +2 -0
  271. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts.map +1 -0
  272. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.js → create.test.js} +1 -1
  273. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.js.map +1 -0
  274. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts +2 -0
  275. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts.map +1 -0
  276. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.js → empty.test.js} +1 -1
  277. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.js.map +1 -0
  278. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts +2 -0
  279. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts.map +1 -0
  280. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js +67 -0
  281. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.js.map +1 -0
  282. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +6 -18
  283. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
  284. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js +3 -4
  285. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js.map +1 -1
  286. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js +3 -8
  287. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js.map +1 -1
  288. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js +49 -11
  289. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js.map +1 -1
  290. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js +3 -9
  291. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js.map +1 -1
  292. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js +3 -9
  293. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js.map +1 -1
  294. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js +49 -11
  295. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js.map +1 -1
  296. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js +3 -9
  297. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js.map +1 -1
  298. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js +3 -9
  299. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js.map +1 -1
  300. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js +3 -10
  301. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js.map +1 -1
  302. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js +3 -10
  303. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js.map +1 -1
  304. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js +83 -49
  305. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js.map +1 -1
  306. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js +3 -9
  307. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js.map +1 -1
  308. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js +3 -9
  309. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js.map +1 -1
  310. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js +6 -18
  311. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js.map +1 -1
  312. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js +10 -11
  313. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js.map +1 -1
  314. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js +3 -11
  315. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js.map +1 -1
  316. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js +49 -11
  317. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js.map +1 -1
  318. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js +3 -8
  319. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js.map +1 -1
  320. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js +3 -6
  321. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js.map +1 -1
  322. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js +3 -6
  323. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js.map +1 -1
  324. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js +97 -29
  325. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js.map +1 -1
  326. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js +14 -15
  327. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js.map +1 -1
  328. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js +101 -11
  329. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js.map +1 -1
  330. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js +11 -12
  331. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
  332. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts +1 -0
  333. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts.map +1 -1
  334. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js +9 -1
  335. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.js.map +1 -1
  336. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js +3 -6
  337. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js.map +1 -1
  338. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js +11 -13
  339. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js.map +1 -1
  340. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js +85 -29
  341. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
  342. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts +2 -0
  343. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts.map +1 -0
  344. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js +53 -0
  345. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.js.map +1 -0
  346. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +75 -9
  347. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js.map +1 -1
  348. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js +66 -25
  349. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js.map +1 -1
  350. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js +3 -10
  351. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js.map +1 -1
  352. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts +1 -0
  353. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts.map +1 -1
  354. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js +10 -2
  355. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.js.map +1 -1
  356. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js +3 -9
  357. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js.map +1 -1
  358. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js +6 -19
  359. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js.map +1 -1
  360. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js +6 -8
  361. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js.map +1 -1
  362. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js +9 -24
  363. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js.map +1 -1
  364. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js +3 -7
  365. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js.map +1 -1
  366. package/dist/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
  367. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
  368. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
  369. package/dist/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
  370. package/dist/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
  371. package/dist/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
  372. package/dist/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
  373. package/dist/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
  374. package/dist/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
  375. package/dist/tests/cases/unit/orderbyHelper.test.js +11 -0
  376. package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
  377. package/dist/tests/src/test.d.ts +1 -1
  378. package/dist/tests/src/test.d.ts.map +1 -1
  379. package/dist/tests/src/test.js +34 -32
  380. package/dist/tests/src/test.js.map +1 -1
  381. package/dist/tests/src/testGraphql.js +1 -1
  382. package/dist/tests/src/testGraphql.js.map +1 -1
  383. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  384. package/package.json +11 -11
  385. package/src/ExecutionContainer.ts +204 -0
  386. package/src/index.ts +24 -1
  387. package/src/input-validation/preValidation/CreateInputPreValidationProcessor.ts +6 -0
  388. package/src/input-validation/preValidation/UpdateInputPreValidationProcessor.ts +6 -0
  389. package/src/inputProcessing/CreateInputProcessor.ts +8 -11
  390. package/src/inputProcessing/CreateInputVisitor.ts +11 -2
  391. package/src/inputProcessing/UniqueWhereExpander.ts +5 -1
  392. package/src/inputProcessing/UpdateInputProcessor.ts +18 -18
  393. package/src/inputProcessing/UpdateInputVisitor.ts +6 -2
  394. package/src/mapper/ColumnValue.ts +2 -2
  395. package/src/mapper/DataManipulationBuilder.ts +12 -0
  396. package/src/mapper/EventManager.ts +158 -0
  397. package/src/mapper/JunctionTableManager.ts +50 -32
  398. package/src/mapper/Mapper.ts +101 -55
  399. package/src/mapper/MapperFactory.ts +67 -0
  400. package/src/mapper/Result.ts +3 -2
  401. package/src/mapper/delete/DeleteExecutor.ts +262 -95
  402. package/src/mapper/delete/DeleteState.ts +80 -0
  403. package/src/mapper/delete/DeletedEntitiesStorage.ts +6 -0
  404. package/src/mapper/delete/helpers.ts +68 -0
  405. package/src/mapper/index.ts +3 -1
  406. package/src/mapper/insert/InsertBuilder.ts +35 -14
  407. package/src/mapper/insert/InsertBuilderFactory.ts +3 -1
  408. package/src/mapper/insert/Inserter.ts +9 -13
  409. package/src/mapper/insert/SqlCreateInputProcessor.ts +61 -139
  410. package/src/mapper/relations/ManyHasManyInputProcessor.ts +108 -0
  411. package/src/mapper/relations/ManyHasOneInputProcessor.ts +158 -0
  412. package/src/mapper/relations/OneHasManyInputProcessor.ts +101 -0
  413. package/src/mapper/relations/OneHasOneInverseCreateInputProcessor.ts +99 -0
  414. package/src/mapper/relations/OneHasOneInverseUpdateInputProcessor.ts +164 -0
  415. package/src/mapper/relations/OneHasOneOwningCreateInputProcessor.ts +92 -0
  416. package/src/mapper/relations/OneHasOneOwningUpdateInputProcessor.ts +253 -0
  417. package/src/mapper/select/JoinBuilder.ts +4 -4
  418. package/src/mapper/select/OrderByHelper.ts +2 -1
  419. package/src/mapper/select/RelationFetcher.ts +2 -2
  420. package/src/mapper/select/WhereBuilder.ts +11 -11
  421. package/src/mapper/update/SqlUpdateInputProcessor.ts +55 -484
  422. package/src/mapper/update/UpdateBuilder.ts +52 -22
  423. package/src/mapper/update/UpdateBuilderFactory.ts +11 -2
  424. package/src/mapper/update/Updater.ts +16 -30
  425. package/src/resolvers/GraphQlQueryAstFactory.ts +1 -2
  426. package/src/resolvers/MutationResolver.ts +13 -14
  427. package/src/resolvers/ReadResolver.ts +5 -9
  428. package/src/resolvers/ValidationResolver.ts +2 -4
  429. package/src/resolvers/index.ts +0 -1
  430. package/src/schema/CustomTypesProvider.ts +2 -27
  431. package/src/schema/GraphQlSchemaBuilderFactory.ts +7 -4
  432. package/src/schema/MutationProvider.ts +4 -4
  433. package/src/schema/QueryProvider.ts +3 -3
  434. package/src/schema/mutations/ConnectOrCreateRelationInputProvider.ts +54 -0
  435. package/src/schema/mutations/CreateEntityInputFieldVisitor.ts +2 -6
  436. package/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts +3 -1
  437. package/src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts +20 -15
  438. package/src/schema/mutations/EntityInputProvider.ts +0 -3
  439. package/src/schema/mutations/UpdateEntityInputFieldVisitor.ts +2 -6
  440. package/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts +3 -1
  441. package/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts +52 -57
  442. package/src/tsconfig.json +7 -21
  443. package/src/types.ts +2 -3
  444. package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +3 -5
  445. package/tests/cases/integration/graphQlDb/insert/insertSequence.test.ts +2 -2
  446. package/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts +1 -1
  447. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +9 -9
  448. package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +3 -3
  449. package/tests/cases/integration/graphQlDb/update/invalidInput.test.ts +2 -2
  450. package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +8 -8
  451. package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +7 -10
  452. package/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.ts +2 -2
  453. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +15 -34
  454. package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +12 -31
  455. package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +68 -46
  456. package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +11 -12
  457. package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +30 -19
  458. package/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.ts +102 -0
  459. package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +63 -23
  460. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.ts +106 -0
  461. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationConnect.test.ts → connect.test.ts} +3 -3
  462. package/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.ts +67 -0
  463. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +6 -18
  464. package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +3 -4
  465. package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +3 -8
  466. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +51 -12
  467. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +3 -9
  468. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +3 -9
  469. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +51 -12
  470. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +3 -9
  471. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +3 -9
  472. package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +3 -10
  473. package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +3 -10
  474. package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +86 -50
  475. package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +3 -9
  476. package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +3 -9
  477. package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +6 -18
  478. package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +11 -12
  479. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +3 -11
  480. package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +51 -12
  481. package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +3 -8
  482. package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +3 -6
  483. package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +3 -6
  484. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +101 -31
  485. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +14 -15
  486. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +106 -12
  487. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +11 -12
  488. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.ts +13 -0
  489. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +3 -6
  490. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +11 -13
  491. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +89 -30
  492. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.ts +51 -0
  493. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +77 -11
  494. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +69 -26
  495. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.ts +3 -10
  496. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.ts +14 -1
  497. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +3 -9
  498. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +6 -19
  499. package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +6 -8
  500. package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +9 -24
  501. package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +3 -7
  502. package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +14 -1
  503. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +5 -5
  504. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +14 -1
  505. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +12 -0
  506. package/tests/cases/integration/graphQlSchema/schema-basic.gql +40 -2
  507. package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +30 -3
  508. package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +40 -2
  509. package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +14 -1
  510. package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +40 -2
  511. package/tests/cases/unit/orderbyHelper.test.ts +13 -0
  512. package/tests/src/test.ts +38 -40
  513. package/tests/src/testGraphql.ts +1 -1
  514. package/tests/tsconfig.json +3 -9
  515. package/dist/src/mapper/MapperContainer.d.ts +0 -18
  516. package/dist/src/mapper/MapperContainer.d.ts.map +0 -1
  517. package/dist/src/mapper/MapperContainer.js +0 -55
  518. package/dist/src/mapper/MapperContainer.js.map +0 -1
  519. package/dist/src/resolvers/ExecutionContainerFactory.d.ts +0 -24
  520. package/dist/src/resolvers/ExecutionContainerFactory.d.ts.map +0 -1
  521. package/dist/src/resolvers/ExecutionContainerFactory.js +0 -45
  522. package/dist/src/resolvers/ExecutionContainerFactory.js.map +0 -1
  523. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts +0 -2
  524. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.d.ts.map +0 -1
  525. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js.map +0 -1
  526. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts +0 -2
  527. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.d.ts.map +0 -1
  528. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js.map +0 -1
  529. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts +0 -2
  530. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.d.ts.map +0 -1
  531. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js.map +0 -1
  532. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts +0 -2
  533. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.d.ts.map +0 -1
  534. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js.map +0 -1
  535. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts +0 -2
  536. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.d.ts.map +0 -1
  537. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js.map +0 -1
  538. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts +0 -2
  539. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.d.ts.map +0 -1
  540. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js.map +0 -1
  541. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts +0 -2
  542. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.d.ts.map +0 -1
  543. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js.map +0 -1
  544. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts +0 -2
  545. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.d.ts.map +0 -1
  546. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js.map +0 -1
  547. package/src/mapper/MapperContainer.ts +0 -138
  548. package/src/resolvers/ExecutionContainerFactory.ts +0 -74
  549. /package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  550. /package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  551. /package/tests/cases/integration/graphQlRequests/insert/manyHasOne/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  552. /package/tests/cases/integration/graphQlRequests/insert/oneHasMany/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  553. /package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  554. /package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationCreate.test.ts → create.test.ts} +0 -0
  555. /package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/{insertRelationEmpty.test.ts → empty.test.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { test } from 'vitest'
2
- import { execute, sqlDeferred, sqlTransaction } from '../../../../../src/test'
2
+ import { execute, failedTransaction, sqlTransaction } from '../../../../../src/test'
3
3
  import { GQL, SQL } from '../../../../../src/tags'
4
4
  import { testUuid } from '../../../../../src/testUuid'
5
5
  import { siteSettingSchema } from './schema'
@@ -31,31 +31,21 @@ test('delete', async () => {
31
31
  rows: [{ setting_id: testUuid(1) }],
32
32
  },
33
33
  },
34
- ...sqlDeferred([
35
- {
36
- sql: SQL`delete from "public"."site_setting"
37
- where "id" in (select "root_"."id"
38
- from "public"."site_setting" as "root_"
39
- where "root_"."id" = ?)
40
- returning "id"`,
41
- parameters: [testUuid(1)],
42
- response: { rows: [{ id: testUuid(1) }] },
43
- },
44
- {
45
- sql: SQL`
46
- with "newdata_" as
47
- (select ? :: uuid as "setting_id", "root_"."id", "root_"."name"
48
- from "public"."site" as "root_"
49
- where "root_"."setting_id" in (?))
50
- update "public"."site"
51
- set "setting_id" = "newdata_"."setting_id" from "newdata_"
52
- where "site"."id" = "newdata_"."id"`,
53
- parameters: [null, testUuid(1)],
54
- response: {
55
- rowCount: 1,
56
- },
57
- },
58
- ]),
34
+ {
35
+ sql: SQL`select "root_"."id" as "id", true as "allowed" from "public"."site_setting" as "root_" where "root_"."id" = ?`,
36
+ parameters: [testUuid(1)],
37
+ response: { rows: [{ id: testUuid(1), allowed: true }] },
38
+ },
39
+ {
40
+ sql: SQL`select "root_"."id" as "id", "root_"."setting_id" as "ref", true as "allowed" from "public"."site" as "root_" where "setting_id" in (?)`,
41
+ parameters: [testUuid(1)],
42
+ response: { rows: [{ id: testUuid(2), ref: testUuid(1), allowed: true }] },
43
+ },
44
+ {
45
+ sql: SQL`delete from "public"."site_setting" where "id" in (?)`,
46
+ parameters: [testUuid(1)],
47
+ response: { rows: [{ id: testUuid(1) }] },
48
+ },
59
49
  ]),
60
50
  ],
61
51
  return: {
@@ -68,3 +58,56 @@ test('delete', async () => {
68
58
  })
69
59
  })
70
60
 
61
+
62
+ test('delete denied', async () => {
63
+ await execute({
64
+ schema: siteSettingSchema,
65
+ query: GQL`mutation {
66
+ updateSite(
67
+ by: {id: "${testUuid(2)}"},
68
+ data: {setting: {delete: true}}
69
+ ) {
70
+ ok
71
+ errorMessage
72
+ }
73
+ }`,
74
+ executes: [
75
+ ...failedTransaction([
76
+ {
77
+ sql: SQL`select "root_"."id" from "public"."site" as "root_" where "root_"."id" = ?`,
78
+ parameters: [testUuid(2)],
79
+ response: { rows: [{ id: testUuid(2) }] },
80
+ },
81
+ {
82
+ sql: SQL`select "root_"."setting_id"
83
+ from "public"."site" as "root_"
84
+ where "root_"."id" = ?`,
85
+ parameters: [testUuid(2)],
86
+ response: {
87
+ rows: [{ setting_id: testUuid(1) }],
88
+ },
89
+ },
90
+ {
91
+ sql: SQL`select "root_"."id" as "id", true as "allowed" from "public"."site_setting" as "root_" where "root_"."id" = ?`,
92
+ parameters: [testUuid(1)],
93
+ response: { rows: [{ id: testUuid(1), allowed: true }] },
94
+ },
95
+ {
96
+ sql: SQL`select "root_"."id" as "id", "root_"."setting_id" as "ref", true as "allowed" from "public"."site" as "root_" where "setting_id" in (?)`,
97
+ parameters: [testUuid(1)],
98
+ response: { rows: [{ id: testUuid(2), ref: testUuid(1), allowed: false }] },
99
+ },
100
+ ]),
101
+ ],
102
+ return: {
103
+ data: {
104
+ updateSite: {
105
+ ok: false,
106
+ errorMessage: 'Execution has failed:\n'
107
+ + 'setting: ForeignKeyConstraintViolation (Cannot delete 123e4567-e89b-12d3-a456-000000000001 row(s) of entity SiteSetting, because it is still referenced from 123e4567-e89b-12d3-a456-000000000002 row(s) of entity Site in relation setting. OnDelete behaviour of this relation is set to "set null". This is possibly caused by ACL denial.)',
108
+ },
109
+ },
110
+ },
111
+ })
112
+ })
113
+
@@ -23,17 +23,10 @@ test('disconnect', async () => {
23
23
  response: { rows: [{ id: testUuid(2) }] },
24
24
  },
25
25
  {
26
- sql: SQL`with "newData_" as
27
- (select
28
- ? :: uuid as "setting_id",
29
- "root_"."id",
30
- "root_"."name"
31
- from "public"."site" as "root_"
32
- where "root_"."id" = ?) update "public"."site"
33
- set "setting_id" = "newData_"."setting_id" from "newData_"
34
- where "site"."id" = "newData_"."id"`,
26
+ sql: SQL`with "newData_" as (select ? :: uuid as "setting_id", "root_"."setting_id" as "setting_id_old__", "root_"."id", "root_"."name" from "public"."site" as "root_" where "root_"."id" = ?)
27
+ update "public"."site" set "setting_id" = "newData_"."setting_id" from "newData_" where "site"."id" = "newData_"."id" returning "setting_id_old__"`,
35
28
  parameters: [null, testUuid(2)],
36
- response: { rowCount: 1 },
29
+ response: { rows: [{ setting_id_old__: testUuid(99) }] },
37
30
  },
38
31
  ]),
39
32
  ],
@@ -8,8 +8,21 @@ export const siteSettingSchema = new SchemaBuilder()
8
8
  .oneHasOne('setting', r =>
9
9
  r
10
10
  .inversedBy('site')
11
- .target('SiteSetting', e => e.column('url', c => c.type(Model.ColumnType.String)))
11
+ .target('SiteSetting', e => e.column('url', c => c.type(Model.ColumnType.String).unique()))
12
12
  .onDelete(Model.OnDelete.setNull),
13
13
  ),
14
14
  )
15
15
  .buildSchema()
16
+
17
+ export const siteSettingSchemaWithOrphanRemoval = new SchemaBuilder()
18
+ .entity('Site', entity =>
19
+ entity
20
+ .column('name', c => c.type(Model.ColumnType.String))
21
+ .oneHasOne('setting', r =>
22
+ r
23
+ .inversedBy('site')
24
+ .target('SiteSetting', e => e.column('url', c => c.type(Model.ColumnType.String)))
25
+ .removeOrphan(),
26
+ ),
27
+ )
28
+ .buildSchema()
@@ -37,16 +37,10 @@ test('update', async () => {
37
37
  response: { rows: [{ id: testUuid(1) }] },
38
38
  },
39
39
  {
40
- sql: SQL`with "newData_" as
41
- (select
42
- ? :: text as "url",
43
- "root_"."id"
44
- from "public"."site_setting" as "root_"
45
- where "root_"."id" = ?) update "public"."site_setting"
46
- set "url" = "newData_"."url" from "newData_"
47
- where "site_setting"."id" = "newData_"."id"`,
40
+ sql: SQL`with "newData_" as (select ? :: text as "url", "root_"."url" as "url_old__", "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?)
41
+ update "public"."site_setting" set "url" = "newData_"."url" from "newData_" where "site_setting"."id" = "newData_"."id" returning "url_old__"`,
48
42
  parameters: ['http://mangoweb.cz', testUuid(1)],
49
- response: { rowCount: 1 },
43
+ response: { rows: [{ url_old__: 'https://google.com' }] },
50
44
  },
51
45
  ]),
52
46
  ],
@@ -37,16 +37,10 @@ test('upsert - exists', async () => {
37
37
  response: { rows: [{ id: testUuid(1) }] },
38
38
  },
39
39
  {
40
- sql: SQL`with "newData_" as
41
- (select
42
- ? :: text as "url",
43
- "root_"."id"
44
- from "public"."site_setting" as "root_"
45
- where "root_"."id" = ?) update "public"."site_setting"
46
- set "url" = "newData_"."url" from "newData_"
47
- where "site_setting"."id" = "newData_"."id"`,
40
+ sql: SQL`with "newData_" as (select ? :: text as "url", "root_"."url" as "url_old__", "root_"."id" from "public"."site_setting" as "root_" where "root_"."id" = ?)
41
+ update "public"."site_setting" set "url" = "newData_"."url" from "newData_" where "site_setting"."id" = "newData_"."id" returning "url_old__"`,
48
42
  parameters: ['http://mangoweb.cz', testUuid(1)],
49
- response: { rowCount: 1 },
43
+ response: { rows: [{ url_old__: 'xxx' }] },
50
44
  },
51
45
  ]),
52
46
  ],
@@ -97,17 +91,10 @@ test('upsert - not exists', async () => {
97
91
  response: { rows: [{ id: testUuid(1) }] },
98
92
  },
99
93
  {
100
- sql: SQL`with "newData_" as
101
- (select
102
- ? :: uuid as "setting_id",
103
- "root_"."id",
104
- "root_"."name"
105
- from "public"."site" as "root_"
106
- where "root_"."id" = ?) update "public"."site"
107
- set "setting_id" = "newData_"."setting_id" from "newData_"
108
- where "site"."id" = "newData_"."id"`,
94
+ sql: SQL`with "newData_" as (select ? :: uuid as "setting_id", "root_"."setting_id" as "setting_id_old__", "root_"."id", "root_"."name" from "public"."site" as "root_" where "root_"."id" = ?)
95
+ update "public"."site" set "setting_id" = "newData_"."setting_id" from "newData_" where "site"."id" = "newData_"."id" returning "setting_id_old__"`,
109
96
  parameters: [testUuid(1), testUuid(2)],
110
- response: { rowCount: 1 },
97
+ response: { rows: [{ setting_id_old__: null }] },
111
98
  },
112
99
  ]),
113
100
  ],
@@ -31,11 +31,10 @@ test('query portal', async () => {
31
31
  parameters: [testUuid(1)],
32
32
  },
33
33
  {
34
- sql: SQL`with "newData_" as
35
- (select ? :: text as "title", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
36
- update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id"`,
34
+ sql: SQL`with "newData_" as (select ? :: text as "title", "root_"."title" as "title_old__", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
35
+ update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id" returning "title_old__"`,
37
36
  parameters: ['Hello', testUuid(1)],
38
- response: { rowCount: 1 },
37
+ response: { rows: [{ title_old__: 'Hi' }] },
39
38
  },
40
39
  ]),
41
40
  {
@@ -90,11 +89,10 @@ test('transaction with query portal', async () => {
90
89
  parameters: [testUuid(1)],
91
90
  },
92
91
  {
93
- sql: SQL`with "newData_" as
94
- (select ? :: text as "title", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
95
- update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id"`,
92
+ sql: SQL`with "newData_" as (select ? :: text as "title", "root_"."title" as "title_old__", "root_"."id" from "public"."post" as "root_" where "root_"."id" = ?)
93
+ update "public"."post" set "title" = "newData_"."title" from "newData_" where "post"."id" = "newData_"."id" returning "title_old__"`,
96
94
  parameters: ['Hello', testUuid(1)],
97
- response: { rowCount: 1 },
95
+ response: { rows: [{ title_old__: 'Hi' }] },
98
96
  },
99
97
  {
100
98
  sql: SQL`select "root_"."id" as "root_id"
@@ -41,15 +41,10 @@ test('executes in a transaction', async () => {
41
41
  response: { rows: [{ id: testUuid(1) }] },
42
42
  },
43
43
  {
44
- sql: SQL`with "newData_" as (select
45
- ? :: text as "name",
46
- "root_"."id"
47
- from "public"."author" as "root_"
48
- where "root_"."id" = ?) update "public"."author"
49
- set "name" = "newData_"."name" from "newData_"
50
- where "author"."id" = "newData_"."id"`,
44
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id" from "public"."author" as "root_" where "root_"."id" = ?)
45
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
51
46
  parameters: ['John', testUuid(1)],
52
- response: { rowCount: 1 },
47
+ response: { rows: [{ name_old__: 'Jack' }] },
53
48
  },
54
49
  {
55
50
  sql: SQL`select "root_"."id" as "root_id"
@@ -66,15 +61,10 @@ test('executes in a transaction', async () => {
66
61
  response: { rows: [{ id: testUuid(2) }] },
67
62
  },
68
63
  {
69
- sql: SQL`with "newData_" as (select
70
- ? :: text as "name",
71
- "root_"."id"
72
- from "public"."author" as "root_"
73
- where "root_"."id" = ?) update "public"."author"
74
- set "name" = "newData_"."name" from "newData_"
75
- where "author"."id" = "newData_"."id"`,
64
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id" from "public"."author" as "root_" where "root_"."id" = ?)
65
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
76
66
  parameters: ['Jack', testUuid(2)],
77
- response: { rowCount: 1 },
67
+ response: { rows: [{ name_old__: 'Jack' }] },
78
68
  },
79
69
  {
80
70
  sql: SQL`select "root_"."id" as "root_id"
@@ -146,15 +136,10 @@ test('executes fails a transaction', async () => {
146
136
  response: { rows: [{ id: testUuid(1) }] },
147
137
  },
148
138
  {
149
- sql: SQL`with "newData_" as (select
150
- ? :: text as "name",
151
- "root_"."id"
152
- from "public"."author" as "root_"
153
- where "root_"."id" = ?) update "public"."author"
154
- set "name" = "newData_"."name" from "newData_"
155
- where "author"."id" = "newData_"."id"`,
139
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id" from "public"."author" as "root_" where "root_"."id" = ?)
140
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
156
141
  parameters: ['John', testUuid(1)],
157
- response: { rowCount: 1 },
142
+ response: { rows: [{ name_old__: 'Jack' }] },
158
143
  },
159
144
  {
160
145
  sql: SQL`select "root_"."id" as "root_id"
@@ -88,14 +88,10 @@ test('upsert author (exists)', async () => {
88
88
  response: { rows: [{ id: testUuid(2) }] },
89
89
  },
90
90
  {
91
- sql: SQL`
92
- with "newData_" as
93
- (select ? :: text as "name", "root_"."id", "root_"."slug" from "public"."author" as "root_" where "root_"."id" = ?)
94
- update "public"."author" set "name" = "newData_"."name"
95
- from "newData_" where "author"."id" = "newData_"."id"
96
- `,
91
+ sql: SQL`with "newData_" as (select ? :: text as "name", "root_"."name" as "name_old__", "root_"."id", "root_"."slug" from "public"."author" as "root_" where "root_"."id" = ?)
92
+ update "public"."author" set "name" = "newData_"."name" from "newData_" where "author"."id" = "newData_"."id" returning "name_old__"`,
97
93
  parameters: ['John Doe', testUuid(2)],
98
- response: { rowCount: 1 },
94
+ response: { rows: [{ name_old__: 'Foo' }] },
99
95
  },
100
96
  {
101
97
  sql: SQL`select "root_"."id" as "root_id" from "public"."author" as "root_" where "root_"."slug" = ?`,
@@ -176,6 +176,7 @@ input OneHasManyEntityCreateInput {
176
176
  input OneHasManyEntityCreateR2EntityRelationInput {
177
177
  connect: RootUniqueWhere
178
178
  create: RootWithoutRCreateInput
179
+ connectOrCreate: OneHasManyEntityConnectOrCreateR2RelationInput
179
180
  }
180
181
 
181
182
  input RootUniqueWhere {
@@ -188,6 +189,11 @@ input RootWithoutRCreateInput {
188
189
  _dummy_field_: Boolean
189
190
  }
190
191
 
192
+ input OneHasManyEntityConnectOrCreateR2RelationInput {
193
+ connect: RootUniqueWhere
194
+ create: RootWithoutRCreateInput
195
+ }
196
+
191
197
  input OneHasManyEntityUpdateInput {
192
198
  a: String
193
199
  r2: OneHasManyEntityUpdateR2EntityRelationInput
@@ -195,10 +201,11 @@ input OneHasManyEntityUpdateInput {
195
201
  }
196
202
 
197
203
  input OneHasManyEntityUpdateR2EntityRelationInput {
204
+ connect: RootUniqueWhere
198
205
  create: RootWithoutRCreateInput
206
+ connectOrCreate: OneHasManyEntityConnectOrCreateR2RelationInput
199
207
  update: RootWithoutRUpdateInput
200
208
  upsert: OneHasManyEntityUpsertR2RelationInput
201
- connect: RootUniqueWhere
202
209
  disconnect: Boolean
203
210
  delete: Boolean
204
211
  }
@@ -231,6 +238,7 @@ input RootCreateInput {
231
238
  input RootCreateREntityRelationInput {
232
239
  connect: OneHasManyEntityUniqueWhere
233
240
  create: OneHasManyEntityWithoutR2CreateInput
241
+ connectOrCreate: RootConnectOrCreateRRelationInput
234
242
  alias: String
235
243
  }
236
244
 
@@ -239,6 +247,11 @@ input OneHasManyEntityWithoutR2CreateInput {
239
247
  _dummy_field_: Boolean
240
248
  }
241
249
 
250
+ input RootConnectOrCreateRRelationInput {
251
+ connect: OneHasManyEntityUniqueWhere
252
+ create: OneHasManyEntityWithoutR2CreateInput
253
+ }
254
+
242
255
  input RootUpdateInput {
243
256
  foo: String
244
257
  r: [RootUpdateREntityRelationInput!]
@@ -168,21 +168,21 @@ input OneHasManyEntityUpdateInput {
168
168
  }
169
169
 
170
170
  input OneHasManyEntityUpdateR2EntityRelationInput {
171
- update: RootWithoutRUpdateInput
172
171
  connect: RootUniqueWhere
172
+ update: RootWithoutRUpdateInput
173
173
  disconnect: Boolean
174
174
  delete: Boolean
175
175
  }
176
176
 
177
- input RootWithoutRUpdateInput {
178
- _dummy_field_: Boolean
179
- }
180
-
181
177
  input RootUniqueWhere {
182
178
  id: UUID
183
179
  r: OneHasManyEntityUniqueWhere
184
180
  }
185
181
 
182
+ input RootWithoutRUpdateInput {
183
+ _dummy_field_: Boolean
184
+ }
185
+
186
186
  type RootConnection {
187
187
  pageInfo: PageInfo!
188
188
  edges: [RootEdge!]!
@@ -172,6 +172,7 @@ input OneHasManyEntityCreateInput {
172
172
  input OneHasManyEntityCreateR2EntityRelationInput {
173
173
  connect: RootUniqueWhere
174
174
  create: RootWithoutRCreateInput
175
+ connectOrCreate: OneHasManyEntityConnectOrCreateR2RelationInput
175
176
  }
176
177
 
177
178
  input RootUniqueWhere {
@@ -183,6 +184,11 @@ input RootWithoutRCreateInput {
183
184
  _dummy_field_: Boolean
184
185
  }
185
186
 
187
+ input OneHasManyEntityConnectOrCreateR2RelationInput {
188
+ connect: RootUniqueWhere
189
+ create: RootWithoutRCreateInput
190
+ }
191
+
186
192
  input OneHasManyEntityUpdateInput {
187
193
  a: String
188
194
  r2: OneHasManyEntityUpdateR2EntityRelationInput
@@ -190,10 +196,11 @@ input OneHasManyEntityUpdateInput {
190
196
  }
191
197
 
192
198
  input OneHasManyEntityUpdateR2EntityRelationInput {
199
+ connect: RootUniqueWhere
193
200
  create: RootWithoutRCreateInput
201
+ connectOrCreate: OneHasManyEntityConnectOrCreateR2RelationInput
194
202
  update: RootWithoutRUpdateInput
195
203
  upsert: OneHasManyEntityUpsertR2RelationInput
196
- connect: RootUniqueWhere
197
204
  disconnect: Boolean
198
205
  delete: Boolean
199
206
  }
@@ -224,6 +231,7 @@ input RootCreateInput {
224
231
  input RootCreateREntityRelationInput {
225
232
  connect: OneHasManyEntityUniqueWhere
226
233
  create: OneHasManyEntityWithoutR2CreateInput
234
+ connectOrCreate: RootConnectOrCreateRRelationInput
227
235
  alias: String
228
236
  }
229
237
 
@@ -232,6 +240,11 @@ input OneHasManyEntityWithoutR2CreateInput {
232
240
  _dummy_field_: Boolean
233
241
  }
234
242
 
243
+ input RootConnectOrCreateRRelationInput {
244
+ connect: OneHasManyEntityUniqueWhere
245
+ create: OneHasManyEntityWithoutR2CreateInput
246
+ }
247
+
235
248
  input RootUpdateInput {
236
249
  r: [RootUpdateREntityRelationInput!]
237
250
  _dummy_field_: Boolean
@@ -171,6 +171,7 @@ input OneHasManyEntityCreateInput {
171
171
  input OneHasManyEntityCreateR2EntityRelationInput {
172
172
  connect: RootUniqueWhere
173
173
  create: RootWithoutRCreateInput
174
+ connectOrCreate: OneHasManyEntityConnectOrCreateR2RelationInput
174
175
  }
175
176
 
176
177
  input RootUniqueWhere {
@@ -182,6 +183,11 @@ input RootWithoutRCreateInput {
182
183
  _dummy_field_: Boolean
183
184
  }
184
185
 
186
+ input OneHasManyEntityConnectOrCreateR2RelationInput {
187
+ connect: RootUniqueWhere
188
+ create: RootWithoutRCreateInput
189
+ }
190
+
185
191
  type RootConnection {
186
192
  pageInfo: PageInfo!
187
193
  edges: [RootEdge!]!
@@ -199,6 +205,7 @@ input RootCreateInput {
199
205
  input RootCreateREntityRelationInput {
200
206
  connect: OneHasManyEntityUniqueWhere
201
207
  create: OneHasManyEntityWithoutR2CreateInput
208
+ connectOrCreate: RootConnectOrCreateRRelationInput
202
209
  alias: String
203
210
  }
204
211
 
@@ -207,6 +214,11 @@ input OneHasManyEntityWithoutR2CreateInput {
207
214
  _dummy_field_: Boolean
208
215
  }
209
216
 
217
+ input RootConnectOrCreateRRelationInput {
218
+ connect: OneHasManyEntityUniqueWhere
219
+ create: OneHasManyEntityWithoutR2CreateInput
220
+ }
221
+
210
222
  input RootUpdateInput {
211
223
  _dummy_field_: Boolean
212
224
  }
@@ -314,6 +314,7 @@ input AuthorCreateInput {
314
314
  input AuthorCreatePostsEntityRelationInput {
315
315
  connect: PostUniqueWhere
316
316
  create: PostWithoutAuthorCreateInput
317
+ connectOrCreate: AuthorConnectOrCreatePostsRelationInput
317
318
  alias: String
318
319
  }
319
320
 
@@ -327,6 +328,7 @@ input PostWithoutAuthorCreateInput {
327
328
  input PostCreateLocalesEntityRelationInput {
328
329
  connect: PostLocaleUniqueWhere
329
330
  create: PostLocaleWithoutPostCreateInput
331
+ connectOrCreate: PostConnectOrCreateLocalesRelationInput
330
332
  alias: String
331
333
  }
332
334
 
@@ -335,9 +337,15 @@ input PostLocaleWithoutPostCreateInput {
335
337
  _dummy_field_: Boolean
336
338
  }
337
339
 
340
+ input PostConnectOrCreateLocalesRelationInput {
341
+ connect: PostLocaleUniqueWhere
342
+ create: PostLocaleWithoutPostCreateInput
343
+ }
344
+
338
345
  input PostCreateCategoriesEntityRelationInput {
339
346
  connect: CategoryUniqueWhere
340
347
  create: CategoryWithoutPostsCreateInput
348
+ connectOrCreate: PostConnectOrCreateCategoriesRelationInput
341
349
  alias: String
342
350
  }
343
351
 
@@ -350,6 +358,16 @@ input CategoryWithoutPostsCreateInput {
350
358
  _dummy_field_: Boolean
351
359
  }
352
360
 
361
+ input PostConnectOrCreateCategoriesRelationInput {
362
+ connect: CategoryUniqueWhere
363
+ create: CategoryWithoutPostsCreateInput
364
+ }
365
+
366
+ input AuthorConnectOrCreatePostsRelationInput {
367
+ connect: PostUniqueWhere
368
+ create: PostWithoutAuthorCreateInput
369
+ }
370
+
353
371
  input AuthorUpdateInput {
354
372
  name: String
355
373
  posts: [AuthorUpdatePostsEntityRelationInput!]
@@ -445,6 +463,7 @@ input CategoryCreateInput {
445
463
  input CategoryCreatePostsEntityRelationInput {
446
464
  connect: PostUniqueWhere
447
465
  create: PostWithoutCategoriesCreateInput
466
+ connectOrCreate: CategoryConnectOrCreatePostsRelationInput
448
467
  alias: String
449
468
  }
450
469
 
@@ -458,6 +477,7 @@ input PostWithoutCategoriesCreateInput {
458
477
  input PostCreateAuthorEntityRelationInput {
459
478
  connect: AuthorUniqueWhere
460
479
  create: AuthorWithoutPostsCreateInput
480
+ connectOrCreate: PostConnectOrCreateAuthorRelationInput
461
481
  }
462
482
 
463
483
  input AuthorWithoutPostsCreateInput {
@@ -465,6 +485,16 @@ input AuthorWithoutPostsCreateInput {
465
485
  _dummy_field_: Boolean
466
486
  }
467
487
 
488
+ input PostConnectOrCreateAuthorRelationInput {
489
+ connect: AuthorUniqueWhere
490
+ create: AuthorWithoutPostsCreateInput
491
+ }
492
+
493
+ input CategoryConnectOrCreatePostsRelationInput {
494
+ connect: PostUniqueWhere
495
+ create: PostWithoutCategoriesCreateInput
496
+ }
497
+
468
498
  input CategoryUpdateInput {
469
499
  name: String
470
500
  posts: [CategoryUpdatePostsEntityRelationInput!]
@@ -494,10 +524,11 @@ input PostWithoutCategoriesUpdateInput {
494
524
  }
495
525
 
496
526
  input PostUpdateAuthorEntityRelationInput {
527
+ connect: AuthorUniqueWhere
497
528
  create: AuthorWithoutPostsCreateInput
529
+ connectOrCreate: PostConnectOrCreateAuthorRelationInput
498
530
  update: AuthorWithoutPostsUpdateInput
499
531
  upsert: PostUpsertAuthorRelationInput
500
- connect: AuthorUniqueWhere
501
532
  disconnect: Boolean
502
533
  delete: Boolean
503
534
  }
@@ -527,6 +558,7 @@ input PostLocaleCreateInput {
527
558
  input PostLocaleCreatePostEntityRelationInput {
528
559
  connect: PostUniqueWhere
529
560
  create: PostWithoutLocalesCreateInput
561
+ connectOrCreate: PostLocaleConnectOrCreatePostRelationInput
530
562
  }
531
563
 
532
564
  input PostWithoutLocalesCreateInput {
@@ -536,6 +568,11 @@ input PostWithoutLocalesCreateInput {
536
568
  _dummy_field_: Boolean
537
569
  }
538
570
 
571
+ input PostLocaleConnectOrCreatePostRelationInput {
572
+ connect: PostUniqueWhere
573
+ create: PostWithoutLocalesCreateInput
574
+ }
575
+
539
576
  input PostLocaleUpdateInput {
540
577
  title: String
541
578
  Post: PostLocaleUpdatePostEntityRelationInput
@@ -543,10 +580,11 @@ input PostLocaleUpdateInput {
543
580
  }
544
581
 
545
582
  input PostLocaleUpdatePostEntityRelationInput {
583
+ connect: PostUniqueWhere
546
584
  create: PostWithoutLocalesCreateInput
585
+ connectOrCreate: PostLocaleConnectOrCreatePostRelationInput
547
586
  update: PostWithoutLocalesUpdateInput
548
587
  upsert: PostLocaleUpsertPostRelationInput
549
- connect: PostUniqueWhere
550
588
  disconnect: Boolean
551
589
  delete: Boolean
552
590
  }