@contember/engine-system-api 1.4.0-alpha.2 → 1.4.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 +3 -2
- package/dist/src/SystemContainer.d.ts.map +1 -1
- package/dist/src/SystemContainer.js +3 -2
- package/dist/src/SystemContainer.js.map +1 -1
- package/dist/src/bin/runMigrations.js +1 -1
- package/dist/src/bin/runMigrations.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/2023-10-24-140000-schema-nullable-checksum.d.ts +3 -0
- package/dist/src/migrations/2023-10-24-140000-schema-nullable-checksum.d.ts.map +1 -0
- package/dist/src/migrations/2023-10-24-140000-schema-nullable-checksum.js +12 -0
- package/dist/src/migrations/2023-10-24-140000-schema-nullable-checksum.js.map +1 -0
- package/dist/src/migrations/runner.d.ts +1 -2
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +6 -7
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/migrations/snapshot.d.ts.map +1 -1
- package/dist/src/migrations/snapshot.js +7 -2
- package/dist/src/migrations/snapshot.js.map +1 -1
- package/dist/src/model/authorization/AuthorizationActions.d.ts +5 -0
- package/dist/src/model/authorization/AuthorizationActions.d.ts.map +1 -1
- package/dist/src/model/authorization/AuthorizationActions.js +1 -0
- package/dist/src/model/authorization/AuthorizationActions.js.map +1 -1
- package/dist/src/model/authorization/PermissionsFactory.d.ts.map +1 -1
- package/dist/src/model/authorization/PermissionsFactory.js +1 -0
- package/dist/src/model/authorization/PermissionsFactory.js.map +1 -1
- package/dist/src/model/commands/migrations/SaveMigrationCommand.d.ts +4 -4
- package/dist/src/model/commands/migrations/SaveMigrationCommand.d.ts.map +1 -1
- package/dist/src/model/commands/migrations/SaveMigrationCommand.js +11 -3
- package/dist/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
- package/dist/src/model/dependencies/content/ContentQueryExecutor.d.ts +35 -0
- package/dist/src/model/dependencies/content/ContentQueryExecutor.d.ts.map +1 -0
- package/dist/src/model/dependencies/content/ContentQueryExecutor.js +3 -0
- package/dist/src/model/dependencies/content/ContentQueryExecutor.js.map +1 -0
- package/dist/src/model/dependencies/index.d.ts +1 -0
- package/dist/src/model/dependencies/index.d.ts.map +1 -1
- package/dist/src/model/dependencies/index.js +1 -0
- package/dist/src/model/dependencies/index.js.map +1 -1
- package/dist/src/model/dtos/ExecutedMigration.d.ts +3 -2
- 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/migrations/MigrationInput.d.ts +18 -0
- package/dist/src/model/migrations/MigrationInput.d.ts.map +1 -0
- package/dist/src/model/migrations/MigrationInput.js +3 -0
- package/dist/src/model/migrations/MigrationInput.js.map +1 -0
- package/dist/src/model/migrations/ProjectMigrator.d.ts +28 -6
- package/dist/src/model/migrations/ProjectMigrator.d.ts.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js +80 -22
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.d.ts.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.js +10 -5
- package/dist/src/model/migrations/SchemaVersionBuilder.js.map +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQueryHelper.d.ts +2 -1
- 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/resolvers/SystemResolverContext.d.ts +2 -2
- package/dist/src/resolvers/SystemResolverContext.d.ts.map +1 -1
- package/dist/src/resolvers/SystemResolverContext.js.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts +1 -0
- package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js +62 -4
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
- package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.d.ts.map +1 -1
- package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.js +4 -0
- package/dist/src/resolvers/query/ExecutedMigrationsQueryResolver.js.map +1 -1
- package/dist/src/schema/system.graphql.d.ts.map +1 -1
- package/dist/src/schema/system.graphql.js +30 -4
- package/dist/src/schema/system.graphql.js.map +1 -1
- package/dist/src/schema/types.d.ts +170 -106
- package/dist/src/schema/types.d.ts.map +1 -1
- package/dist/src/schema/types.js +8 -1
- package/dist/src/schema/types.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/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.js +1 -0
- package/dist/tests/cases/migrations/2020-05-06-150000-composed-primary.test.js.map +1 -1
- package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.js +1 -0
- package/dist/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.js.map +1 -1
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js +1 -0
- package/dist/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.js.map +1 -1
- package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.js +2 -0
- package/dist/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.js.map +1 -1
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js +1 -0
- package/dist/tests/cases/migrations/2023-10-19-173000-fix-unique.test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +22 -22
- package/src/SystemContainer.ts +3 -1
- package/src/bin/runMigrations.ts +1 -2
- package/src/index.ts +5 -1
- package/src/migrations/2023-10-24-140000-schema-nullable-checksum.ts +11 -0
- package/src/migrations/runner.ts +10 -6
- package/src/migrations/snapshot.ts +7 -2
- package/src/model/authorization/AuthorizationActions.ts +1 -0
- package/src/model/authorization/PermissionsFactory.ts +1 -0
- package/src/model/commands/migrations/SaveMigrationCommand.ts +20 -7
- package/src/model/dependencies/content/ContentQueryExecutor.ts +27 -0
- package/src/model/dependencies/index.ts +1 -0
- package/src/model/dtos/ExecutedMigration.ts +3 -1
- package/src/model/migrations/MigrationInput.ts +25 -0
- package/src/model/migrations/ProjectMigrator.ts +113 -47
- package/src/model/migrations/SchemaVersionBuilder.ts +10 -5
- package/src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts +3 -1
- package/src/resolvers/SystemResolverContext.ts +2 -2
- package/src/resolvers/mutation/MigrateMutationResolver.ts +61 -5
- package/src/resolvers/query/ExecutedMigrationsQueryResolver.ts +6 -1
- package/src/schema/system.graphql.ts +30 -4
- package/src/schema/types.ts +145 -106
- package/src/types.ts +1 -0
- package/tests/cases/migrations/2020-05-06-150000-composed-primary.test.ts +1 -0
- package/tests/cases/migrations/2020-06-01-103000-event-trigger-perf.test.ts +1 -0
- package/tests/cases/migrations/2022-10-03-110000-table-on-delete.test.ts +1 -0
- package/tests/cases/migrations/2023-09-11-174000-fix-on-delete.test.ts +2 -0
- package/tests/cases/migrations/2023-10-19-173000-fix-unique.test.ts +1 -0
|
@@ -1,7 +1,7 @@
|
|
|
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 { EventResponseBuilder, ExecutedMigrationsResolver, IdentityFetcher, MigrationAlterer, MigrationsDatabaseMetadataResolverStoreFactory, ProjectMigrator, ProjectTruncateExecutor, SchemaVersionBuilder } from './model';
|
|
4
|
+
import { ContentQueryExecutor, EventResponseBuilder, ExecutedMigrationsResolver, IdentityFetcher, MigrationAlterer, MigrationsDatabaseMetadataResolverStoreFactory, ProjectMigrator, ProjectTruncateExecutor, SchemaVersionBuilder } from './model';
|
|
5
5
|
import { UuidProvider } from './utils';
|
|
6
6
|
import { EventsQueryResolver, ExecutedMigrationsQueryResolver, MigrateMutationResolver, MigrationAlterMutationResolver, ResolverFactory, StagesQueryResolver, SystemResolverContextFactory, TruncateMutationResolver } from './resolvers';
|
|
7
7
|
import { EventOldValuesResolver } from './resolvers/types';
|
|
@@ -18,7 +18,8 @@ type Args = {
|
|
|
18
18
|
export declare class SystemContainerFactory {
|
|
19
19
|
private readonly providers;
|
|
20
20
|
private readonly modificationHandlerFactory;
|
|
21
|
-
|
|
21
|
+
private readonly contentQueryExecutor;
|
|
22
|
+
constructor(providers: UuidProvider, modificationHandlerFactory: ModificationHandlerFactory, contentQueryExecutor: ContentQueryExecutor);
|
|
22
23
|
create(container: Args): Container<SystemContainer>;
|
|
23
24
|
createBuilder({ identityFetcher }: Args): Builder<{
|
|
24
25
|
providers: UuidProvider;
|
|
@@ -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,EACN,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,8CAA8C,EAE9C,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;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,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,KAAK,IAAI,GAAG;IACX,eAAe,EAAE,eAAe,CAAA;CAChC,CAAA;AAED,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;
|
|
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,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,8CAA8C,EAE9C,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;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,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,KAAK,IAAI,GAAG;IACX,eAAe,EAAE,eAAe,CAAA;CAChC,CAAA;AAED,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAFpB,SAAS,EAAE,YAAY,EACvB,0BAA0B,EAAE,0BAA0B,EACtD,oBAAoB,EAAE,oBAAoB;IAIrD,MAAM,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC;IAUnD,aAAa,CAAC,EAAE,eAAe,EAAE,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD9C"}
|
|
@@ -9,9 +9,10 @@ const resolvers_1 = require("./resolvers");
|
|
|
9
9
|
const types_1 = require("./resolvers/types");
|
|
10
10
|
const database_1 = require("@contember/database");
|
|
11
11
|
class SystemContainerFactory {
|
|
12
|
-
constructor(providers, modificationHandlerFactory) {
|
|
12
|
+
constructor(providers, modificationHandlerFactory, contentQueryExecutor) {
|
|
13
13
|
this.providers = providers;
|
|
14
14
|
this.modificationHandlerFactory = modificationHandlerFactory;
|
|
15
|
+
this.contentQueryExecutor = contentQueryExecutor;
|
|
15
16
|
}
|
|
16
17
|
create(container) {
|
|
17
18
|
return this.createBuilder(container)
|
|
@@ -32,7 +33,7 @@ class SystemContainerFactory {
|
|
|
32
33
|
.addService('migrationDescriber', ({ modificationHandlerFactory }) => new schema_migrations_1.MigrationDescriber(modificationHandlerFactory))
|
|
33
34
|
.addService('databaseMetadataResolver', () => new database_1.DatabaseMetadataResolver())
|
|
34
35
|
.addService('migrationsDatabaseMetadataResolverStoreFactory', ({ databaseMetadataResolver }) => new model_1.MigrationsDatabaseMetadataResolverStoreFactory(databaseMetadataResolver))
|
|
35
|
-
.addService('projectMigrator', ({ migrationDescriber, schemaVersionBuilder, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory }) => new model_1.ProjectMigrator(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory))
|
|
36
|
+
.addService('projectMigrator', ({ migrationDescriber, schemaVersionBuilder, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory }) => new model_1.ProjectMigrator(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory, this.contentQueryExecutor))
|
|
36
37
|
.addService('projectTruncateExecutor', () => new model_1.ProjectTruncateExecutor())
|
|
37
38
|
.addService('migrationAlterer', () => new model_1.MigrationAlterer())
|
|
38
39
|
.addService('eventResponseBuilder', ({ identityFetcher }) => new model_1.EventResponseBuilder(identityFetcher))
|
|
@@ -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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"}
|
|
@@ -16,7 +16,7 @@ const logger_1 = require("@contember/logger");
|
|
|
16
16
|
uuid: () => {
|
|
17
17
|
throw new Error();
|
|
18
18
|
},
|
|
19
|
-
}), { db: dbConfig, slug: 'test', stages: []
|
|
19
|
+
}), { db: dbConfig, slug: 'test', stages: [], systemSchema: 'system' }, {
|
|
20
20
|
buildSchema: () => Promise.resolve(model_1.emptyVersionedSchema),
|
|
21
21
|
}, {}, {
|
|
22
22
|
resolveMetadata: () => Promise.resolve(database_1.emptyDatabaseMetadata),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runMigrations.js","sourceRoot":"","sources":["../../../src/bin/runMigrations.ts"],"names":[],"mappings":";;AAAA,8CAAsD;AACtD,oCAA6F;AAC7F,kDAAiG;AACjG,8CAA0E;AAG1E,CAAC,KAAK,IAAI,EAAE;IACX,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,MAAM,gBAAgB,GAAG,IAAI,mCAAsB,CAClD,IAAI,8BAAsB,CAAC,QAAQ,EAAE;QACpC,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,
|
|
1
|
+
{"version":3,"file":"runMigrations.js","sourceRoot":"","sources":["../../../src/bin/runMigrations.ts"],"names":[],"mappings":";;AAAA,8CAAsD;AACtD,oCAA6F;AAC7F,kDAAiG;AACjG,8CAA0E;AAG1E,CAAC,KAAK,IAAI,EAAE;IACX,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,MAAM,gBAAgB,GAAG,IAAI,mCAAsB,CAClD,IAAI,8BAAsB,CAAC,QAAQ,EAAE;QACpC,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,YAAY,EAAE,QAAQ,EAAE,EAClE;QACC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,4BAAoB,CAAC;KACrB,EACpC,EAAE,EACF;QACC,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAqB,CAAC;KACtB,CACxC,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
|
-
export { SchemaMigrator
|
|
1
|
+
export { SchemaMigrator } from '@contember/schema-migrations';
|
|
2
2
|
export { typeDefs, devTypeDefs, Schema } from './schema';
|
|
3
|
-
export { DatabaseContext, DatabaseContextFactory, Command, formatSchemaName, getJunctionTables, Identity, LatestTransactionIdByStageQuery, ProjectInitializer, ProjectMigrator, SchemaVersionBuilder, Stage, StageBySlugQuery, StageCreator, StagesQuery, VersionedSchema, } from './model';
|
|
3
|
+
export { ContentQueryExecutor, ContentQueryExecutorContext, ContentQueryExecutorQuery, ContentQueryExecutorResult, DatabaseContext, DatabaseContextFactory, Command, 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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,OAAO,EACN,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,OAAO,EACP,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,10 +14,9 @@ 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.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.
|
|
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.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
|
-
Object.defineProperty(exports, "MigrationsResolver", { enumerable: true, get: function () { return schema_migrations_1.MigrationsResolver; } });
|
|
21
20
|
var schema_1 = require("./schema");
|
|
22
21
|
Object.defineProperty(exports, "typeDefs", { enumerable: true, get: function () { return schema_1.typeDefs; } });
|
|
23
22
|
Object.defineProperty(exports, "devTypeDefs", { enumerable: true, get: function () { return schema_1.devTypeDefs; } });
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAA6D;AAApD,mHAAA,cAAc,OAAA;AAEvB,mCAAwD;AAA/C,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEtC,iCAoBgB;AAdf,+GAAA,sBAAsB,OAAA;AAEtB,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":"2023-10-24-140000-schema-nullable-checksum.d.ts","sourceRoot":"","sources":["../../../src/migrations/2023-10-24-140000-schema-nullable-checksum.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
|
+
CREATE TYPE SCHEMA_MIGRATION_TYPE AS ENUM('schema', 'content');
|
|
5
|
+
ALTER TABLE schema_migration ALTER checksum DROP NOT NULL,
|
|
6
|
+
ADD COLUMN type SCHEMA_MIGRATION_TYPE NOT NULL DEFAULT 'schema';
|
|
7
|
+
`;
|
|
8
|
+
async function default_1(builder) {
|
|
9
|
+
builder.sql(sql);
|
|
10
|
+
}
|
|
11
|
+
exports.default = default_1;
|
|
12
|
+
//# sourceMappingURL=2023-10-24-140000-schema-nullable-checksum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2023-10-24-140000-schema-nullable-checksum.js","sourceRoot":"","sources":["../../../src/migrations/2023-10-24-140000-schema-nullable-checksum.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"}
|
|
@@ -6,13 +6,12 @@ import { Logger } from '@contember/logger';
|
|
|
6
6
|
export declare class SystemMigrationsRunner {
|
|
7
7
|
private readonly databaseContextFactory;
|
|
8
8
|
private readonly project;
|
|
9
|
-
private readonly schema;
|
|
10
9
|
private readonly schemaVersionBuilder;
|
|
11
10
|
private readonly migrationGroups;
|
|
12
11
|
private readonly databaseMetadataResolver;
|
|
13
12
|
constructor(databaseContextFactory: DatabaseContextFactory, project: ProjectConfig & {
|
|
14
13
|
db: DatabaseConfig;
|
|
15
|
-
},
|
|
14
|
+
}, schemaVersionBuilder: SchemaVersionBuilder, migrationGroups: Record<string, MigrationGroup<unknown>>, databaseMetadataResolver: DatabaseMetadataResolver);
|
|
16
15
|
run(logger: Logger): Promise<void>;
|
|
17
16
|
}
|
|
18
17
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,cAAc,EAGd,MAAM,gCAAgC,CAAA;AAwBvC,OAAO,EAAyC,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACrH,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA2B1C,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAJxB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,aAAa,GAAG;QAAE,EAAE,EAAE,cAAc,CAAA;KAAE,EAC/C,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,EACxD,wBAAwB,EAAE,wBAAwB;IAG9D,GAAG,CAAC,MAAM,EAAE,MAAM;CAmCxB"}
|
|
@@ -25,10 +25,9 @@ const _2022_02_08_144400_dynamic_stage_schema_1 = __importDefault(require("./202
|
|
|
25
25
|
const _2022_10_03_110000_table_on_delete_1 = __importDefault(require("./2022-10-03-110000-table-on-delete"));
|
|
26
26
|
const _2023_09_11_174000_fix_on_delete_1 = __importDefault(require("./2023-09-11-174000-fix-on-delete"));
|
|
27
27
|
const _2023_10_19_173000_fix_unique_1 = __importDefault(require("./2023-10-19-173000-fix-unique"));
|
|
28
|
+
const _2023_10_24_140000_schema_nullable_checksum_1 = __importDefault(require("./2023-10-24-140000-schema-nullable-checksum"));
|
|
28
29
|
const snapshot_1 = __importDefault(require("./snapshot"));
|
|
29
30
|
const database_1 = require("@contember/database");
|
|
30
|
-
const database_migrations_2 = require("@contember/database-migrations");
|
|
31
|
-
const database_migrations_3 = require("@contember/database-migrations");
|
|
32
31
|
const migrations = {
|
|
33
32
|
'2018-08-04-102200-init': _2018_08_04_102200_init_1.default,
|
|
34
33
|
'2018-08-05-130501-trigger-event-function': _2018_08_05_130501_trigger_event_function_1.default,
|
|
@@ -50,12 +49,12 @@ const migrations = {
|
|
|
50
49
|
'2022-10-03-110000-table-on-delete': _2022_10_03_110000_table_on_delete_1.default,
|
|
51
50
|
'2023-09-11-174000-fix-on-delete': _2023_09_11_174000_fix_on_delete_1.default,
|
|
52
51
|
'2023-10-19-173000-fix-unique': _2023_10_19_173000_fix_unique_1.default,
|
|
52
|
+
'2023-10-24-140000-schema-nullable-checksum': _2023_10_24_140000_schema_nullable_checksum_1.default,
|
|
53
53
|
};
|
|
54
54
|
class SystemMigrationsRunner {
|
|
55
|
-
constructor(databaseContextFactory, project,
|
|
55
|
+
constructor(databaseContextFactory, project, schemaVersionBuilder, migrationGroups, databaseMetadataResolver) {
|
|
56
56
|
this.databaseContextFactory = databaseContextFactory;
|
|
57
57
|
this.project = project;
|
|
58
|
-
this.schema = schema;
|
|
59
58
|
this.schemaVersionBuilder = schemaVersionBuilder;
|
|
60
59
|
this.migrationGroups = migrationGroups;
|
|
61
60
|
this.databaseMetadataResolver = databaseMetadataResolver;
|
|
@@ -68,11 +67,11 @@ class SystemMigrationsRunner {
|
|
|
68
67
|
const dbContextMigrations = this.databaseContextFactory.create(connection);
|
|
69
68
|
return this.schemaVersionBuilder.buildSchema(dbContextMigrations);
|
|
70
69
|
};
|
|
71
|
-
const migrationResolver = new
|
|
70
|
+
const migrationResolver = new database_migrations_1.GroupMigrationsResolver(new database_migrations_1.SnapshotMigrationResolver(snapshot_1.default, migrations), Object.fromEntries(Object.entries(this.migrationGroups).map(([group, it]) => [
|
|
72
71
|
group,
|
|
73
|
-
new
|
|
72
|
+
new database_migrations_1.SnapshotMigrationResolver(it.snapshot, it.migrations, group.replace(/[^-_\w]+/g, '-'), migrations),
|
|
74
73
|
])));
|
|
75
|
-
const migrationsRunner = new database_migrations_1.MigrationsRunner(connection, this.
|
|
74
|
+
const migrationsRunner = new database_migrations_1.MigrationsRunner(connection, this.project.systemSchema, migrationResolver);
|
|
76
75
|
await migrationsRunner.migrate(message => logger.warn(message), {
|
|
77
76
|
project: this.project,
|
|
78
77
|
schemaResolver,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/migrations/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/migrations/snapshot.ts"],"names":[],"mappings":";AACA,
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/migrations/snapshot.ts"],"names":[],"mappings":";AACA,wBA4KE"}
|
|
@@ -6,6 +6,10 @@ CREATE DOMAIN "event_data_type" AS "text"
|
|
|
6
6
|
CONSTRAINT "event_data_type_check" CHECK ((VALUE = ANY (ARRAY['create'::"text", 'update'::"text", 'delete'::"text"])));
|
|
7
7
|
CREATE DOMAIN "event_type" AS "text"
|
|
8
8
|
CONSTRAINT "event_type_check" CHECK ((VALUE = ANY (ARRAY['init'::"text", 'create'::"text", 'update'::"text", 'delete'::"text", 'run_migration'::"text"])));
|
|
9
|
+
CREATE TYPE "schema_migration_type" AS ENUM (
|
|
10
|
+
'schema',
|
|
11
|
+
'content'
|
|
12
|
+
);
|
|
9
13
|
CREATE FUNCTION "trigger_event"() RETURNS "trigger"
|
|
10
14
|
LANGUAGE "plpgsql"
|
|
11
15
|
AS $$
|
|
@@ -118,8 +122,9 @@ CREATE TABLE "schema_migration" (
|
|
|
118
122
|
"version" character varying(20) NOT NULL,
|
|
119
123
|
"name" character varying(255) NOT NULL,
|
|
120
124
|
"migration" "json" NOT NULL,
|
|
121
|
-
"checksum" character(32)
|
|
122
|
-
"executed_at" timestamp with time zone DEFAULT "now"() NOT NULL
|
|
125
|
+
"checksum" character(32),
|
|
126
|
+
"executed_at" timestamp with time zone DEFAULT "now"() NOT NULL,
|
|
127
|
+
"type" "schema_migration_type" DEFAULT 'schema'::"schema_migration_type" NOT NULL
|
|
123
128
|
);
|
|
124
129
|
CREATE SEQUENCE "schema_migration_id_seq"
|
|
125
130
|
AS integer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/migrations/snapshot.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AACtD,kBAAe,IAAA,oCAAiB,EAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/migrations/snapshot.ts"],"names":[],"mappings":";;AAAA,yDAAsD;AACtD,kBAAe,IAAA,oCAAiB,EAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEhD,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wLAgDqK,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DnM,CAAC,CAAA"}
|
|
@@ -12,5 +12,10 @@ export declare namespace AuthorizationActions {
|
|
|
12
12
|
privilege: string;
|
|
13
13
|
meta?: undefined;
|
|
14
14
|
};
|
|
15
|
+
const PROJECT_LIST_MIGRATIONS: {
|
|
16
|
+
resource: string;
|
|
17
|
+
privilege: string;
|
|
18
|
+
meta?: undefined;
|
|
19
|
+
};
|
|
15
20
|
}
|
|
16
21
|
//# sourceMappingURL=AuthorizationActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationActions.d.ts","sourceRoot":"","sources":["../../../../src/model/authorization/AuthorizationActions.ts"],"names":[],"mappings":"AAEA,yBAAiB,oBAAoB,CAAC;IACrC,KAAY,SAAS;QACpB,OAAO,YAAY;KACnB;IAEM,MAAM,mBAAmB;;;;KAA6D,CAAA;IAEtF,MAAM,eAAe;;;;KAA0D,CAAA;
|
|
1
|
+
{"version":3,"file":"AuthorizationActions.d.ts","sourceRoot":"","sources":["../../../../src/model/authorization/AuthorizationActions.ts"],"names":[],"mappings":"AAEA,yBAAiB,oBAAoB,CAAC;IACrC,KAAY,SAAS;QACpB,OAAO,YAAY;KACnB;IAEM,MAAM,mBAAmB;;;;KAA6D,CAAA;IAEtF,MAAM,eAAe;;;;KAA0D,CAAA;IAC/E,MAAM,uBAAuB;;;;KAAiE,CAAA;CACrG"}
|
|
@@ -10,5 +10,6 @@ var AuthorizationActions;
|
|
|
10
10
|
})(Resources = AuthorizationActions.Resources || (AuthorizationActions.Resources = {}));
|
|
11
11
|
AuthorizationActions.PROJECT_HISTORY_ANY = authorization_1.Authorizator.createAction(Resources.project, 'historyAny');
|
|
12
12
|
AuthorizationActions.PROJECT_MIGRATE = authorization_1.Authorizator.createAction(Resources.project, 'migrate');
|
|
13
|
+
AuthorizationActions.PROJECT_LIST_MIGRATIONS = authorization_1.Authorizator.createAction(Resources.project, 'listMigrations');
|
|
13
14
|
})(AuthorizationActions || (exports.AuthorizationActions = AuthorizationActions = {}));
|
|
14
15
|
//# sourceMappingURL=AuthorizationActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationActions.js","sourceRoot":"","sources":["../../../../src/model/authorization/AuthorizationActions.ts"],"names":[],"mappings":";;;AAAA,4DAAuD;AAEvD,IAAiB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"AuthorizationActions.js","sourceRoot":"","sources":["../../../../src/model/authorization/AuthorizationActions.ts"],"names":[],"mappings":";;;AAAA,4DAAuD;AAEvD,IAAiB,oBAAoB,CASpC;AATD,WAAiB,oBAAoB;IACpC,IAAY,SAEX;IAFD,WAAY,SAAS;QACpB,gCAAmB,CAAA;IACpB,CAAC,EAFW,SAAS,GAAT,8BAAS,KAAT,8BAAS,QAEpB;IAEY,wCAAmB,GAAG,4BAAY,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAEhF,oCAAe,GAAG,4BAAY,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACzE,4CAAuB,GAAG,4BAAY,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;AACtG,CAAC,EATgB,oBAAoB,oCAApB,oBAAoB,QASpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/authorization/PermissionsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAItD,qBAAa,kBAAkB;IACvB,MAAM,IAAI,WAAW;
|
|
1
|
+
{"version":3,"file":"PermissionsFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/authorization/PermissionsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAItD,qBAAa,kBAAkB;IACvB,MAAM,IAAI,WAAW;CAQ5B"}
|
|
@@ -9,6 +9,7 @@ class PermissionsFactory {
|
|
|
9
9
|
const permissions = new authorization_1.Permissions();
|
|
10
10
|
permissions.allow(schema_1.ProjectRole.ADMIN, { resource: authorization_1.Permissions.ALL, privilege: authorization_1.Permissions.ALL });
|
|
11
11
|
permissions.allow(schema_1.ProjectRole.DEPLOYER, AuthorizationActions_1.AuthorizationActions.PROJECT_MIGRATE);
|
|
12
|
+
permissions.allow(schema_1.ProjectRole.DEPLOYER, AuthorizationActions_1.AuthorizationActions.PROJECT_LIST_MIGRATIONS);
|
|
12
13
|
return permissions;
|
|
13
14
|
}
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsFactory.js","sourceRoot":"","sources":["../../../../src/model/authorization/PermissionsFactory.ts"],"names":[],"mappings":";;;AAAA,4DAAsD;AACtD,8CAA+C;AAC/C,iEAA6D;AAE7D,MAAa,kBAAkB;IACvB,MAAM;QACZ,MAAM,WAAW,GAAG,IAAI,2BAAW,EAAE,CAAA;QACrC,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,2BAAW,CAAC,GAAG,EAAE,SAAS,EAAE,2BAAW,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/F,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,QAAQ,EAAE,2CAAoB,CAAC,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"PermissionsFactory.js","sourceRoot":"","sources":["../../../../src/model/authorization/PermissionsFactory.ts"],"names":[],"mappings":";;;AAAA,4DAAsD;AACtD,8CAA+C;AAC/C,iEAA6D;AAE7D,MAAa,kBAAkB;IACvB,MAAM;QACZ,MAAM,WAAW,GAAG,IAAI,2BAAW,EAAE,CAAA;QACrC,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,2BAAW,CAAC,GAAG,EAAE,SAAS,EAAE,2BAAW,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/F,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,QAAQ,EAAE,2CAAoB,CAAC,eAAe,CAAC,CAAA;QAC7E,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,QAAQ,EAAE,2CAAoB,CAAC,uBAAuB,CAAC,CAAA;QAErF,OAAO,WAAW,CAAA;IACnB,CAAC;CACD;AATD,gDASC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Migration } from '@contember/schema-migrations';
|
|
2
1
|
import { Command } from '../Command';
|
|
3
|
-
|
|
2
|
+
import { MigrationInput } from '../../migrations/MigrationInput';
|
|
3
|
+
export declare class SaveMigrationCommand implements Command<number> {
|
|
4
4
|
private readonly migration;
|
|
5
|
-
constructor(migration:
|
|
6
|
-
execute({ db }: Command.Args): Promise<
|
|
5
|
+
constructor(migration: MigrationInput);
|
|
6
|
+
execute({ db }: Command.Args): Promise<number>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=SaveMigrationCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveMigrationCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/migrations/SaveMigrationCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SaveMigrationCommand.d.ts","sourceRoot":"","sources":["../../../../../src/model/commands/migrations/SaveMigrationCommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,qBAAa,oBAAqB,YAAW,OAAO,CAAC,MAAM,CAAC;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,cAAc;IAEzC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAwB3D"}
|
|
@@ -8,16 +8,24 @@ class SaveMigrationCommand {
|
|
|
8
8
|
this.migration = migration;
|
|
9
9
|
}
|
|
10
10
|
async execute({ db }) {
|
|
11
|
+
const { type, ...migrationData } = this.migration;
|
|
12
|
+
if ('queries' in migrationData) {
|
|
13
|
+
// in case of content migration, we don't want to store the queries
|
|
14
|
+
migrationData.queries = [];
|
|
15
|
+
}
|
|
11
16
|
const values = {
|
|
12
17
|
version: this.migration.version,
|
|
13
18
|
name: this.migration.name,
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
type,
|
|
20
|
+
migration: JSON.stringify(migrationData),
|
|
21
|
+
checksum: this.migration.type === 'schema' ? (0, schema_migrations_1.calculateMigrationChecksum)(this.migration) : null,
|
|
16
22
|
};
|
|
17
|
-
await database_1.InsertBuilder.create()
|
|
23
|
+
const result = await database_1.InsertBuilder.create()
|
|
18
24
|
.into('schema_migration')
|
|
19
25
|
.values(values)
|
|
26
|
+
.returning('id')
|
|
20
27
|
.execute(db);
|
|
28
|
+
return result[0].id;
|
|
21
29
|
}
|
|
22
30
|
}
|
|
23
31
|
exports.SaveMigrationCommand = SaveMigrationCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveMigrationCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/migrations/SaveMigrationCommand.ts"],"names":[],"mappings":";;;AAAA,kDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"SaveMigrationCommand.js","sourceRoot":"","sources":["../../../../../src/model/commands/migrations/SaveMigrationCommand.ts"],"names":[],"mappings":";;;AAAA,kDAAiE;AACjE,oEAAyE;AAIzE,MAAa,oBAAoB;IAChC,YAA6B,SAAyB;QAAzB,cAAS,GAAT,SAAS,CAAgB;IAAG,CAAC;IAEnD,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAgB;QACxC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;QAEjD,IAAI,SAAS,IAAI,aAAa,EAAE;YAC/B,mEAAmE;YACnE,aAAa,CAAC,OAAO,GAAG,EAAE,CAAA;SAC1B;QAED,MAAM,MAAM,GAAwB;YACnC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YACzB,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,8CAA0B,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;SAC9F,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,wBAAa,CAAC,MAAM,EAAE;aACzC,IAAI,CAAC,kBAAkB,CAAC;aACxB,MAAM,CAAC,MAAM,CAAC;aACd,SAAS,CAAe,IAAI,CAAC;aAC7B,OAAO,CAAC,EAAE,CAAC,CAAA;QAEb,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACpB,CAAC;CACD;AA3BD,oDA2BC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Stage } from '../../dtos';
|
|
2
|
+
import { DatabaseContext } from '../../database';
|
|
3
|
+
import { Schema } from '@contember/schema';
|
|
4
|
+
import { ExecutionResult } from 'graphql';
|
|
5
|
+
import { DatabaseMetadata } from '@contember/database';
|
|
6
|
+
export interface ContentQueryExecutorContext {
|
|
7
|
+
schema: Schema & {
|
|
8
|
+
id: number;
|
|
9
|
+
};
|
|
10
|
+
identity: {
|
|
11
|
+
id: string;
|
|
12
|
+
};
|
|
13
|
+
db: DatabaseContext;
|
|
14
|
+
stage: Stage;
|
|
15
|
+
project: {
|
|
16
|
+
slug: string;
|
|
17
|
+
systemSchema: string;
|
|
18
|
+
};
|
|
19
|
+
databaseMetadata: DatabaseMetadata;
|
|
20
|
+
}
|
|
21
|
+
export interface ContentQueryExecutorQuery {
|
|
22
|
+
query: string;
|
|
23
|
+
variables?: Record<string, any>;
|
|
24
|
+
}
|
|
25
|
+
export interface ContentQueryExecutor {
|
|
26
|
+
execute: (ctx: ContentQueryExecutorContext, query: ContentQueryExecutorQuery) => Promise<ContentQueryExecutorResult>;
|
|
27
|
+
}
|
|
28
|
+
export type ContentQueryExecutorResult = {
|
|
29
|
+
ok: false;
|
|
30
|
+
errors: string[];
|
|
31
|
+
} | {
|
|
32
|
+
ok: true;
|
|
33
|
+
result: ExecutionResult;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=ContentQueryExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentQueryExecutor.d.ts","sourceRoot":"","sources":["../../../../../src/model/dependencies/content/ContentQueryExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,WAAW,2BAA2B;IAC3C,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/B,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,EAAE,EAAE,eAAe,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,gBAAgB,EAAE,gBAAgB,CAAA;CAClC;AAED,MAAM,WAAW,yBAAyB;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;CACpH;AAED,MAAM,MAAM,0BAA0B,GACnC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentQueryExecutor.js","sourceRoot":"","sources":["../../../../../src/model/dependencies/content/ContentQueryExecutor.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/dependencies/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/dependencies/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gCAAgC,CAAA"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./tenant"), exports);
|
|
18
|
+
__exportStar(require("./content/ContentQueryExecutor"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/model/dependencies/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/model/dependencies/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,iEAA8C"}
|
|
@@ -5,8 +5,9 @@ export declare class ExecutedMigration implements Migration {
|
|
|
5
5
|
readonly formatVersion: number;
|
|
6
6
|
readonly modifications: Migration.Modification[];
|
|
7
7
|
readonly executedAt: Date;
|
|
8
|
-
readonly checksum: string;
|
|
8
|
+
readonly checksum: string | null;
|
|
9
|
+
readonly type: 'schema' | 'content';
|
|
9
10
|
readonly version: string;
|
|
10
|
-
constructor(id: number, name: string, formatVersion: number, modifications: Migration.Modification[], executedAt: Date, checksum: string);
|
|
11
|
+
constructor(id: number, name: string, formatVersion: number, modifications: Migration.Modification[], executedAt: Date, checksum: string | null, type: 'schema' | 'content');
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=ExecutedMigration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigration.d.ts","sourceRoot":"","sources":["../../../../src/model/dtos/ExecutedMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,8BAA8B,CAAA;AAEhF,qBAAa,iBAAkB,YAAW,SAAS;aAIjC,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,MAAM;aACZ,aAAa,EAAE,MAAM;aACrB,aAAa,EAAE,SAAS,CAAC,YAAY,EAAE;aACvC,UAAU,EAAE,IAAI;aAChB,QAAQ,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"ExecutedMigration.d.ts","sourceRoot":"","sources":["../../../../src/model/dtos/ExecutedMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,8BAA8B,CAAA;AAEhF,qBAAa,iBAAkB,YAAW,SAAS;aAIjC,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,MAAM;aACZ,aAAa,EAAE,MAAM;aACrB,aAAa,EAAE,SAAS,CAAC,YAAY,EAAE;aACvC,UAAU,EAAE,IAAI;aAChB,QAAQ,EAAE,MAAM,GAAG,IAAI;aACvB,IAAI,EAAE,QAAQ,GAAG,SAAS;IAT3C,SAAgB,OAAO,EAAE,MAAM,CAAA;gBAGd,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,SAAS,CAAC,YAAY,EAAE,EACvC,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,IAAI,EAAE,QAAQ,GAAG,SAAS;CAK3C"}
|
|
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ExecutedMigration = void 0;
|
|
4
4
|
const schema_migrations_1 = require("@contember/schema-migrations");
|
|
5
5
|
class ExecutedMigration {
|
|
6
|
-
constructor(id, name, formatVersion, modifications, executedAt, checksum) {
|
|
6
|
+
constructor(id, name, formatVersion, modifications, executedAt, checksum, type) {
|
|
7
7
|
this.id = id;
|
|
8
8
|
this.name = name;
|
|
9
9
|
this.formatVersion = formatVersion;
|
|
10
10
|
this.modifications = modifications;
|
|
11
11
|
this.executedAt = executedAt;
|
|
12
12
|
this.checksum = checksum;
|
|
13
|
+
this.type = type;
|
|
13
14
|
this.version = schema_migrations_1.MigrationVersionHelper.extractVersion(name);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigration.js","sourceRoot":"","sources":["../../../../src/model/dtos/ExecutedMigration.ts"],"names":[],"mappings":";;;AAAA,oEAAgF;AAEhF,MAAa,iBAAiB;IAG7B,YACiB,EAAU,EACV,IAAY,EACZ,aAAqB,EACrB,aAAuC,EACvC,UAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"ExecutedMigration.js","sourceRoot":"","sources":["../../../../src/model/dtos/ExecutedMigration.ts"],"names":[],"mappings":";;;AAAA,oEAAgF;AAEhF,MAAa,iBAAiB;IAG7B,YACiB,EAAU,EACV,IAAY,EACZ,aAAqB,EACrB,aAAuC,EACvC,UAAgB,EAChB,QAAuB,EACvB,IAA0B;QAN1B,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,kBAAa,GAAb,aAAa,CAAQ;QACrB,kBAAa,GAAb,aAAa,CAA0B;QACvC,eAAU,GAAV,UAAU,CAAM;QAChB,aAAQ,GAAR,QAAQ,CAAe;QACvB,SAAI,GAAJ,IAAI,CAAsB;QAG1C,IAAI,CAAC,OAAO,GAAG,0CAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAC3D,CAAC;CACD;AAfD,8CAeC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Migration } from '@contember/schema-migrations';
|
|
2
|
+
export type SchemaMigrationInput = {
|
|
3
|
+
readonly type: 'schema';
|
|
4
|
+
} & Migration;
|
|
5
|
+
export type ContentMigrationInput = {
|
|
6
|
+
readonly type: 'content';
|
|
7
|
+
readonly version: string;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly queries: readonly ContentMigrationQuery[];
|
|
10
|
+
};
|
|
11
|
+
export type ContentMigrationQuery = {
|
|
12
|
+
readonly query: string;
|
|
13
|
+
readonly variables?: any;
|
|
14
|
+
readonly stage?: string;
|
|
15
|
+
readonly checkMutationResult?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type MigrationInput = SchemaMigrationInput | ContentMigrationInput;
|
|
18
|
+
//# sourceMappingURL=MigrationInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MigrationInput.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/MigrationInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAExD,MAAM,MAAM,oBAAoB,GAC7B;IACD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACvB,GACC,SAAS,CAAA;AAEZ,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,cAAc,GACvB,oBAAoB,GACpB,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MigrationInput.js","sourceRoot":"","sources":["../../../../src/model/migrations/MigrationInput.ts"],"names":[],"mappings":""}
|
|
@@ -1,20 +1,36 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MigrationDescriber } from '@contember/schema-migrations';
|
|
2
2
|
import { Stage } from '../dtos';
|
|
3
3
|
import { DatabaseContext } from '../database';
|
|
4
4
|
import { ExecutedMigrationsResolver } from './ExecutedMigrationsResolver';
|
|
5
5
|
import { MigrateErrorCode } from '../../schema';
|
|
6
6
|
import { SchemaVersionBuilder } from './SchemaVersionBuilder';
|
|
7
|
-
import { MigrationsDatabaseMetadataResolverStoreFactory } from '../metadata
|
|
7
|
+
import { MigrationsDatabaseMetadataResolverStoreFactory } from '../metadata';
|
|
8
|
+
import { MigrationInput } from './MigrationInput';
|
|
9
|
+
import { ContentQueryExecutor } from '../dependencies';
|
|
8
10
|
export declare class ProjectMigrator {
|
|
9
11
|
private readonly migrationDescriber;
|
|
10
12
|
private readonly schemaVersionBuilder;
|
|
11
13
|
private readonly executedMigrationsResolver;
|
|
12
14
|
private readonly migrationsDatabaseMetadataResolverStoreFactory;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
private readonly contentQueryExecutor;
|
|
16
|
+
constructor(migrationDescriber: MigrationDescriber, schemaVersionBuilder: SchemaVersionBuilder, executedMigrationsResolver: ExecutedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory: MigrationsDatabaseMetadataResolverStoreFactory, contentQueryExecutor: ContentQueryExecutor);
|
|
17
|
+
migrate({ db, project, identity, options: { ignoreOrder, skipExecuted }, migrationsToExecute, stages }: {
|
|
18
|
+
db: DatabaseContext;
|
|
19
|
+
project: {
|
|
20
|
+
slug: string;
|
|
21
|
+
systemSchema: string;
|
|
22
|
+
};
|
|
23
|
+
identity: {
|
|
24
|
+
id: string;
|
|
25
|
+
};
|
|
26
|
+
stages: Stage[];
|
|
27
|
+
migrationsToExecute: readonly MigrationInput[];
|
|
28
|
+
options: {
|
|
29
|
+
ignoreOrder?: boolean;
|
|
30
|
+
skipExecuted?: boolean;
|
|
31
|
+
};
|
|
17
32
|
}): Promise<void>;
|
|
33
|
+
private executeContentMigration;
|
|
18
34
|
private validateMigrations;
|
|
19
35
|
private applyModification;
|
|
20
36
|
private executeOnStage;
|
|
@@ -37,4 +53,10 @@ export declare class MigrationFailedError extends MigrationError {
|
|
|
37
53
|
export declare class InvalidSchemaError extends MigrationError {
|
|
38
54
|
code: MigrateErrorCode;
|
|
39
55
|
}
|
|
56
|
+
export declare class FailedContentMigrationError extends MigrationError {
|
|
57
|
+
code: MigrateErrorCode;
|
|
58
|
+
}
|
|
59
|
+
export declare class NotSuccessfulContentMigrationError extends MigrationError {
|
|
60
|
+
code: MigrateErrorCode;
|
|
61
|
+
}
|
|
40
62
|
//# sourceMappingURL=ProjectMigrator.d.ts.map
|