@contember/engine-system-api 0.12.0-beta.2 → 1.0.0-alpha.3

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 (296) hide show
  1. package/dist/src/SystemContainer.d.ts +15 -14
  2. package/dist/src/SystemContainer.d.ts.map +1 -1
  3. package/dist/src/SystemContainer.js +7 -11
  4. package/dist/src/SystemContainer.js.map +1 -1
  5. package/dist/src/index.d.ts +1 -1
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/index.js +1 -2
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
  10. package/dist/src/model/ProjectInitializer.js +7 -17
  11. package/dist/src/model/ProjectInitializer.js.map +1 -1
  12. package/dist/src/model/ProjectTruncateExecutor.js +3 -3
  13. package/dist/src/model/ProjectTruncateExecutor.js.map +1 -1
  14. package/dist/src/model/authorization/AuthorizationActions.d.ts +0 -20
  15. package/dist/src/model/authorization/AuthorizationActions.d.ts.map +1 -1
  16. package/dist/src/model/authorization/AuthorizationActions.js +0 -5
  17. package/dist/src/model/authorization/AuthorizationActions.js.map +1 -1
  18. package/dist/src/model/authorization/StagePermissionsFactory.d.ts.map +1 -1
  19. package/dist/src/model/authorization/StagePermissionsFactory.js +1 -21
  20. package/dist/src/model/authorization/StagePermissionsFactory.js.map +1 -1
  21. package/dist/src/model/commands/migrations/ModifyMigrationCommand.js +1 -1
  22. package/dist/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
  23. package/dist/src/model/commands/migrations/SaveMigrationCommand.js +1 -1
  24. package/dist/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
  25. package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.d.ts.map +1 -1
  26. package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.js +2 -3
  27. package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.js.map +1 -1
  28. package/dist/src/model/commands/stages/index.d.ts +0 -1
  29. package/dist/src/model/commands/stages/index.d.ts.map +1 -1
  30. package/dist/src/model/commands/stages/index.js +0 -1
  31. package/dist/src/model/commands/stages/index.js.map +1 -1
  32. package/dist/src/model/database/DatabaseContext.js +1 -1
  33. package/dist/src/model/database/DatabaseContext.js.map +1 -1
  34. package/dist/src/model/dependencies/content/index.d.ts +0 -1
  35. package/dist/src/model/dependencies/content/index.d.ts.map +1 -1
  36. package/dist/src/model/dependencies/content/index.js +0 -1
  37. package/dist/src/model/dependencies/content/index.js.map +1 -1
  38. package/dist/src/model/dependencies/index.d.ts +1 -0
  39. package/dist/src/model/dependencies/index.d.ts.map +1 -1
  40. package/dist/src/model/dependencies/index.js +1 -0
  41. package/dist/src/model/dependencies/index.js.map +1 -1
  42. package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts +2 -1
  43. package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts.map +1 -1
  44. package/dist/src/model/dependencies/tenant/index.d.ts +2 -0
  45. package/dist/src/model/dependencies/tenant/index.d.ts.map +1 -0
  46. package/dist/src/model/{events/dependency → dependencies/tenant}/index.js +1 -5
  47. package/dist/src/model/dependencies/tenant/index.js.map +1 -0
  48. package/dist/src/model/events/EventResponseBuilder.d.ts +11 -0
  49. package/dist/src/model/events/EventResponseBuilder.d.ts.map +1 -0
  50. package/dist/src/model/events/{HistoryEventResponseBuilder.js → EventResponseBuilder.js} +19 -18
  51. package/dist/src/model/events/EventResponseBuilder.js.map +1 -0
  52. package/dist/src/model/events/EventResponseHelper.d.ts +3 -3
  53. package/dist/src/model/events/EventResponseHelper.js +3 -3
  54. package/dist/src/model/events/EventResponseHelper.js.map +1 -1
  55. package/dist/src/model/events/identityUtils.js +1 -1
  56. package/dist/src/model/events/identityUtils.js.map +1 -1
  57. package/dist/src/model/events/index.d.ts +1 -5
  58. package/dist/src/model/events/index.d.ts.map +1 -1
  59. package/dist/src/model/events/index.js +1 -5
  60. package/dist/src/model/events/index.js.map +1 -1
  61. package/dist/src/model/helpers/modelHelpers.js +1 -1
  62. package/dist/src/model/helpers/modelHelpers.js.map +1 -1
  63. package/dist/src/model/migrations/MigrationExecutor.d.ts.map +1 -1
  64. package/dist/src/model/migrations/MigrationExecutor.js +2 -2
  65. package/dist/src/model/migrations/MigrationExecutor.js.map +1 -1
  66. package/dist/src/model/migrations/ProjectMigrator.d.ts.map +1 -1
  67. package/dist/src/model/migrations/ProjectMigrator.js +6 -12
  68. package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
  69. package/dist/src/model/migrations/SchemaVersionBuilder.js +2 -2
  70. package/dist/src/model/migrations/SchemaVersionBuilder.js.map +1 -1
  71. package/dist/src/model/queries/events/EventQueryHelpers.d.ts +4 -3
  72. package/dist/src/model/queries/events/EventQueryHelpers.d.ts.map +1 -1
  73. package/dist/src/model/queries/events/EventQueryHelpers.js +4 -5
  74. package/dist/src/model/queries/events/EventQueryHelpers.js.map +1 -1
  75. package/dist/src/model/queries/events/EventsQuery.d.ts +12 -0
  76. package/dist/src/model/queries/events/EventsQuery.d.ts.map +1 -0
  77. package/dist/src/model/queries/events/EventsQuery.js +88 -0
  78. package/dist/src/model/queries/events/EventsQuery.js.map +1 -0
  79. package/dist/src/model/queries/events/OldValuesQuery.d.ts +7 -0
  80. package/dist/src/model/queries/events/OldValuesQuery.d.ts.map +1 -0
  81. package/dist/src/model/queries/events/OldValuesQuery.js +25 -0
  82. package/dist/src/model/queries/events/OldValuesQuery.js.map +1 -0
  83. package/dist/src/model/queries/events/index.d.ts +2 -0
  84. package/dist/src/model/queries/events/index.d.ts.map +1 -1
  85. package/dist/src/model/queries/events/index.js +2 -0
  86. package/dist/src/model/queries/events/index.js.map +1 -1
  87. package/dist/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js +2 -2
  88. package/dist/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
  89. package/dist/src/model/queries/migrations/ExecutedMigrationsQuery.js +1 -1
  90. package/dist/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
  91. package/dist/src/model/queries/stages/StageBySlugQuery.js +1 -1
  92. package/dist/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  93. package/dist/src/model/queries/stages/StageQueryFactory.d.ts.map +1 -1
  94. package/dist/src/model/queries/stages/StageQueryFactory.js +0 -1
  95. package/dist/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  96. package/dist/src/model/stages/StageCreator.d.ts +1 -2
  97. package/dist/src/model/stages/StageCreator.d.ts.map +1 -1
  98. package/dist/src/model/stages/StageCreator.js +2 -10
  99. package/dist/src/model/stages/StageCreator.js.map +1 -1
  100. package/dist/src/model/stages/index.d.ts +0 -1
  101. package/dist/src/model/stages/index.d.ts.map +1 -1
  102. package/dist/src/model/stages/index.js +0 -1
  103. package/dist/src/model/stages/index.js.map +1 -1
  104. package/dist/src/resolvers/ResolverContext.d.ts +4 -3
  105. package/dist/src/resolvers/ResolverContext.d.ts.map +1 -1
  106. package/dist/src/resolvers/ResolverContext.js +2 -2
  107. package/dist/src/resolvers/ResolverContext.js.map +1 -1
  108. package/dist/src/resolvers/ResolverFactory.d.ts +7 -11
  109. package/dist/src/resolvers/ResolverFactory.d.ts.map +1 -1
  110. package/dist/src/resolvers/ResolverFactory.js +21 -14
  111. package/dist/src/resolvers/ResolverFactory.js.map +1 -1
  112. package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
  113. package/dist/src/resolvers/mutation/MigrateMutationResolver.js +3 -2
  114. package/dist/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  115. package/dist/src/resolvers/mutation/index.d.ts +1 -0
  116. package/dist/src/resolvers/mutation/index.d.ts.map +1 -1
  117. package/dist/src/resolvers/mutation/index.js +1 -0
  118. package/dist/src/resolvers/mutation/index.js.map +1 -1
  119. package/dist/src/resolvers/query/EventsQueryResolver.d.ts +11 -0
  120. package/dist/src/resolvers/query/EventsQueryResolver.d.ts.map +1 -0
  121. package/dist/src/resolvers/query/EventsQueryResolver.js +26 -0
  122. package/dist/src/resolvers/query/EventsQueryResolver.js.map +1 -0
  123. package/dist/src/resolvers/query/index.d.ts +1 -0
  124. package/dist/src/resolvers/query/index.d.ts.map +1 -1
  125. package/dist/src/resolvers/query/index.js +1 -0
  126. package/dist/src/resolvers/query/index.js.map +1 -1
  127. package/dist/src/resolvers/types/EventOldValuesResolver.d.ts +6 -0
  128. package/dist/src/resolvers/types/EventOldValuesResolver.d.ts.map +1 -0
  129. package/dist/src/resolvers/types/EventOldValuesResolver.js +11 -0
  130. package/dist/src/resolvers/types/EventOldValuesResolver.js.map +1 -0
  131. package/dist/src/resolvers/types/OldValuesHelpers.d.ts +3 -0
  132. package/dist/src/resolvers/types/OldValuesHelpers.d.ts.map +1 -0
  133. package/dist/src/resolvers/types/OldValuesHelpers.js +10 -0
  134. package/dist/src/resolvers/types/OldValuesHelpers.js.map +1 -0
  135. package/dist/src/resolvers/types/index.d.ts +2 -0
  136. package/dist/src/resolvers/types/index.d.ts.map +1 -0
  137. package/dist/src/resolvers/types/index.js +14 -0
  138. package/dist/src/resolvers/types/index.js.map +1 -0
  139. package/dist/src/schema/dev.graphql.js +1 -1
  140. package/dist/src/schema/dev.graphql.js.map +1 -1
  141. package/dist/src/schema/system.graphql.d.ts.map +1 -1
  142. package/dist/src/schema/system.graphql.js +47 -43
  143. package/dist/src/schema/system.graphql.js.map +1 -1
  144. package/dist/src/schema/types.d.ts +146 -170
  145. package/dist/src/schema/types.d.ts.map +1 -1
  146. package/dist/src/schema/types.js +14 -12
  147. package/dist/src/schema/types.js.map +1 -1
  148. package/dist/src/tsconfig.tsbuildinfo +1 -1
  149. package/dist/src/types.d.ts +0 -1
  150. package/dist/src/types.d.ts.map +1 -1
  151. package/dist/src/utils/batchQuery.js +1 -1
  152. package/dist/src/utils/batchQuery.js.map +1 -1
  153. package/dist/tests/cases/integration/systemApi/projectInitializer.test.js +1 -1
  154. package/dist/tests/cases/integration/systemApi/projectInitializer.test.js.map +1 -1
  155. package/dist/tests/src/asserts.js +1 -1
  156. package/dist/tests/src/asserts.js.map +1 -1
  157. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  158. package/migrations/2020-05-06-150000-composed-primary.js +4 -4
  159. package/migrations/2020-05-06-150000-composed-primary.test.js +3 -3
  160. package/migrations/2020-06-01-103000-event-trigger-perf.js +1 -1
  161. package/migrations/2020-06-01-103000-event-trigger-perf.test.js +3 -3
  162. package/migrations/2021-05-07-155800-event-log-rework.js +1 -1
  163. package/migrations/2021-05-19-1232000-event-log-fix-constraint.js +1 -1
  164. package/migrations/2021-12-21-155500-events-up.sql +6 -0
  165. package/migrations/index.js +1 -1
  166. package/migrations/tsconfig.tsbuildinfo +1 -1
  167. package/package.json +14 -14
  168. package/src/SystemContainer.ts +18 -26
  169. package/src/index.ts +0 -1
  170. package/src/model/ProjectInitializer.ts +5 -16
  171. package/src/model/authorization/AuthorizationActions.ts +0 -8
  172. package/src/model/authorization/StagePermissionsFactory.ts +0 -21
  173. package/src/model/commands/stages/CreateOrUpdateStageCommand.ts +1 -2
  174. package/src/model/commands/stages/index.ts +0 -1
  175. package/src/model/dependencies/content/index.ts +0 -1
  176. package/src/model/dependencies/index.ts +1 -0
  177. package/src/model/dependencies/tenant/IdentityFetcher.ts +3 -1
  178. package/src/model/dependencies/tenant/index.ts +1 -0
  179. package/src/model/events/{HistoryEventResponseBuilder.ts → EventResponseBuilder.ts} +13 -17
  180. package/src/model/events/EventResponseHelper.ts +3 -3
  181. package/src/model/events/index.ts +1 -5
  182. package/src/model/migrations/MigrationExecutor.ts +0 -2
  183. package/src/model/migrations/ProjectMigrator.ts +5 -11
  184. package/src/model/migrations/SchemaVersionBuilder.ts +1 -1
  185. package/src/model/queries/events/EventQueryHelpers.ts +15 -12
  186. package/src/model/queries/events/EventsQuery.ts +105 -0
  187. package/src/model/queries/events/OldValuesQuery.ts +23 -0
  188. package/src/model/queries/events/index.ts +2 -0
  189. package/src/model/queries/stages/StageQueryFactory.ts +0 -1
  190. package/src/model/stages/StageCreator.ts +1 -12
  191. package/src/model/stages/index.ts +0 -1
  192. package/src/resolvers/ResolverContext.ts +5 -4
  193. package/src/resolvers/ResolverFactory.ts +27 -37
  194. package/src/resolvers/mutation/MigrateMutationResolver.ts +4 -3
  195. package/src/resolvers/mutation/index.ts +1 -0
  196. package/src/resolvers/query/EventsQueryResolver.ts +42 -0
  197. package/src/resolvers/query/index.ts +1 -0
  198. package/src/resolvers/types/EventOldValuesResolver.ts +13 -0
  199. package/src/resolvers/types/OldValuesHelpers.ts +11 -0
  200. package/src/resolvers/types/index.ts +1 -0
  201. package/src/schema/system.graphql.ts +46 -42
  202. package/src/schema/types.ts +148 -175
  203. package/src/types.ts +0 -1
  204. package/tests/src/asserts.ts +1 -1
  205. package/dist/src/model/commands/stages/UpdateStageEventCommand.d.ts +0 -8
  206. package/dist/src/model/commands/stages/UpdateStageEventCommand.d.ts.map +0 -1
  207. package/dist/src/model/commands/stages/UpdateStageEventCommand.js +0 -21
  208. package/dist/src/model/commands/stages/UpdateStageEventCommand.js.map +0 -1
  209. package/dist/src/model/dependencies/content/ContentEventsApplier.d.ts +0 -23
  210. package/dist/src/model/dependencies/content/ContentEventsApplier.d.ts.map +0 -1
  211. package/dist/src/model/dependencies/content/ContentEventsApplier.js +0 -3
  212. package/dist/src/model/dependencies/content/ContentEventsApplier.js.map +0 -1
  213. package/dist/src/model/events/DependencyBuilder.d.ts +0 -8
  214. package/dist/src/model/events/DependencyBuilder.d.ts.map +0 -1
  215. package/dist/src/model/events/DependencyBuilder.js +0 -3
  216. package/dist/src/model/events/DependencyBuilder.js.map +0 -1
  217. package/dist/src/model/events/DiffBuilder.d.ts +0 -48
  218. package/dist/src/model/events/DiffBuilder.d.ts.map +0 -1
  219. package/dist/src/model/events/DiffBuilder.js +0 -95
  220. package/dist/src/model/events/DiffBuilder.js.map +0 -1
  221. package/dist/src/model/events/EventFilterValidator.d.ts +0 -12
  222. package/dist/src/model/events/EventFilterValidator.d.ts.map +0 -1
  223. package/dist/src/model/events/EventFilterValidator.js +0 -50
  224. package/dist/src/model/events/EventFilterValidator.js.map +0 -1
  225. package/dist/src/model/events/HistoryEventResponseBuilder.d.ts +0 -10
  226. package/dist/src/model/events/HistoryEventResponseBuilder.d.ts.map +0 -1
  227. package/dist/src/model/events/HistoryEventResponseBuilder.js.map +0 -1
  228. package/dist/src/model/events/TableReferencingResolver.d.ts +0 -8
  229. package/dist/src/model/events/TableReferencingResolver.d.ts.map +0 -1
  230. package/dist/src/model/events/TableReferencingResolver.js +0 -31
  231. package/dist/src/model/events/TableReferencingResolver.js.map +0 -1
  232. package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.d.ts +0 -19
  233. package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.d.ts.map +0 -1
  234. package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.js +0 -79
  235. package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.js.map +0 -1
  236. package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.d.ts +0 -17
  237. package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.d.ts.map +0 -1
  238. package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.js +0 -76
  239. package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.js.map +0 -1
  240. package/dist/src/model/events/dependency/DependencyBuilderList.d.ts +0 -9
  241. package/dist/src/model/events/dependency/DependencyBuilderList.d.ts.map +0 -1
  242. package/dist/src/model/events/dependency/DependencyBuilderList.js +0 -20
  243. package/dist/src/model/events/dependency/DependencyBuilderList.js.map +0 -1
  244. package/dist/src/model/events/dependency/SameRowDependencyBuilder.d.ts +0 -16
  245. package/dist/src/model/events/dependency/SameRowDependencyBuilder.d.ts.map +0 -1
  246. package/dist/src/model/events/dependency/SameRowDependencyBuilder.js +0 -38
  247. package/dist/src/model/events/dependency/SameRowDependencyBuilder.js.map +0 -1
  248. package/dist/src/model/events/dependency/TransactionDependencyBuilder.d.ts +0 -15
  249. package/dist/src/model/events/dependency/TransactionDependencyBuilder.d.ts.map +0 -1
  250. package/dist/src/model/events/dependency/TransactionDependencyBuilder.js +0 -30
  251. package/dist/src/model/events/dependency/TransactionDependencyBuilder.js.map +0 -1
  252. package/dist/src/model/events/dependency/index.d.ts +0 -6
  253. package/dist/src/model/events/dependency/index.d.ts.map +0 -1
  254. package/dist/src/model/events/dependency/index.js.map +0 -1
  255. package/dist/src/model/stages/StageTree.d.ts +0 -14
  256. package/dist/src/model/stages/StageTree.d.ts.map +0 -1
  257. package/dist/src/model/stages/StageTree.js +0 -38
  258. package/dist/src/model/stages/StageTree.js.map +0 -1
  259. package/dist/src/resolvers/helpers/StageFetchHelper.d.ts +0 -22
  260. package/dist/src/resolvers/helpers/StageFetchHelper.d.ts.map +0 -1
  261. package/dist/src/resolvers/helpers/StageFetchHelper.js +0 -45
  262. package/dist/src/resolvers/helpers/StageFetchHelper.js.map +0 -1
  263. package/dist/tests/cases/unit/events/createdRowReference.test.d.ts +0 -2
  264. package/dist/tests/cases/unit/events/createdRowReference.test.d.ts.map +0 -1
  265. package/dist/tests/cases/unit/events/createdRowReference.test.js +0 -138
  266. package/dist/tests/cases/unit/events/createdRowReference.test.js.map +0 -1
  267. package/dist/tests/cases/unit/events/deletedRowReference.test.d.ts +0 -2
  268. package/dist/tests/cases/unit/events/deletedRowReference.test.d.ts.map +0 -1
  269. package/dist/tests/cases/unit/events/deletedRowReference.test.js +0 -103
  270. package/dist/tests/cases/unit/events/deletedRowReference.test.js.map +0 -1
  271. package/dist/tests/cases/unit/events/sameRowDependency.test.d.ts +0 -2
  272. package/dist/tests/cases/unit/events/sameRowDependency.test.d.ts.map +0 -1
  273. package/dist/tests/cases/unit/events/sameRowDependency.test.js +0 -63
  274. package/dist/tests/cases/unit/events/sameRowDependency.test.js.map +0 -1
  275. package/dist/tests/cases/unit/events/transactionDependency.test.d.ts +0 -2
  276. package/dist/tests/cases/unit/events/transactionDependency.test.d.ts.map +0 -1
  277. package/dist/tests/cases/unit/events/transactionDependency.test.js +0 -62
  278. package/dist/tests/cases/unit/events/transactionDependency.test.js.map +0 -1
  279. package/src/model/commands/stages/UpdateStageEventCommand.ts +0 -16
  280. package/src/model/dependencies/content/ContentEventsApplier.ts +0 -27
  281. package/src/model/events/DependencyBuilder.ts +0 -9
  282. package/src/model/events/DiffBuilder.ts +0 -150
  283. package/src/model/events/EventFilterValidator.ts +0 -52
  284. package/src/model/events/TableReferencingResolver.ts +0 -45
  285. package/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.ts +0 -80
  286. package/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.ts +0 -75
  287. package/src/model/events/dependency/DependencyBuilderList.ts +0 -18
  288. package/src/model/events/dependency/SameRowDependencyBuilder.ts +0 -36
  289. package/src/model/events/dependency/TransactionDependencyBuilder.ts +0 -31
  290. package/src/model/events/dependency/index.ts +0 -5
  291. package/src/model/stages/StageTree.ts +0 -36
  292. package/src/resolvers/helpers/StageFetchHelper.ts +0 -48
  293. package/tests/cases/unit/events/createdRowReference.test.ts +0 -131
  294. package/tests/cases/unit/events/deletedRowReference.test.ts +0 -95
  295. package/tests/cases/unit/events/sameRowDependency.test.ts +0 -48
  296. package/tests/cases/unit/events/transactionDependency.test.ts +0 -47
