@contember/engine-system-api 1.1.0-alpha.0 → 1.1.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 (225) hide show
  1. package/dist/src/SystemContainer.d.ts +16 -21
  2. package/dist/src/SystemContainer.d.ts.map +1 -1
  3. package/dist/src/SystemContainer.js +14 -9
  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.map +1 -1
  8. package/dist/src/migrations/2020-03-27-130000-project-migrations.d.ts +4 -0
  9. package/dist/src/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -0
  10. package/{migrations → dist/src/migrations}/2020-03-27-130000-project-migrations.js +2 -2
  11. package/dist/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -0
  12. package/dist/src/migrations/2020-05-06-150000-composed-primary.d.ts +4 -0
  13. package/dist/src/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -0
  14. package/{migrations → dist/src/migrations}/2020-05-06-150000-composed-primary.js +13 -13
  15. package/dist/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -0
  16. package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.d.ts +4 -0
  17. package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -0
  18. package/{migrations → dist/src/migrations}/2020-06-01-103000-event-trigger-perf.js +9 -8
  19. package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -0
  20. package/dist/src/migrations/2021-05-07-155800-event-log-rework.d.ts +4 -0
  21. package/dist/src/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -0
  22. package/{migrations → dist/src/migrations}/2021-05-07-155800-event-log-rework.js +34 -33
  23. package/dist/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -0
  24. package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +4 -0
  25. package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -0
  26. package/{migrations → dist/src/migrations}/2021-05-19-1232000-event-log-fix-constraint.js +4 -3
  27. package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -0
  28. package/dist/src/migrations/index.d.ts +3 -0
  29. package/dist/src/migrations/index.d.ts.map +1 -0
  30. package/dist/src/{model/dependencies/content → migrations}/index.js +2 -1
  31. package/dist/src/migrations/index.js.map +1 -0
  32. package/dist/src/migrations/runner.d.ts +3 -0
  33. package/dist/src/migrations/runner.d.ts.map +1 -0
  34. package/{migrations/index.js → dist/src/migrations/runner.js} +5 -3
  35. package/dist/src/migrations/runner.js.map +1 -0
  36. package/dist/src/migrations/types.d.ts +7 -0
  37. package/dist/src/migrations/types.d.ts.map +1 -0
  38. package/dist/src/{migrations.js → migrations/types.js} +1 -1
  39. package/dist/src/migrations/types.js.map +1 -0
  40. package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
  41. package/dist/src/model/ProjectInitializer.js +11 -13
  42. package/dist/src/model/ProjectInitializer.js.map +1 -1
  43. package/dist/src/model/ProjectTruncateExecutor.d.ts.map +1 -1
  44. package/dist/src/model/ProjectTruncateExecutor.js +4 -3
  45. package/dist/src/model/ProjectTruncateExecutor.js.map +1 -1
  46. package/dist/src/model/commands/stages/CreateStageCommand.d.ts +8 -0
  47. package/dist/src/model/commands/stages/CreateStageCommand.d.ts.map +1 -0
  48. package/dist/src/model/commands/stages/{CreateOrUpdateStageCommand.js → CreateStageCommand.js} +9 -10
  49. package/dist/src/model/commands/stages/CreateStageCommand.js.map +1 -0
  50. package/dist/src/model/commands/stages/index.d.ts +1 -1
  51. package/dist/src/model/commands/stages/index.d.ts.map +1 -1
  52. package/dist/src/model/commands/stages/index.js +1 -1
  53. package/dist/src/model/commands/stages/index.js.map +1 -1
  54. package/dist/src/model/database/DatabaseContext.d.ts +1 -1
  55. package/dist/src/model/database/DatabaseContext.d.ts.map +1 -1
  56. package/dist/src/model/database/DatabaseContext.js +4 -8
  57. package/dist/src/model/database/DatabaseContext.js.map +1 -1
  58. package/dist/src/model/dependencies/index.d.ts +0 -1
  59. package/dist/src/model/dependencies/index.d.ts.map +1 -1
  60. package/dist/src/model/dependencies/index.js +0 -1
  61. package/dist/src/model/dependencies/index.js.map +1 -1
  62. package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts +1 -2
  63. package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts.map +1 -1
  64. package/dist/src/model/dtos/Stage.d.ts +2 -4
  65. package/dist/src/model/dtos/Stage.d.ts.map +1 -1
  66. package/dist/src/model/events/EventResponseBuilder.d.ts +1 -2
  67. package/dist/src/model/events/EventResponseBuilder.d.ts.map +1 -1
  68. package/dist/src/model/events/EventResponseBuilder.js +2 -2
  69. package/dist/src/model/events/EventResponseBuilder.js.map +1 -1
  70. package/dist/src/model/migrations/ProjectMigrator.d.ts +2 -2
  71. package/dist/src/model/migrations/ProjectMigrator.d.ts.map +1 -1
  72. package/dist/src/model/migrations/ProjectMigrator.js +6 -7
  73. package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
  74. package/dist/src/model/migrations/index.d.ts +0 -1
  75. package/dist/src/model/migrations/index.d.ts.map +1 -1
  76. package/dist/src/model/migrations/index.js +0 -1
  77. package/dist/src/model/migrations/index.js.map +1 -1
  78. package/dist/src/model/queries/stages/StageBySlugQuery.d.ts +2 -2
  79. package/dist/src/model/queries/stages/StageBySlugQuery.d.ts.map +1 -1
  80. package/dist/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
  81. package/dist/src/model/queries/stages/StageQueryFactory.d.ts +2 -2
  82. package/dist/src/model/queries/stages/StageQueryFactory.d.ts.map +1 -1
  83. package/dist/src/model/queries/stages/StageQueryFactory.js +2 -1
  84. package/dist/src/model/queries/stages/StageQueryFactory.js.map +1 -1
  85. package/dist/src/model/queries/stages/StagesQuery.d.ts +1 -1
  86. package/dist/src/model/queries/stages/StagesQuery.d.ts.map +1 -1
  87. package/dist/src/model/queries/stages/StagesQuery.js +2 -5
  88. package/dist/src/model/queries/stages/StagesQuery.js.map +1 -1
  89. package/dist/src/model/stages/StageCreator.d.ts.map +1 -1
  90. package/dist/src/model/stages/StageCreator.js +3 -2
  91. package/dist/src/model/stages/StageCreator.js.map +1 -1
  92. package/dist/src/resolvers/{ResolverContext.d.ts → SystemResolverContext.d.ts} +5 -8
  93. package/dist/src/resolvers/SystemResolverContext.d.ts.map +1 -0
  94. package/dist/src/resolvers/{ResolverContext.js → SystemResolverContext.js} +5 -6
  95. package/dist/src/resolvers/{ResolverContext.js.map → SystemResolverContext.js.map} +1 -1
  96. package/dist/src/resolvers/index.d.ts +1 -1
  97. package/dist/src/resolvers/index.d.ts.map +1 -1
  98. package/dist/src/resolvers/index.js +1 -1
  99. package/dist/src/resolvers/index.js.map +1 -1
  100. package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts +3 -3
  101. package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
  102. package/dist/src/resolvers/mutation/MigrateMutationResolver.js +5 -4
  103. package/dist/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
  104. package/dist/src/resolvers/mutation/MigrationAlterMutationResolver.d.ts +3 -3
  105. package/dist/src/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
  106. package/dist/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
  107. package/dist/src/resolvers/mutation/TruncateMutationResolver.d.ts +2 -2
  108. package/dist/src/resolvers/mutation/TruncateMutationResolver.d.ts.map +1 -1
  109. package/dist/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
  110. package/dist/src/resolvers/query/EventsQueryResolver.d.ts +2 -2
  111. package/dist/src/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
  112. package/dist/src/resolvers/query/EventsQueryResolver.js +1 -1
  113. package/dist/src/resolvers/query/EventsQueryResolver.js.map +1 -1
  114. package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.d.ts +2 -2
  115. package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.d.ts.map +1 -1
  116. package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
  117. package/dist/src/resolvers/query/StagesQueryResolver.d.ts +2 -2
  118. package/dist/src/resolvers/query/StagesQueryResolver.d.ts.map +1 -1
  119. package/dist/src/resolvers/query/StagesQueryResolver.js.map +1 -1
  120. package/dist/src/resolvers/types/EventOldValuesResolver.d.ts +3 -3
  121. package/dist/src/resolvers/types/EventOldValuesResolver.d.ts.map +1 -1
  122. package/dist/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
  123. package/dist/src/tsconfig.tsbuildinfo +1 -1
  124. package/dist/src/types.d.ts +1 -0
  125. package/dist/src/types.d.ts.map +1 -1
  126. package/{migrations → dist/tests/cases/migrations}/2020-05-06-150000-composed-primary.test.d.ts +0 -0
  127. package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.d.ts.map +1 -0
  128. package/{migrations → dist/tests/cases/migrations}/2020-05-06-150000-composed-primary.test.js +12 -12
  129. package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.js.map +1 -0
  130. package/{migrations → dist/tests/cases/migrations}/2020-06-01-103000-event-trigger-perf.test.d.ts +0 -0
  131. package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.d.ts.map +1 -0
  132. package/{migrations → dist/tests/cases/migrations}/2020-06-01-103000-event-trigger-perf.test.js +7 -7
  133. package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.js.map +1 -0
  134. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  135. package/package.json +15 -15
  136. package/src/SystemContainer.ts +21 -27
  137. package/src/index.ts +1 -0
  138. package/{migrations → src/migrations}/2018-08-04-102200-init.sql +9 -9
  139. package/{migrations → src/migrations}/2018-08-05-130501-trigger-event-function.sql +9 -9
  140. package/{migrations → src/migrations}/2019-01-14-143432-event-trx-id.sql +4 -4
  141. package/{migrations → src/migrations}/2019-02-04-154500-event-rebase.sql +6 -6
  142. package/{migrations → src/migrations}/2019-03-18-104147-event-run-migration-struct.sql +1 -1
  143. package/{migrations → src/migrations}/2019-07-29-103000-trigger-event-function-fix.sql +6 -6
  144. package/{migrations → src/migrations}/2019-11-28-100000-missing-setting-fallback.sql +2 -2
  145. package/{migrations → src/migrations}/2020-03-27-130000-project-migrations.ts +3 -4
  146. package/{migrations → src/migrations}/2020-05-06-150000-composed-primary.ts +13 -13
  147. package/{migrations → src/migrations}/2020-06-01-103000-event-trigger-perf.ts +9 -8
  148. package/{migrations → src/migrations}/2021-03-23-110000-timestamp-fix.sql +2 -2
  149. package/{migrations → src/migrations}/2021-05-07-155800-event-log-rework.ts +34 -33
  150. package/{migrations → src/migrations}/2021-05-19-1232000-event-log-fix-constraint.ts +4 -3
  151. package/src/migrations/2021-12-21-155500-events-up.sql +6 -0
  152. package/src/migrations/2022-02-08-132600-fn-search-path.sql +7 -0
  153. package/src/migrations/2022-02-08-140500-drop-deadcode.sql +2 -0
  154. package/src/migrations/2022-02-08-144400-dynamic-stage-schema.sql +41 -0
  155. package/src/migrations/index.ts +2 -0
  156. package/{migrations/index.ts → src/migrations/runner.ts} +2 -2
  157. package/src/migrations/types.ts +7 -0
  158. package/src/model/ProjectInitializer.ts +13 -14
  159. package/src/model/ProjectTruncateExecutor.ts +5 -4
  160. package/src/model/commands/stages/{CreateOrUpdateStageCommand.ts → CreateStageCommand.ts} +8 -11
  161. package/src/model/commands/stages/index.ts +1 -1
  162. package/src/model/database/DatabaseContext.ts +3 -8
  163. package/src/model/dependencies/index.ts +0 -1
  164. package/src/model/dependencies/tenant/IdentityFetcher.ts +1 -1
  165. package/src/model/dtos/Stage.ts +2 -5
  166. package/src/model/events/EventResponseBuilder.ts +2 -3
  167. package/src/model/migrations/ProjectMigrator.ts +10 -9
  168. package/src/model/migrations/index.ts +0 -1
  169. package/src/model/queries/stages/StageBySlugQuery.ts +2 -2
  170. package/src/model/queries/stages/StageQueryFactory.ts +3 -2
  171. package/src/model/queries/stages/StagesQuery.ts +4 -7
  172. package/src/model/stages/StageCreator.ts +4 -3
  173. package/src/resolvers/{ResolverContext.ts → SystemResolverContext.ts} +4 -9
  174. package/src/resolvers/index.ts +1 -1
  175. package/src/resolvers/mutation/MigrateMutationResolver.ts +9 -8
  176. package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +3 -3
  177. package/src/resolvers/mutation/TruncateMutationResolver.ts +2 -2
  178. package/src/resolvers/query/EventsQueryResolver.ts +3 -3
  179. package/src/resolvers/query/ExecutedMigrationsQueryResolver.ts +2 -2
  180. package/src/resolvers/query/StagesQueryResolver.ts +2 -2
  181. package/src/resolvers/types/EventOldValuesResolver.ts +3 -3
  182. package/src/types.ts +1 -0
  183. package/{migrations → tests/cases/migrations}/2020-05-06-150000-composed-primary.test.ts +11 -12
  184. package/{migrations → tests/cases/migrations}/2020-06-01-103000-event-trigger-perf.test.ts +6 -7
  185. package/tests/tsconfig.json +0 -3
  186. package/tsconfig.json +0 -3
  187. package/dist/src/migrations.d.ts +0 -10
  188. package/dist/src/migrations.d.ts.map +0 -1
  189. package/dist/src/migrations.js.map +0 -1
  190. package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.d.ts +0 -8
  191. package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.d.ts.map +0 -1
  192. package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.js.map +0 -1
  193. package/dist/src/model/dependencies/content/EntitiesSelector.d.ts +0 -28
  194. package/dist/src/model/dependencies/content/EntitiesSelector.d.ts.map +0 -1
  195. package/dist/src/model/dependencies/content/EntitiesSelector.js +0 -3
  196. package/dist/src/model/dependencies/content/EntitiesSelector.js.map +0 -1
  197. package/dist/src/model/dependencies/content/index.d.ts +0 -2
  198. package/dist/src/model/dependencies/content/index.d.ts.map +0 -1
  199. package/dist/src/model/dependencies/content/index.js.map +0 -1
  200. package/dist/src/model/migrations/MigrationExecutor.d.ts +0 -10
  201. package/dist/src/model/migrations/MigrationExecutor.d.ts.map +0 -1
  202. package/dist/src/model/migrations/MigrationExecutor.js +0 -25
  203. package/dist/src/model/migrations/MigrationExecutor.js.map +0 -1
  204. package/dist/src/resolvers/ResolverContext.d.ts.map +0 -1
  205. package/migrations/2020-03-27-130000-project-migrations.d.ts +0 -4
  206. package/migrations/2020-03-27-130000-project-migrations.d.ts.map +0 -1
  207. package/migrations/2020-05-06-150000-composed-primary.d.ts +0 -4
  208. package/migrations/2020-05-06-150000-composed-primary.d.ts.map +0 -1
  209. package/migrations/2020-05-06-150000-composed-primary.test.d.ts.map +0 -1
  210. package/migrations/2020-06-01-103000-event-trigger-perf.d.ts +0 -4
  211. package/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +0 -1
  212. package/migrations/2020-06-01-103000-event-trigger-perf.test.d.ts.map +0 -1
  213. package/migrations/2021-05-07-155800-event-log-rework.d.ts +0 -4
  214. package/migrations/2021-05-07-155800-event-log-rework.d.ts.map +0 -1
  215. package/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +0 -4
  216. package/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +0 -1
  217. package/migrations/2021-12-21-155500-events-up.sql +0 -6
  218. package/migrations/index.d.ts +0 -3
  219. package/migrations/index.d.ts.map +0 -1
  220. package/migrations/tsconfig.json +0 -15
  221. package/migrations/tsconfig.tsbuildinfo +0 -1
  222. package/src/migrations.ts +0 -10
  223. package/src/model/dependencies/content/EntitiesSelector.ts +0 -32
  224. package/src/model/dependencies/content/index.ts +0 -1
  225. package/src/model/migrations/MigrationExecutor.ts +0 -33
