@contember/engine-system-api 1.1.0-alpha.2 → 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.
- package/dist/src/SystemContainer.d.ts +16 -21
- package/dist/src/SystemContainer.d.ts.map +1 -1
- package/dist/src/SystemContainer.js +14 -9
- package/dist/src/SystemContainer.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/2020-03-27-130000-project-migrations.d.ts +4 -0
- package/dist/src/migrations/2020-03-27-130000-project-migrations.d.ts.map +1 -0
- package/{migrations → dist/src/migrations}/2020-03-27-130000-project-migrations.js +2 -2
- package/dist/src/migrations/2020-03-27-130000-project-migrations.js.map +1 -0
- package/dist/src/migrations/2020-05-06-150000-composed-primary.d.ts +4 -0
- package/dist/src/migrations/2020-05-06-150000-composed-primary.d.ts.map +1 -0
- package/{migrations → dist/src/migrations}/2020-05-06-150000-composed-primary.js +13 -13
- package/dist/src/migrations/2020-05-06-150000-composed-primary.js.map +1 -0
- package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.d.ts +4 -0
- package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +1 -0
- package/{migrations → dist/src/migrations}/2020-06-01-103000-event-trigger-perf.js +9 -8
- package/dist/src/migrations/2020-06-01-103000-event-trigger-perf.js.map +1 -0
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.d.ts +4 -0
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.d.ts.map +1 -0
- package/{migrations → dist/src/migrations}/2021-05-07-155800-event-log-rework.js +34 -33
- package/dist/src/migrations/2021-05-07-155800-event-log-rework.js.map +1 -0
- package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +4 -0
- package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +1 -0
- package/{migrations → dist/src/migrations}/2021-05-19-1232000-event-log-fix-constraint.js +4 -3
- package/dist/src/migrations/2021-05-19-1232000-event-log-fix-constraint.js.map +1 -0
- package/dist/src/migrations/index.d.ts +3 -0
- package/dist/src/migrations/index.d.ts.map +1 -0
- package/dist/src/{model/dependencies/content → migrations}/index.js +2 -1
- package/dist/src/migrations/index.js.map +1 -0
- package/dist/src/migrations/runner.d.ts +3 -0
- package/dist/src/migrations/runner.d.ts.map +1 -0
- package/{migrations/index.js → dist/src/migrations/runner.js} +5 -3
- package/dist/src/migrations/runner.js.map +1 -0
- package/dist/src/migrations/types.d.ts +7 -0
- package/dist/src/migrations/types.d.ts.map +1 -0
- package/dist/src/{migrations.js → migrations/types.js} +1 -1
- package/dist/src/migrations/types.js.map +1 -0
- package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.js +11 -13
- package/dist/src/model/ProjectInitializer.js.map +1 -1
- package/dist/src/model/ProjectTruncateExecutor.d.ts.map +1 -1
- package/dist/src/model/ProjectTruncateExecutor.js +4 -3
- package/dist/src/model/ProjectTruncateExecutor.js.map +1 -1
- package/dist/src/model/commands/stages/CreateStageCommand.d.ts +8 -0
- package/dist/src/model/commands/stages/CreateStageCommand.d.ts.map +1 -0
- package/dist/src/model/commands/stages/{CreateOrUpdateStageCommand.js → CreateStageCommand.js} +9 -10
- package/dist/src/model/commands/stages/CreateStageCommand.js.map +1 -0
- package/dist/src/model/commands/stages/index.d.ts +1 -1
- package/dist/src/model/commands/stages/index.d.ts.map +1 -1
- package/dist/src/model/commands/stages/index.js +1 -1
- package/dist/src/model/commands/stages/index.js.map +1 -1
- package/dist/src/model/database/DatabaseContext.d.ts +1 -1
- package/dist/src/model/database/DatabaseContext.d.ts.map +1 -1
- package/dist/src/model/database/DatabaseContext.js +4 -8
- package/dist/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/src/model/dependencies/index.d.ts +0 -1
- package/dist/src/model/dependencies/index.d.ts.map +1 -1
- package/dist/src/model/dependencies/index.js +0 -1
- package/dist/src/model/dependencies/index.js.map +1 -1
- package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts +1 -2
- package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts.map +1 -1
- package/dist/src/model/dtos/Stage.d.ts +2 -4
- package/dist/src/model/dtos/Stage.d.ts.map +1 -1
- package/dist/src/model/events/EventResponseBuilder.d.ts +1 -2
- package/dist/src/model/events/EventResponseBuilder.d.ts.map +1 -1
- package/dist/src/model/events/EventResponseBuilder.js +2 -2
- package/dist/src/model/events/EventResponseBuilder.js.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.d.ts +2 -2
- package/dist/src/model/migrations/ProjectMigrator.d.ts.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js +6 -7
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/model/migrations/index.d.ts +0 -1
- package/dist/src/model/migrations/index.d.ts.map +1 -1
- package/dist/src/model/migrations/index.js +0 -1
- package/dist/src/model/migrations/index.js.map +1 -1
- package/dist/src/model/queries/stages/StageBySlugQuery.d.ts +2 -2
- package/dist/src/model/queries/stages/StageBySlugQuery.d.ts.map +1 -1
- package/dist/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
- package/dist/src/model/queries/stages/StageQueryFactory.d.ts +2 -2
- package/dist/src/model/queries/stages/StageQueryFactory.d.ts.map +1 -1
- package/dist/src/model/queries/stages/StageQueryFactory.js +2 -1
- package/dist/src/model/queries/stages/StageQueryFactory.js.map +1 -1
- package/dist/src/model/queries/stages/StagesQuery.d.ts +1 -1
- package/dist/src/model/queries/stages/StagesQuery.d.ts.map +1 -1
- package/dist/src/model/queries/stages/StagesQuery.js +2 -5
- package/dist/src/model/queries/stages/StagesQuery.js.map +1 -1
- package/dist/src/model/stages/StageCreator.d.ts.map +1 -1
- package/dist/src/model/stages/StageCreator.js +3 -2
- package/dist/src/model/stages/StageCreator.js.map +1 -1
- package/dist/src/resolvers/{ResolverContext.d.ts → SystemResolverContext.d.ts} +5 -8
- package/dist/src/resolvers/SystemResolverContext.d.ts.map +1 -0
- package/dist/src/resolvers/{ResolverContext.js → SystemResolverContext.js} +5 -6
- package/dist/src/resolvers/{ResolverContext.js.map → SystemResolverContext.js.map} +1 -1
- package/dist/src/resolvers/index.d.ts +1 -1
- package/dist/src/resolvers/index.d.ts.map +1 -1
- package/dist/src/resolvers/index.js +1 -1
- package/dist/src/resolvers/index.js.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts +3 -3
- package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js +5 -4
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/MigrationAlterMutationResolver.d.ts +3 -3
- package/dist/src/resolvers/mutation/MigrationAlterMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/MigrationAlterMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/TruncateMutationResolver.d.ts +2 -2
- package/dist/src/resolvers/mutation/TruncateMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/TruncateMutationResolver.js.map +1 -1
- package/dist/src/resolvers/query/EventsQueryResolver.d.ts +2 -2
- package/dist/src/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
- package/dist/src/resolvers/query/EventsQueryResolver.js +1 -1
- package/dist/src/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.d.ts +2 -2
- package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.d.ts.map +1 -1
- package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
- package/dist/src/resolvers/query/StagesQueryResolver.d.ts +2 -2
- package/dist/src/resolvers/query/StagesQueryResolver.d.ts.map +1 -1
- package/dist/src/resolvers/query/StagesQueryResolver.js.map +1 -1
- package/dist/src/resolvers/types/EventOldValuesResolver.d.ts +3 -3
- package/dist/src/resolvers/types/EventOldValuesResolver.d.ts.map +1 -1
- package/dist/src/resolvers/types/EventOldValuesResolver.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types.d.ts +1 -0
- package/dist/src/types.d.ts.map +1 -1
- package/{migrations → dist/tests/cases/migrations}/2020-05-06-150000-composed-primary.test.d.ts +0 -0
- package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.d.ts.map +1 -0
- package/{migrations → dist/tests/cases/migrations}/2020-05-06-150000-composed-primary.test.js +12 -12
- package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.js.map +1 -0
- package/{migrations → dist/tests/cases/migrations}/2020-06-01-103000-event-trigger-perf.test.d.ts +0 -0
- package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.d.ts.map +1 -0
- package/{migrations → dist/tests/cases/migrations}/2020-06-01-103000-event-trigger-perf.test.js +7 -7
- package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -15
- package/src/SystemContainer.ts +21 -27
- package/src/index.ts +1 -0
- package/{migrations → src/migrations}/2018-08-04-102200-init.sql +9 -9
- package/{migrations → src/migrations}/2018-08-05-130501-trigger-event-function.sql +9 -9
- package/{migrations → src/migrations}/2019-01-14-143432-event-trx-id.sql +4 -4
- package/{migrations → src/migrations}/2019-02-04-154500-event-rebase.sql +6 -6
- package/{migrations → src/migrations}/2019-03-18-104147-event-run-migration-struct.sql +1 -1
- package/{migrations → src/migrations}/2019-07-29-103000-trigger-event-function-fix.sql +6 -6
- package/{migrations → src/migrations}/2019-11-28-100000-missing-setting-fallback.sql +2 -2
- package/{migrations → src/migrations}/2020-03-27-130000-project-migrations.ts +3 -4
- package/{migrations → src/migrations}/2020-05-06-150000-composed-primary.ts +13 -13
- package/{migrations → src/migrations}/2020-06-01-103000-event-trigger-perf.ts +9 -8
- package/{migrations → src/migrations}/2021-03-23-110000-timestamp-fix.sql +2 -2
- package/{migrations → src/migrations}/2021-05-07-155800-event-log-rework.ts +34 -33
- package/{migrations → src/migrations}/2021-05-19-1232000-event-log-fix-constraint.ts +4 -3
- package/src/migrations/2021-12-21-155500-events-up.sql +6 -0
- package/src/migrations/2022-02-08-132600-fn-search-path.sql +7 -0
- package/src/migrations/2022-02-08-140500-drop-deadcode.sql +2 -0
- package/src/migrations/2022-02-08-144400-dynamic-stage-schema.sql +41 -0
- package/src/migrations/index.ts +2 -0
- package/{migrations/index.ts → src/migrations/runner.ts} +2 -2
- package/src/migrations/types.ts +7 -0
- package/src/model/ProjectInitializer.ts +13 -14
- package/src/model/ProjectTruncateExecutor.ts +5 -4
- package/src/model/commands/stages/{CreateOrUpdateStageCommand.ts → CreateStageCommand.ts} +8 -11
- package/src/model/commands/stages/index.ts +1 -1
- package/src/model/database/DatabaseContext.ts +3 -8
- package/src/model/dependencies/index.ts +0 -1
- package/src/model/dependencies/tenant/IdentityFetcher.ts +1 -1
- package/src/model/dtos/Stage.ts +2 -5
- package/src/model/events/EventResponseBuilder.ts +2 -3
- package/src/model/migrations/ProjectMigrator.ts +10 -9
- package/src/model/migrations/index.ts +0 -1
- package/src/model/queries/stages/StageBySlugQuery.ts +2 -2
- package/src/model/queries/stages/StageQueryFactory.ts +3 -2
- package/src/model/queries/stages/StagesQuery.ts +4 -7
- package/src/model/stages/StageCreator.ts +4 -3
- package/src/resolvers/{ResolverContext.ts → SystemResolverContext.ts} +4 -9
- package/src/resolvers/index.ts +1 -1
- package/src/resolvers/mutation/MigrateMutationResolver.ts +9 -8
- package/src/resolvers/mutation/MigrationAlterMutationResolver.ts +3 -3
- package/src/resolvers/mutation/TruncateMutationResolver.ts +2 -2
- package/src/resolvers/query/EventsQueryResolver.ts +3 -3
- package/src/resolvers/query/ExecutedMigrationsQueryResolver.ts +2 -2
- package/src/resolvers/query/StagesQueryResolver.ts +2 -2
- package/src/resolvers/types/EventOldValuesResolver.ts +3 -3
- package/src/types.ts +1 -0
- package/{migrations → tests/cases/migrations}/2020-05-06-150000-composed-primary.test.ts +11 -12
- package/{migrations → tests/cases/migrations}/2020-06-01-103000-event-trigger-perf.test.ts +6 -7
- package/tests/tsconfig.json +0 -3
- package/tsconfig.json +0 -3
- package/dist/src/migrations.d.ts +0 -10
- package/dist/src/migrations.d.ts.map +0 -1
- package/dist/src/migrations.js.map +0 -1
- package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.d.ts +0 -8
- package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.d.ts.map +0 -1
- package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.js.map +0 -1
- package/dist/src/model/dependencies/content/EntitiesSelector.d.ts +0 -28
- package/dist/src/model/dependencies/content/EntitiesSelector.d.ts.map +0 -1
- package/dist/src/model/dependencies/content/EntitiesSelector.js +0 -3
- package/dist/src/model/dependencies/content/EntitiesSelector.js.map +0 -1
- package/dist/src/model/dependencies/content/index.d.ts +0 -2
- package/dist/src/model/dependencies/content/index.d.ts.map +0 -1
- package/dist/src/model/dependencies/content/index.js.map +0 -1
- package/dist/src/model/migrations/MigrationExecutor.d.ts +0 -10
- package/dist/src/model/migrations/MigrationExecutor.d.ts.map +0 -1
- package/dist/src/model/migrations/MigrationExecutor.js +0 -25
- package/dist/src/model/migrations/MigrationExecutor.js.map +0 -1
- package/dist/src/resolvers/ResolverContext.d.ts.map +0 -1
- package/migrations/2020-03-27-130000-project-migrations.d.ts +0 -4
- package/migrations/2020-03-27-130000-project-migrations.d.ts.map +0 -1
- package/migrations/2020-05-06-150000-composed-primary.d.ts +0 -4
- package/migrations/2020-05-06-150000-composed-primary.d.ts.map +0 -1
- package/migrations/2020-05-06-150000-composed-primary.test.d.ts.map +0 -1
- package/migrations/2020-06-01-103000-event-trigger-perf.d.ts +0 -4
- package/migrations/2020-06-01-103000-event-trigger-perf.d.ts.map +0 -1
- package/migrations/2020-06-01-103000-event-trigger-perf.test.d.ts.map +0 -1
- package/migrations/2021-05-07-155800-event-log-rework.d.ts +0 -4
- package/migrations/2021-05-07-155800-event-log-rework.d.ts.map +0 -1
- package/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts +0 -4
- package/migrations/2021-05-19-1232000-event-log-fix-constraint.d.ts.map +0 -1
- package/migrations/2021-12-21-155500-events-up.sql +0 -6
- package/migrations/index.d.ts +0 -3
- package/migrations/index.d.ts.map +0 -1
- package/migrations/tsconfig.json +0 -15
- package/migrations/tsconfig.tsbuildinfo +0 -1
- package/src/migrations.ts +0 -10
- package/src/model/dependencies/content/EntitiesSelector.ts +0 -32
- package/src/model/dependencies/content/index.ts +0 -1
- package/src/model/migrations/MigrationExecutor.ts +0 -33
|
@@ -2,53 +2,48 @@ 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
4
|
import { MigrationsRunner } from '@contember/database-migrations';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { Connection } from '@contember/database';
|
|
6
|
+
import { EventResponseBuilder, ExecutedMigrationsResolver, IdentityFetcher, MigrationAlterer, ProjectInitializer, ProjectMigrator, ProjectTruncateExecutor, SchemaVersionBuilder, StageCreator } from './model';
|
|
7
7
|
import { UuidProvider } from './utils';
|
|
8
|
-
import { EventsQueryResolver, ExecutedMigrationsQueryResolver, MigrateMutationResolver, MigrationAlterMutationResolver,
|
|
9
|
-
import {
|
|
10
|
-
import { MigrationArgs } from './migrations';
|
|
8
|
+
import { EventsQueryResolver, ExecutedMigrationsQueryResolver, MigrateMutationResolver, MigrationAlterMutationResolver, ResolverFactory, StagesQueryResolver, SystemResolverContextFactory, TruncateMutationResolver } from './resolvers';
|
|
9
|
+
import { SystemMigrationArgs } from './migrations';
|
|
11
10
|
import { EventOldValuesResolver } from './resolvers/types';
|
|
12
11
|
export interface SystemContainer {
|
|
13
12
|
systemResolversFactory: ResolverFactory;
|
|
14
13
|
authorizator: Authorizator;
|
|
15
|
-
resolverContextFactory:
|
|
14
|
+
resolverContextFactory: SystemResolverContextFactory;
|
|
16
15
|
schemaVersionBuilder: SchemaVersionBuilder;
|
|
17
16
|
projectInitializer: ProjectInitializer;
|
|
18
|
-
systemDbMigrationsRunnerFactory: SystemDbMigrationsRunnerFactory;
|
|
19
17
|
}
|
|
20
|
-
export declare type SystemDbMigrationsRunnerFactory = (db:
|
|
18
|
+
export declare type SystemDbMigrationsRunnerFactory = (db: Connection.ConnectionLike, schema: string) => MigrationsRunner<SystemMigrationArgs>;
|
|
21
19
|
declare type Args = {
|
|
22
|
-
providers: UuidProvider;
|
|
23
|
-
modificationHandlerFactory: ModificationHandlerFactory;
|
|
24
|
-
entitiesSelector: EntitiesSelector;
|
|
25
|
-
systemDbMigrationsRunnerFactory: (db: DatabaseCredentials, dbClient: ClientBase) => MigrationsRunner<MigrationArgs>;
|
|
26
20
|
identityFetcher: IdentityFetcher;
|
|
27
21
|
};
|
|
28
22
|
export declare class SystemContainerFactory {
|
|
23
|
+
private readonly providers;
|
|
24
|
+
private readonly modificationHandlerFactory;
|
|
25
|
+
constructor(providers: UuidProvider, modificationHandlerFactory: ModificationHandlerFactory);
|
|
29
26
|
create(container: Args): Container<SystemContainer>;
|
|
30
|
-
createBuilder(
|
|
31
|
-
|
|
27
|
+
createBuilder({ identityFetcher }: Args): Builder<{
|
|
28
|
+
providers: UuidProvider;
|
|
32
29
|
} & {
|
|
33
30
|
modificationHandlerFactory: ModificationHandlerFactory;
|
|
34
31
|
} & {
|
|
35
32
|
identityFetcher: IdentityFetcher;
|
|
33
|
+
} & {
|
|
34
|
+
systemDbMigrationsRunnerFactory: SystemDbMigrationsRunnerFactory;
|
|
36
35
|
} & {
|
|
37
36
|
schemaMigrator: SchemaMigrator;
|
|
38
37
|
} & {
|
|
39
38
|
executedMigrationsResolver: ExecutedMigrationsResolver;
|
|
40
39
|
} & {
|
|
41
40
|
schemaVersionBuilder: SchemaVersionBuilder;
|
|
42
|
-
} & {
|
|
43
|
-
providers: UuidProvider;
|
|
44
41
|
} & {
|
|
45
42
|
accessEvaluator: AccessEvaluator.PermissionEvaluator;
|
|
46
43
|
} & {
|
|
47
44
|
authorizator: Authorizator<Authorizator.Identity>;
|
|
48
45
|
} & {
|
|
49
46
|
schemaDiffer: SchemaDiffer;
|
|
50
|
-
} & {
|
|
51
|
-
migrationExecutor: MigrationExecutor;
|
|
52
47
|
} & {
|
|
53
48
|
migrationDescriber: MigrationDescriber;
|
|
54
49
|
} & {
|
|
@@ -71,6 +66,8 @@ export declare class SystemContainerFactory {
|
|
|
71
66
|
truncateMutationResolver: TruncateMutationResolver;
|
|
72
67
|
} & {
|
|
73
68
|
migrationAlterMutationResolver: MigrationAlterMutationResolver;
|
|
69
|
+
} & {
|
|
70
|
+
projectInitializer: ProjectInitializer;
|
|
74
71
|
} & {
|
|
75
72
|
eventsQueryResolver: EventsQueryResolver;
|
|
76
73
|
} & {
|
|
@@ -78,9 +75,7 @@ export declare class SystemContainerFactory {
|
|
|
78
75
|
} & {
|
|
79
76
|
systemResolversFactory: ResolverFactory;
|
|
80
77
|
} & {
|
|
81
|
-
resolverContextFactory:
|
|
82
|
-
} & {
|
|
83
|
-
projectInitializer: ProjectInitializer;
|
|
78
|
+
resolverContextFactory: SystemResolverContextFactory;
|
|
84
79
|
}>;
|
|
85
80
|
}
|
|
86
81
|
export {};
|
|
@@ -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,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,
|
|
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,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAEhB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,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,EAAuB,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvE,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;IAC1C,kBAAkB,EAAE,kBAAkB,CAAA;CACtC;AAED,oBAAY,+BAA+B,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,KAAK,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;AAEtI,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;IAWnD,aAAa,CAAC,EAAE,eAAe,EAAE,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD9C"}
|
|
@@ -4,28 +4,33 @@ 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");
|
|
7
8
|
const model_1 = require("./model");
|
|
8
9
|
const resolvers_1 = require("./resolvers");
|
|
10
|
+
const migrations_1 = require("./migrations");
|
|
9
11
|
const types_1 = require("./resolvers/types");
|
|
10
12
|
class SystemContainerFactory {
|
|
13
|
+
constructor(providers, modificationHandlerFactory) {
|
|
14
|
+
this.providers = providers;
|
|
15
|
+
this.modificationHandlerFactory = modificationHandlerFactory;
|
|
16
|
+
}
|
|
11
17
|
create(container) {
|
|
12
18
|
return this.createBuilder(container)
|
|
13
19
|
.build()
|
|
14
|
-
.pick('systemResolversFactory', 'authorizator', 'resolverContextFactory', 'schemaVersionBuilder', 'projectInitializer'
|
|
20
|
+
.pick('systemResolversFactory', 'authorizator', 'resolverContextFactory', 'schemaVersionBuilder', 'projectInitializer');
|
|
15
21
|
}
|
|
16
|
-
createBuilder(
|
|
22
|
+
createBuilder({ identityFetcher }) {
|
|
17
23
|
return new dic_1.Builder({})
|
|
18
|
-
.addService('
|
|
19
|
-
.addService('modificationHandlerFactory', () =>
|
|
20
|
-
.addService('identityFetcher', () =>
|
|
24
|
+
.addService('providers', () => this.providers)
|
|
25
|
+
.addService('modificationHandlerFactory', () => this.modificationHandlerFactory)
|
|
26
|
+
.addService('identityFetcher', () => identityFetcher)
|
|
27
|
+
.addService('systemDbMigrationsRunnerFactory', () => (db, schema) => new database_migrations_1.MigrationsRunner(db, schema, migrations_1.getSystemMigrations))
|
|
21
28
|
.addService('schemaMigrator', ({ modificationHandlerFactory }) => new schema_migrations_1.SchemaMigrator(modificationHandlerFactory))
|
|
22
29
|
.addService('executedMigrationsResolver', ({}) => new model_1.ExecutedMigrationsResolver())
|
|
23
30
|
.addService('schemaVersionBuilder', ({ executedMigrationsResolver, schemaMigrator }) => new model_1.SchemaVersionBuilder(executedMigrationsResolver, schemaMigrator))
|
|
24
|
-
.addService('providers', () => container.providers)
|
|
25
31
|
.addService('accessEvaluator', ({}) => new authorization_1.AccessEvaluator.PermissionEvaluator(new model_1.PermissionsFactory().create()))
|
|
26
32
|
.addService('authorizator', ({ accessEvaluator }) => new authorization_1.Authorizator.Default(accessEvaluator))
|
|
27
33
|
.addService('schemaDiffer', ({ schemaMigrator }) => new schema_migrations_1.SchemaDiffer(schemaMigrator))
|
|
28
|
-
.addService('migrationExecutor', ({ modificationHandlerFactory }) => new model_1.MigrationExecutor(modificationHandlerFactory))
|
|
29
34
|
.addService('migrationDescriber', ({ modificationHandlerFactory }) => new schema_migrations_1.MigrationDescriber(modificationHandlerFactory))
|
|
30
35
|
.addService('projectMigrator', ({ migrationDescriber, schemaVersionBuilder, executedMigrationsResolver }) => new model_1.ProjectMigrator(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver))
|
|
31
36
|
.addService('stageCreator', () => new model_1.StageCreator())
|
|
@@ -37,11 +42,11 @@ class SystemContainerFactory {
|
|
|
37
42
|
.addService('migrateMutationResolver', ({ projectMigrator }) => new resolvers_1.MigrateMutationResolver(projectMigrator))
|
|
38
43
|
.addService('truncateMutationResolver', ({ projectTruncateExecutor }) => new resolvers_1.TruncateMutationResolver(projectTruncateExecutor))
|
|
39
44
|
.addService('migrationAlterMutationResolver', ({ migrationAlterer }) => new resolvers_1.MigrationAlterMutationResolver(migrationAlterer))
|
|
45
|
+
.addService('projectInitializer', ({ projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder }) => new model_1.ProjectInitializer(projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder))
|
|
40
46
|
.addService('eventsQueryResolver', ({ eventResponseBuilder }) => new resolvers_1.EventsQueryResolver(eventResponseBuilder))
|
|
41
47
|
.addService('eventOldValuesResolver', () => new types_1.EventOldValuesResolver())
|
|
42
48
|
.addService('systemResolversFactory', ({ stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver }) => new resolvers_1.ResolverFactory(stagesQueryResolver, executedMigrationsQueryResolver, migrateMutationResolver, truncateMutationResolver, migrationAlterMutationResolver, eventsQueryResolver, eventOldValuesResolver))
|
|
43
|
-
.addService('resolverContextFactory', ({ authorizator, schemaVersionBuilder }) => new resolvers_1.
|
|
44
|
-
.addService('projectInitializer', ({ projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder }) => new model_1.ProjectInitializer(projectMigrator, stageCreator, systemDbMigrationsRunnerFactory, schemaVersionBuilder));
|
|
49
|
+
.addService('resolverContextFactory', ({ authorizator, schemaVersionBuilder }) => new resolvers_1.SystemResolverContextFactory(authorizator, schemaVersionBuilder));
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
52
|
exports.SystemContainerFactory = SystemContainerFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemContainer.js","sourceRoot":"","sources":["../../src/SystemContainer.ts"],"names":[],"mappings":";;;AAAA,4DAAwE;AACxE,wCAAmD;AACnD,oEAKqC;
|
|
1
|
+
{"version":3,"file":"SystemContainer.js","sourceRoot":"","sources":["../../src/SystemContainer.ts"],"names":[],"mappings":";;;AAAA,4DAAwE;AACxE,wCAAmD;AACnD,oEAKqC;AACrC,wEAAiE;AAEjE,mCAWgB;AAEhB,2CASoB;AACpB,6CAAuE;AACvE,6CAA0D;AAgB1D,MAAa,sBAAsB;IAClC,YACkB,SAAuB,EACvB,0BAAsD;QADtD,cAAS,GAAT,SAAS,CAAc;QACvB,+BAA0B,GAA1B,0BAA0B,CAA4B;IAExE,CAAC;IAEM,MAAM,CAAC,SAAe;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;aAClC,KAAK,EAAE;aACP,IAAI,CACJ,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,CACpB,CAAA;IACH,CAAC;IACM,aAAa,CAAC,EAAE,eAAe,EAAQ;QAC7C,OAAO,IAAI,aAAO,CAAC,EAAE,CAAC;aACpB,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAC7B,IAAI,CAAC,SAAS,CAAC;aACf,UAAU,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAC9C,IAAI,CAAC,0BAA0B,CAAC;aAChC,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACnC,eAAe,CAAC;aAChB,UAAU,CAAC,iCAAiC,EAAE,GAAoC,EAAE,CACpF,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,sCAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,gCAAmB,CAAC,CAAC;aACtE,UAAU,CAAC,gBAAgB,EAAE,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,CAChE,IAAI,kCAAc,CAAC,0BAA0B,CAAC,CAAC;aAC/C,UAAU,CAAC,4BAA4B,EAAE,CAAC,EAAE,EAAE,EAAE,CAChD,IAAI,kCAA0B,EAAE,CAAC;aACjC,UAAU,CAAC,sBAAsB,EAAE,CAAC,EAAE,0BAA0B,EAAE,cAAc,EAAE,EAAE,EAAE,CACtF,IAAI,4BAAoB,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;aACrE,UAAU,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CACrC,IAAI,+BAAe,CAAC,mBAAmB,CAAC,IAAI,0BAAkB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;aAC3E,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,EAAgB,EAAE,CACjE,IAAI,4BAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aAC1C,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAClD,IAAI,gCAAY,CAAC,cAAc,CAAC,CAAC;aACjC,UAAU,CAAC,oBAAoB,EAAE,CAAC,EAAE,0BAA0B,EAAE,EAAE,EAAE,CACpE,IAAI,sCAAkB,CAAC,0BAA0B,CAAC,CAAC;aACnD,UAAU,CAAC,iBAAiB,EAAE,CAAC,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,EAAE,EAAE,CAC3G,IAAI,uBAAe,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;aAC1F,UAAU,CAAC,cAAc,EAAE,GAAG,EAAE,CAChC,IAAI,oBAAY,EAAE,CAAC;aACnB,UAAU,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAC3C,IAAI,+BAAuB,EAAE,CAAC;aAC9B,UAAU,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACpC,IAAI,wBAAgB,EAAE,CAAC;aACvB,UAAU,CAAC,sBAAsB,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAC3D,IAAI,4BAAoB,CAAC,eAAe,CAAC,CAAC;aAC1C,UAAU,CAAC,qBAAqB,EAAE,GAAG,EAAE,CACvC,IAAI,+BAAmB,EAAE,CAAC;aAC1B,UAAU,CAAC,iCAAiC,EAAE,GAAG,EAAE,CACnD,IAAI,2CAA+B,EAAE,CAAC;aACtC,UAAU,CAAC,yBAAyB,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAC9D,IAAI,mCAAuB,CAAC,eAAe,CAAC,CAAC;aAC7C,UAAU,CAAC,0BAA0B,EAAE,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE,CACvE,IAAI,oCAAwB,CAAC,uBAAuB,CAAC,CAAC;aACtD,UAAU,CAAC,gCAAgC,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACtE,IAAI,0CAA8B,CAAC,gBAAgB,CAAC,CAAC;aACrD,UAAU,CAAC,oBAAoB,EAAE,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC9H,IAAI,0BAAkB,CAAC,eAAe,EAAE,YAAY,EAAE,+BAA+B,EAAE,oBAAoB,CAAC,CAAC;aAC7G,UAAU,CAAC,qBAAqB,EAAE,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC/D,IAAI,+BAAmB,CAAC,oBAAoB,CAAC,CAAC;aAC9C,UAAU,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAC1C,IAAI,8BAAsB,EAAE,CAAC;aAC7B,UAAU,CAAC,wBAAwB,EAAE,CAAC,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAClO,IAAI,2BAAe,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;aAC1M,UAAU,CAAC,wBAAwB,EAAE,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAChF,IAAI,wCAA4B,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACxE,CAAC;CACD;AAzED,wDAyEC"}
|
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 { Identity, DatabaseContext, setupSystemVariables, StageBySlugQuery, unnamedIdentity, SchemaVersionBuilder, formatSchemaName, VersionedSchema, ProjectInitializer, LatestTransactionIdByStageQuery, DatabaseContextFactory, ProjectMigrator, StageCreator, getJunctionTables, } from './model';
|
|
3
|
+
export { Identity, DatabaseContext, setupSystemVariables, StageBySlugQuery, unnamedIdentity, SchemaVersionBuilder, formatSchemaName, VersionedSchema, ProjectInitializer, LatestTransactionIdByStageQuery, DatabaseContextFactory, ProjectMigrator, StageCreator, getJunctionTables, Stage, } 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,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,+BAA+B,EAC/B,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,iBAAiB,
|
|
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,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,+BAA+B,EAC/B,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,KAAK,GACL,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.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,iCAgBgB;AAff,iGAAA,QAAQ,OAAA;AAER,6GAAA,oBAAoB,OAAA;AACpB,yGAAA,gBAAgB,OAAA;AAChB,wGAAA,eAAe,OAAA;AACf,6GAAA,oBAAoB,OAAA;AACpB,yGAAA,gBAAgB,OAAA;AAEhB,2GAAA,kBAAkB,OAAA;AAClB,wHAAA,+BAA+B,OAAA;AAC/B,+GAAA,sBAAsB,OAAA;AACtB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,0GAAA,iBAAiB,OAAA;AAGlB,oDAAiC;AACjC,8CAA2B;AAC3B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export default function (builder: MigrationBuilder, args: SystemMigrationArgs): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=2020-03-27-130000-project-migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2020-03-27-130000-project-migrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/2020-03-27-130000-project-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,iBAiBlF"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
async function default_1(builder, args) {
|
|
4
4
|
builder.createTable({
|
|
5
5
|
name: 'schema_migration',
|
|
6
|
-
schema: 'system',
|
|
7
6
|
}, {
|
|
8
7
|
id: { notNull: true, type: 'SERIAL4' },
|
|
9
8
|
version: { notNull: true, type: 'varchar(20)', unique: true },
|
|
@@ -12,8 +11,9 @@ async function default_1(builder, args) {
|
|
|
12
11
|
checksum: { notNull: true, type: 'char(32)' },
|
|
13
12
|
executed_at: { notNull: true, type: 'timestamp', default: 'now()' },
|
|
14
13
|
});
|
|
15
|
-
builder.createIndex({ name: 'schema_migration'
|
|
14
|
+
builder.createIndex({ name: 'schema_migration' }, ['version'], {
|
|
16
15
|
name: 'system_schema_migration_version',
|
|
17
16
|
});
|
|
18
17
|
}
|
|
19
18
|
exports.default = default_1;
|
|
19
|
+
//# sourceMappingURL=2020-03-27-130000-project-migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2020-03-27-130000-project-migrations.js","sourceRoot":"","sources":["../../../src/migrations/2020-03-27-130000-project-migrations.ts"],"names":[],"mappings":";;AAGe,KAAK,oBAAW,OAAyB,EAAE,IAAyB;IAClF,OAAO,CAAC,WAAW,CAClB;QACC,IAAI,EAAE,kBAAkB;KACxB,EACD;QACC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE;QAC7D,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE;QAC3D,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1C,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;QAC7C,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;KACnE,CACD,CAAA;IACD,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE;QAC9D,IAAI,EAAE,iCAAiC;KACvC,CAAC,CAAA;AACH,CAAC;AAjBD,4BAiBC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export default function (builder: MigrationBuilder, args: SystemMigrationArgs): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=2020-05-06-150000-composed-primary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2020-05-06-150000-composed-primary.d.ts","sourceRoot":"","sources":["../../../src/migrations/2020-05-06-150000-composed-primary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAyD7C,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,iBAyHlF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const database_migrations_1 = require("@contember/database-migrations");
|
|
4
|
-
const
|
|
4
|
+
const model_1 = require("../model");
|
|
5
5
|
const createEventTrigger = (builder, tableName, primaryColumns) => {
|
|
6
6
|
builder.createTrigger(tableName, 'log_event', {
|
|
7
7
|
when: 'AFTER',
|
|
@@ -19,13 +19,13 @@ const migrateEvents = (builder, tableName, primaryKeys) => {
|
|
|
19
19
|
WITH RECURSIVE
|
|
20
20
|
recent_events(id, type, previous_id, data, created_at, stage) AS (
|
|
21
21
|
SELECT event.id, type, previous_id, data, created_at, stage.slug
|
|
22
|
-
FROM
|
|
23
|
-
JOIN
|
|
22
|
+
FROM event
|
|
23
|
+
JOIN stage ON stage.event_id = event.id
|
|
24
24
|
|
|
25
25
|
UNION ALL
|
|
26
26
|
|
|
27
27
|
SELECT event.id, event.type, event.previous_id, event.data, event.created_at, recent_events.stage
|
|
28
|
-
FROM
|
|
28
|
+
FROM event, recent_events
|
|
29
29
|
WHERE event.id = recent_events.previous_id
|
|
30
30
|
),
|
|
31
31
|
affected_events AS (
|
|
@@ -56,8 +56,8 @@ const migrateEvents = (builder, tableName, primaryKeys) => {
|
|
|
56
56
|
};
|
|
57
57
|
async function default_1(builder, args) {
|
|
58
58
|
const schema = await args.schemaResolver();
|
|
59
|
-
const tablesToMigrate = (0,
|
|
60
|
-
const schemas = args.project.stages.map(
|
|
59
|
+
const tablesToMigrate = (0, model_1.getJunctionTables)(schema.model);
|
|
60
|
+
const schemas = args.project.stages.map(it => `stage_${it.slug}`);
|
|
61
61
|
for (const table of tablesToMigrate) {
|
|
62
62
|
const primaryColumns = [table.joiningColumn.columnName, table.inverseJoiningColumn.columnName];
|
|
63
63
|
for (const schema of schemas) {
|
|
@@ -78,15 +78,15 @@ async function default_1(builder, args) {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
builder.sql(`
|
|
81
|
-
UPDATE
|
|
81
|
+
UPDATE event
|
|
82
82
|
SET data = data || jsonb_build_object('rowId', json_build_array(data ->> 'rowId'))
|
|
83
83
|
WHERE jsonb_typeof(data -> 'rowId') = 'string'
|
|
84
84
|
`);
|
|
85
|
-
builder.sql(`CREATE OR REPLACE FUNCTION "
|
|
85
|
+
builder.sql(`CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS
|
|
86
86
|
$$
|
|
87
87
|
|
|
88
88
|
DECLARE
|
|
89
|
-
new_event_id UUID :=
|
|
89
|
+
new_event_id UUID := uuid_generate_v4();
|
|
90
90
|
DECLARE new_event_type TEXT;
|
|
91
91
|
DECLARE new_event_data JSONB;
|
|
92
92
|
DECLARE current_stage RECORD;
|
|
@@ -146,15 +146,15 @@ BEGIN
|
|
|
146
146
|
END CASE;
|
|
147
147
|
|
|
148
148
|
SELECT "id", "event_id"
|
|
149
|
-
FROM "
|
|
149
|
+
FROM "stage"
|
|
150
150
|
WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
|
|
151
151
|
FOR NO KEY UPDATE
|
|
152
152
|
INTO current_stage;
|
|
153
153
|
|
|
154
|
-
INSERT INTO "
|
|
154
|
+
INSERT INTO "event" ("id", "type", "data", "previous_id")
|
|
155
155
|
VALUES (new_event_id, new_event_type, new_event_data, current_stage.event_id);
|
|
156
156
|
|
|
157
|
-
UPDATE "
|
|
157
|
+
UPDATE "stage"
|
|
158
158
|
SET "event_id" = new_event_id
|
|
159
159
|
WHERE "id" = current_stage.id;
|
|
160
160
|
|
|
@@ -164,7 +164,6 @@ END;
|
|
|
164
164
|
$$ LANGUAGE plpgsql;
|
|
165
165
|
`);
|
|
166
166
|
builder.dropFunction({
|
|
167
|
-
schema: 'system',
|
|
168
167
|
name: 'make_diff',
|
|
169
168
|
}, [
|
|
170
169
|
{ name: 'old', type: 'jsonb' },
|
|
@@ -172,3 +171,4 @@ $$ LANGUAGE plpgsql;
|
|
|
172
171
|
]);
|
|
173
172
|
}
|
|
174
173
|
exports.default = default_1;
|
|
174
|
+
//# sourceMappingURL=2020-05-06-150000-composed-primary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2020-05-06-150000-composed-primary.js","sourceRoot":"","sources":["../../../src/migrations/2020-05-06-150000-composed-primary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export default function (builder: MigrationBuilder, args: SystemMigrationArgs): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=2020-06-01-103000-event-trigger-perf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.d.ts","sourceRoot":"","sources":["../../../src/migrations/2020-06-01-103000-event-trigger-perf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAe7C,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,iBAuGlF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const model_1 = require("../model");
|
|
4
4
|
const createEventStatementTrigger = (builder, tableName) => {
|
|
5
5
|
builder.createTrigger(tableName, 'log_event_statement', {
|
|
6
6
|
when: 'AFTER',
|
|
@@ -14,9 +14,9 @@ const createEventStatementTrigger = (builder, tableName) => {
|
|
|
14
14
|
};
|
|
15
15
|
async function default_1(builder, args) {
|
|
16
16
|
const schema = await args.schemaResolver();
|
|
17
|
-
const junctionTables = (0,
|
|
18
|
-
const schemas = args.project.stages.map(
|
|
19
|
-
builder.sql(`CREATE OR REPLACE FUNCTION "
|
|
17
|
+
const junctionTables = (0, model_1.getJunctionTables)(schema.model);
|
|
18
|
+
const schemas = args.project.stages.map(it => `stage_${it.slug}`);
|
|
19
|
+
builder.sql(`CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS $$
|
|
20
20
|
DECLARE
|
|
21
21
|
DECLARE new_event_type TEXT;
|
|
22
22
|
DECLARE previous_id UUID;
|
|
@@ -78,26 +78,26 @@ BEGIN
|
|
|
78
78
|
END CASE;
|
|
79
79
|
CASE WHEN NULLIF(current_setting('system.current_stage_id' || TG_TABLE_SCHEMA, TRUE), '') IS NULL THEN
|
|
80
80
|
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)
|
|
81
|
-
FROM "
|
|
81
|
+
FROM "stage"
|
|
82
82
|
WHERE "slug" = right(TG_TABLE_SCHEMA, -length('stage_'))
|
|
83
83
|
FOR NO KEY UPDATE;
|
|
84
84
|
ELSE
|
|
85
85
|
-- do nothing
|
|
86
86
|
END CASE;
|
|
87
87
|
previous_id := current_setting('system.current_stage_event' || TG_TABLE_SCHEMA)::UUID;
|
|
88
|
-
INSERT INTO "
|
|
88
|
+
INSERT INTO "event" ("id", "type", "data", "previous_id")
|
|
89
89
|
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);
|
|
90
90
|
|
|
91
91
|
RETURN NULL;
|
|
92
92
|
END;
|
|
93
93
|
|
|
94
94
|
$$ LANGUAGE plpgsql`);
|
|
95
|
-
builder.sql(`CREATE OR REPLACE FUNCTION "
|
|
95
|
+
builder.sql(`CREATE OR REPLACE FUNCTION "statement_trigger_event"() RETURNS TRIGGER AS
|
|
96
96
|
$$
|
|
97
97
|
BEGIN
|
|
98
98
|
CASE
|
|
99
99
|
WHEN NULLIF(current_setting('system.current_stage_id' || TG_TABLE_SCHEMA, TRUE), '') IS NOT NULL THEN
|
|
100
|
-
UPDATE
|
|
100
|
+
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;
|
|
101
101
|
ELSE
|
|
102
102
|
-- do nothing
|
|
103
103
|
END CASE;
|
|
@@ -117,3 +117,4 @@ $$
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
exports.default = default_1;
|
|
120
|
+
//# sourceMappingURL=2020-06-01-103000-event-trigger-perf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2020-06-01-103000-event-trigger-perf.js","sourceRoot":"","sources":["../../../src/migrations/2020-06-01-103000-event-trigger-perf.ts"],"names":[],"mappings":";;AAEA,oCAA4C;AAE5C,MAAM,2BAA2B,GAAG,CAAC,OAAyB,EAAE,SAAe,EAAE,EAAE;IAClF,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,qBAAqB,EAAE;QACvD,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACzC,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,yBAAyB;SAC/B;KACD,CAAC,CAAA;AACH,CAAC,CAAA;AAEc,KAAK,oBAAW,OAAyB,EAAE,IAAyB;IAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAC1C,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA2EO,CAAC,CAAA;IACpB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;qBAYQ,CAAC,CAAA;IACrB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,2BAA2B,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;SACvE;KACD;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,2BAA2B,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;SACxE;KACD;AACF,CAAC;AAvGD,4BAuGC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export default function (builder: MigrationBuilder, args: SystemMigrationArgs): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=2021-05-07-155800-event-log-rework.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2021-05-07-155800-event-log-rework.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-05-07-155800-event-log-rework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAiB7C,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,iBAoQlF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const model_1 = require("../model");
|
|
4
4
|
const createTrxEvent = (builder, tableName) => {
|
|
5
5
|
builder.createTrigger(tableName, 'log_event_trx', {
|
|
6
6
|
when: 'AFTER',
|
|
@@ -16,11 +16,11 @@ const createTrxEvent = (builder, tableName) => {
|
|
|
16
16
|
};
|
|
17
17
|
async function default_1(builder, args) {
|
|
18
18
|
const schema = await args.schemaResolver();
|
|
19
|
-
const junctionTables = (0,
|
|
20
|
-
const schemas = args.project.stages.map(
|
|
21
|
-
builder.sql(`LOCK TABLE
|
|
19
|
+
const junctionTables = (0, model_1.getJunctionTables)(schema.model);
|
|
20
|
+
const schemas = args.project.stages.map(it => `stage_${it.slug}`);
|
|
21
|
+
builder.sql(`LOCK TABLE event`);
|
|
22
22
|
builder.sql(`
|
|
23
|
-
ALTER TABLE
|
|
23
|
+
ALTER TABLE schema_migration
|
|
24
24
|
ADD PRIMARY KEY (id)
|
|
25
25
|
`);
|
|
26
26
|
builder.sql(`
|
|
@@ -28,40 +28,40 @@ async function default_1(builder, args) {
|
|
|
28
28
|
CONSTRAINT event_data_type_check CHECK (VALUE = ANY (ARRAY ['create', 'update', 'delete']));
|
|
29
29
|
`);
|
|
30
30
|
builder.sql(`
|
|
31
|
-
CREATE TABLE
|
|
31
|
+
CREATE TABLE event_data (
|
|
32
32
|
id UUID NOT NULL CONSTRAINT event_data_pkey PRIMARY KEY,
|
|
33
|
-
type
|
|
33
|
+
type event_data_type NOT NULL,
|
|
34
34
|
table_name TEXT NOT NULL,
|
|
35
35
|
row_ids JSONB NOT NULL,
|
|
36
36
|
values JSONB DEFAULT NULL,
|
|
37
37
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CLOCK_TIMESTAMP() NOT NULL,
|
|
38
|
-
schema_id INTEGER NOT NULL REFERENCES
|
|
38
|
+
schema_id INTEGER NOT NULL REFERENCES schema_migration(id),
|
|
39
39
|
identity_id UUID NOT NULL,
|
|
40
40
|
transaction_id UUID DEFAULT COALESCE(
|
|
41
41
|
(NULLIF(CURRENT_SETTING('system.transaction_id'::TEXT, TRUE), ''::TEXT))::UUID,
|
|
42
|
-
(SET_CONFIG('system.transaction_id'::TEXT, (
|
|
42
|
+
(SET_CONFIG('system.transaction_id'::TEXT, (uuid_generate_v4())::TEXT, TRUE))::UUID) NOT NULL
|
|
43
43
|
)
|
|
44
44
|
`);
|
|
45
45
|
builder.sql(`
|
|
46
46
|
CREATE INDEX system_event_row_id
|
|
47
|
-
ON
|
|
47
|
+
ON event_data(row_ids)
|
|
48
48
|
`);
|
|
49
49
|
builder.sql(`
|
|
50
50
|
CREATE INDEX system_event2_table_name
|
|
51
|
-
ON
|
|
51
|
+
ON event_data(table_name)
|
|
52
52
|
`);
|
|
53
53
|
builder.sql(`
|
|
54
54
|
CREATE INDEX system_event2_type
|
|
55
|
-
ON
|
|
55
|
+
ON event_data(type)
|
|
56
56
|
`);
|
|
57
57
|
builder.sql(`
|
|
58
58
|
CREATE INDEX system_event2_transaction
|
|
59
|
-
ON
|
|
59
|
+
ON event_data(transaction_id)
|
|
60
60
|
`);
|
|
61
61
|
builder.sql(`
|
|
62
|
-
CREATE TABLE
|
|
62
|
+
CREATE TABLE stage_transaction (
|
|
63
63
|
transaction_id UUID NOT NULL,
|
|
64
|
-
stage_id UUID NOT NULL REFERENCES
|
|
64
|
+
stage_id UUID NOT NULL REFERENCES stage(id) ON DELETE CASCADE,
|
|
65
65
|
applied_at TIMESTAMPTZ NOT NULL,
|
|
66
66
|
PRIMARY KEY (transaction_id, stage_id)
|
|
67
67
|
)
|
|
@@ -71,23 +71,23 @@ async function default_1(builder, args) {
|
|
|
71
71
|
events AS (
|
|
72
72
|
SELECT
|
|
73
73
|
e.*,
|
|
74
|
-
(SELECT MAX(id) FROM
|
|
74
|
+
(SELECT MAX(id) FROM schema_migration) AS schema_id,
|
|
75
75
|
1 AS index,
|
|
76
76
|
stage.id AS stage_id
|
|
77
|
-
FROM
|
|
78
|
-
JOIN
|
|
77
|
+
FROM stage
|
|
78
|
+
JOIN event e ON stage.event_id = e.id
|
|
79
79
|
UNION ALL
|
|
80
80
|
SELECT
|
|
81
81
|
event.*,
|
|
82
82
|
COALESCE(
|
|
83
83
|
CASE WHEN event.type = 'run_migration' THEN
|
|
84
|
-
(SELECT id FROM
|
|
84
|
+
(SELECT id FROM schema_migration WHERE version = event.data ->> 'version')
|
|
85
85
|
END,
|
|
86
86
|
events.schema_id
|
|
87
87
|
),
|
|
88
88
|
index + 1,
|
|
89
89
|
stage_id
|
|
90
|
-
FROM
|
|
90
|
+
FROM event
|
|
91
91
|
JOIN events
|
|
92
92
|
ON events.previous_id = event.id
|
|
93
93
|
),
|
|
@@ -101,7 +101,7 @@ async function default_1(builder, args) {
|
|
|
101
101
|
FROM events
|
|
102
102
|
)
|
|
103
103
|
INSERT
|
|
104
|
-
INTO
|
|
104
|
+
INTO event_data (id, type, table_name, row_ids, values, created_at, schema_id, identity_id, transaction_id)
|
|
105
105
|
SELECT
|
|
106
106
|
id,
|
|
107
107
|
type,
|
|
@@ -123,14 +123,14 @@ async function default_1(builder, args) {
|
|
|
123
123
|
e.*,
|
|
124
124
|
1 AS index,
|
|
125
125
|
stage.id AS stage_id
|
|
126
|
-
FROM
|
|
127
|
-
JOIN
|
|
126
|
+
FROM stage
|
|
127
|
+
JOIN event e ON stage.event_id = e.id
|
|
128
128
|
UNION ALL
|
|
129
129
|
SELECT
|
|
130
130
|
event.*,
|
|
131
131
|
index + 1,
|
|
132
132
|
stage_id
|
|
133
|
-
FROM
|
|
133
|
+
FROM event
|
|
134
134
|
JOIN events ON events.previous_id = event.id
|
|
135
135
|
),
|
|
136
136
|
transaction_times AS (
|
|
@@ -144,12 +144,12 @@ async function default_1(builder, args) {
|
|
|
144
144
|
ORDER BY transaction_id
|
|
145
145
|
)
|
|
146
146
|
INSERT
|
|
147
|
-
INTO
|
|
147
|
+
INTO stage_transaction (transaction_id, stage_id, applied_at)
|
|
148
148
|
SELECT transaction_id, stage_id, created_at
|
|
149
149
|
FROM transaction_times
|
|
150
150
|
`);
|
|
151
151
|
builder.sql(`
|
|
152
|
-
CREATE OR REPLACE FUNCTION "
|
|
152
|
+
CREATE OR REPLACE FUNCTION "trigger_event"() RETURNS TRIGGER AS
|
|
153
153
|
$$
|
|
154
154
|
DECLARE new_event_type TEXT;
|
|
155
155
|
DECLARE table_name TEXT;
|
|
@@ -200,14 +200,14 @@ async function default_1(builder, args) {
|
|
|
200
200
|
END CASE;
|
|
201
201
|
|
|
202
202
|
CASE WHEN NULLIF(CURRENT_SETTING('system.schema_id', true), '') IS NULL THEN
|
|
203
|
-
PERFORM SET_CONFIG('system.schema_id', (select MAX("id")::TEXT from
|
|
203
|
+
PERFORM SET_CONFIG('system.schema_id', (select MAX("id")::TEXT from schema_migration), TRUE);
|
|
204
204
|
ELSE
|
|
205
205
|
-- do nothing
|
|
206
206
|
END CASE;
|
|
207
207
|
|
|
208
|
-
INSERT INTO "
|
|
208
|
+
INSERT INTO "event_data" ("id", "type", "table_name", "row_ids", "values", "created_at", schema_id, identity_id)
|
|
209
209
|
VALUES (
|
|
210
|
-
|
|
210
|
+
uuid_generate_v4(),
|
|
211
211
|
new_event_type,
|
|
212
212
|
table_name,
|
|
213
213
|
primary_values,
|
|
@@ -232,12 +232,12 @@ async function default_1(builder, args) {
|
|
|
232
232
|
NULLIF(CURRENT_SETTING('system.transaction_id', true), '') IS NOT NULL
|
|
233
233
|
AND NULLIF(CURRENT_SETTING('system.transaction_inserted', true), '') IS NULL
|
|
234
234
|
THEN
|
|
235
|
-
INSERT INTO
|
|
235
|
+
INSERT INTO stage_transaction(transaction_id, stage_id, applied_at)
|
|
236
236
|
VALUES (
|
|
237
237
|
CURRENT_SETTING('system.transaction_id')::UUID,
|
|
238
238
|
(
|
|
239
239
|
SELECT id
|
|
240
|
-
FROM "
|
|
240
|
+
FROM "stage"
|
|
241
241
|
WHERE "slug" = RIGHT(TG_TABLE_SCHEMA, - LENGTH('stage_'))
|
|
242
242
|
),
|
|
243
243
|
CLOCK_TIMESTAMP()
|
|
@@ -266,12 +266,13 @@ async function default_1(builder, args) {
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
builder.sql(`
|
|
269
|
-
ALTER TABLE
|
|
269
|
+
ALTER TABLE stage
|
|
270
270
|
ALTER event_id DROP NOT NULL
|
|
271
271
|
`);
|
|
272
272
|
builder.sql(`
|
|
273
|
-
ALTER TABLE
|
|
273
|
+
ALTER TABLE event
|
|
274
274
|
RENAME TO event_bak
|
|
275
275
|
`);
|
|
276
276
|
}
|
|
277
277
|
exports.default = default_1;
|
|
278
|
+
//# sourceMappingURL=2021-05-07-155800-event-log-rework.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2021-05-07-155800-event-log-rework.js","sourceRoot":"","sources":["../../../src/migrations/2021-05-07-155800-event-log-rework.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SystemMigrationArgs } from './types';
|
|
3
|
+
export default function (builder: MigrationBuilder, args: SystemMigrationArgs): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=2021-05-19-1232000-event-log-fix-constraint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2021-05-19-1232000-event-log-fix-constraint.d.ts","sourceRoot":"","sources":["../../../src/migrations/2021-05-19-1232000-event-log-fix-constraint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAQ,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAoB7C,yBAA+B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,iBAelF"}
|