@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
@@ -18,18 +18,14 @@ class CreateEntityInputFieldVisitor {
18
18
  return undefined;
19
19
  }
20
20
  const type = this.columnTypeResolver.getType(column);
21
- return {
22
- type,
23
- };
21
+ return { type };
24
22
  }
25
23
  visitHasOne({ entity, relation }) {
26
24
  const type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name);
27
25
  if (type === undefined) {
28
26
  return undefined;
29
27
  }
30
- return {
31
- type,
32
- };
28
+ return { type };
33
29
  }
34
30
  visitHasMany({ entity, relation }) {
35
31
  const type = this.createEntityRelationInputProvider.getCreateEntityRelationInput(entity.name, relation.name);
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEntityInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityInputFieldVisitor.ts"],"names":[],"mappings":";;;AAAA,qCAA8E;AAC9E,8CAA8C;AAK9C,MAAa,6BAA6B;IAIzC,YACkB,MAAoB,EACpB,YAA0B,EAC1B,kBAAsC,EACtC,iCAAoE;QAHpE,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sCAAiC,GAAjC,iCAAiC,CAAmC;IACnF,CAAC;IAEG,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAuB;QACzD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC7F,OAAO,SAAS,CAAA;SAChB;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACnG,OAAO,SAAS,CAAA;SAChB;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpD,OAAO;YACN,IAAI;SACJ,CAAA;IACF,CAAC;IAEM,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAkC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO;YACN,IAAI;SACJ,CAAA;IACF,CAAC;IAEM,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAmC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO;YACN,IAAI,EAAE,IAAI,qBAAW,CAAC,IAAI,wBAAc,CAAC,IAAI,CAAC,CAAC;SAC/C,CAAA;IACF,CAAC;CACD;AA3CD,sEA2CC"}
1
+ {"version":3,"file":"CreateEntityInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityInputFieldVisitor.ts"],"names":[],"mappings":";;;AAAA,qCAA8E;AAC9E,8CAA8C;AAK9C,MAAa,6BAA6B;IAIzC,YACkB,MAAoB,EACpB,YAA0B,EAC1B,kBAAsC,EACtC,iCAAoE;QAHpE,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sCAAiC,GAAjC,iCAAiC,CAAmC;IACnF,CAAC;IAEG,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAuB;QACzD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC7F,OAAO,SAAS,CAAA;SAChB;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACnG,OAAO,SAAS,CAAA;SAChB;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpD,OAAO,EAAE,IAAI,EAAE,CAAA;IAChB,CAAC;IAEM,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAkC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO,EAAE,IAAI,EAAE,CAAA;IAChB,CAAC;IAEM,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAmC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO;YACN,IAAI,EAAE,IAAI,qBAAW,CAAC,IAAI,wBAAc,CAAC,IAAI,CAAC,CAAC;SAC/C,CAAA;IACF,CAAC;CACD;AAvCD,sEAuCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEntityRelationAllowedOperationsVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,qBAAa,4CAA6C,YACzD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEvD,WAAW,IAAI,KAAK;IAIb,uBAAuB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,yBAAyB;IAIzF,sBAAsB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAIzF,eAAe,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAIzE,eAAe,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAI3E,qBAAqB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,uBAAuB;IAQ/F,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,sBAAsB;IAQ5G,OAAO,CAAC,oBAAoB;CAqB5B"}
1
+ {"version":3,"file":"CreateEntityRelationAllowedOperationsVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,qBAAa,4CAA6C,YACzD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEvD,WAAW,IAAI,KAAK;IAIb,uBAAuB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,yBAAyB;IAIzF,sBAAsB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAIzF,eAAe,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAIzE,eAAe,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAI3E,qBAAqB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,uBAAuB;IAQ/F,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,sBAAsB;IAQ5G,OAAO,CAAC,oBAAoB;CAuB5B"}
@@ -47,6 +47,9 @@ class CreateEntityRelationAllowedOperationsVisitor {
47
47
  if (canCreateTargetEntity && canCreateOwning) {
48
48
  result.push(schema_1.Input.CreateRelationOperation.create);
49
49
  }
50
+ if (canReadTargetEntity && canCreateTargetEntity && canCreateOwning) {
51
+ result.push(schema_1.Input.CreateRelationOperation.connectOrCreate);
52
+ }
50
53
  return result;
51
54
  }