package/package.json CHANGED
@@ -1,31 +1,31 @@
1
1
  {
2
2
  "name": "@contember/engine-system-api",
3
- "version": "1.1.0-alpha.0",
3
+ "version": "1.1.0-alpha.3",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist/src/index.js",
6
6
  "typings": "dist/src/index.d.ts",
7
7
  "scripts": {
8
8
  "generate": "gql-gen --config graphql.codegen.yml",
9
- "test": "uvu dist/tests/cases/ \\.js$ && uvu migrations \\.test\\.js"
9
+ "test": "uvu dist/tests/cases/ \\\\.js$"
10
10
  },
11
11
  "dependencies": {
12
- "@contember/authorization": "^1.1.0-alpha.0",
13
- "@contember/database": "^1.1.0-alpha.0",
14
- "@contember/database-migrations": "^1.1.0-alpha.0",
15
- "@contember/dic": "^1.1.0-alpha.0",
16
- "@contember/engine-common": "^1.1.0-alpha.0",
17
- "@contember/graphql-utils": "^1.1.0-alpha.0",
18
- "@contember/queryable": "^1.1.0-alpha.0",
19
- "@contember/schema": "^1.1.0-alpha.0",
20
- "@contember/schema-migrations": "^1.1.0-alpha.0",
21
- "@contember/schema-utils": "^1.1.0-alpha.0",
12
+ "@contember/authorization": "^1.1.0-alpha.3",
13
+ "@contember/database": "^1.1.0-alpha.3",
14
+ "@contember/database-migrations": "^1.1.0-alpha.3",
15
+ "@contember/dic": "^1.1.0-alpha.3",
16
+ "@contember/engine-common": "^1.1.0-alpha.3",
17
+ "@contember/graphql-utils": "^1.1.0-alpha.3",
18
+ "@contember/queryable": "^1.1.0-alpha.3",
19
+ "@contember/schema": "^1.1.0-alpha.3",
20
+ "@contember/schema-migrations": "^1.1.0-alpha.3",
21
+ "@contember/schema-utils": "^1.1.0-alpha.3",
22
22
  "@graphql-tools/utils": "^7.10.0",
23
23
  "apollo-server-errors": "^2.4.0",
24
24
  "graphql-tag": "^2.12.5"
25
25
  },
26
26
  "devDependencies": {
27
- "@contember/engine-api-tester": "^1.1.0-alpha.0",
28
- "@contember/schema-definition": "^1.1.0-alpha.0",
27
+ "@contember/engine-api-tester": "^1.1.0-alpha.3",
28
+ "@contember/schema-definition": "^1.1.0-alpha.3",
29
29
  "@graphql-codegen/cli": "^1.15.2",
30
30
  "@graphql-codegen/typescript": "^1.15.2",
31
31
  "@graphql-codegen/typescript-operations": "^1.15.2",
@@ -33,7 +33,7 @@
33
33
  "@types/node": "^17.0.5",
34
34
  "graphql": "^15.4.0",
35
35
  "pg": "^8.5.0",
36
- "uvu": "^0.5.1"
36
+ "uvu": "^0.5.3"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "graphql": ">= 14.6.0",
@@ -7,14 +7,12 @@ import {
7
7
  SchemaMigrator,
8
8
  } from '@contember/schema-migrations'
9
9
  import { MigrationsRunner } from '@contember/database-migrations'
10
- import { DatabaseCredentials } from '@contember/database'
10
+ import { Connection } from '@contember/database'
11
11
  import {
12
- EntitiesSelector,
13
12
  EventResponseBuilder,
14
13
  ExecutedMigrationsResolver,
15
14
  IdentityFetcher,
16
15
  MigrationAlterer,
17
- MigrationExecutor,
18
16
  PermissionsFactory,
19
17
  ProjectInitializer,
20
18
  ProjectMigrator,
@@ -28,35 +26,35 @@ import {
28
26
  ExecutedMigrationsQueryResolver,
29
27
  MigrateMutationResolver,
30
28
  MigrationAlterMutationResolver,
31
- ResolverContextFactory,
32
29
  ResolverFactory,
33
30
  StagesQueryResolver,
31
+ SystemResolverContextFactory,
34
32
  TruncateMutationResolver,
35
33
  } from './resolvers'
36
- import { ClientBase } from 'pg'
37
- import { MigrationArgs } from './migrations'
34
+ import { getSystemMigrations, SystemMigrationArgs } from './migrations'
38
35
  import { EventOldValuesResolver } from './resolvers/types'
39
36
 
40
37
  export interface SystemContainer {
41
38
  systemResolversFactory: ResolverFactory
42
39
  authorizator: Authorizator
43
- resolverContextFactory: ResolverContextFactory
40
+ resolverContextFactory: SystemResolverContextFactory
44
41
  schemaVersionBuilder: SchemaVersionBuilder
45
42
  projectInitializer: ProjectInitializer
46
- systemDbMigrationsRunnerFactory: SystemDbMigrationsRunnerFactory
47
43
  }
48
44
 
49
- export type SystemDbMigrationsRunnerFactory = (db: DatabaseCredentials, dbClient: ClientBase) => MigrationsRunner<MigrationArgs>
45
+ export type SystemDbMigrationsRunnerFactory = (db: Connection.ConnectionLike, schema: string) => MigrationsRunner<SystemMigrationArgs>
50
46
 
51
47
  type Args = {
52
- providers: UuidProvider
53
- modificationHandlerFactory: ModificationHandlerFactory
54
- entitiesSelector: EntitiesSelector
55
- systemDbMigrationsRunnerFactory: (db: DatabaseCredentials, dbClient: ClientBase) => MigrationsRunner<MigrationArgs>
56
48
  identityFetcher: IdentityFetcher
57
49
  }
58
50
 
59
51
  export class SystemContainerFactory {
52
+ constructor(
53
+ private readonly providers: UuidProvider,
54
+ private readonly modificationHandlerFactory: ModificationHandlerFactory,
55
+ ) {
56
+ }
57
+
60
58
  public create(container: Args): Container<SystemContainer> {
61
59
  return this.createBuilder(container)
62
60
  .build()
@@ -66,33 +64,30 @@ export class SystemContainerFactory {
66
64
  'resolverContextFactory',
67
65
  'schemaVersionBuilder',
68
66
  'projectInitializer',
69
- 'systemDbMigrationsRunnerFactory',
70
67
  )
71
68
  }
72
- public createBuilder(container: Args) {
69
+ public createBuilder({ identityFetcher }: Args) {
73
70
  return new Builder({})
74
- .addService('systemDbMigrationsRunnerFactory', () =>
75
- container.systemDbMigrationsRunnerFactory)
71
+ .addService('providers', () =>
72
+ this.providers)
76
73
  .addService('modificationHandlerFactory', () =>
77
- container.modificationHandlerFactory)
74
+ this.modificationHandlerFactory)
78
75
  .addService('identityFetcher', () =>
79
- container.identityFetcher)
76
+ identityFetcher)
77
+ .addService('systemDbMigrationsRunnerFactory', (): SystemDbMigrationsRunnerFactory =>
78
+ (db, schema) => new MigrationsRunner(db, schema, getSystemMigrations))
80
79
  .addService('schemaMigrator', ({ modificationHandlerFactory }) =>
81
80
  new SchemaMigrator(modificationHandlerFactory))
82
81
  .addService('executedMigrationsResolver', ({}) =>
83
82
  new ExecutedMigrationsResolver())
84
83
  .addService('schemaVersionBuilder', ({ executedMigrationsResolver, schemaMigrator }) =>
85
84
  new SchemaVersionBuilder(executedMigrationsResolver, schemaMigrator))
86
- .addService('providers', () =>
87
- container.providers)
88
85
  .addService('accessEvaluator', ({}) =>
89
86
  new AccessEvaluator.PermissionEvaluator(new PermissionsFactory().create()))
90
87
  .addService('authorizator', ({ accessEvaluator }): Authorizator =>
91
88
  new Authorizator.Default(accessEvaluator))
92
89
  .addService('schemaDiffer', ({ schemaMigrator }) =>
93
90
  new SchemaDiffer(schemaMigrator))
94
- .addService('migrationExecutor', ({ modificationHandlerFactory }) =>
95
- new MigrationExecutor(modificationHandlerFactory))
96
91
  .addService('migrationDescriber', ({ modificationHandlerFactory }) =>
97
92
  new MigrationDescriber(modificationHandlerFactory))
98
93
  .addService('projectMigrator', ({ migrationDescriber, schemaVersionBuilder, executedMigrationsResolver }) =>
@@ -115,6 +110,8 @@ export class SystemContainerFactory {
115
110
  new TruncateMutationResolver(projectTruncateExecutor))
116
111
  .addService('migrationAlterMutationResolver', ({ migrationAlterer }) =>
117
112
  new MigrationAlterMutationResolver(migrationAlterer))
113
+ .addService('projectInitializer', ({ projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder }) =>
114
+ new ProjectInitializer(projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder))
118
115
  .addService('eventsQueryResolver', ({ eventResponseBuilder }) =>
119
116
  new EventsQueryResolver(eventResponseBuilder))
120
117
  .addService('eventOldValuesResolver', () =>
@@ -122,9 +119,6 @@ export class SystemContainerFactory {
122
119
  .addService('systemResolversFactory', ({ stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver }) =>
123
120
  new ResolverFactory(stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver))
124
121
  .addService('resolverContextFactory', ({ authorizator, schemaVersionBuilder }) =>
125
- new ResolverContextFactory(authorizator, schemaVersionBuilder))
126
- .addService('projectInitializer', ({ projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder }) =>
127
- new ProjectInitializer(projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder),
128
- )
122
+ new SystemResolverContextFactory(authorizator, schemaVersionBuilder))
129
123
  }
130
124
  }
package/src/index.ts CHANGED
@@ -17,6 +17,7 @@ export {
17
17
  ProjectMigrator,
18
18
  StageCreator,
19
19
  getJunctionTables,
20
+ Stage,
20
21
  } from './model'
21
22
  export * from './SystemContainer'
22
23
  export * from './resolvers'
@@ -2,27 +2,27 @@ CREATE DOMAIN "event_type" AS TEXT CHECK (
2
2
  VALUE IN ('init', 'create', 'update', 'delete', 'run_migration')
3
3
  );
4
4
 
5
- CREATE TABLE "system"."event" (
5
+ CREATE TABLE "event" (
6
6
  "id" uuid PRIMARY KEY NOT NULL,
7
7
  "type" event_type NOT NULL,
8
8
  "data" jsonb NOT NULL,
9
- "previous_id" uuid DEFAULT NULL REFERENCES "system"."event"("id") ON DELETE RESTRICT,
9
+ "previous_id" uuid DEFAULT NULL REFERENCES "event"("id") ON DELETE RESTRICT,
10
10
  "created_at" timestamp NOT NULL DEFAULT now(),
11
11
  "identity_id" uuid NOT NULL DEFAULT current_setting('tenant.identity_id')::uuid,
12
12
  CONSTRAINT "previous_id_not_null" CHECK ("previous_id" IS NOT NULL OR "type" = 'init'),
13
13
  CONSTRAINT "unique_init" EXCLUDE ("type" WITH =) WHERE ("type" = 'init')
14
14
  );
15
- CREATE INDEX "system_event_type" ON "system"."event" USING HASH ("type"); -- TODO: Does this make sense?
16
- CREATE INDEX "system_event_previous_id" ON "system"."event"("previous_id");
17
- CREATE INDEX "system_event_data_table_name" ON "system"."event"(("data"->>'tableName'))
15
+ CREATE INDEX "system_event_type" ON "event" USING HASH ("type"); -- TODO: Does this make sense?
16
+ CREATE INDEX "system_event_previous_id" ON "event"("previous_id");
17
+ CREATE INDEX "system_event_data_table_name" ON "event"(("data"->>'tableName'))
18
18
  WHERE "type" IN ('create', 'update', 'delete');
19
- CREATE INDEX "system_event_data_row_id" ON "system"."event"(("data"->>'rowId'))
19
+ CREATE INDEX "system_event_data_row_id" ON "event"(("data"->>'rowId'))
20
20
  WHERE "type" IN ('create', 'update', 'delete');
21
21
 
22
- CREATE TABLE "system"."stage" (
22
+ CREATE TABLE "stage" (
23
23
  "id" uuid PRIMARY KEY NOT NULL,
24
24
  "name" text NOT NULL,
25
25
  "slug" text NOT NULL UNIQUE,
26
- "event_id" uuid NOT NULL REFERENCES "system"."event"("id") ON DELETE RESTRICT
26
+ "event_id" uuid NOT NULL REFERENCES "event"("id") ON DELETE RESTRICT
27
27
  );
28
- CREATE INDEX "system_stage_event_id" ON "system"."stage"("event_id");
28
+ CREATE INDEX "system_stage_event_id" ON "stage"("event_id");
@@ -5,9 +5,9 @@ $BLOCK$
5
5
  SELECT
6
6
  FROM pg_proc
7
7
  JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid
8
- WHERE pg_namespace.nspname = 'system' AND pg_proc.proname = 'uuid_generate_v4'
8
+ WHERE pg_namespace.nspname in(current_schema(), 'pg_catalog') AND pg_proc.proname = 'uuid_generate_v4'
9
9
  ) THEN
10
- CREATE FUNCTION "system"."uuid_generate_v4"() RETURNS UUID
10
+ CREATE FUNCTION "uuid_generate_v4"() RETURNS UUID
11
11
  AS
12
12
  $$
13
13
  SELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING
@@ -18,7 +18,7 @@ $BLOCK$
18
18
  $BLOCK$;
19
19
 
20
20
 
21
- CREATE FUNCTION "system"."make_diff"(old jsonb, new jsonb) RETURNS jsonb AS $$
21
+ CREATE FUNCTION "make_diff"(old jsonb, new jsonb) RETURNS jsonb AS $$
22
22
 
23
23
  DECLARE col record;
24
24
  DECLARE diff jsonb := '{}'::jsonb;
@@ -36,9 +36,9 @@ CREATE FUNCTION "system"."make_diff"(old jsonb, new jsonb) RETURNS jsonb AS $$
36
36
  $$ LANGUAGE plpgsql;
37
37
 
38
38
 
39
- CREATE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS $$
39
+ CREATE FUNCTION "trigger_event"() RETURNS TRIGGER AS $$
40
40
 
41
- DECLARE new_event_id uuid := system.uuid_generate_v4();
41
+ DECLARE new_event_id uuid := uuid_generate_v4();
42
42
  DECLARE new_event_type text;
43
43
  DECLARE new_event_data jsonb;
44
44
  DECLARE current_stage record;
@@ -58,7 +58,7 @@ CREATE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS $$
58
58
  new_event_data := jsonb_build_object(
59
59
  'tableName', TG_TABLE_NAME,
60
60
  'rowId', OLD.id::text,
61
- 'values', "system"."make_diff"(to_jsonb(OLD), to_jsonb(NEW))
61
+ 'values', "make_diff"(to_jsonb(OLD), to_jsonb(NEW))
62
62
  );
63
63
 
64
64
  WHEN 'DELETE' THEN
@@ -72,15 +72,15 @@ CREATE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS $$
72
72
  RAISE EXCEPTION 'Unknown TG_OP value %', TG_OP;
73
73
  END CASE;
74
74
 
75
- SELECT "id", "event_id" FROM "system"."stage"
75
+ SELECT "id", "event_id" FROM "stage"
76
76
  WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
77
77
  FOR NO KEY UPDATE
78
78
  INTO current_stage;
79
79
 
80
- INSERT INTO "system"."event" ("id", "type", "data", "previous_id")
80
+ INSERT INTO "event" ("id", "type", "data", "previous_id")
81
81
  VALUES (new_event_id, new_event_type, new_event_data, current_stage.event_id);
82
82
 
83
- UPDATE "system"."stage"
83
+ UPDATE "stage"
84
84
  SET "event_id" = new_event_id
85
85
  WHERE "id" = current_stage.id;
86
86
 
@@ -1,8 +1,8 @@
1
- ALTER TABLE "system"."event"
1
+ ALTER TABLE "event"
2
2
  ADD COLUMN transaction_id uuid DEFAULT NULL;
3
- UPDATE "system"."event"
4
- SET transaction_id = "system".uuid_generate_v4();
3
+ UPDATE "event"
4
+ SET transaction_id = uuid_generate_v4();
5
5
 
6
- ALTER TABLE "system"."event"
6
+ ALTER TABLE "event"
7
7
  ALTER "transaction_id" SET DEFAULT current_setting('system.transaction_id')::uuid,
8
8
  ALTER "transaction_id" SET NOT NULL;
@@ -8,22 +8,22 @@ $$
8
8
 
9
9
  WITH RECURSIVE events(id, type, data, previous_id, created_at, identity_id, transaction_id, index) AS (
10
10
  SELECT event.id, event.type, event.data, event.previous_id, event.created_at, event.identity_id, event.transaction_id, 0
11
- FROM system.event
11
+ FROM event
12
12
  WHERE event.id = head AND event.id <> oldBase
13
13
  UNION
14
14
  SELECT event.id, event.type, event.data, event.previous_id, event.created_at, event.identity_id, event.transaction_id, index + 1
15
- FROM system.event, events
15
+ FROM event, events
16
16
  WHERE event.id = events.previous_id AND events.previous_id <> oldBase
17
17
  ),
18
18
  filtered_with_ids AS (
19
19
  SELECT event.id, event.type, event.data, event.previous_id, event.created_at, event.identity_id, event.transaction_id, 0, event.id AS new_id,
20
20
  NULL AS new_trx_id, 0 AS number
21
- FROM system.event
21
+ FROM event
22
22
  WHERE id = newBase
23
23
  UNION
24
24
  SELECT *,
25
- system.uuid_generate_v4() AS new_id,
26
- system.uuid_generate_v4() AS new_trx_id,
25
+ uuid_generate_v4() AS new_id,
26
+ uuid_generate_v4() AS new_trx_id,
27
27
  row_number() OVER (ORDER BY events.index DESC) AS number
28
28
  FROM events
29
29
  WHERE NOT (id = ANY (appliedEvents))
@@ -36,7 +36,7 @@ WITH RECURSIVE events(id, type, data, previous_id, created_at, identity_id, tran
36
36
  ),
37
37
  insert AS (
38
38
  INSERT
39
- INTO system.event(id, type, data, previous_id, created_at, identity_id, transaction_id)
39
+ INTO event(id, type, data, previous_id, created_at, identity_id, transaction_id)
40
40
  SELECT new_id, type, data, new_previous_id, created_at, identity_id, new_trx_id2
41
41
  FROM with_ids_by_window
42
42
  WHERE with_ids_by_window.number > 0 RETURNING *
@@ -1,3 +1,3 @@
1
- UPDATE system.event
1
+ UPDATE event
2
2
  SET data = jsonb_build_object('version', coalesce(substring(data ->> 'file', 0, 17), data ->> 'version'))
3
3
  WHERE type = 'run_migration';
@@ -1,6 +1,6 @@
1
- CREATE OR REPLACE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS $$
1
+ CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS $$
2
2
 
3
- DECLARE new_event_id uuid := system.uuid_generate_v4();
3
+ DECLARE new_event_id uuid := uuid_generate_v4();
4
4
  DECLARE new_event_type text;
5
5
  DECLARE new_event_data jsonb;
6
6
  DECLARE current_stage record;
@@ -17,7 +17,7 @@ CREATE OR REPLACE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS $$
17
17
  );
18
18
 
19
19
  WHEN 'UPDATE' THEN
20
- update_diff := "system"."make_diff"(to_jsonb(OLD), to_jsonb(NEW));
20
+ update_diff := "make_diff"(to_jsonb(OLD), to_jsonb(NEW));
21
21
  IF (SELECT count(*) FROM jsonb_object_keys(update_diff)) = 0 THEN
22
22
  RETURN NULL;
23
23
  END IF;
@@ -39,15 +39,15 @@ CREATE OR REPLACE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS $$
39
39
  RAISE EXCEPTION 'Unknown TG_OP value %', TG_OP;
40
40
  END CASE;
41
41
 
42
- SELECT "id", "event_id" FROM "system"."stage"
42
+ SELECT "id", "event_id" FROM "stage"
43
43
  WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
44
44
  FOR NO KEY UPDATE
45
45
  INTO current_stage;
46
46
 
47
- INSERT INTO "system"."event" ("id", "type", "data", "previous_id")
47
+ INSERT INTO "event" ("id", "type", "data", "previous_id")
48
48
  VALUES (new_event_id, new_event_type, new_event_data, current_stage.event_id);
49
49
 
50
- UPDATE "system"."stage"
50
+ UPDATE "stage"
51
51
  SET "event_id" = new_event_id
52
52
  WHERE "id" = current_stage.id;
53
53
 
@@ -1,4 +1,4 @@
1
- ALTER TABLE "system"."event"
1
+ ALTER TABLE "event"
2
2
  ALTER COLUMN "identity_id" SET DEFAULT
3
3
  coalesce(
4
4
  current_setting('tenant.identity_id', true)::uuid,
@@ -8,5 +8,5 @@ ALTER TABLE "system"."event"
8
8
  ALTER COLUMN "transaction_id" SET DEFAULT
9
9
  coalesce(
10
10
  nullif(current_setting('system.transaction_id', true), '')::uuid,
11
- set_config('system.transaction_id', "system".uuid_generate_v4()::text, true)::uuid
11
+ set_config('system.transaction_id', uuid_generate_v4()::text, true)::uuid
12
12
  );
@@ -1,11 +1,10 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
- import { MigrationArgs } from '../'
2
+ import { SystemMigrationArgs } from './types'
3
3
 
4
- export default async function (builder: MigrationBuilder, args: MigrationArgs) {
4
+ export default async function (builder: MigrationBuilder, args: SystemMigrationArgs) {
5
5
  builder.createTable(
6
6
  {
7
7
  name: 'schema_migration',
8
- schema: 'system',
9
8
  },
10
9
  {
11
10
  id: { notNull: true, type: 'SERIAL4' },
@@ -16,7 +15,7 @@ export default async function (builder: MigrationBuilder, args: MigrationArgs) {
16
15
  executed_at: { notNull: true, type: 'timestamp', default: 'now()' },
17
16
  },
18
17
  )
19
- builder.createIndex({ name: 'schema_migration', schema: 'system' }, ['version'], {
18
+ builder.createIndex({ name: 'schema_migration' }, ['version'], {
20
19
  name: 'system_schema_migration_version',
21
20
  })
22
21
  }
@@ -1,5 +1,6 @@
1
1
  import { escapeValue, MigrationBuilder, Name } from '@contember/database-migrations'
2
- import { formatSchemaName, getJunctionTables, MigrationArgs } from '..'
2
+ import { SystemMigrationArgs } from './types'
3
+ import { getJunctionTables } from '../model'
3
4
 
4
5
  const createEventTrigger = (builder: MigrationBuilder, tableName: Name, primaryColumns: string[]) => {
5
6
  builder.createTrigger(tableName, 'log_event', {
@@ -19,13 +20,13 @@ const migrateEvents = (builder: MigrationBuilder, tableName: string, primaryKeys
19
20
  WITH RECURSIVE
20
21
  recent_events(id, type, previous_id, data, created_at, stage) AS (
21
22
  SELECT event.id, type, previous_id, data, created_at, stage.slug
22
- FROM system.event
23
- JOIN system.stage ON stage.event_id = event.id
23
+ FROM event
24
+ JOIN stage ON stage.event_id = event.id
24
25
 
25
26
  UNION ALL
26
27
 
27
28
  SELECT event.id, event.type, event.previous_id, event.data, event.created_at, recent_events.stage
28
- FROM system.event, recent_events
29
+ FROM event, recent_events
29
30
  WHERE event.id = recent_events.previous_id
30
31
  ),
31
32
  affected_events AS (
@@ -55,10 +56,10 @@ const migrateEvents = (builder: MigrationBuilder, tableName: string, primaryKeys
55
56
  `)
56
57
  }
57
58
 
58
- export default async function (builder: MigrationBuilder, args: MigrationArgs) {
59
+ export default async function (builder: MigrationBuilder, args: SystemMigrationArgs) {
59
60
  const schema = await args.schemaResolver()
60
61
  const tablesToMigrate = getJunctionTables(schema.model)
61
- const schemas = args.project.stages.map(formatSchemaName)
62
+ const schemas = args.project.stages.map(it => `stage_${it.slug}`)
62
63
  for (const table of tablesToMigrate) {
63
64
  const primaryColumns: [string, string] = [table.joiningColumn.columnName, table.inverseJoiningColumn.columnName]
64
65
  for (const schema of schemas) {
@@ -82,15 +83,15 @@ export default async function (builder: MigrationBuilder, args: MigrationArgs) {
82
83
  }
83
84
  }
84
85
  builder.sql(`
85
- UPDATE system.event
86
+ UPDATE event
86
87
  SET data = data || jsonb_build_object('rowId', json_build_array(data ->> 'rowId'))
87
88
  WHERE jsonb_typeof(data -> 'rowId') = 'string'
88
89
  `)
89
- builder.sql(`CREATE OR REPLACE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS
90
+ builder.sql(`CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS
90
91
  $$
91
92
 
92
93
  DECLARE
93
- new_event_id UUID := system.uuid_generate_v4();
94
+ new_event_id UUID := uuid_generate_v4();
94
95
  DECLARE new_event_type TEXT;
95
96
  DECLARE new_event_data JSONB;
96
97
  DECLARE current_stage RECORD;
@@ -150,15 +151,15 @@ BEGIN
150
151
  END CASE;
151
152
 
152
153
  SELECT "id", "event_id"
153
- FROM "system"."stage"
154
+ FROM "stage"
154
155
  WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
155
156
  FOR NO KEY UPDATE
156
157
  INTO current_stage;
157
158
 
158
- INSERT INTO "system"."event" ("id", "type", "data", "previous_id")
159
+ INSERT INTO "event" ("id", "type", "data", "previous_id")
159
160
  VALUES (new_event_id, new_event_type, new_event_data, current_stage.event_id);
160
161
 
161
- UPDATE "system"."stage"
162
+ UPDATE "stage"
162
163
  SET "event_id" = new_event_id
163
164
  WHERE "id" = current_stage.id;
164
165
 
@@ -169,7 +170,6 @@ $$ LANGUAGE plpgsql;
169
170
  `)
170
171
  builder.dropFunction(
171
172
  {
172
- schema: 'system',
173
173
  name: 'make_diff',
174
174
  },
175
175
  [
@@ -1,5 +1,6 @@
1
1
  import { MigrationBuilder, Name } from '@contember/database-migrations'
2
- import { formatSchemaName, getJunctionTables, MigrationArgs } from '..'
2
+ import { SystemMigrationArgs } from './types'
3
+ import { getJunctionTables } from '../model'
3
4
 
4
5
  const createEventStatementTrigger = (builder: MigrationBuilder, tableName: Name) => {
5
6
  builder.createTrigger(tableName, 'log_event_statement', {
@@ -13,11 +14,11 @@ const createEventStatementTrigger = (builder: MigrationBuilder, tableName: Name)
13
14
  })
14
15
  }
15
16
 
16
- export default async function (builder: MigrationBuilder, args: MigrationArgs) {
17
+ export default async function (builder: MigrationBuilder, args: SystemMigrationArgs) {
17
18
  const schema = await args.schemaResolver()
18
19
  const junctionTables = getJunctionTables(schema.model)
19
- const schemas = args.project.stages.map(formatSchemaName)
20
- builder.sql(`CREATE OR REPLACE FUNCTION "system"."trigger_event"() RETURNS TRIGGER AS $$
20
+ const schemas = args.project.stages.map(it => `stage_${it.slug}`)
21
+ builder.sql(`CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS $$
21
22
  DECLARE
22
23
  DECLARE new_event_type TEXT;
23
24
  DECLARE previous_id UUID;
@@ -79,26 +80,26 @@ BEGIN
79
80
  END CASE;
80
81
  CASE WHEN NULLIF(current_setting('system.current_stage_id' || TG_TABLE_SCHEMA, TRUE), '') IS NULL THEN
81
82
  PERFORM set_config('system.current_stage_id' || TG_TABLE_SCHEMA, "id"::TEXT, TRUE), set_config('system.current_stage_event' || TG_TABLE_SCHEMA, "event_id"::TEXT, TRUE)
82
- FROM "system"."stage"
83
+ FROM "stage"
83
84
  WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
84
85
  FOR NO KEY UPDATE;
85
86
  ELSE
86
87
  -- do nothing
87
88
  END CASE;
88
89
  previous_id := current_setting('system.current_stage_event' || TG_TABLE_SCHEMA)::UUID;
89
- INSERT INTO "system"."event" ("id", "type", "data", "previous_id")
90
+ INSERT INTO "event" ("id", "type", "data", "previous_id")
90
91
  VALUES (set_config('system.current_stage_event' || TG_TABLE_SCHEMA, system.uuid_generate_v4()::TEXT, TRUE)::UUID, new_event_type, new_event_data, previous_id);
91
92
 
92
93
  RETURN NULL;
93
94
  END;
94
95
 
95
96
  $$ LANGUAGE plpgsql`)
96
- builder.sql(`CREATE OR REPLACE FUNCTION "system"."statement_trigger_event"() RETURNS TRIGGER AS
97
+ builder.sql(`CREATE OR REPLACE FUNCTION "statement_trigger_event"() RETURNS TRIGGER AS
97
98
  $$
98
99
  BEGIN
99
100
  CASE
100
101
  WHEN NULLIF(current_setting('system.current_stage_id' || TG_TABLE_SCHEMA, TRUE), '') IS NOT NULL THEN
101
- UPDATE system.stage SET event_id = current_setting('system.current_stage_event' || TG_TABLE_SCHEMA)::UUID WHERE id = current_setting('system.current_stage_id' || TG_TABLE_SCHEMA)::UUID;
102
+ UPDATE stage SET event_id = current_setting('system.current_stage_event' || TG_TABLE_SCHEMA)::UUID WHERE id = current_setting('system.current_stage_id' || TG_TABLE_SCHEMA)::UUID;
102
103
  ELSE
103
104
  -- do nothing
104
105
  END CASE;
@@ -1,6 +1,6 @@
1
- ALTER TABLE "system"."schema_migration"
1
+ ALTER TABLE "schema_migration"
2
2
  ALTER "executed_at" TYPE TIMESTAMPTZ,
3
3
  ALTER "executed_at" SET DEFAULT now();
4
4
 
5
- ALTER TABLE "system"."event"
5
+ ALTER TABLE "event"
6
6
  ALTER "created_at" TYPE TIMESTAMPTZ;