@@ -1,15 +0,0 @@
1
- import { ContentEvent } from '@contember/engine-common';
2
- import { DependencyBuilder, EventsDependencies } from '../DependencyBuilder';
3
- import { Schema } from '@contember/schema';
4
- /**
5
- * Events in transaction are dependent on each other (meaning you have to execute whole transaction at once)
6
- * todo this has to be optimized that only "dangerous" operations are dependent
7
- *
8
- * v--v v--v--v
9
- * A1 A2 B1 B2 B3
10
- *
11
- */
12
- export declare class TransactionDependencyBuilder implements DependencyBuilder {
13
- build(schema: Schema, events: ContentEvent[]): Promise<EventsDependencies>;
14
- }
15
- //# sourceMappingURL=TransactionDependencyBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionDependencyBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/model/events/dependency/TransactionDependencyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C;;;;;;;GAOG;AACH,qBAAa,4BAA6B,YAAW,iBAAiB;IAC/D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAgBhF"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionDependencyBuilder = void 0;
4
- const utils_1 = require("../../../utils");
5
- /**
6
- * Events in transaction are dependent on each other (meaning you have to execute whole transaction at once)
7
- * todo this has to be optimized that only "dangerous" operations are dependent
8
- *
9
- * v--v v--v--v
10
- * A1 A2 B1 B2 B3
11
- *
12
- */
13
- class TransactionDependencyBuilder {
14
- async build(schema, events) {
15
- let trxId = null;
16
- let eventsInTrx = new Set();
17
- let dependencies = new utils_1.MapSet();
18
- for (const event of events) {
19
- if (trxId !== event.transactionId) {
20
- trxId = event.transactionId;
21
- eventsInTrx = new Set();
22
- }
23
- eventsInTrx.add(event.id);
24
- dependencies.set(event.id, eventsInTrx);
25
- }
26
- return dependencies;
27
- }
28
- }
29
- exports.TransactionDependencyBuilder = TransactionDependencyBuilder;
30
- //# sourceMappingURL=TransactionDependencyBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionDependencyBuilder.js","sourceRoot":"","sources":["../../../../../src/model/events/dependency/TransactionDependencyBuilder.ts"],"names":[],"mappings":";;;AAGA,0CAAuC;AAEvC;;;;;;;GAOG;AACH,MAAa,4BAA4B;IACxC,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,MAAsB;QACjD,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,IAAI,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAA;QACxC,IAAI,YAAY,GAAuB,IAAI,cAAM,EAAE,CAAA;QAEnD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,IAAI,KAAK,KAAK,KAAK,CAAC,aAAa,EAAE;gBAClC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAA;gBAC3B,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;aACvB;YACD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACzB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;SACvC;QAED,OAAO,YAAY,CAAA;IACpB,CAAC;CACD;AAjBD,oEAiBC"}
@@ -1,6 +0,0 @@
1
- export * from './CreatedRowReferenceDependencyBuilder';
2
- export * from './DeletedRowReferenceDependencyBuilder';
3
- export * from './DependencyBuilderList';
4
- export * from './SameRowDependencyBuilder';
5
- export * from './TransactionDependencyBuilder';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/model/events/dependency/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAA;AACtD,cAAc,wCAAwC,CAAA;AACtD,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/model/events/dependency/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAsD;AACtD,yEAAsD;AACtD,0DAAuC;AACvC,6DAA0C;AAC1C,iEAA8C"}
@@ -1,14 +0,0 @@
1
- import { StageWithoutEvent } from '../dtos';
2
- import { ProjectConfig, StageConfig } from '../../types';
3
- export declare class StageTree {
4
- private readonly root;
5
- private readonly childMap;
6
- constructor(root: StageConfig, childMap: StageTreeMap);
7
- getRoot(): StageConfig;
8
- getChildren(stage: StageWithoutEvent): StageConfig[];
9
- }
10
- export declare const createStageTree: (project: Pick<ProjectConfig, 'stages'>) => StageTree;
11
- export declare type StageTreeMap = {
12
- [parent: string]: StageConfig[];
13
- };
14
- //# sourceMappingURL=StageTree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StageTree.d.ts","sourceRoot":"","sources":["../../../../src/model/stages/StageTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGxD,qBAAa,SAAS;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAe,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAA5C,IAAI,EAAE,WAAW,EAAmB,QAAQ,EAAE,YAAY;IAEhF,OAAO,IAAI,WAAW;IAItB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,EAAE;CAG3D;AAED,eAAO,MAAM,eAAe,YAAa,KAAK,aAAa,EAAE,QAAQ,CAAC,KAAG,SAkBxE,CAAA;AACD,oBAAY,YAAY,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;CAAE,CAAA"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createStageTree = exports.StageTree = void 0;
4
- const utils_1 = require("../../utils");
5
- class StageTree {
6
- constructor(root, childMap) {
7
- this.root = root;
8
- this.childMap = childMap;
9
- }
10
- getRoot() {
11
- return this.root;
12
- }
13
- getChildren(stage) {
14
- return this.childMap[stage.slug] || [];
15
- }
16
- }
17
- exports.StageTree = StageTree;
18
- const createStageTree = (project) => {
19
- const rootStages = project.stages.filter(it => !it.base);
20
- if (rootStages.length !== 1) {
21
- throw new Error(`Exactly 1 root stage expected, ${rootStages.length} found`);
22
- }
23
- const rootStage = rootStages[0];
24
- const stages = project.stages
25
- .filter(it => it.base)
26
- .reduce((acc, stage) => {
27
- if (!stage.base) {
28
- throw new utils_1.ImplementationException();
29
- }
30
- return {
31
- ...acc,
32
- [stage.base]: [...(acc[stage.base] || []), stage],
33
- };
34
- }, {});
35
- return new StageTree(rootStage, stages);
36
- };
37
- exports.createStageTree = createStageTree;
38
- //# sourceMappingURL=StageTree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StageTree.js","sourceRoot":"","sources":["../../../../src/model/stages/StageTree.ts"],"names":[],"mappings":";;;AAEA,uCAAqD;AAErD,MAAa,SAAS;IACrB,YAA6B,IAAiB,EAAmB,QAAsB;QAA1D,SAAI,GAAJ,IAAI,CAAa;QAAmB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAEpF,OAAO;QACb,OAAO,IAAI,CAAC,IAAI,CAAA;IACjB,CAAC;IAEM,WAAW,CAAC,KAAwB;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACvC,CAAC;CACD;AAVD,8BAUC;AAEM,MAAM,eAAe,GAAG,CAAC,OAAsC,EAAa,EAAE;IACpF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAC,MAAM,QAAQ,CAAC,CAAA;KAC5E;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;SAC3B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;SACrB,MAAM,CAAe,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAChB,MAAM,IAAI,+BAAuB,EAAE,CAAA;SACnC;QACD,OAAO;YACN,GAAG,GAAG;YACN,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;SACjD,CAAA;IACF,CAAC,EAAE,EAAE,CAAC,CAAA;IACP,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACxC,CAAC,CAAA;AAlBY,QAAA,eAAe,mBAkB3B"}
@@ -1,22 +0,0 @@
1
- import { DatabaseContext } from '../../model/database';
2
- import { ProjectConfig } from '../../types';
3
- import { StageWithId } from '../../model/dtos';
4
- export declare const fetchStages: (stage: string, db: DatabaseContext, project: ProjectConfig) => Promise<FetchStageResult>;
5
- export declare type FetchStageResult = FetchStageErrorResponse | FetchStageOkResponse;
6
- export declare enum FetchStageErrors {
7
- headNotFound = "headNotFound",
8
- missingBase = "missingBase"
9
- }
10
- export declare class FetchStageErrorResponse {
11
- readonly error: FetchStageErrors;
12
- readonly message: string;
13
- readonly ok = false;
14
- constructor(error: FetchStageErrors, message: string);
15
- }
16
- export declare class FetchStageOkResponse {
17
- readonly head: StageWithId;
18
- readonly base: StageWithId;
19
- readonly ok = true;
20
- constructor(head: StageWithId, base: StageWithId);
21
- }
22
- //# sourceMappingURL=StageFetchHelper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StageFetchHelper.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/helpers/StageFetchHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,eAAO,MAAM,WAAW,UAChB,MAAM,MACT,eAAe,WACV,aAAa,KACpB,QAAQ,gBAAgB,CAkB1B,CAAA;AAED,oBAAY,gBAAgB,GAAG,uBAAuB,GAAG,oBAAoB,CAAA;AAE7E,oBAAY,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;CAC3B;AAED,qBAAa,uBAAuB;aAGP,KAAK,EAAE,gBAAgB;aAAkB,OAAO,EAAE,MAAM;IAFpF,SAAgB,EAAE,SAAQ;gBAEE,KAAK,EAAE,gBAAgB,EAAkB,OAAO,EAAE,MAAM;CACpF;AAED,qBAAa,oBAAoB;aAGJ,IAAI,EAAE,WAAW;aAAkB,IAAI,EAAE,WAAW;IAFhF,SAAgB,EAAE,QAAO;gBAEG,IAAI,EAAE,WAAW,EAAkB,IAAI,EAAE,WAAW;CAChF"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FetchStageOkResponse = exports.FetchStageErrorResponse = exports.FetchStageErrors = exports.fetchStages = void 0;
4
- const queries_1 = require("../../model/queries");
5
- const utils_1 = require("../../utils");
6
- const fetchStages = async (stage, db, project) => {
7
- const headStageConfig = project.stages.find(it => it.slug === stage);
8
- if (!headStageConfig) {
9
- return new FetchStageErrorResponse(FetchStageErrors.headNotFound, `Stage ${stage} not found`);
10
- }
11
- if (!headStageConfig.base) {
12
- return new FetchStageErrorResponse(FetchStageErrors.missingBase, `Stage ${stage} is a root stage`);
13
- }
14
- const [baseStage, headStage] = await Promise.all([
15
- db.queryHandler.fetch(new queries_1.StageBySlugQuery(headStageConfig.base)),
16
- db.queryHandler.fetch(new queries_1.StageBySlugQuery(headStageConfig.slug)),
17
- ]);
18
- if (!baseStage || !headStage) {
19
- throw new utils_1.ShouldNotHappenException();
20
- }
21
- return new FetchStageOkResponse(headStage, baseStage);
22
- };
23
- exports.fetchStages = fetchStages;
24
- var FetchStageErrors;
25
- (function (FetchStageErrors) {
26
- FetchStageErrors["headNotFound"] = "headNotFound";
27
- FetchStageErrors["missingBase"] = "missingBase";
28
- })(FetchStageErrors = exports.FetchStageErrors || (exports.FetchStageErrors = {}));
29
- class FetchStageErrorResponse {
30
- constructor(error, message) {
31
- this.error = error;
32
- this.message = message;
33
- this.ok = false;
34
- }
35
- }
36
- exports.FetchStageErrorResponse = FetchStageErrorResponse;
37
- class FetchStageOkResponse {
38
- constructor(head, base) {
39
- this.head = head;
40
- this.base = base;
41
- this.ok = true;
42
- }
43
- }
44
- exports.FetchStageOkResponse = FetchStageOkResponse;
45
- //# sourceMappingURL=StageFetchHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StageFetchHelper.js","sourceRoot":"","sources":["../../../../src/resolvers/helpers/StageFetchHelper.ts"],"names":[],"mappings":";;;AAEA,iDAAsD;AAEtD,uCAAsD;AAE/C,MAAM,WAAW,GAAG,KAAK,EAC/B,KAAa,EACb,EAAmB,EACnB,OAAsB,EACM,EAAE;IAC9B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;IACpE,IAAI,CAAC,eAAe,EAAE;QACrB,OAAO,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,KAAK,YAAY,CAAC,CAAA;KAC7F;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QAC1B,OAAO,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,KAAK,kBAAkB,CAAC,CAAA;KAClG;IACD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,0BAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,0BAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KACjE,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;QAC7B,MAAM,IAAI,gCAAwB,EAAE,CAAA;KACpC;IAED,OAAO,IAAI,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AACtD,CAAC,CAAA;AAtBY,QAAA,WAAW,eAsBvB;AAID,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC3B,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;AAC5B,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAED,MAAa,uBAAuB;IAGnC,YAA4B,KAAuB,EAAkB,OAAe;QAAxD,UAAK,GAAL,KAAK,CAAkB;QAAkB,YAAO,GAAP,OAAO,CAAQ;QAFpE,OAAE,GAAG,KAAK,CAAA;IAE6D,CAAC;CACxF;AAJD,0DAIC;AAED,MAAa,oBAAoB;IAGhC,YAA4B,IAAiB,EAAkB,IAAiB;QAApD,SAAI,GAAJ,IAAI,CAAa;QAAkB,SAAI,GAAJ,IAAI,CAAa;QAFhE,OAAE,GAAG,IAAI,CAAA;IAE0D,CAAC;CACpF;AAJD,oDAIC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=createdRowReference.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createdRowReference.test.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/unit/events/createdRowReference.test.ts"],"names":[],"mappings":""}
@@ -1,138 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- const uvu_1 = require("uvu");
23
- const dependency_1 = require("../../../../src/model/events/dependency");
24
- const schema_definition_1 = require("@contember/schema-definition");
25
- const schema_utils_1 = require("@contember/schema-utils");
26
- const engine_common_1 = require("@contember/engine-common");
27
- const engine_api_tester_1 = require("@contember/engine-api-tester");
28
- const src_1 = require("../../../../src");
29
- const assert = __importStar(require("../../../src/asserts"));
30
- const test = uvu_1.suite('Created row reference dependency builder');
31
- const now = new Date('2020-10-28 10:00');
32
- test('basic reference', async () => {
33
- const model = new schema_definition_1.SchemaBuilder()
34
- .entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
35
- .entity('Author', e => e.column('name'))
36
- .buildSchema();
37
- const dependencyBuilder = new dependency_1.CreatedRowReferenceDependencyBuilder();
38
- const authorEventId = engine_api_tester_1.testUuid(10);
39
- const authorEntityId = engine_api_tester_1.testUuid(11);
40
- const trxId = engine_api_tester_1.testUuid(500);
41
- const postEventId = engine_api_tester_1.testUuid(20);
42
- const events = [
43
- new engine_common_1.CreateEvent(authorEventId, now, src_1.unnamedIdentity, trxId, [authorEntityId], 'author', {
44
- name: 'John doe',
45
- }),
46
- new engine_common_1.CreateEvent(postEventId, now, src_1.unnamedIdentity, trxId, [postEventId], 'post', {
47
- title: 'foo',
48
- author_id: authorEntityId,
49
- }),
50
- ];
51
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
52
- assert.is(deps.size, 1);
53
- assert.ok(deps.has(postEventId));
54
- assert.not.ok(deps.has(authorEventId));
55
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
56
- const postDeps = deps.get(postEventId);
57
- assert.is(postDeps.size, 1);
58
- assert.ok(postDeps.has(authorEventId));
59
- });
60
- test('uuid collision in different table', async () => {
61
- const model = new schema_definition_1.SchemaBuilder()
62
- .entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
63
- .entity('Author', e => e.column('name'))
64
- .buildSchema();
65
- const dependencyBuilder = new dependency_1.CreatedRowReferenceDependencyBuilder();
66
- const authorEventId = engine_api_tester_1.testUuid(10);
67
- const authorEntityId = engine_api_tester_1.testUuid(11);
68
- const trxId = engine_api_tester_1.testUuid(500);
69
- const postEventId = engine_api_tester_1.testUuid(20);
70
- const events = [
71
- new engine_common_1.CreateEvent(authorEventId, now, src_1.unnamedIdentity, trxId, [authorEntityId], 'authorXXX', {}),
72
- new engine_common_1.CreateEvent(postEventId, now, src_1.unnamedIdentity, trxId, [postEventId], 'post', {
73
- title: 'foo',
74
- author_id: authorEntityId,
75
- }),
76
- ];
77
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
78
- assert.is(deps.size, 0);
79
- });
80
- test('update of created row', async () => {
81
- const model = new schema_definition_1.SchemaBuilder()
82
- .entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
83
- .entity('Author', e => e.column('name'))
84
- .buildSchema();
85
- const dependencyBuilder = new dependency_1.CreatedRowReferenceDependencyBuilder();
86
- const authorEventId = engine_api_tester_1.testUuid(10);
87
- const authorEventId2 = engine_api_tester_1.testUuid(12);
88
- const authorEntityId = engine_api_tester_1.testUuid(11);
89
- const trxId = engine_api_tester_1.testUuid(500);
90
- const postEventId = engine_api_tester_1.testUuid(20);
91
- const events = [
92
- new engine_common_1.CreateEvent(authorEventId, now, src_1.unnamedIdentity, trxId, [authorEntityId], 'author', {
93
- name: 'John doe',
94
- }),
95
- new engine_common_1.UpdateEvent(authorEventId2, now, src_1.unnamedIdentity, trxId, [authorEntityId], 'author', {
96
- name: 'Jack black',
97
- }),
98
- new engine_common_1.CreateEvent(postEventId, now, src_1.unnamedIdentity, trxId, [postEventId], 'post', {
99
- title: 'foo',
100
- author_id: authorEntityId,
101
- }),
102
- ];
103
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
104
- assert.is(deps.size, 1);
105
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
106
- const postDeps = deps.get(postEventId);
107
- assert.is(postDeps.size, 1);
108
- assert.ok(postDeps.has(authorEventId2));
109
- });
110
- test('junction table', async () => {
111
- const model = new schema_definition_1.SchemaBuilder()
112
- .entity('Post', e => e.column('title').manyHasMany('categories', r => r.target('Category')))
113
- .entity('Category', e => e.column('name'))
114
- .buildSchema();
115
- const dependencyBuilder = new dependency_1.CreatedRowReferenceDependencyBuilder();
116
- const categoryEventId = engine_api_tester_1.testUuid(10);
117
- const trxId = engine_api_tester_1.testUuid(500);
118
- const postEventId = engine_api_tester_1.testUuid(20);
119
- const junctionEventId = engine_api_tester_1.testUuid(30);
120
- const events = [
121
- new engine_common_1.CreateEvent(categoryEventId, now, src_1.unnamedIdentity, trxId, [categoryEventId], 'category', {
122
- name: 'lorem',
123
- }),
124
- new engine_common_1.CreateEvent(postEventId, now, src_1.unnamedIdentity, trxId, [postEventId], 'post', {
125
- title: 'foo',
126
- }),
127
- new engine_common_1.CreateEvent(junctionEventId, now, src_1.unnamedIdentity, trxId, [postEventId, categoryEventId], 'post_categories', {}),
128
- ];
129
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
130
- assert.is(deps.size, 1);
131
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
132
- const junctionDeps = deps.get(junctionEventId);
133
- assert.is(junctionDeps.size, 2);
134
- assert.ok(junctionDeps.has(categoryEventId));
135
- assert.ok(junctionDeps.has(postEventId));
136
- });
137
- test.run();
138
- //# sourceMappingURL=createdRowReference.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createdRowReference.test.js","sourceRoot":"","sources":["../../../../../tests/cases/unit/events/createdRowReference.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=deletedRowReference.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deletedRowReference.test.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/unit/events/deletedRowReference.test.ts"],"names":[],"mappings":""}
@@ -1,103 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- const uvu_1 = require("uvu");
23
- const dependency_1 = require("../../../../src/model/events/dependency");
24
- const schema_definition_1 = require("@contember/schema-definition");
25
- const schema_utils_1 = require("@contember/schema-utils");
26
- const engine_common_1 = require("@contember/engine-common");
27
- const engine_api_tester_1 = require("@contember/engine-api-tester");
28
- const src_1 = require("../../../../src");
29
- const assert = __importStar(require("../../../src/asserts"));
30
- const test = uvu_1.suite('Deleted row reference dependency builder');
31
- const now = new Date('2020-10-28 10:00');
32
- test('basic reference', async () => {
33
- const model = new schema_definition_1.SchemaBuilder()
34
- .entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
35
- .entity('Author', e => e.column('name'))
36
- .buildSchema();
37
- const dependencyBuilder = new dependency_1.DeletedRowReferenceDependencyBuilder();
38
- const authorEventId = engine_api_tester_1.testUuid(10);
39
- const authorEntityId = engine_api_tester_1.testUuid(11);
40
- const trxId = engine_api_tester_1.testUuid(500);
41
- const postEventId = engine_api_tester_1.testUuid(20);
42
- const events = [
43
- new engine_common_1.UpdateEvent(postEventId, now, src_1.unnamedIdentity, trxId, [postEventId], 'post', {
44
- author_id: authorEntityId,
45
- }),
46
- new engine_common_1.DeleteEvent(authorEventId, now, src_1.unnamedIdentity, trxId, [authorEntityId], 'author'),
47
- ];
48
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
49
- assert.is(deps.size, 1);
50
- assert.ok(deps.has(authorEventId));
51
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
52
- const authorDeps = deps.get(authorEventId);
53
- assert.is(authorDeps.size, 1);
54
- assert.ok(authorDeps.has(postEventId));
55
- });
56
- test('uuid collision in different table', async () => {
57
- const model = new schema_definition_1.SchemaBuilder()
58
- .entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
59
- .entity('Author', e => e.column('name'))
60
- .buildSchema();
61
- const dependencyBuilder = new dependency_1.DeletedRowReferenceDependencyBuilder();
62
- const authorEventId = engine_api_tester_1.testUuid(10);
63
- const authorEntityId = engine_api_tester_1.testUuid(11);
64
- const trxId = engine_api_tester_1.testUuid(500);
65
- const postEventId = engine_api_tester_1.testUuid(20);
66
- const events = [
67
- new engine_common_1.UpdateEvent(postEventId, now, src_1.unnamedIdentity, trxId, [postEventId], 'post', {
68
- author_id: authorEntityId,
69
- }),
70
- new engine_common_1.DeleteEvent(authorEventId, now, src_1.unnamedIdentity, trxId, [authorEntityId], 'authorX'),
71
- ];
72
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
73
- assert.is(deps.size, 0);
74
- });
75
- test('junction table', async () => {
76
- const model = new schema_definition_1.SchemaBuilder()
77
- .entity('Post', e => e.column('title').manyHasMany('categories', r => r.target('Category')))
78
- .entity('Category', e => e.column('name'))
79
- .buildSchema();
80
- const dependencyBuilder = new dependency_1.DeletedRowReferenceDependencyBuilder();
81
- const categoryEventId = engine_api_tester_1.testUuid(10);
82
- const trxId = engine_api_tester_1.testUuid(500);
83
- const postEventId = engine_api_tester_1.testUuid(20);
84
- const junctionEventId = engine_api_tester_1.testUuid(30);
85
- const events = [
86
- new engine_common_1.CreateEvent(junctionEventId, now, src_1.unnamedIdentity, trxId, [postEventId, categoryEventId], 'post_categories', {}),
87
- new engine_common_1.DeleteEvent(categoryEventId, now, src_1.unnamedIdentity, trxId, [categoryEventId], 'category'),
88
- new engine_common_1.DeleteEvent(postEventId, now, src_1.unnamedIdentity, trxId, [postEventId], 'post'),
89
- ];
90
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
91
- assert.is(deps.size, 2);
92
- assert.ok(deps.has(categoryEventId));
93
- assert.ok(deps.has(postEventId));
94
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
95
- const categoryEventDeps = deps.get(categoryEventId);
96
- assert.is(categoryEventDeps.size, 1);
97
- assert.ok(categoryEventDeps.has(junctionEventId));
98
- const postEventDeps = deps.get(postEventId);
99
- assert.is(postEventDeps.size, 1);
100
- assert.ok(postEventDeps.has(junctionEventId));
101
- });
102
- test.run();
103
- //# sourceMappingURL=deletedRowReference.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deletedRowReference.test.js","sourceRoot":"","sources":["../../../../../tests/cases/unit/events/deletedRowReference.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sameRowDependency.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sameRowDependency.test.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/unit/events/sameRowDependency.test.ts"],"names":[],"mappings":""}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- const uvu_1 = require("uvu");
23
- const dependency_1 = require("../../../../src/model/events/dependency");
24
- const schema_definition_1 = require("@contember/schema-definition");
25
- const schema_utils_1 = require("@contember/schema-utils");
26
- const engine_common_1 = require("@contember/engine-common");
27
- const engine_api_tester_1 = require("@contember/engine-api-tester");
28
- const src_1 = require("../../../../src");
29
- const assert = __importStar(require("../../../src/asserts"));
30
- const test = uvu_1.suite('Same row dependency builder');
31
- const now = new Date('2020-10-28 10:00');
32
- test('basic deps', async () => {
33
- const model = new schema_definition_1.SchemaBuilder().entity('Author', e => e.column('name')).buildSchema();
34
- const dependencyBuilder = new dependency_1.SameRowDependencyBuilder();
35
- const event1 = engine_api_tester_1.testUuid(30);
36
- const event2 = engine_api_tester_1.testUuid(31);
37
- const event3 = engine_api_tester_1.testUuid(32);
38
- const authorEntityId = engine_api_tester_1.testUuid(10);
39
- const trxId1 = engine_api_tester_1.testUuid(500);
40
- const events = [
41
- new engine_common_1.UpdateEvent(event1, now, src_1.unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
42
- new engine_common_1.UpdateEvent(event2, now, src_1.unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
43
- new engine_common_1.UpdateEvent(event3, now, src_1.unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
44
- ];
45
- const deps = await dependencyBuilder.build({ ...schema_utils_1.emptySchema, model }, events);
46
- assert.is(deps.size, 3);
47
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
48
- const event1deps = deps.get(event1);
49
- // it also includes self-dep
50
- assert.is(event1deps.size, 3);
51
- assert.ok(event1deps.has(event2));
52
- assert.ok(event1deps.has(event3));
53
- const event2deps = deps.get(event2);
54
- assert.is(event2deps.size, 3);
55
- assert.ok(event2deps.has(event1));
56
- assert.ok(event2deps.has(event3));
57
- const event3deps = deps.get(event3);
58
- assert.is(event3deps.size, 3);
59
- assert.ok(event3deps.has(event1));
60
- assert.ok(event3deps.has(event2));
61
- });
62
- test.run();
63
- //# sourceMappingURL=sameRowDependency.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sameRowDependency.test.js","sourceRoot":"","sources":["../../../../../tests/cases/unit/events/sameRowDependency.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=transactionDependency.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionDependency.test.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/unit/events/transactionDependency.test.ts"],"names":[],"mappings":""}