52
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEntityRelationAllowedOperationsVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateEntityRelationAllowedOperationsVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,14 @@ import { WhereTypeProvider } from '../WhereTypeProvider';
4
4
  import { Accessor, Interface } from '../../utils';
5
5
  import { EntityInputProvider, EntityInputType } from './EntityInputProvider';
6
6
  import { CreateEntityRelationAllowedOperationsVisitor } from './CreateEntityRelationAllowedOperationsVisitor';
7
+ import { ConnectOrCreateRelationInputProvider } from './ConnectOrCreateRelationInputProvider';
7
8
  export declare class CreateEntityRelationInputFieldVisitor implements Model.ColumnVisitor<never>, Model.RelationByGenericTypeVisitor<GraphQLInputObjectType | undefined> {
8
9
  private readonly schema;
9
10
  private readonly whereTypeBuilder;
10
11
  private readonly createEntityInputProviderAccessor;
11
12
  private readonly createEntityRelationAllowedOperationsVisitor;
12
- constructor(schema: Model.Schema, whereTypeBuilder: WhereTypeProvider, createEntityInputProviderAccessor: Accessor<Interface<EntityInputProvider<EntityInputType.create>>>, createEntityRelationAllowedOperationsVisitor: CreateEntityRelationAllowedOperationsVisitor);
13
+ private readonly connectOrCreateRelationInputProvider;
14
+ constructor(schema: Model.Schema, whereTypeBuilder: WhereTypeProvider, createEntityInputProviderAccessor: Accessor<Interface<EntityInputProvider<EntityInputType.create>>>, createEntityRelationAllowedOperationsVisitor: CreateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider: ConnectOrCreateRelationInputProvider);
13
15
  visitColumn(): never;
14
16
  visitHasOne(context: Model.ManyHasOneContext): GraphQLInputObjectType | undefined;
15
17
  visitHasMany(context: Model.OneHasManyContext): GraphQLInputObjectType | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEntityRelationInputFieldVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,sBAAsB,EAAiB,MAAM,SAAS,CAAA;AAC3F,OAAO,EAAS,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,4CAA4C,EAAE,MAAM,gDAAgD,CAAA;AAI7G,qBAAa,qCAAsC,YAClD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,4BAA4B,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAGrE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAGlD,OAAO,CAAC,QAAQ,CAAC,4CAA4C;gBAL5C,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,gBAAgB,EAAE,iBAAiB,EACnC,iCAAiC,EAAE,QAAQ,CAC3D,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CACtD,EACgB,4CAA4C,EAAE,4CAA4C;IAGrG,WAAW,IAAI,KAAK;IAIpB,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,GAAG,SAAS;IAIjF,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,GAAG,SAAS;IAIlF,iBAAiB,CACvB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAC5E,cAAc,EAAE,OAAO,GACrB,sBAAsB,GAAG,SAAS;CAuCrC"}
1
+ {"version":3,"file":"CreateEntityRelationInputFieldVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,sBAAsB,EAAiB,MAAM,SAAS,CAAA;AAC3F,OAAO,EAAS,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,4CAA4C,EAAE,MAAM,gDAAgD,CAAA;AAG7G,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAA;AAE7F,qBAAa,qCAAsC,YAClD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,4BAA4B,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAGrE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,4CAA4C;IAC7D,OAAO,CAAC,QAAQ,CAAC,oCAAoC;gBAJpC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,gBAAgB,EAAE,iBAAiB,EACnC,iCAAiC,EAAE,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EACnG,4CAA4C,EAAE,4CAA4C,EAC1F,oCAAoC,EAAE,oCAAoC;IAGrF,WAAW,IAAI,KAAK;IAIpB,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,GAAG,SAAS;IAIjF,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,GAAG,SAAS;IAIlF,iBAAiB,CACvB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,kBAAkB,EAC5E,cAAc,EAAE,OAAO,GACrB,sBAAsB,GAAG,SAAS;CA4CrC"}
@@ -7,11 +7,12 @@ const utils_1 = require("../utils");
7
7
  const schema_utils_1 = require("@contember/schema-utils");
8
8
  const exception_1 = require("../../exception");
9
9
  class CreateEntityRelationInputFieldVisitor {
10
- constructor(schema, whereTypeBuilder, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor) {
10
+ constructor(schema, whereTypeBuilder, createEntityInputProviderAccessor, createEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider) {
11
11
  this.schema = schema;
12
12
  this.whereTypeBuilder = whereTypeBuilder;
13
13
  this.createEntityInputProviderAccessor = createEntityInputProviderAccessor;
14
14
  this.createEntityRelationAllowedOperationsVisitor = createEntityRelationAllowedOperationsVisitor;
15
+ this.connectOrCreateRelationInputProvider = connectOrCreateRelationInputProvider;
15
16
  }
16
17
  visitColumn() {
17
18
  throw new exception_1.ImplementationException('CreateEntityRelationInputFieldVisitor: Not applicable for a column');
@@ -26,13 +27,11 @@ class CreateEntityRelationInputFieldVisitor {
26
27
  const targetName = targetRelation ? targetRelation.name : undefined;
27
28
  const fields = {};
28
29
  const allowedOperations = (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, relation.name, this.createEntityRelationAllowedOperationsVisitor);
29
- if (allowedOperations.includes(schema_1.Input.CreateRelationOperation.connect)) {
30
- const uniqueWhere = this.whereTypeBuilder.getEntityUniqueWhereType(targetEntity.name);
31
- if (uniqueWhere) {
32
- fields[schema_1.Input.CreateRelationOperation.connect] = {
33
- type: uniqueWhere,
34
- };
35
- }
30
+ const uniqueWhere = this.whereTypeBuilder.getEntityUniqueWhereType(targetEntity.name);
31
+ if (allowedOperations.includes(schema_1.Input.CreateRelationOperation.connect) && uniqueWhere) {
32
+ fields[schema_1.Input.CreateRelationOperation.connect] = {
33
+ type: uniqueWhere,
34
+ };
36
35
  }
37
36
  const createInput = this.createEntityInputProviderAccessor.get().getInput(targetEntity.name, targetName);
38
37
  if (allowedOperations.includes(schema_1.Input.CreateRelationOperation.create) && createInput !== undefined) {
@@ -40,6 +39,14 @@ class CreateEntityRelationInputFieldVisitor {
40
39
  type: createInput,
41
40
  };
42
41
  }
42
+ if (allowedOperations.includes(schema_1.Input.CreateRelationOperation.connectOrCreate) && uniqueWhere !== undefined && createInput !== undefined) {
43
+ const connectOrCreateInput = this.connectOrCreateRelationInputProvider.getInput(entity.name, relation.name);
44
+ if (connectOrCreateInput) {
45
+ fields[schema_1.Input.CreateRelationOperation.connectOrCreate] = {
46
+ type: connectOrCreateInput,
47
+ };
48
+ }
49
+ }
43
50
  if (Object.keys(fields).length === 0) {
44
51
  return undefined;
45
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEntityRelationInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":";;;AAAA,qCAA2F;AAC3F,8CAAgD;AAChD,oCAAsC;AAKtC,0DAA4D;AAC5D,+CAAyD;AAEzD,MAAa,qCAAqC;IAIjD,YACkB,MAAoB,EACpB,gBAAmC,EACnC,iCAEhB,EACgB,4CAA0F;QAL1F,WAAM,GAAN,MAAM,CAAc;QACpB,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,sCAAiC,GAAjC,iCAAiC,CAEjD;QACgB,iDAA4C,GAA5C,4CAA4C,CAA8C;IACzG,CAAC;IAEG,WAAW;QACjB,MAAM,IAAI,mCAAuB,CAAC,oEAAoE,CAAC,CAAA;IACxG,CAAC;IAEM,WAAW,CAAC,OAAgC;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEM,YAAY,CAAC,OAAgC;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAEM,iBAAiB,CACvB,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAA4B,EAC5E,cAAuB;QAEvB,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACnE,MAAM,MAAM,GAA+B,EAAE,CAAA;QAC7C,MAAM,iBAAiB,GAAG,IAAA,iCAAkB,EAC3C,IAAI,CAAC,MAAM,EACX,MAAM,EACN,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,4CAA4C,CACjD,CAAA;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,cAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE;YACtE,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YACrF,IAAI,WAAW,EAAE;gBAChB,MAAM,CAAC,cAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG;oBAC/C,IAAI,EAAE,WAAW;iBACjB,CAAA;aACD;SACD;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACxG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,cAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,WAAW,KAAK,SAAS,EAAE;YAClG,MAAM,CAAC,cAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG;gBAC9C,IAAI,EAAE,WAAW;aACjB,CAAA;SACD;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,OAAO,SAAS,CAAA;SAChB;QACD,OAAO,IAAI,gCAAsB,CAAC;YACjC,IAAI,EAAE,IAAA,mBAAW,EAAA,GAAG,MAAM,CAAC,IAAI,SAAS,QAAQ,CAAC,IAAI,qBAAqB;YAC1E,MAAM,EAAE,GAAG,EAAE,CACZ,cAAc;gBACb,CAAC,CAAC;oBACD,GAAG,MAAM;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAa,EAAE;iBAC5B;gBACH,CAAC,CAAC,MAAM;SACV,CAAC,CAAA;IACH,CAAC;CACD;AAnED,sFAmEC"}
1
+ {"version":3,"file":"CreateEntityRelationInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/CreateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityInputProvider.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/EntityInputProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EAEvB,sBAAsB,EACtB,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAIxC,qBAAa,mBAAmB,CAAC,SAAS,SAAS,eAAe;IAUhE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZzB,OAAO,CAAC,YAAY,CAMgE;gBAGlE,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAG3E,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI3F,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IA+BzG,OAAO,CAAC,kBAAkB;CAa1B;AAED,oBAAY,eAAe;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;CACjB"}
1
+ {"version":3,"file":"EntityInputProvider.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/EntityInputProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EAEvB,sBAAsB,EACtB,gBAAgB,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAIxC,qBAAa,mBAAmB,CAAC,SAAS,SAAS,eAAe;IAUhE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZzB,OAAO,CAAC,YAAY,CAMgE;gBAGlE,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAG3E,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI3F,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IA4BzG,OAAO,CAAC,kBAAkB;CAa1B;AAED,oBAAY,eAAe;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;CACjB"}
@@ -24,9 +24,6 @@ class EntityInputProvider {
24
24
  }
25
25
  const entityName = entity.name;
26
26
  const withoutSuffix = withoutRelation ? (0, utils_1.GqlTypeName) `Without${withoutRelation}` : '';
27
- if (entity.view) {
28
- return undefined;
29
- }
30
27
  const operation = (() => {
31
28
  switch (this.operation) {
32
29
  case EntityInputType.create:
@@ -1 +1 @@
1
- {"version":3,"file":"EntityInputProvider.js","sourceRoot":"","sources":["../../../../src/schema/mutations/EntityInputProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityInputProvider.js","sourceRoot":"","sources":["../../../../src/schema/mutations/EntityInputProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityInputFieldVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC9E,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,6BAA8B,YAC1C,KAAK,CAAC,aAAa,CAAC,uBAAuB,GAAG,SAAS,CAAC,EACxD,KAAK,CAAC,4BAA4B,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAGtE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iCAAiC;gBAFjC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,iCAAiC,EAAE,iCAAiC;IAG/E,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa;;;IAanD,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;;;IAUhE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,yBAAyB;;;CASzE"}
1
+ {"version":3,"file":"UpdateEntityInputFieldVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC9E,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,6BAA8B,YAC1C,KAAK,CAAC,aAAa,CAAC,uBAAuB,GAAG,SAAS,CAAC,EACxD,KAAK,CAAC,4BAA4B,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAGtE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iCAAiC;gBAFjC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,iCAAiC,EAAE,iCAAiC;IAG/E,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,aAAa;;;IAWnD,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;;;IAQhE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,yBAAyB;;;CASzE"}
@@ -17,18 +17,14 @@ class UpdateEntityInputFieldVisitor {
17
17
  return undefined;
18
18
  }
19
19
  const type = this.columnTypeResolver.getType(column);
20
- return {
21
- type,
22
- };
20
+ return { type };
23
21
  }
24
22
  visitHasOne({ entity, relation }) {
25
23
  const type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name);
26
24
  if (type === undefined) {
27
25
  return undefined;
28
26
  }
29
- return {
30
- type,
31
- };
27
+ return { type };
32
28
  }
33
29
  visitHasMany({ entity, relation }) {
34
30
  const type = this.updateEntityRelationInputProvider.getUpdateEntityRelationInput(entity.name, relation.name);
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"names":[],"mappings":";;;AAAA,qCAA8E;AAC9E,8CAA8C;AAK9C,MAAa,6BAA6B;IAIzC,YACkB,YAA0B,EAC1B,kBAAsC,EACtC,iCAAoE;QAFpE,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sCAAiC,GAAjC,iCAAiC,CAAmC;IACnF,CAAC;IAEG,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAuB;QACzD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE;YACnC,OAAO,SAAS,CAAA;SAChB;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACnG,OAAO,SAAS,CAAA;SAChB;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpD,OAAO;YACN,IAAI;SACJ,CAAA;IACF,CAAC;IAEM,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAkC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO;YACN,IAAI;SACJ,CAAA;IACF,CAAC;IAEM,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAmC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO;YACN,IAAI,EAAE,IAAI,qBAAW,CAAC,IAAI,wBAAc,CAAC,IAAI,CAAC,CAAC;SAC/C,CAAA;IACF,CAAC;CACD;AA1CD,sEA0CC"}
1
+ {"version":3,"file":"UpdateEntityInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityInputFieldVisitor.ts"],"names":[],"mappings":";;;AAAA,qCAA8E;AAC9E,8CAA8C;AAK9C,MAAa,6BAA6B;IAIzC,YACkB,YAA0B,EAC1B,kBAAsC,EACtC,iCAAoE;QAFpE,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sCAAiC,GAAjC,iCAAiC,CAAmC;IACnF,CAAC;IAEG,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAuB;QACzD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE;YACnC,OAAO,SAAS,CAAA;SAChB;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACnG,OAAO,SAAS,CAAA;SAChB;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpD,OAAO,EAAE,IAAI,EAAE,CAAA;IAChB,CAAC;IAEM,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAkC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO,EAAE,IAAI,EAAE,CAAA;IAChB,CAAC;IAEM,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAmC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5G,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,OAAO,SAAS,CAAA;SAChB;QACD,OAAO;YACN,IAAI,EAAE,IAAI,qBAAW,CAAC,IAAI,wBAAc,CAAC,IAAI,CAAC,CAAC;SAC/C,CAAA;IACF,CAAC;CACD;AAtCD,sEAsCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityRelationAllowedOperationsVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,4CAA6C,YACzD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEvD,WAAW,IAAI,KAAK;IAIb,uBAAuB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,yBAAyB;IAIzF,sBAAsB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAIzF,eAAe,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAIzE,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAY3E,qBAAqB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,uBAAuB;IAQ/F,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,sBAAsB;IAY5G,OAAO,CAAC,oBAAoB;CAiC5B"}
1
+ {"version":3,"file":"UpdateEntityRelationAllowedOperationsVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,4CAA6C,YACzD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEvD,WAAW,IAAI,KAAK;IAIb,uBAAuB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,yBAAyB;IAIzF,sBAAsB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAIzF,eAAe,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAIzE,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAY3E,qBAAqB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,uBAAuB;IAQ/F,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,sBAAsB;IAY5G,OAAO,CAAC,oBAAoB;CAmC5B"}
@@ -70,6 +70,9 @@ class UpdateEntityRelationAllowedOperationsVisitor {
70
70
  if (canDeleteTargetEntity && canUpdateOwningRelation) {
71
71
  result.push(schema_1.Input.UpdateRelationOperation.delete);
72
72
  }
73
+ if (canReadTargetEntity && canUpdateOwningRelation && canCreateTargetEntity) {
74
+ result.push(schema_1.Input.UpdateRelationOperation.connectOrCreate);
75
+ }
73
76
  return result;
74
77
  }
75
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityRelationAllowedOperationsVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateEntityRelationAllowedOperationsVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { Accessor } from '../../utils';
5
5
  import { EntityInputProvider, EntityInputType } from './EntityInputProvider';
6
6
  import { UpdateEntityRelationAllowedOperationsVisitor } from './UpdateEntityRelationAllowedOperationsVisitor';
7
7
  import { Authorizator } from '../../acl';
8
+ import { ConnectOrCreateRelationInputProvider } from './ConnectOrCreateRelationInputProvider';
8
9
  export declare class UpdateEntityRelationInputFieldVisitor implements Model.ColumnVisitor<never>, Model.RelationByGenericTypeVisitor<GraphQLInputObjectType | undefined> {
9
10
  private readonly schema;
10
11
  private readonly authorizator;
@@ -12,7 +13,8 @@ export declare class UpdateEntityRelationInputFieldVisitor implements Model.Colu
12
13
  private readonly updateEntityInputProviderAccessor;
13
14
  private readonly createEntityInputProvider;
14
15
  private readonly updateEntityRelationAllowedOperationsVisitor;
15
- constructor(schema: Model.Schema, authorizator: Authorizator, whereTypeBuilder: WhereTypeProvider, updateEntityInputProviderAccessor: Accessor<EntityInputProvider<EntityInputType.update>>, createEntityInputProvider: EntityInputProvider<EntityInputType.create>, updateEntityRelationAllowedOperationsVisitor: UpdateEntityRelationAllowedOperationsVisitor);
16
+ private readonly connectOrCreateRelationInputProvider;
17
+ constructor(schema: Model.Schema, authorizator: Authorizator, whereTypeBuilder: WhereTypeProvider, updateEntityInputProviderAccessor: Accessor<EntityInputProvider<EntityInputType.update>>, createEntityInputProvider: EntityInputProvider<EntityInputType.create>, updateEntityRelationAllowedOperationsVisitor: UpdateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider: ConnectOrCreateRelationInputProvider);
16
18
  visitColumn(): never;
17
19
  visitHasOne({ targetRelation, targetEntity, relation, entity }: Model.AnyHasOneRelationContext): GraphQLInputObjectType | undefined;
18
20
  visitHasMany({ entity, relation, targetEntity, targetRelation }: Model.AnyHasManyRelationContext): GraphQLInputObjectType | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityRelationInputFieldVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,sBAAsB,EAEtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAc,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5E,OAAO,EAAE,4CAA4C,EAAE,MAAM,gDAAgD,CAAA;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,qBAAa,qCAAsC,YAClD,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1B,KAAK,CAAC,4BAA4B,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAGrE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,4CAA4C;gBAL5C,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,iCAAiC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EACxF,yBAAyB,EAAE,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,EACtE,4CAA4C,EAAE,4CAA4C;IAGrG,WAAW,IAAI,KAAK;IAIpB,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAoD9F,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,yBAAyB;IAkEvG,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,gBAAgB;CAYxB"}
1
+ {"version":3,"file":"UpdateEntityRelationInputFieldVisitor.d.ts","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,sBAAsB,EAEtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAc,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5E,OAAO,EAAE,4CAA4C,EAAE,MAAM,gDAAgD,CAAA;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAA;AAE7F,qBAAa,qCAAsC,YAAW,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EACvF,KAAK,CAAC,4BAA4B,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAGrE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,4CAA4C;IAC7D,OAAO,CAAC,QAAQ,CAAC,oCAAoC;gBANpC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,iCAAiC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EACxF,yBAAyB,EAAE,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC,EACtE,4CAA4C,EAAE,4CAA4C,EAC1F,oCAAoC,EAAE,oCAAoC;IAIrF,WAAW,IAAI,KAAK;IAIpB,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAoD9F,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,yBAAyB;IA2DvG,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,gBAAgB;CAYxB"}
@@ -8,13 +8,14 @@ const utils_2 = require("../../utils");
8
8
  const schema_utils_1 = require("@contember/schema-utils");
9
9
  const exception_1 = require("../../exception");
10
10
  class UpdateEntityRelationInputFieldVisitor {
11
- constructor(schema, authorizator, whereTypeBuilder, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor) {
11
+ constructor(schema, authorizator, whereTypeBuilder, updateEntityInputProviderAccessor, createEntityInputProvider, updateEntityRelationAllowedOperationsVisitor, connectOrCreateRelationInputProvider) {
12
12
  this.schema = schema;
13
13
  this.authorizator = authorizator;
14
14
  this.whereTypeBuilder = whereTypeBuilder;
15
15
  this.updateEntityInputProviderAccessor = updateEntityInputProviderAccessor;
16
16
  this.createEntityInputProvider = createEntityInputProvider;
17
17
  this.updateEntityRelationAllowedOperationsVisitor = updateEntityRelationAllowedOperationsVisitor;
18
+ this.connectOrCreateRelationInputProvider = connectOrCreateRelationInputProvider;
18
19
  }
19
20
  visitColumn() {
20
21
  throw new Error('UpdateEntityRelationInputFieldVisitor: Not applicable for a column');
@@ -23,17 +24,9 @@ class UpdateEntityRelationInputFieldVisitor {
23
24
  const withoutRelation = targetRelation ? targetRelation.name : undefined;
24
25
  const whereInput = this.createWhereInput(targetEntity);
25
26
  const createInputType = this.createEntityInputProvider.getInput(targetEntity.name, withoutRelation);
26
- const createInput = createInputType
27
- ? {
28
- type: createInputType,
29
- }
30
- : undefined;
27
+ const createInput = createInputType ? { type: createInputType } : undefined;
31
28
  const updateInputType = this.updateEntityInputProviderAccessor.get().getInput(targetEntity.name, withoutRelation);
32
- const updateInput = updateInputType
33
- ? {
34
- type: updateInputType,
35
- }
36
- : undefined;
29
+ const updateInput = updateInputType ? { type: updateInputType } : undefined;
37
30
  const upsertInput = updateInput && createInput
38
31
  ? {
39
32
  type: new graphql_1.GraphQLInputObjectType({
@@ -48,11 +41,15 @@ class UpdateEntityRelationInputFieldVisitor {
48
41
  const booleanInput = {
49
42
  type: graphql_1.GraphQLBoolean,
50
43
  };
44
+ const connectOrCreateInput = createInput && whereInput
45
+ ? { type: this.connectOrCreateRelationInputProvider.getInput(entity.name, relation.name) }
46
+ : undefined;
51
47
  const fields = {
48
+ [schema_1.Input.UpdateRelationOperation.connect]: whereInput,
52
49
  [schema_1.Input.UpdateRelationOperation.create]: createInput,
50
+ [schema_1.Input.UpdateRelationOperation.connectOrCreate]: connectOrCreateInput,
53
51
  [schema_1.Input.UpdateRelationOperation.update]: updateInput,
54
52
  [schema_1.Input.UpdateRelationOperation.upsert]: upsertInput,
55
- [schema_1.Input.UpdateRelationOperation.connect]: whereInput,
56
53
  [schema_1.Input.UpdateRelationOperation.disconnect]: booleanInput,
57
54
  [schema_1.Input.UpdateRelationOperation.delete]: booleanInput,
58
55
  };
@@ -69,17 +66,9 @@ class UpdateEntityRelationInputFieldVisitor {
69
66
  const withoutRelation = targetRelation ? targetRelation.name : undefined;
70
67
  const whereInput = this.createWhereInput(targetEntity);
71
68
  const createInputType = this.createEntityInputProvider.getInput(targetEntity.name, withoutRelation);
72
- const createInput = createInputType
73
- ? {
74
- type: createInputType,
75
- }
76
- : undefined;
69
+ const createInput = createInputType ? { type: createInputType } : undefined;
77
70
  const updateInputType = this.updateEntityInputProviderAccessor.get().getInput(targetEntity.name, withoutRelation);
78
- const updateInput = updateInputType
79
- ? {
80
- type: updateInputType,
81
- }
82
- : undefined;
71
+ const updateInput = updateInputType ? { type: updateInputType } : undefined;
83
72
  const updateSpecifiedInput = updateInput && whereInput
84
73
  ? {
85
74
  type: new graphql_1.GraphQLInputObjectType({
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateEntityRelationInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateEntityRelationInputFieldVisitor.js","sourceRoot":"","sources":["../../../../src/schema/mutations/UpdateEntityRelationInputFieldVisitor.ts"],"names":[],"mappings":"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"}