@contember/engine-system-api 1.2.1 → 1.3.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/SystemContainer.d.ts +1 -12
- package/dist/src/SystemContainer.d.ts.map +1 -1
- package/dist/src/SystemContainer.js +1 -6
- package/dist/src/SystemContainer.js.map +1 -1
- package/dist/src/bin/runMigrations.d.ts +2 -0
- package/dist/src/bin/runMigrations.d.ts.map +1 -0
- package/dist/src/bin/runMigrations.js +31 -0
- package/dist/src/bin/runMigrations.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/2018-08-04-102200-init.d.ts +3 -0
- package/dist/src/migrations/2018-08-04-102200-init.d.ts.map +1 -0
- package/dist/src/migrations/2018-08-04-102200-init.js +37 -0
- package/dist/src/migrations/2018-08-04-102200-init.js.map +1 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.d.ts +3 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.d.ts.map +1 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.js +99 -0
- package/dist/src/migrations/2018-08-05-130501-trigger-event-function.js.map +1 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.d.ts +3 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.d.ts.map +1 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.js +17 -0
- package/dist/src/migrations/2019-01-14-143432-event-trx-id.js.map +1 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.d.ts +3 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.d.ts.map +1 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.js +59 -0
- package/dist/src/migrations/2019-02-04-154500-event-rebase.js.map +1 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.d.ts +3 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.d.ts.map +1 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.js +12 -0
- package/dist/src/migrations/2019-03-18-104147-event-run-migration-struct.js.map +1 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts +3 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.d.ts.map +1 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.js +66 -0
- package/dist/src/migrations/2019-07-29-103000-trigger-event-function-fix.js.map +1 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.d.ts +3 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.d.ts.map +1 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.js +21 -0
- package/dist/src/migrations/2019-11-28-100000-missing-setting-fallback.js.map +1 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.d.ts +3 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.d.ts.map +1 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.js +15 -0
- package/dist/src/migrations/2021-03-23-110000-timestamp-fix.js.map +1 -0
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.js +2 -2
- package/dist/src/migrations/2021-12-21-155500-events-up.d.ts +3 -0
- package/dist/src/migrations/2021-12-21-155500-events-up.d.ts.map +1 -0
- package/dist/src/migrations/2021-12-21-155500-events-up.js +15 -0
- package/dist/src/migrations/2021-12-21-155500-events-up.js.map +1 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.d.ts +3 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.js +16 -0
- package/dist/src/migrations/2022-02-08-132600-fn-search-path.js.map +1 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.d.ts +3 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.js +11 -0
- package/dist/src/migrations/2022-02-08-140500-drop-deadcode.js.map +1 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts +3 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.d.ts.map +1 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.js +50 -0
- package/dist/src/migrations/2022-02-08-144400-dynamic-stage-schema.js.map +1 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.d.ts +4 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.d.ts.map +1 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.js +56 -0
- package/dist/src/migrations/2022-10-03-110000-table-on-delete.js.map +1 -0
- package/dist/src/migrations/runner.d.ts +16 -3
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +64 -10
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/migrations/snapshot-factory.d.ts +6 -0
- package/dist/src/migrations/snapshot-factory.d.ts.map +1 -0
- package/dist/src/migrations/snapshot-factory.js +46 -0
- package/dist/src/migrations/snapshot-factory.js.map +1 -0
- package/dist/src/migrations/snapshot.d.ts +3 -0
- package/dist/src/migrations/snapshot.d.ts.map +1 -0
- package/dist/src/migrations/snapshot.js +172 -0
- package/dist/src/migrations/snapshot.js.map +1 -0
- package/dist/src/model/ProjectInitializer.d.ts +6 -10
- package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.js +11 -29
- package/dist/src/model/ProjectInitializer.js.map +1 -1
- package/dist/src/model/database/DatabaseContext.d.ts +5 -4
- package/dist/src/model/database/DatabaseContext.d.ts.map +1 -1
- package/dist/src/model/database/DatabaseContext.js +7 -7
- package/dist/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/src/model/dtos/ExecutedMigration.d.ts +2 -1
- package/dist/src/model/dtos/ExecutedMigration.d.ts.map +1 -1
- package/dist/src/model/dtos/ExecutedMigration.js +2 -1
- package/dist/src/model/dtos/ExecutedMigration.js.map +1 -1
- package/dist/src/model/events/EventResponseBuilder.d.ts +2 -2
- package/dist/src/model/events/EventResponseBuilder.d.ts.map +1 -1
- package/dist/src/model/events/EventResponseBuilder.js +10 -10
- package/dist/src/model/events/EventResponseBuilder.js.map +1 -1
- package/dist/src/model/events/EventResponseHelper.d.ts +1 -1
- package/dist/src/model/events/EventResponseHelper.d.ts.map +1 -1
- package/dist/src/model/events/index.d.ts +1 -0
- package/dist/src/model/events/index.d.ts.map +1 -1
- package/dist/src/model/events/index.js +1 -0
- package/dist/src/model/events/index.js.map +1 -1
- package/dist/src/model/events/types.d.ts +56 -0
- package/dist/src/model/events/types.d.ts.map +1 -0
- package/dist/src/model/events/types.js +51 -0
- package/dist/src/model/events/types.js.map +1 -0
- package/dist/src/model/helpers/index.d.ts +0 -1
- package/dist/src/model/helpers/index.d.ts.map +1 -1
- package/dist/src/model/helpers/index.js +0 -1
- package/dist/src/model/helpers/index.js.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.d.ts +18 -0
- package/dist/src/model/migrations/SchemaVersionBuilder.d.ts.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.js +5 -4
- package/dist/src/model/migrations/SchemaVersionBuilder.js.map +1 -1
- package/dist/src/model/queries/events/EventQueryHelpers.d.ts +2 -2
- package/dist/src/model/queries/events/EventQueryHelpers.d.ts.map +1 -1
- package/dist/src/model/queries/events/EventQueryHelpers.js +7 -7
- package/dist/src/model/queries/events/EventQueryHelpers.js.map +1 -1
- package/dist/src/model/queries/events/EventsQuery.d.ts +2 -2
- package/dist/src/model/queries/events/EventsQuery.d.ts.map +1 -1
- package/dist/src/model/queries/events/EventsQuery.js.map +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts +1 -0
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts.map +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js +2 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.d.ts +2 -0
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.d.ts.map +1 -0
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js +40 -0
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -14
- package/src/SystemContainer.ts +0 -15
- package/src/bin/runMigrations.ts +35 -0
- package/src/index.ts +0 -2
- package/src/migrations/{2018-08-04-102200-init.sql → 2018-08-04-102200-init.ts} +8 -0
- package/src/migrations/{2018-08-05-130501-trigger-event-function.sql → 2018-08-05-130501-trigger-event-function.ts} +8 -0
- package/src/migrations/{2019-01-14-143432-event-trx-id.sql → 2019-01-14-143432-event-trx-id.ts} +8 -0
- package/src/migrations/{2019-02-04-154500-event-rebase.sql → 2019-02-04-154500-event-rebase.ts} +9 -0
- package/src/migrations/2019-03-18-104147-event-run-migration-struct.ts +11 -0
- package/src/migrations/{2019-07-29-103000-trigger-event-function-fix.sql → 2019-07-29-103000-trigger-event-function-fix.ts} +8 -0
- package/src/migrations/{2019-11-28-100000-missing-setting-fallback.sql → 2019-11-28-100000-missing-setting-fallback.ts} +8 -0
- package/src/migrations/{2021-03-23-110000-timestamp-fix.sql → 2021-03-23-110000-timestamp-fix.ts} +8 -0
- package/src/migrations/2021-05-07-155800-event-log-rework.ts +2 -2
- package/src/migrations/{2021-12-21-155500-events-up.sql → 2021-12-21-155500-events-up.ts} +8 -0
- package/src/migrations/{2022-02-08-132600-fn-search-path.sql → 2022-02-08-132600-fn-search-path.ts} +8 -0
- package/src/migrations/2022-02-08-140500-drop-deadcode.ts +10 -0
- package/src/migrations/{2022-02-08-144400-dynamic-stage-schema.sql → 2022-02-08-144400-dynamic-stage-schema.ts} +8 -0
- package/src/migrations/2022-10-03-110000-table-on-delete.ts +66 -0
- package/src/migrations/runner.ts +79 -15
- package/src/migrations/snapshot-factory.ts +45 -0
- package/src/migrations/snapshot-template-end.txt +1 -0
- package/src/migrations/snapshot-template-start.txt +2 -0
- package/src/migrations/snapshot.ts +169 -0
- package/src/model/ProjectInitializer.ts +15 -50
- package/src/model/database/DatabaseContext.ts +12 -8
- package/src/model/dtos/ExecutedMigration.ts +1 -0
- package/src/model/events/EventResponseBuilder.ts +3 -3
- package/src/model/events/EventResponseHelper.ts +1 -1
- package/src/model/events/index.ts +1 -0
- package/src/model/events/types.ts +63 -0
- package/src/model/helpers/index.ts +0 -1
- package/src/model/migrations/ProjectMigrator.ts +1 -1
- package/src/model/migrations/SchemaVersionBuilder.ts +3 -2
- package/src/model/queries/events/EventQueryHelpers.ts +2 -2
- package/src/model/queries/events/EventsQuery.ts +2 -2
- package/src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts +3 -1
- package/src/tsconfig.json +10 -33
- package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +42 -0
- package/tests/tsconfig.json +2 -6
- package/tsconfig.json +2 -6
- package/dist/src/model/helpers/SystemVariablesSetupHelper.d.ts +0 -5
- package/dist/src/model/helpers/SystemVariablesSetupHelper.d.ts.map +0 -1
- package/dist/src/model/helpers/SystemVariablesSetupHelper.js +0 -15
- package/dist/src/model/helpers/SystemVariablesSetupHelper.js.map +0 -1
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.d.ts +0 -2
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.js +0 -26
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.js.map +0 -1
- package/src/migrations/2019-03-18-104147-event-run-migration-struct.sql +0 -3
- package/src/migrations/2022-02-08-140500-drop-deadcode.sql +0 -2
- package/src/model/helpers/SystemVariablesSetupHelper.ts +0 -14
- package/tests/cases/integration/systemApi/projectInitializer.test.ts +0 -31
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import { AccessEvaluator, Authorizator } from '@contember/authorization';
|
|
2
2
|
import { Builder, Container } from '@contember/dic';
|
|
3
3
|
import { MigrationDescriber, ModificationHandlerFactory, SchemaDiffer, SchemaMigrator } from '@contember/schema-migrations';
|
|
4
|
-
import {
|
|
5
|
-
import { Connection } from '@contember/database';
|
|
6
|
-
import { EventResponseBuilder, ExecutedMigrationsResolver, IdentityFetcher, MigrationAlterer, ProjectInitializer, ProjectMigrator, ProjectTruncateExecutor, SchemaVersionBuilder, StageCreator } from './model';
|
|
4
|
+
import { EventResponseBuilder, ExecutedMigrationsResolver, IdentityFetcher, MigrationAlterer, ProjectMigrator, ProjectTruncateExecutor, SchemaVersionBuilder } from './model';
|
|
7
5
|
import { UuidProvider } from './utils';
|
|
8
6
|
import { EventsQueryResolver, ExecutedMigrationsQueryResolver, MigrateMutationResolver, MigrationAlterMutationResolver, ResolverFactory, StagesQueryResolver, SystemResolverContextFactory, TruncateMutationResolver } from './resolvers';
|
|
9
|
-
import { SystemMigrationArgs } from './migrations';
|
|
10
7
|
import { EventOldValuesResolver } from './resolvers/types';
|
|
11
8
|
export interface SystemContainer {
|
|
12
9
|
systemResolversFactory: ResolverFactory;
|
|
13
10
|
authorizator: Authorizator;
|
|
14
11
|
resolverContextFactory: SystemResolverContextFactory;
|
|
15
12
|
schemaVersionBuilder: SchemaVersionBuilder;
|
|
16
|
-
projectInitializer: ProjectInitializer;
|
|
17
13
|
}
|
|
18
|
-
export declare type SystemDbMigrationsRunnerFactory = (db: Connection.ConnectionLike, schema: string) => MigrationsRunner<SystemMigrationArgs>;
|
|
19
14
|
declare type Args = {
|
|
20
15
|
identityFetcher: IdentityFetcher;
|
|
21
16
|
};
|
|
@@ -30,8 +25,6 @@ export declare class SystemContainerFactory {
|
|
|
30
25
|
modificationHandlerFactory: ModificationHandlerFactory;
|
|
31
26
|
} & {
|
|
32
27
|
identityFetcher: IdentityFetcher;
|
|
33
|
-
} & {
|
|
34
|
-
systemDbMigrationsRunnerFactory: SystemDbMigrationsRunnerFactory;
|
|
35
28
|
} & {
|
|
36
29
|
schemaMigrator: SchemaMigrator;
|
|
37
30
|
} & {
|
|
@@ -48,8 +41,6 @@ export declare class SystemContainerFactory {
|
|
|
48
41
|
migrationDescriber: MigrationDescriber;
|
|
49
42
|
} & {
|
|
50
43
|
projectMigrator: ProjectMigrator;
|
|
51
|
-
} & {
|
|
52
|
-
stageCreator: StageCreator;
|
|
53
44
|
} & {
|
|
54
45
|
projectTruncateExecutor: ProjectTruncateExecutor;
|
|
55
46
|
} & {
|
|
@@ -66,8 +57,6 @@ export declare class SystemContainerFactory {
|
|
|
66
57
|
truncateMutationResolver: TruncateMutationResolver;
|
|
67
58
|
} & {
|
|
68
59
|
migrationAlterMutationResolver: MigrationAlterMutationResolver;
|
|
69
|
-
} & {
|
|
70
|
-
projectInitializer: ProjectInitializer;
|
|
71
60
|
} & {
|
|
72
61
|
eventsQueryResolver: EventsQueryResolver;
|
|
73
62
|
} & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemContainer.d.ts","sourceRoot":"","sources":["../../src/SystemContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EACN,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACd,MAAM,8BAA8B,CAAA;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"SystemContainer.d.ts","sourceRoot":"","sources":["../../src/SystemContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EACN,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACd,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAEhB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EACN,mBAAmB,EACnB,+BAA+B,EAC/B,uBAAuB,EACvB,8BAA8B,EAC9B,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,wBAAwB,EACxB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,WAAW,eAAe;IAC/B,sBAAsB,EAAE,eAAe,CAAA;IACvC,YAAY,EAAE,YAAY,CAAA;IAC1B,sBAAsB,EAAE,4BAA4B,CAAA;IACpD,oBAAoB,EAAE,oBAAoB,CAAA;CAC1C;AAED,aAAK,IAAI,GAAG;IACX,eAAe,EAAE,eAAe,CAAA;CAChC,CAAA;AAED,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAD1B,SAAS,EAAE,YAAY,EACvB,0BAA0B,EAAE,0BAA0B;IAIjE,MAAM,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC;IAUnD,aAAa,CAAC,EAAE,eAAe,EAAE,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiD9C"}
|
|
@@ -4,10 +4,8 @@ exports.SystemContainerFactory = void 0;
|
|
|
4
4
|
const authorization_1 = require("@contember/authorization");
|
|
5
5
|
const dic_1 = require("@contember/dic");
|
|
6
6
|
const schema_migrations_1 = require("@contember/schema-migrations");
|
|
7
|
-
const database_migrations_1 = require("@contember/database-migrations");
|
|
8
7
|
const model_1 = require("./model");
|
|
9
8
|
const resolvers_1 = require("./resolvers");
|
|
10
|
-
const migrations_1 = require("./migrations");
|
|
11
9
|
const types_1 = require("./resolvers/types");
|
|
12
10
|
class SystemContainerFactory {
|
|
13
11
|
constructor(providers, modificationHandlerFactory) {
|
|
@@ -17,14 +15,13 @@ class SystemContainerFactory {
|
|
|
17
15
|
create(container) {
|
|
18
16
|
return this.createBuilder(container)
|
|
19
17
|
.build()
|
|
20
|
-
.pick('systemResolversFactory', 'authorizator', 'resolverContextFactory', 'schemaVersionBuilder'
|
|
18
|
+
.pick('systemResolversFactory', 'authorizator', 'resolverContextFactory', 'schemaVersionBuilder');
|
|
21
19
|
}
|
|
22
20
|
createBuilder({ identityFetcher }) {
|
|
23
21
|
return new dic_1.Builder({})
|
|
24
22
|
.addService('providers', () => this.providers)
|
|
25
23
|
.addService('modificationHandlerFactory', () => this.modificationHandlerFactory)
|
|
26
24
|
.addService('identityFetcher', () => identityFetcher)
|
|
27
|
-
.addService('systemDbMigrationsRunnerFactory', () => (db, schema) => new database_migrations_1.MigrationsRunner(db, schema, migrations_1.getSystemMigrations))
|
|
28
25
|
.addService('schemaMigrator', ({ modificationHandlerFactory }) => new schema_migrations_1.SchemaMigrator(modificationHandlerFactory))
|
|
29
26
|
.addService('executedMigrationsResolver', ({}) => new model_1.ExecutedMigrationsResolver())
|
|
30
27
|
.addService('schemaVersionBuilder', ({ executedMigrationsResolver, schemaMigrator }) => new model_1.SchemaVersionBuilder(executedMigrationsResolver, schemaMigrator))
|
|
@@ -33,7 +30,6 @@ class SystemContainerFactory {
|
|
|
33
30
|
.addService('schemaDiffer', ({ schemaMigrator }) => new schema_migrations_1.SchemaDiffer(schemaMigrator))
|
|
34
31
|
.addService('migrationDescriber', ({ modificationHandlerFactory }) => new schema_migrations_1.MigrationDescriber(modificationHandlerFactory))
|
|
35
32
|
.addService('projectMigrator', ({ migrationDescriber, schemaVersionBuilder, executedMigrationsResolver }) => new model_1.ProjectMigrator(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver))
|
|
36
|
-
.addService('stageCreator', () => new model_1.StageCreator())
|
|
37
33
|
.addService('projectTruncateExecutor', () => new model_1.ProjectTruncateExecutor())
|
|
38
34
|
.addService('migrationAlterer', () => new model_1.MigrationAlterer())
|
|
39
35
|
.addService('eventResponseBuilder', ({ identityFetcher }) => new model_1.EventResponseBuilder(identityFetcher))
|
|
@@ -42,7 +38,6 @@ class SystemContainerFactory {
|
|
|
42
38
|
.addService('migrateMutationResolver', ({ projectMigrator }) => new resolvers_1.MigrateMutationResolver(projectMigrator))
|
|
43
39
|
.addService('truncateMutationResolver', ({ projectTruncateExecutor }) => new resolvers_1.TruncateMutationResolver(projectTruncateExecutor))
|
|
44
40
|
.addService('migrationAlterMutationResolver', ({ migrationAlterer }) => new resolvers_1.MigrationAlterMutationResolver(migrationAlterer))
|
|
45
|
-
.addService('projectInitializer', ({ projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder }) => new model_1.ProjectInitializer(projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder))
|
|
46
41
|
.addService('eventsQueryResolver', ({ eventResponseBuilder }) => new resolvers_1.EventsQueryResolver(eventResponseBuilder))
|
|
47
42
|
.addService('eventOldValuesResolver', () => new types_1.EventOldValuesResolver())
|
|
48
43
|
.addService('systemResolversFactory', ({ stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver }) => new resolvers_1.ResolverFactory(stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemContainer.js","sourceRoot":"","sources":["../../src/SystemContainer.ts"],"names":[],"mappings":";;;AAAA,4DAAwE;AACxE,wCAAmD;AACnD,oEAKqC;AACrC,
|
|
1
|
+
{"version":3,"file":"SystemContainer.js","sourceRoot":"","sources":["../../src/SystemContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runMigrations.d.ts","sourceRoot":"","sources":["../../../src/bin/runMigrations.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const migrations_1 = require("../migrations");
|
|
4
|
+
const model_1 = require("../model");
|
|
5
|
+
const database_1 = require("@contember/database");
|
|
6
|
+
const logger_1 = require("@contember/logger");
|
|
7
|
+
(async () => {
|
|
8
|
+
const dbConfig = {
|
|
9
|
+
database: process.env.PGDATABASE,
|
|
10
|
+
host: process.env.PGHOST,
|
|
11
|
+
password: process.env.PGPASSWORD,
|
|
12
|
+
user: process.env.PGUSER,
|
|
13
|
+
port: process.env.PGPORT ? Number(process.env.PGPORT) : 5432,
|
|
14
|
+
};
|
|
15
|
+
// eslint-disable-next-line no-console
|
|
16
|
+
const connection = database_1.Connection.createSingle(dbConfig, err => console.error(err));
|
|
17
|
+
const migrationsRunner = new migrations_1.SystemMigrationsRunner(new model_1.DatabaseContextFactory('system', connection, {
|
|
18
|
+
uuid: () => {
|
|
19
|
+
throw new Error();
|
|
20
|
+
},
|
|
21
|
+
}), { db: dbConfig, slug: 'test', stages: [] }, 'system', {
|
|
22
|
+
buildSchema: () => Promise.resolve(model_1.emptyVersionedSchema),
|
|
23
|
+
}, {});
|
|
24
|
+
// eslint-disable-next-line no-console
|
|
25
|
+
await migrationsRunner.run((0, logger_1.createLogger)(new logger_1.PrettyPrintLoggerHandler(process.stderr)));
|
|
26
|
+
})().catch(e => {
|
|
27
|
+
// eslint-disable-next-line no-console
|
|
28
|
+
console.error(e);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=runMigrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runMigrations.js","sourceRoot":"","sources":["../../../src/bin/runMigrations.ts"],"names":[],"mappings":";;AAAA,8CAAsD;AACtD,oCAA6F;AAC7F,kDAAgD;AAChD,8CAEC;AAAA,CAAC,KAAK,IAAI,EAAE;IACZ,MAAM,QAAQ,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAoB;QAC1C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAgB;QAClC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAoB;QAC1C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAgB;QAClC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;KAC5D,CAAA;IACD,sCAAsC;IACtC,MAAM,UAAU,GAAG,qBAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/E,MAAM,gBAAgB,GAAG,IAAI,mCAAsB,CAClD,IAAI,8BAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE;QAChD,IAAI,EAAE,GAAG,EAAE;YACV,MAAM,IAAI,KAAK,EAAE,CAAA;QAClB,CAAC;KACD,CAAC,EACF,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAC1C,QAAQ,EACR;QACC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,4BAAoB,CAAC;KACrB,EACpC,EAAE,CACF,CAAA;IACD,sCAAsC;IACtC,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAA,qBAAY,EAAC,IAAI,iCAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AACvF,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACd,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { SchemaMigrator, MigrationsResolver } from '@contember/schema-migrations';
|
|
2
2
|
export { typeDefs, devTypeDefs, Schema } from './schema';
|
|
3
|
-
export { DatabaseContext, DatabaseContextFactory, formatSchemaName, getJunctionTables, Identity, LatestTransactionIdByStageQuery, ProjectInitializer, ProjectMigrator, SchemaVersionBuilder,
|
|
3
|
+
export { DatabaseContext, DatabaseContextFactory, formatSchemaName, getJunctionTables, Identity, LatestTransactionIdByStageQuery, ProjectInitializer, ProjectMigrator, SchemaVersionBuilder, Stage, StageBySlugQuery, StageCreator, StagesQuery, VersionedSchema, } from './model';
|
|
4
4
|
export * from './SystemContainer';
|
|
5
5
|
export * from './resolvers';
|
|
6
6
|
export * from './types';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,OAAO,EACN,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,OAAO,EACN,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,GACf,MAAM,SAAS,CAAA;AAChB,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.StagesQuery = exports.StageCreator = exports.StageBySlugQuery = exports.SchemaVersionBuilder = exports.ProjectMigrator = exports.ProjectInitializer = exports.LatestTransactionIdByStageQuery = exports.Identity = exports.getJunctionTables = exports.formatSchemaName = exports.DatabaseContextFactory = exports.Schema = exports.devTypeDefs = exports.typeDefs = exports.MigrationsResolver = exports.SchemaMigrator = void 0;
|
|
18
18
|
var schema_migrations_1 = require("@contember/schema-migrations");
|
|
19
19
|
Object.defineProperty(exports, "SchemaMigrator", { enumerable: true, get: function () { return schema_migrations_1.SchemaMigrator; } });
|
|
20
20
|
Object.defineProperty(exports, "MigrationsResolver", { enumerable: true, get: function () { return schema_migrations_1.MigrationsResolver; } });
|
|
@@ -31,11 +31,9 @@ Object.defineProperty(exports, "LatestTransactionIdByStageQuery", { enumerable:
|
|
|
31
31
|
Object.defineProperty(exports, "ProjectInitializer", { enumerable: true, get: function () { return model_1.ProjectInitializer; } });
|
|
32
32
|
Object.defineProperty(exports, "ProjectMigrator", { enumerable: true, get: function () { return model_1.ProjectMigrator; } });
|
|
33
33
|
Object.defineProperty(exports, "SchemaVersionBuilder", { enumerable: true, get: function () { return model_1.SchemaVersionBuilder; } });
|
|
34
|
-
Object.defineProperty(exports, "setupSystemVariables", { enumerable: true, get: function () { return model_1.setupSystemVariables; } });
|
|
35
34
|
Object.defineProperty(exports, "StageBySlugQuery", { enumerable: true, get: function () { return model_1.StageBySlugQuery; } });
|
|
36
35
|
Object.defineProperty(exports, "StageCreator", { enumerable: true, get: function () { return model_1.StageCreator; } });
|
|
37
36
|
Object.defineProperty(exports, "StagesQuery", { enumerable: true, get: function () { return model_1.StagesQuery; } });
|
|
38
|
-
Object.defineProperty(exports, "unnamedIdentity", { enumerable: true, get: function () { return model_1.unnamedIdentity; } });
|
|
39
37
|
__exportStar(require("./SystemContainer"), exports);
|
|
40
38
|
__exportStar(require("./resolvers"), exports);
|
|
41
39
|
__exportStar(require("./types"), exports);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAiF;AAAxE,mHAAA,cAAc,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAE3C,mCAAwD;AAA/C,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAiF;AAAxE,mHAAA,cAAc,OAAA;AAAE,uHAAA,kBAAkB,OAAA;AAE3C,mCAAwD;AAA/C,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEtC,iCAegB;AAbf,+GAAA,sBAAsB,OAAA;AACtB,yGAAA,gBAAgB,OAAA;AAChB,0GAAA,iBAAiB,OAAA;AACjB,iGAAA,QAAQ,OAAA;AACR,wHAAA,+BAA+B,OAAA;AAC/B,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,6GAAA,oBAAoB,OAAA;AAEpB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,oGAAA,WAAW,OAAA;AAGZ,oDAAiC;AACjC,8CAA2B;AAC3B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2018-08-04-102200-init.d.ts","sourceRoot":"","sources":["../../../src/migrations/2018-08-04-102200-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAiCjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
CREATE DOMAIN "event_type" AS TEXT CHECK (
|
|
5
|
+
VALUE IN ('init', 'create', 'update', 'delete', 'run_migration')
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
CREATE TABLE "event" (
|
|
9
|
+
"id" uuid PRIMARY KEY NOT NULL,
|
|
10
|
+
"type" event_type NOT NULL,
|
|
11
|
+
"data" jsonb NOT NULL,
|
|
12
|
+
"previous_id" uuid DEFAULT NULL REFERENCES "event"("id") ON DELETE RESTRICT,
|
|
13
|
+
"created_at" timestamp NOT NULL DEFAULT now(),
|
|
14
|
+
"identity_id" uuid NOT NULL DEFAULT current_setting('tenant.identity_id')::uuid,
|
|
15
|
+
CONSTRAINT "previous_id_not_null" CHECK ("previous_id" IS NOT NULL OR "type" = 'init'),
|
|
16
|
+
CONSTRAINT "unique_init" EXCLUDE ("type" WITH =) WHERE ("type" = 'init')
|
|
17
|
+
);
|
|
18
|
+
CREATE INDEX "system_event_type" ON "event" USING HASH ("type"); -- TODO: Does this make sense?
|
|
19
|
+
CREATE INDEX "system_event_previous_id" ON "event"("previous_id");
|
|
20
|
+
CREATE INDEX "system_event_data_table_name" ON "event"(("data"->>'tableName'))
|
|
21
|
+
WHERE "type" IN ('create', 'update', 'delete');
|
|
22
|
+
CREATE INDEX "system_event_data_row_id" ON "event"(("data"->>'rowId'))
|
|
23
|
+
WHERE "type" IN ('create', 'update', 'delete');
|
|
24
|
+
|
|
25
|
+
CREATE TABLE "stage" (
|
|
26
|
+
"id" uuid PRIMARY KEY NOT NULL,
|
|
27
|
+
"name" text NOT NULL,
|
|
28
|
+
"slug" text NOT NULL UNIQUE,
|
|
29
|
+
"event_id" uuid NOT NULL REFERENCES "event"("id") ON DELETE RESTRICT
|
|
30
|
+
);
|
|
31
|
+
CREATE INDEX "system_stage_event_id" ON "stage"("event_id");
|
|
32
|
+
`;
|
|
33
|
+
async function default_1(builder) {
|
|
34
|
+
builder.sql(sql);
|
|
35
|
+
}
|
|
36
|
+
exports.default = default_1;
|
|
37
|
+
//# sourceMappingURL=2018-08-04-102200-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2018-08-04-102200-init.js","sourceRoot":"","sources":["../../../src/migrations/2018-08-04-102200-init.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2018-08-05-130501-trigger-event-function.d.ts","sourceRoot":"","sources":["../../../src/migrations/2018-08-05-130501-trigger-event-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AA+FjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
DO
|
|
5
|
+
$BLOCK$
|
|
6
|
+
BEGIN
|
|
7
|
+
IF NOT EXISTS(
|
|
8
|
+
SELECT
|
|
9
|
+
FROM pg_proc
|
|
10
|
+
JOIN pg_namespace ON pg_proc.pronamespace = pg_namespace.oid
|
|
11
|
+
WHERE pg_namespace.nspname in(current_schema(), 'pg_catalog') AND pg_proc.proname = 'uuid_generate_v4'
|
|
12
|
+
) THEN
|
|
13
|
+
CREATE FUNCTION "uuid_generate_v4"() RETURNS UUID
|
|
14
|
+
AS
|
|
15
|
+
$$
|
|
16
|
+
SELECT OVERLAY(OVERLAY(md5(random()::TEXT || ':' || clock_timestamp()::TEXT) PLACING '4' FROM 13) PLACING
|
|
17
|
+
to_hex(floor(random() * (11 - 8 + 1) + 8)::INT)::TEXT FROM 17)::UUID;
|
|
18
|
+
$$ LANGUAGE SQL;
|
|
19
|
+
END IF;
|
|
20
|
+
END
|
|
21
|
+
$BLOCK$;
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
CREATE FUNCTION "make_diff"(old jsonb, new jsonb) RETURNS jsonb AS $$
|
|
25
|
+
|
|
26
|
+
DECLARE col record;
|
|
27
|
+
DECLARE diff jsonb := '{}'::jsonb;
|
|
28
|
+
|
|
29
|
+
BEGIN
|
|
30
|
+
FOR col IN SELECT n.key, n.value FROM jsonb_each(old) o, jsonb_each(new) n
|
|
31
|
+
WHERE n.key = o.key AND n.value IS DISTINCT FROM o.value
|
|
32
|
+
LOOP
|
|
33
|
+
diff := diff || jsonb_build_object(col.key, col.value);
|
|
34
|
+
END LOOP;
|
|
35
|
+
|
|
36
|
+
RETURN diff;
|
|
37
|
+
END;
|
|
38
|
+
|
|
39
|
+
$$ LANGUAGE plpgsql;
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
CREATE FUNCTION "trigger_event"() RETURNS TRIGGER AS $$
|
|
43
|
+
|
|
44
|
+
DECLARE new_event_id uuid := uuid_generate_v4();
|
|
45
|
+
DECLARE new_event_type text;
|
|
46
|
+
DECLARE new_event_data jsonb;
|
|
47
|
+
DECLARE current_stage record;
|
|
48
|
+
|
|
49
|
+
BEGIN
|
|
50
|
+
CASE TG_OP
|
|
51
|
+
WHEN 'INSERT' THEN
|
|
52
|
+
new_event_type := 'create';
|
|
53
|
+
new_event_data := jsonb_build_object(
|
|
54
|
+
'tableName', TG_TABLE_NAME,
|
|
55
|
+
'rowId', NEW.id::text,
|
|
56
|
+
'values', to_jsonb(NEW) - 'id'
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
WHEN 'UPDATE' THEN
|
|
60
|
+
new_event_type := 'update';
|
|
61
|
+
new_event_data := jsonb_build_object(
|
|
62
|
+
'tableName', TG_TABLE_NAME,
|
|
63
|
+
'rowId', OLD.id::text,
|
|
64
|
+
'values', "make_diff"(to_jsonb(OLD), to_jsonb(NEW))
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
WHEN 'DELETE' THEN
|
|
68
|
+
new_event_type := 'delete';
|
|
69
|
+
new_event_data := jsonb_build_object(
|
|
70
|
+
'tableName', TG_TABLE_NAME,
|
|
71
|
+
'rowId', OLD.id::text
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
ELSE
|
|
75
|
+
RAISE EXCEPTION 'Unknown TG_OP value %', TG_OP;
|
|
76
|
+
END CASE;
|
|
77
|
+
|
|
78
|
+
SELECT "id", "event_id" FROM "stage"
|
|
79
|
+
WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
|
|
80
|
+
FOR NO KEY UPDATE
|
|
81
|
+
INTO current_stage;
|
|
82
|
+
|
|
83
|
+
INSERT INTO "event" ("id", "type", "data", "previous_id")
|
|
84
|
+
VALUES (new_event_id, new_event_type, new_event_data, current_stage.event_id);
|
|
85
|
+
|
|
86
|
+
UPDATE "stage"
|
|
87
|
+
SET "event_id" = new_event_id
|
|
88
|
+
WHERE "id" = current_stage.id;
|
|
89
|
+
|
|
90
|
+
RETURN NULL;
|
|
91
|
+
END;
|
|
92
|
+
|
|
93
|
+
$$ LANGUAGE plpgsql;
|
|
94
|
+
`;
|
|
95
|
+
async function default_1(builder) {
|
|
96
|
+
builder.sql(sql);
|
|
97
|
+
}
|
|
98
|
+
exports.default = default_1;
|
|
99
|
+
//# sourceMappingURL=2018-08-05-130501-trigger-event-function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2018-08-05-130501-trigger-event-function.js","sourceRoot":"","sources":["../../../src/migrations/2018-08-05-130501-trigger-event-function.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-01-14-143432-event-trx-id.d.ts","sourceRoot":"","sources":["../../../src/migrations/2019-01-14-143432-event-trx-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAajE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
ALTER TABLE "event"
|
|
5
|
+
ADD COLUMN transaction_id uuid DEFAULT NULL;
|
|
6
|
+
UPDATE "event"
|
|
7
|
+
SET transaction_id = uuid_generate_v4();
|
|
8
|
+
|
|
9
|
+
ALTER TABLE "event"
|
|
10
|
+
ALTER "transaction_id" SET DEFAULT current_setting('system.transaction_id')::uuid,
|
|
11
|
+
ALTER "transaction_id" SET NOT NULL;
|
|
12
|
+
`;
|
|
13
|
+
async function default_1(builder) {
|
|
14
|
+
builder.sql(sql);
|
|
15
|
+
}
|
|
16
|
+
exports.default = default_1;
|
|
17
|
+
//# sourceMappingURL=2019-01-14-143432-event-trx-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-01-14-143432-event-trx-id.js","sourceRoot":"","sources":["../../../src/migrations/2019-01-14-143432-event-trx-id.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;;CASX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-02-04-154500-event-rebase.d.ts","sourceRoot":"","sources":["../../../src/migrations/2019-02-04-154500-event-rebase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAuDjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
|
|
5
|
+
DROP FUNCTION IF EXISTS rebase_events_unsafe(head UUID, oldBase UUID, newBase UUID, appliedEvents UUID[]);
|
|
6
|
+
|
|
7
|
+
CREATE OR REPLACE FUNCTION rebase_events_unsafe(head UUID, oldBase UUID, newBase UUID, appliedEvents UUID[]) RETURNS TABLE (
|
|
8
|
+
new_id UUID,
|
|
9
|
+
old_id UUID
|
|
10
|
+
) AS
|
|
11
|
+
$$
|
|
12
|
+
|
|
13
|
+
WITH RECURSIVE events(id, type, data, previous_id, created_at, identity_id, transaction_id, index) AS (
|
|
14
|
+
SELECT event.id, event.type, event.data, event.previous_id, event.created_at, event.identity_id, event.transaction_id, 0
|
|
15
|
+
FROM event
|
|
16
|
+
WHERE event.id = head AND event.id <> oldBase
|
|
17
|
+
UNION
|
|
18
|
+
SELECT event.id, event.type, event.data, event.previous_id, event.created_at, event.identity_id, event.transaction_id, index + 1
|
|
19
|
+
FROM event, events
|
|
20
|
+
WHERE event.id = events.previous_id AND events.previous_id <> oldBase
|
|
21
|
+
),
|
|
22
|
+
filtered_with_ids AS (
|
|
23
|
+
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,
|
|
24
|
+
NULL AS new_trx_id, 0 AS number
|
|
25
|
+
FROM event
|
|
26
|
+
WHERE id = newBase
|
|
27
|
+
UNION
|
|
28
|
+
SELECT *,
|
|
29
|
+
uuid_generate_v4() AS new_id,
|
|
30
|
+
uuid_generate_v4() AS new_trx_id,
|
|
31
|
+
row_number() OVER (ORDER BY events.index DESC) AS number
|
|
32
|
+
FROM events
|
|
33
|
+
WHERE NOT (id = ANY (appliedEvents))
|
|
34
|
+
),
|
|
35
|
+
with_ids_by_window AS (
|
|
36
|
+
SELECT *,
|
|
37
|
+
first_value(filtered_with_ids.new_id) OVER (ORDER BY number ROWS 1 PRECEDING) AS new_previous_id,
|
|
38
|
+
first_value(filtered_with_ids.new_trx_id) OVER (PARTITION BY filtered_with_ids.transaction_id) AS new_trx_id2
|
|
39
|
+
FROM filtered_with_ids
|
|
40
|
+
),
|
|
41
|
+
insert AS (
|
|
42
|
+
INSERT
|
|
43
|
+
INTO event(id, type, data, previous_id, created_at, identity_id, transaction_id)
|
|
44
|
+
SELECT new_id, type, data, new_previous_id, created_at, identity_id, new_trx_id2
|
|
45
|
+
FROM with_ids_by_window
|
|
46
|
+
WHERE with_ids_by_window.number > 0 RETURNING *
|
|
47
|
+
)
|
|
48
|
+
SELECT insert.id as new_id, with_ids_by_window.id as old_id
|
|
49
|
+
FROM with_ids_by_window
|
|
50
|
+
JOIN insert ON insert.id = with_ids_by_window.new_id
|
|
51
|
+
ORDER BY number DESC
|
|
52
|
+
$$
|
|
53
|
+
LANGUAGE SQL;
|
|
54
|
+
`;
|
|
55
|
+
async function default_1(builder) {
|
|
56
|
+
builder.sql(sql);
|
|
57
|
+
}
|
|
58
|
+
exports.default = default_1;
|
|
59
|
+
//# sourceMappingURL=2019-02-04-154500-event-rebase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-02-04-154500-event-rebase.js","sourceRoot":"","sources":["../../../src/migrations/2019-02-04-154500-event-rebase.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-03-18-104147-event-run-migration-struct.d.ts","sourceRoot":"","sources":["../../../src/migrations/2019-03-18-104147-event-run-migration-struct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAQjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
UPDATE event
|
|
5
|
+
SET data = jsonb_build_object('version', coalesce(substring(data ->> 'file', 0, 17), data ->> 'version'))
|
|
6
|
+
WHERE type = 'run_migration';
|
|
7
|
+
`;
|
|
8
|
+
async function default_1(builder) {
|
|
9
|
+
builder.sql(sql);
|
|
10
|
+
}
|
|
11
|
+
exports.default = default_1;
|
|
12
|
+
//# sourceMappingURL=2019-03-18-104147-event-run-migration-struct.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-03-18-104147-event-run-migration-struct.js","sourceRoot":"","sources":["../../../src/migrations/2019-03-18-104147-event-run-migration-struct.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;CAIX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-07-29-103000-trigger-event-function-fix.d.ts","sourceRoot":"","sources":["../../../src/migrations/2019-07-29-103000-trigger-event-function-fix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AA8DjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS $$
|
|
5
|
+
|
|
6
|
+
DECLARE new_event_id uuid := uuid_generate_v4();
|
|
7
|
+
DECLARE new_event_type text;
|
|
8
|
+
DECLARE new_event_data jsonb;
|
|
9
|
+
DECLARE current_stage record;
|
|
10
|
+
DECLARE update_diff jsonb;
|
|
11
|
+
|
|
12
|
+
BEGIN
|
|
13
|
+
CASE TG_OP
|
|
14
|
+
WHEN 'INSERT' THEN
|
|
15
|
+
new_event_type := 'create';
|
|
16
|
+
new_event_data := jsonb_build_object(
|
|
17
|
+
'tableName', TG_TABLE_NAME,
|
|
18
|
+
'rowId', NEW.id::text,
|
|
19
|
+
'values', to_jsonb(NEW) - 'id'
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
WHEN 'UPDATE' THEN
|
|
23
|
+
update_diff := "make_diff"(to_jsonb(OLD), to_jsonb(NEW));
|
|
24
|
+
IF (SELECT count(*) FROM jsonb_object_keys(update_diff)) = 0 THEN
|
|
25
|
+
RETURN NULL;
|
|
26
|
+
END IF;
|
|
27
|
+
new_event_type := 'update';
|
|
28
|
+
new_event_data := jsonb_build_object(
|
|
29
|
+
'tableName', TG_TABLE_NAME,
|
|
30
|
+
'rowId', OLD.id::text,
|
|
31
|
+
'values', update_diff
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
WHEN 'DELETE' THEN
|
|
35
|
+
new_event_type := 'delete';
|
|
36
|
+
new_event_data := jsonb_build_object(
|
|
37
|
+
'tableName', TG_TABLE_NAME,
|
|
38
|
+
'rowId', OLD.id::text
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
ELSE
|
|
42
|
+
RAISE EXCEPTION 'Unknown TG_OP value %', TG_OP;
|
|
43
|
+
END CASE;
|
|
44
|
+
|
|
45
|
+
SELECT "id", "event_id" FROM "stage"
|
|
46
|
+
WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
|
|
47
|
+
FOR NO KEY UPDATE
|
|
48
|
+
INTO current_stage;
|
|
49
|
+
|
|
50
|
+
INSERT INTO "event" ("id", "type", "data", "previous_id")
|
|
51
|
+
VALUES (new_event_id, new_event_type, new_event_data, current_stage.event_id);
|
|
52
|
+
|
|
53
|
+
UPDATE "stage"
|
|
54
|
+
SET "event_id" = new_event_id
|
|
55
|
+
WHERE "id" = current_stage.id;
|
|
56
|
+
|
|
57
|
+
RETURN NULL;
|
|
58
|
+
END;
|
|
59
|
+
|
|
60
|
+
$$ LANGUAGE plpgsql;
|
|
61
|
+
`;
|
|
62
|
+
async function default_1(builder) {
|
|
63
|
+
builder.sql(sql);
|
|
64
|
+
}
|
|
65
|
+
exports.default = default_1;
|
|
66
|
+
//# sourceMappingURL=2019-07-29-103000-trigger-event-function-fix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-07-29-103000-trigger-event-function-fix.js","sourceRoot":"","sources":["../../../src/migrations/2019-07-29-103000-trigger-event-function-fix.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-11-28-100000-missing-setting-fallback.d.ts","sourceRoot":"","sources":["../../../src/migrations/2019-11-28-100000-missing-setting-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAiBjE,yBAA+B,OAAO,EAAE,gBAAgB,iBAEvD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const sql = `
|
|
4
|
+
ALTER TABLE "event"
|
|
5
|
+
ALTER COLUMN "identity_id" SET DEFAULT
|
|
6
|
+
coalesce(
|
|
7
|
+
current_setting('tenant.identity_id', true)::uuid,
|
|
8
|
+
'00000000-0000-0000-0000-000000000000'
|
|
9
|
+
),
|
|
10
|
+
|
|
11
|
+
ALTER COLUMN "transaction_id" SET DEFAULT
|
|
12
|
+
coalesce(
|
|
13
|
+
nullif(current_setting('system.transaction_id', true), '')::uuid,
|
|
14
|
+
set_config('system.transaction_id', uuid_generate_v4()::text, true)::uuid
|
|
15
|
+
);
|
|
16
|
+
`;
|
|
17
|
+
async function default_1(builder) {
|
|
18
|
+
builder.sql(sql);
|
|
19
|
+
}
|
|
20
|
+
exports.default = default_1;
|
|
21
|
+
//# sourceMappingURL=2019-11-28-100000-missing-setting-fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2019-11-28-100000-missing-setting-fallback.js","sourceRoot":"","sources":["../../../src/migrations/2019-11-28-100000-missing-setting-fallback.ts"],"names":[],"mappings":";;AAEA,MAAM,GAAG,GAAG;;;;;;;;;;;;;CAaX,CAAA;AAEc,KAAK,oBAAW,OAAyB;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACjB,CAAC;AAFD,4BAEC"}
|