@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ProjectMigrator.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,kBAAkB,EAA0B,MAAM,8BAA8B,CAAA;AAIhI,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,OAAO,EAAE,8CAA8C,EAAuC,MAAM,aAAa,CAAA;AACjH,OAAO,EAAyB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,8CAA8C;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAJpB,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B,EACtD,8CAA8C,EAAE,8CAA8C,EAC9F,oBAAoB,EAAE,oBAAoB;IAG/C,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAmB,EAAE,YAAoB,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE;QACpI,EAAE,EAAE,eAAe,CAAA;QACnB,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/C,QAAQ,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;QACxB,MAAM,EAAE,KAAK,EAAE,CAAA;QACf,mBAAmB,EAAE,SAAS,cAAc,EAAE,CAAA;QAC9C,OAAO,EAAE;YACR,WAAW,CAAC,EAAE,OAAO,CAAA;YACrB,YAAY,CAAC,EAAE,OAAO,CAAA;SACtB,CAAA;KACD;YAmDa,uBAAuB;YA+BvB,kBAAkB;YA6DlB,iBAAiB;YA0BjB,cAAc;CAY5B;AAED,8BAAsB,cAAe,SAAQ,KAAK;aAGrB,OAAO,EAAE,MAAM;aAAkB,cAAc,EAAE,MAAM;IAFnF,SAAgB,IAAI,EAAE,gBAAgB,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAkB,cAAc,EAAE,MAAM;CAGnF;AAED,qBAAa,8BAA+B,SAAQ,cAAc;IACjE,IAAI,mBAAoC;CACxC;AAED,qBAAa,6BAA8B,SAAQ,cAAc;IAChE,IAAI,mBAAmC;CACvC;AAED,qBAAa,oBAAqB,SAAQ,cAAc;IACvD,IAAI,mBAAmC;CACvC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACrD,IAAI,mBAAiC;CACrC;AAED,qBAAa,2BAA4B,SAAQ,cAAc;IAC9D,IAAI,mBAA0C;CAC9C;AAED,qBAAa,kCAAmC,SAAQ,cAAc;IACrE,IAAI,mBAAiD;CACrD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InvalidSchemaError = exports.MigrationFailedError = exports.AlreadyExecutedMigrationError = exports.MustFollowLatestMigrationError = exports.MigrationError = exports.ProjectMigrator = void 0;
|
|
3
|
+
exports.NotSuccessfulContentMigrationError = exports.FailedContentMigrationError = exports.InvalidSchemaError = exports.MigrationFailedError = exports.AlreadyExecutedMigrationError = exports.MustFollowLatestMigrationError = exports.MigrationError = exports.ProjectMigrator = void 0;
|
|
4
4
|
const schema_migrations_1 = require("@contember/schema-migrations");
|
|
5
5
|
const database_1 = require("@contember/database");
|
|
6
6
|
const commands_1 = require("../commands");
|
|
@@ -8,13 +8,14 @@ const schema_1 = require("../../schema");
|
|
|
8
8
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
9
9
|
const logger_1 = require("@contember/logger");
|
|
10
10
|
class ProjectMigrator {
|
|
11
|
-
constructor(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory) {
|
|
11
|
+
constructor(migrationDescriber, schemaVersionBuilder, executedMigrationsResolver, migrationsDatabaseMetadataResolverStoreFactory, contentQueryExecutor) {
|
|
12
12
|
this.migrationDescriber = migrationDescriber;
|
|
13
13
|
this.schemaVersionBuilder = schemaVersionBuilder;
|
|
14
14
|
this.executedMigrationsResolver = executedMigrationsResolver;
|
|
15
15
|
this.migrationsDatabaseMetadataResolverStoreFactory = migrationsDatabaseMetadataResolverStoreFactory;
|
|
16
|
+
this.contentQueryExecutor = contentQueryExecutor;
|
|
16
17
|
}
|
|
17
|
-
async migrate(db,
|
|
18
|
+
async migrate({ db, project, identity, options: { ignoreOrder = false, skipExecuted = false }, migrationsToExecute, stages }) {
|
|
18
19
|
if (migrationsToExecute.length === 0) {
|
|
19
20
|
return;
|
|
20
21
|
}
|
|
@@ -23,11 +24,52 @@ class ProjectMigrator {
|
|
|
23
24
|
const sorted = [...validated].sort((a, b) => a.version.localeCompare(b.version));
|
|
24
25
|
const metadataStore = this.migrationsDatabaseMetadataResolverStoreFactory.create(db);
|
|
25
26
|
for (const migration of sorted) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
if (migration.type === 'schema') {
|
|
28
|
+
const formatVersion = migration.formatVersion;
|
|
29
|
+
for (const modification of migration.modifications) {
|
|
30
|
+
[schema] = await this.applyModification(db.client, stages, schema, modification, formatVersion, migration.version, db.client.schema, metadataStore);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (migration.type === 'content') {
|
|
34
|
+
const schemaWithId = {
|
|
35
|
+
...schema,
|
|
36
|
+
id,
|
|
37
|
+
};
|
|
38
|
+
for (const query of migration.queries) {
|
|
39
|
+
await this.executeContentMigration({
|
|
40
|
+
version: migration.version,
|
|
41
|
+
query,
|
|
42
|
+
db,
|
|
43
|
+
schema: schemaWithId,
|
|
44
|
+
stages,
|
|
45
|
+
databaseMetadata: await metadataStore.getMetadata(db.client.schema),
|
|
46
|
+
identity,
|
|
47
|
+
project,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
id = await db.commandBus.execute(new commands_1.SaveMigrationCommand(migration));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async executeContentMigration({ query, stages, version, ...ctx }) {
|
|
55
|
+
var _a;
|
|
56
|
+
const queryStages = query.stage ? stages.filter(it => it.slug === query.stage) : stages;
|
|
57
|
+
for (const stage of queryStages) {
|
|
58
|
+
const response = await this.contentQueryExecutor.execute({
|
|
59
|
+
stage,
|
|
60
|
+
...ctx,
|
|
61
|
+
}, query);
|
|
62
|
+
if (!response.ok) {
|
|
63
|
+
throw new FailedContentMigrationError(version, response.errors.join(', '));
|
|
64
|
+
}
|
|
65
|
+
if (query.checkMutationResult !== false) {
|
|
66
|
+
for (const [key, value] of Object.entries((_a = response.result.data) !== null && _a !== void 0 ? _a : {})) {
|
|
67
|
+
if (typeof value === 'object' && value !== null && 'ok' in value && !value.ok) {
|
|
68
|
+
const errorDetails = 'errorMessage' in value ? value.errorMessage : 'No details available. Please fetch errorMessage field.';
|
|
69
|
+
throw new NotSuccessfulContentMigrationError(version, `Mutation ${key} failed: ${errorDetails}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
29
72
|
}
|
|
30
|
-
await db.commandBus.execute(new commands_1.SaveMigrationCommand(migration));
|
|
31
73
|
}
|
|
32
74
|
}
|
|
33
75
|
async validateMigrations(db, schema, version, migrationsToExecute, { ignoreOrder, skipExecuted }) {
|
|
@@ -38,7 +80,7 @@ class ProjectMigrator {
|
|
|
38
80
|
for (const migration of migrationsToExecute) {
|
|
39
81
|
const executedMigration = executedMigrations.find(it => it.version === migration.version);
|
|
40
82
|
if (executedMigration) {
|
|
41
|
-
if (skipExecuted && executedMigration.checksum === (0, schema_migrations_1.calculateMigrationChecksum)(migration)) {
|
|
83
|
+
if (skipExecuted && (migration.type !== 'schema' || executedMigration.checksum === (0, schema_migrations_1.calculateMigrationChecksum)(migration))) {
|
|
42
84
|
continue;
|
|
43
85
|
}
|
|
44
86
|
else {
|
|
@@ -48,20 +90,22 @@ class ProjectMigrator {
|
|
|
48
90
|
if (migration.version < version && !ignoreOrder) {
|
|
49
91
|
throw new MustFollowLatestMigrationError(migration.version, `Must follow latest executed migration ${version}`);
|
|
50
92
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
93
|
+
if (migration.type === 'schema') {
|
|
94
|
+
const described = this.migrationDescriber.describeModifications(schema, migration);
|
|
95
|
+
if (described.length === 0) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
const latestModification = described[described.length - 1];
|
|
99
|
+
schema = latestModification.schema;
|
|
100
|
+
skippedErrors = [
|
|
101
|
+
...skippedErrors.filter(it => it.skipUntil && schema_migrations_1.MigrationVersionHelper.extractVersion(it.skipUntil) >= migration.version),
|
|
102
|
+
...(_a = migration.skippedErrors) !== null && _a !== void 0 ? _a : [],
|
|
103
|
+
];
|
|
104
|
+
const errors = schema_utils_1.SchemaValidator.validate(schema, skippedErrors);
|
|
105
|
+
if (errors.length > 0) {
|
|
106
|
+
throw new InvalidSchemaError(migration.version, 'Migration generates invalid schema: \n' +
|
|
107
|
+
errors.map(it => `${it.path.join('.')}: [${it.code}] ${it.message}`).join('\n'));
|
|
108
|
+
}
|
|
65
109
|
}
|
|
66
110
|
toExecute.push(migration);
|
|
67
111
|
}
|
|
@@ -137,4 +181,18 @@ class InvalidSchemaError extends MigrationError {
|
|
|
137
181
|
}
|
|
138
182
|
}
|
|
139
183
|
exports.InvalidSchemaError = InvalidSchemaError;
|
|
184
|
+
class FailedContentMigrationError extends MigrationError {
|
|
185
|
+
constructor() {
|
|
186
|
+
super(...arguments);
|
|
187
|
+
this.code = schema_1.MigrateErrorCode.ContentMigrationFailed;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
exports.FailedContentMigrationError = FailedContentMigrationError;
|
|
191
|
+
class NotSuccessfulContentMigrationError extends MigrationError {
|
|
192
|
+
constructor() {
|
|
193
|
+
super(...arguments);
|
|
194
|
+
this.code = schema_1.MigrateErrorCode.ContentMigrationNotSuccessful;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.NotSuccessfulContentMigrationError = NotSuccessfulContentMigrationError;
|
|
140
198
|
//# sourceMappingURL=ProjectMigrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":";;;AAAA,oEAAgI;AAChI,
|
|
1
|
+
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":";;;AAAA,oEAAgI;AAChI,kDAA0F;AAE1F,0CAAkD;AAIlD,yCAA+C;AAE/C,0DAAuF;AACvF,8CAA0C;AAK1C,MAAa,eAAe;IAC3B,YACkB,kBAAsC,EACtC,oBAA0C,EAC1C,0BAAsD,EACtD,8CAA8F,EAC9F,oBAA0C;QAJ1C,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,mDAA8C,GAA9C,8CAA8C,CAAgD;QAC9F,yBAAoB,GAApB,oBAAoB,CAAsB;IACzD,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAUhI;QACA,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,OAAM;SACN;QACD,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,GAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAChG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAA;QAExH,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAEhF,MAAM,aAAa,GAAG,IAAI,CAAC,8CAA8C,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEpF,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE;YAE/B,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChC,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAA;gBAE7C,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,aAAa,EAAE;oBACnD,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,EAAE,CAAC,MAAM,EACT,MAAM,EACN,MAAM,EACN,YAAY,EACZ,aAAa,EACb,SAAS,CAAC,OAAO,EACjB,EAAE,CAAC,MAAM,CAAC,MAAM,EAChB,aAAa,CACb,CAAA;iBACD;aACD;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;gBACxC,MAAM,YAAY,GAAG;oBACpB,GAAG,MAAM;oBACT,EAAE;iBACF,CAAA;gBACD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE;oBACtC,MAAM,IAAI,CAAC,uBAAuB,CAAC;wBAClC,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,KAAK;wBACL,EAAE;wBACF,MAAM,EAAE,YAAY;wBACpB,MAAM;wBACN,gBAAgB,EAAE,MAAM,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;wBACnE,QAAQ;wBACR,OAAO;qBACP,CAAC,CAAA;iBACF;aAED;YACD,EAAE,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,+BAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;SACrE;IACF,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,EASrE;;QACA,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACvF,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACxD,KAAK;gBACL,GAAG,GAAG;aACN,EAAE,KAAK,CAAC,CAAA;YAET,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBACjB,MAAM,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;aAC1E;YACD,IAAI,KAAK,CAAC,mBAAmB,KAAK,KAAK,EAAE;gBACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,mCAAI,EAAE,CAAC,EAAE;oBACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;wBAC9E,MAAM,YAAY,GAAG,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,wDAAwD,CAAA;wBAC5H,MAAM,IAAI,kCAAkC,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,YAAY,EAAE,CAAC,CAAA;qBAChG;iBACD;aACD;SACD;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC/B,EAAmB,EACnB,MAAc,EACd,OAAe,EACf,mBAA8C,EAC9C,EAAE,WAAW,EAAE,YAAY,EAG1B;;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QAClF,MAAM,SAAS,GAAqB,EAAE,CAAA;QACtC,IAAI,aAAa,GAAmC,EAAE,CAAA;QACtD,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE;YAC5C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC,CAAA;YACzF,IAAI,iBAAiB,EAAE;gBACtB,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,KAAK,IAAA,8CAA0B,EAAC,SAAS,CAAC,CAAC,EAAE;oBAC1H,SAAQ;iBACR;qBAAM;oBACN,MAAM,IAAI,6BAA6B,CAAC,SAAS,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAA;iBAC3F;aACD;YAED,IAAI,SAAS,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,WAAW,EAAE;gBAChD,MAAM,IAAI,8BAA8B,CAAC,SAAS,CAAC,OAAO,EAAE,yCAAyC,OAAO,EAAE,CAAC,CAAA;aAC/G;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;gBAClF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,SAAQ;iBACR;gBACD,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1D,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAA;gBAClC,aAAa,GAAG;oBACf,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,0CAAsB,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC;oBACvH,GAAG,MAAA,SAAS,CAAC,aAAa,mCAAI,EAAE;iBAChC,CAAA;gBACD,MAAM,MAAM,GAAG,8BAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;gBAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtB,MAAM,IAAI,kBAAkB,CAC3B,SAAS,CAAC,OAAO,EACjB,wCAAwC;wBACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/E,CAAA;iBACD;aACD;YAED,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACzB;QACD,6CAA6C;QAC7C,MAAM,MAAM,GAAG,8BAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,kBAAkB,CAC3B,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EACvC,wCAAwC;gBACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClE,CAAA;SACD;QACD,OAAO,SAAS,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,EAAU,EACV,MAAe,EACf,MAAc,EACd,YAAoC,EACpC,aAAqB,EACrB,gBAAwB,EACxB,YAAoB,EACpB,aAAkD;QAElD,MAAM,EACL,MAAM,EACN,MAAM,EAAE,SAAS,GACjB,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,CAAC,CAAA;QACzF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtE,MAAM,GAAG,GAAG,MAAM,CAAC;gBAClB,YAAY;gBACZ,gBAAgB;gBAChB,0BAA0B,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;aACxE,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;SAC3D;QACD,OAAO,CAAC,SAAS,CAAC,CAAA;IACnB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,KAAY,EAAE,GAAW,EAAE,gBAAwB;QAC3F,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAA,yBAAc,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACpE,IAAI;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACnB;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,YAAY,qBAAU,EAAE;gBAC5B,eAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAA;gBAChD,MAAM,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;aAC3D;YACD,MAAM,CAAC,CAAA;SACP;IACF,CAAC;CACD;AAxMD,0CAwMC;AAED,MAAsB,cAAe,SAAQ,KAAK;IAGjD,YAA4B,OAAe,EAAkB,cAAsB;QAClF,KAAK,CAAC,GAAG,OAAO,KAAK,cAAc,EAAE,CAAC,CAAA;QADX,YAAO,GAAP,OAAO,CAAQ;QAAkB,mBAAc,GAAd,cAAc,CAAQ;IAEnF,CAAC;CACD;AAND,wCAMC;AAED,MAAa,8BAA+B,SAAQ,cAAc;IAAlE;;QACC,SAAI,GAAG,yBAAgB,CAAC,gBAAgB,CAAA;IACzC,CAAC;CAAA;AAFD,wEAEC;AAED,MAAa,6BAA8B,SAAQ,cAAc;IAAjE;;QACC,SAAI,GAAG,yBAAgB,CAAC,eAAe,CAAA;IACxC,CAAC;CAAA;AAFD,sEAEC;AAED,MAAa,oBAAqB,SAAQ,cAAc;IAAxD;;QACC,SAAI,GAAG,yBAAgB,CAAC,eAAe,CAAA;IACxC,CAAC;CAAA;AAFD,oDAEC;AAED,MAAa,kBAAmB,SAAQ,cAAc;IAAtD;;QACC,SAAI,GAAG,yBAAgB,CAAC,aAAa,CAAA;IACtC,CAAC;CAAA;AAFD,gDAEC;AAED,MAAa,2BAA4B,SAAQ,cAAc;IAA/D;;QACC,SAAI,GAAG,yBAAgB,CAAC,sBAAsB,CAAA;IAC/C,CAAC;CAAA;AAFD,kEAEC;AAED,MAAa,kCAAmC,SAAQ,cAAc;IAAtE;;QACC,SAAI,GAAG,yBAAgB,CAAC,6BAA6B,CAAA;IACtD,CAAC;CAAA;AAFD,gFAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaVersionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAE/H,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAAmH,CAAA;AAEpJ,qBAAa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,0BAA0B,EAAE,0BAA0B,EACtD,cAAc,EAAE,cAAc;IAG1C,WAAW,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaVersionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAE/H,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAAmH,CAAA;AAEpJ,qBAAa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,0BAA0B,EAAE,0BAA0B,EACtD,cAAc,EAAE,cAAc;IAG1C,WAAW,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAyBzF"}
|
|
@@ -15,11 +15,16 @@ class SchemaVersionBuilder {
|
|
|
15
15
|
if (newMigrations.length === 0) {
|
|
16
16
|
return after !== null && after !== void 0 ? after : exports.emptyVersionedSchema;
|
|
17
17
|
}
|
|
18
|
-
const schema = newMigrations.reduce((schema, migration) =>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
const schema = newMigrations.reduce((schema, migration) => {
|
|
19
|
+
if (migration.type !== 'schema') {
|
|
20
|
+
return schema;
|
|
21
|
+
}
|
|
22
|
+
return ({
|
|
23
|
+
...this.schemaMigrator.applyModifications(schema, migration.modifications, migration.formatVersion),
|
|
24
|
+
version: migration.version,
|
|
25
|
+
id: migration.id,
|
|
26
|
+
});
|
|
27
|
+
}, (_a = after === null || after === void 0 ? void 0 : after.notNormalized) !== null && _a !== void 0 ? _a : exports.emptyVersionedSchema.notNormalized);
|
|
23
28
|
const normalized = (0, schema_utils_2.normalizeSchema)(schema);
|
|
24
29
|
return {
|
|
25
30
|
...normalized,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaVersionBuilder.js","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":";;;AAEA,0DAAqD;AAGrD,0DAAyD;AAI5C,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAA,8BAAe,EAAC,0BAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,0BAAW,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAA;AAEpJ,MAAa,oBAAoB;IAChC,YACkB,0BAAsD,EACtD,cAA8B;QAD9B,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,mBAAc,GAAd,cAAc,CAAgB;IAC7C,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,EAAmB,EAAE,KAAuB;;QAC7D,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC,CAAA;QAC/F,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,4BAAoB,CAAA;SACpC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SchemaVersionBuilder.js","sourceRoot":"","sources":["../../../../src/model/migrations/SchemaVersionBuilder.ts"],"names":[],"mappings":";;;AAEA,0DAAqD;AAGrD,0DAAyD;AAI5C,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAA,8BAAe,EAAC,0BAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,0BAAW,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAA;AAEpJ,MAAa,oBAAoB;IAChC,YACkB,0BAAsD,EACtD,cAA8B;QAD9B,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,mBAAc,GAAd,cAAc,CAAgB;IAC7C,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,EAAmB,EAAE,KAAuB;;QAC7D,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC,CAAA;QAC/F,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,4BAAoB,CAAA;SACpC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;YACrB,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChC,OAAO,MAAM,CAAA;aACb;YACD,OAAO,CAAC;gBACP,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC;gBACnG,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,EAAE,EAAE,SAAS,CAAC,EAAE;aAChB,CAAC,CAAA;QACH,CAAC,EACD,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,mCAAI,4BAAoB,CAAC,aAAa,CAC1D,CAAA;QACD,MAAM,UAAU,GAAG,IAAA,8BAAe,EAAC,MAAM,CAAC,CAAA;QAC1C,OAAO;YACN,GAAG,UAAU;YACb,aAAa,EAAE,MAAM;SACrB,CAAA;IACF,CAAC;CACD;AA/BD,oDA+BC"}
|
|
@@ -4,8 +4,9 @@ type ExecutedMigrationRow = {
|
|
|
4
4
|
id: number;
|
|
5
5
|
name: string;
|
|
6
6
|
migration: any;
|
|
7
|
-
checksum: string;
|
|
7
|
+
checksum: string | null;
|
|
8
8
|
executed_at: Date;
|
|
9
|
+
type: 'content' | 'schema';
|
|
9
10
|
};
|
|
10
11
|
export declare const createExecutedMigrationQueryBuilder: () => SelectBuilder<ExecutedMigrationRow>;
|
|
11
12
|
export declare const createExecutedMigrationDto: (row: ExecutedMigrationRow) => ExecutedMigration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigrationsQueryHelper.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG9C,KAAK,oBAAoB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,IAAI,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"ExecutedMigrationsQueryHelper.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG9C,KAAK,oBAAoB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAA;AAChJ,eAAO,MAAM,mCAAmC,2CAS3B,CAAA;AAErB,eAAO,MAAM,0BAA0B,QAAS,oBAAoB,sBASlE,CAAA"}
|
|
@@ -10,9 +10,10 @@ const createExecutedMigrationQueryBuilder = () => database_1.SelectBuilder.creat
|
|
|
10
10
|
.select('migration')
|
|
11
11
|
.select('checksum')
|
|
12
12
|
.select('executed_at')
|
|
13
|
+
.select('type')
|
|
13
14
|
.from('schema_migration')
|
|
14
15
|
.orderBy('version');
|
|
15
16
|
exports.createExecutedMigrationQueryBuilder = createExecutedMigrationQueryBuilder;
|
|
16
|
-
const createExecutedMigrationDto = (row) => new dtos_1.ExecutedMigration(row.id, row.name, row.migration.formatVersion || schema_migrations_1.VERSION_INITIAL, row.migration.modifications, row.executed_at, row.checksum);
|
|
17
|
+
const createExecutedMigrationDto = (row) => new dtos_1.ExecutedMigration(row.id, row.name, row.migration.formatVersion || schema_migrations_1.VERSION_INITIAL, row.migration.modifications, row.executed_at, row.checksum, row.type);
|
|
17
18
|
exports.createExecutedMigrationDto = createExecutedMigrationDto;
|
|
18
19
|
//# sourceMappingURL=ExecutedMigrationsQueryHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigrationsQueryHelper.js","sourceRoot":"","sources":["../../../../../src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts"],"names":[],"mappings":";;;AAAA,kDAAmD;AACnD,qCAA8C;AAC9C,oEAA8D;AAGvD,MAAM,mCAAmC,GAAG,GAAG,EAAE,CACvD,wBAAa,CAAC,MAAM,EAAwB;KAC1C,MAAM,CAAC,IAAI,CAAC;KACZ,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,WAAW,CAAC;KACnB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,IAAI,CAAC,kBAAkB,CAAC;KACxB,OAAO,CAAC,SAAS,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ExecutedMigrationsQueryHelper.js","sourceRoot":"","sources":["../../../../../src/model/queries/migrations/ExecutedMigrationsQueryHelper.ts"],"names":[],"mappings":";;;AAAA,kDAAmD;AACnD,qCAA8C;AAC9C,oEAA8D;AAGvD,MAAM,mCAAmC,GAAG,GAAG,EAAE,CACvD,wBAAa,CAAC,MAAM,EAAwB;KAC1C,MAAM,CAAC,IAAI,CAAC;KACZ,MAAM,CAAC,MAAM,CAAC;KACd,MAAM,CAAC,WAAW,CAAC;KACnB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,MAAM,CAAC;KACd,IAAI,CAAC,kBAAkB,CAAC;KACxB,OAAO,CAAC,SAAS,CAAC,CAAA;AATR,QAAA,mCAAmC,uCAS3B;AAEd,MAAM,0BAA0B,GAAG,CAAC,GAAyB,EAAE,EAAE,CACvE,IAAI,wBAAiB,CACpB,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,mCAAe,EAC9C,GAAG,CAAC,SAAS,CAAC,aAAa,EAC3B,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,IAAI,CACR,CAAA;AATW,QAAA,0BAA0B,8BASrC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Authorizator } from '@contember/authorization';
|
|
2
2
|
import { Schema } from '@contember/schema';
|
|
3
|
-
import { DatabaseContext, Identity } from '../model';
|
|
3
|
+
import { DatabaseContext, Identity, VersionedSchema } from '../model';
|
|
4
4
|
import { ProjectConfig } from '../types';
|
|
5
5
|
import { ItemLoader } from '../utils/batchQuery';
|
|
6
6
|
export declare class SystemResolverContextFactory {
|
|
7
7
|
private readonly authorizator;
|
|
8
8
|
constructor(authorizator: Authorizator<Identity>);
|
|
9
|
-
create(schema:
|
|
9
|
+
create(schema: VersionedSchema, systemDbContext: DatabaseContext, project: ProjectConfig, identity: Identity): Promise<SystemResolverContext>;
|
|
10
10
|
}
|
|
11
11
|
export type LoaderFactory<Args, Item> = (db: DatabaseContext) => ItemLoader<Args, Item>;
|
|
12
12
|
export interface SystemResolverContext {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemResolverContext.d.ts","sourceRoot":"","sources":["../../../src/resolvers/SystemResolverContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"SystemResolverContext.d.ts","sourceRoot":"","sources":["../../../src/resolvers/SystemResolverContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,qBAAa,4BAA4B;IAEvC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC;IAGzC,MAAM,CAClB,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,qBAAqB,CAAC;CAyBjC;AAED,MAAM,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,eAAe,KAAK,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAEvF,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvG,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;CACpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemResolverContext.js","sourceRoot":"","sources":["../../../src/resolvers/SystemResolverContext.ts"],"names":[],"mappings":";;;AAEA,4DAAyD;AAGzD,4FAAwF;AACxF,kEAA8D;AAG9D,MAAa,4BAA4B;IACxC,YACkB,YAAoC;QAApC,iBAAY,GAAZ,YAAY,CAAwB;IACnD,CAAC;IAEG,KAAK,CAAC,MAAM,CAClB,
|
|
1
|
+
{"version":3,"file":"SystemResolverContext.js","sourceRoot":"","sources":["../../../src/resolvers/SystemResolverContext.ts"],"names":[],"mappings":";;;AAEA,4DAAyD;AAGzD,4FAAwF;AACxF,kEAA8D;AAG9D,MAAa,4BAA4B;IACxC,YACkB,YAAoC;QAApC,iBAAY,GAAZ,YAAY,CAAwB;IACnD,CAAC;IAEG,KAAK,CAAC,MAAM,CAClB,MAAuB,EACvB,eAAgC,EAChC,OAAsB,EACtB,QAAkB;QAElB,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiD,CAAA;QACxE,OAAO;YACN,OAAO;YACP,QAAQ;YACR,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,EAAE,EAAE,eAAe;YACnB,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAQ,EAAE,EAAE;gBAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,uBAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;oBAC3G,MAAM,IAAI,8BAAc,CAAC,OAAO,IAAI,WAAW,CAAC,CAAA;iBAChD;YACF,CAAC;YACD,SAAS,EAAE,aAAa,CAAC,EAAE;gBAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;gBACzC,IAAI,MAAM,EAAE;oBACX,OAAO,MAAM,CAAA;iBACb;gBACD,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;gBAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;gBACrC,OAAO,SAAS,CAAA;YACjB,CAAC;SACD,CAAA;IACF,CAAC;CACD;AAnCD,oEAmCC"}
|
|
@@ -8,5 +8,6 @@ export declare class MigrateMutationResolver implements MutationResolver<'migrat
|
|
|
8
8
|
constructor(projectMigrator: ProjectMigrator);
|
|
9
9
|
migrateForce(parent: any, args: MutationMigrateArgs, context: SystemResolverContext, info: GraphQLResolveInfo): Promise<MigrateResponse>;
|
|
10
10
|
migrate(parent: any, args: MutationMigrateArgs, context: SystemResolverContext, info: GraphQLResolveInfo, force?: boolean): Promise<MigrateResponse>;
|
|
11
|
+
private parseMigrationInput;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=MigrateMutationResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateMutationResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"MigrateMutationResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAiB,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElF,OAAO,EAAwC,eAAe,EAAe,MAAM,aAAa,CAAA;AAQhG,qBAAa,uBAAwB,YAAW,gBAAgB,CAAC,SAAS,CAAC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAEvD,YAAY,CACjB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,eAAe,CAAC;IAIrB,OAAO,CACZ,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,kBAAkB,EACxB,KAAK,UAAQ,GACX,OAAO,CAAC,eAAe,CAAC;IA4C3B,OAAO,CAAC,mBAAmB;CA4C3B"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MigrateMutationResolver = void 0;
|
|
4
|
+
const schema_1 = require("../../schema");
|
|
4
5
|
const model_1 = require("../../model");
|
|
6
|
+
const graphql_utils_1 = require("@contember/graphql-utils");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
5
8
|
const pg_lock_id = 1597474138739147;
|
|
6
9
|
class MigrateMutationResolver {
|
|
7
10
|
constructor(projectMigrator) {
|
|
@@ -11,16 +14,23 @@ class MigrateMutationResolver {
|
|
|
11
14
|
return this.migrate(parent, args, context, info, true);
|
|
12
15
|
}
|
|
13
16
|
async migrate(parent, args, context, info, force = false) {
|
|
14
|
-
const migrations = args
|
|
17
|
+
const migrations = this.parseMigrationInput(args);
|
|
15
18
|
return context.db.locked(pg_lock_id, db => db.transaction(async (trx) => {
|
|
16
19
|
const stages = await trx.queryHandler.fetch(new model_1.StagesQuery());
|
|
17
20
|
for (const stage of stages) {
|
|
18
21
|
await context.requireAccess(model_1.AuthorizationActions.PROJECT_MIGRATE, stage.slug);
|
|
19
22
|
}
|
|
20
23
|
try {
|
|
21
|
-
await this.projectMigrator.migrate(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
await this.projectMigrator.migrate({
|
|
25
|
+
db: trx,
|
|
26
|
+
project: context.project,
|
|
27
|
+
identity: context.identity,
|
|
28
|
+
stages,
|
|
29
|
+
migrationsToExecute: migrations,
|
|
30
|
+
options: {
|
|
31
|
+
ignoreOrder: force,
|
|
32
|
+
skipExecuted: true,
|
|
33
|
+
},
|
|
24
34
|
});
|
|
25
35
|
}
|
|
26
36
|
catch (e) {
|
|
@@ -47,6 +57,54 @@ class MigrateMutationResolver {
|
|
|
47
57
|
};
|
|
48
58
|
}));
|
|
49
59
|
}
|
|
60
|
+
parseMigrationInput(args) {
|
|
61
|
+
return args.migrations.map((it) => {
|
|
62
|
+
var _a;
|
|
63
|
+
if (!it.type) {
|
|
64
|
+
if (!it.modifications || !it.formatVersion) {
|
|
65
|
+
throw new graphql_utils_1.UserInputError('invalid migration format');
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
type: 'schema',
|
|
69
|
+
formatVersion: it.formatVersion,
|
|
70
|
+
modifications: it.modifications,
|
|
71
|
+
version: it.version,
|
|
72
|
+
name: it.name,
|
|
73
|
+
skippedErrors: (_a = it.skippedErrors) !== null && _a !== void 0 ? _a : undefined,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (it.type === schema_1.MigrationType.Schema) {
|
|
77
|
+
if (!it.schemaMigration) {
|
|
78
|
+
throw new graphql_utils_1.UserInputError('schemaMigration must be defined for SCHEMA type');
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
type: 'schema',
|
|
82
|
+
name: it.name,
|
|
83
|
+
version: it.version,
|
|
84
|
+
...it.schemaMigration,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (it.type === schema_1.MigrationType.Content) {
|
|
88
|
+
if (!it.contentMigration) {
|
|
89
|
+
throw new graphql_utils_1.UserInputError('contentMigration must be defined for CONTENT type');
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
type: 'content',
|
|
93
|
+
name: it.name,
|
|
94
|
+
version: it.version,
|
|
95
|
+
queries: it.contentMigration.map(it => {
|
|
96
|
+
var _a, _b;
|
|
97
|
+
return ({
|
|
98
|
+
query: it.query,
|
|
99
|
+
stage: (_a = it.stage) !== null && _a !== void 0 ? _a : undefined,
|
|
100
|
+
variables: (_b = it.variables) !== null && _b !== void 0 ? _b : undefined,
|
|
101
|
+
});
|
|
102
|
+
}),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return (0, utils_1.assertNever)(it.type);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
50
108
|
}
|
|
51
109
|
exports.MigrateMutationResolver = MigrateMutationResolver;
|
|
52
110
|
//# sourceMappingURL=MigrateMutationResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateMutationResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MigrateMutationResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/mutation/MigrateMutationResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigrationsQueryResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAG7E,qBAAa,+BAAgC,YAAW,aAAa,CAAC,oBAAoB,CAAC;IACpF,kBAAkB,CACvB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,2BAA2B,EACjC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ExecutedMigrationsQueryResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAG7E,qBAAa,+BAAgC,YAAW,aAAa,CAAC,oBAAoB,CAAC;IACpF,kBAAkB,CACvB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,2BAA2B,EACjC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,kBAAkB,GACtB,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAY/B"}
|
|
@@ -4,6 +4,10 @@ exports.ExecutedMigrationsQueryResolver = void 0;
|
|
|
4
4
|
const model_1 = require("../../model");
|
|
5
5
|
class ExecutedMigrationsQueryResolver {
|
|
6
6
|
async executedMigrations(parent, args, context, info) {
|
|
7
|
+
const stages = await context.db.queryHandler.fetch(new model_1.StagesQuery());
|
|
8
|
+
for (const stage of stages) {
|
|
9
|
+
await context.requireAccess(model_1.AuthorizationActions.PROJECT_LIST_MIGRATIONS, stage.slug);
|
|
10
|
+
}
|
|
7
11
|
if (args.version) {
|
|
8
12
|
const migration = await context.db.queryHandler.fetch(new model_1.ExecutedMigrationByVersionQuery(args.version));
|
|
9
13
|
return migration ? [migration] : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutedMigrationsQueryResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"names":[],"mappings":";;;AAIA,
|
|
1
|
+
{"version":3,"file":"ExecutedMigrationsQueryResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/query/ExecutedMigrationsQueryResolver.ts"],"names":[],"mappings":";;;AAIA,uCAAyH;AAEzH,MAAa,+BAA+B;IAC3C,KAAK,CAAC,kBAAkB,CACvB,MAAW,EACX,IAAiC,EACjC,OAA8B,EAC9B,IAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,mBAAW,EAAE,CAAC,CAAA;QACrE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,MAAM,OAAO,CAAC,aAAa,CAAC,4BAAoB,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;SACrF;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,uCAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YACxG,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;SACnC;QACD,OAAO,MAAM,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,+BAAuB,EAAE,CAAC,CAAA;IAC1E,CAAC;CACD;AAlBD,0EAkBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.graphql.d.ts","sourceRoot":"","sources":["../../../src/schema/system.graphql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,QAAA,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"system.graphql.d.ts","sourceRoot":"","sources":["../../../src/schema/system.graphql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,QAAA,MAAM,MAAM,EAAE,YA4Mb,CAAA;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -127,16 +127,40 @@ const schema = (0, graphql_tag_1.gql) `
|
|
|
127
127
|
version: String!
|
|
128
128
|
name: String!
|
|
129
129
|
executedAt: DateTime!
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
|
|
131
|
+
checksum: String
|
|
132
|
+
formatVersion: Int
|
|
133
|
+
modifications: [Json!]
|
|
133
134
|
}
|
|
134
135
|
|
|
135
136
|
# === migrate ===
|
|
136
|
-
|
|
137
|
+
enum MigrationType {
|
|
138
|
+
SCHEMA
|
|
139
|
+
CONTENT
|
|
140
|
+
}
|
|
141
|
+
|
|
137
142
|
input Migration {
|
|
138
143
|
version: String!
|
|
139
144
|
name: String!
|
|
145
|
+
|
|
146
|
+
type: MigrationType
|
|
147
|
+
schemaMigration: SchemaMigration
|
|
148
|
+
contentMigration: [ContentMigration!]
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
formatVersion: Int @deprecated(reason: "Use schemaMigration with SCHEMA type")
|
|
152
|
+
modifications: [Json!] @deprecated(reason: "Use schemaMigration with SCHEMA type")
|
|
153
|
+
skippedErrors: [MigrationSkippedError!] @deprecated(reason: "Use schemaMigration with SCHEMA type")
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
input ContentMigration {
|
|
157
|
+
query: String!
|
|
158
|
+
stage: String
|
|
159
|
+
variables: Json
|
|
160
|
+
checkMutationResult: Boolean
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
input SchemaMigration {
|
|
140
164
|
formatVersion: Int!
|
|
141
165
|
modifications: [Json!]!
|
|
142
166
|
skippedErrors: [MigrationSkippedError!]
|
|
@@ -153,6 +177,8 @@ const schema = (0, graphql_tag_1.gql) `
|
|
|
153
177
|
INVALID_FORMAT
|
|
154
178
|
INVALID_SCHEMA
|
|
155
179
|
MIGRATION_FAILED
|
|
180
|
+
CONTENT_MIGRATION_FAILED
|
|
181
|
+
CONTENT_MIGRATION_NOT_SUCCESSFUL
|
|
156
182
|
}
|
|
157
183
|
|
|
158
184
|
type MigrateError {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.graphql.js","sourceRoot":"","sources":["../../../src/schema/system.graphql.ts"],"names":[],"mappings":";;AAAA,6CAAiC;AAGjC,MAAM,MAAM,GAAiB,IAAA,iBAAG,EAAA
|
|
1
|
+
{"version":3,"file":"system.graphql.js","sourceRoot":"","sources":["../../../src/schema/system.graphql.ts"],"names":[],"mappings":";;AAAA,6CAAiC;AAGjC,MAAM,MAAM,GAAiB,IAAA,iBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4M/B,CAAA;AAED,kBAAe,MAAM,CAAA"}
|