@contember/engine-system-api 0.9.3 → 0.9.6
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/model/migrations/ProjectMigrator.d.ts.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js +11 -3
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/model/queries/events/StageCommonEventsMatrixQuery.d.ts.map +1 -1
- package/dist/src/model/queries/events/StageCommonEventsMatrixQuery.js +7 -1
- package/dist/src/model/queries/events/StageCommonEventsMatrixQuery.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +2 -2
- package/package.json +13 -13
- package/src/model/migrations/ProjectMigrator.ts +11 -5
- package/src/model/queries/events/StageCommonEventsMatrixQuery.ts +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAgB,MAAM,8BAA8B,CAAA;AAe1F,OAAO,EAA6B,cAAc,EAAE,MAAM,WAAW,CAAA;AACrE,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,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAH1B,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B;IAG3D,OAAO,CACnB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,aAAa,EACtB,mBAAmB,EAAE,SAAS,SAAS,EAAE,EACzC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"ProjectMigrator.d.ts","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAgB,MAAM,8BAA8B,CAAA;AAe1F,OAAO,EAA6B,cAAc,EAAE,MAAM,WAAW,CAAA;AACrE,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,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAH1B,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,oBAAoB,EAC1C,0BAA0B,EAAE,0BAA0B;IAG3D,OAAO,CACnB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,aAAa,EACtB,mBAAmB,EAAE,SAAS,SAAS,EAAE,EACzC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;YAwDxB,kBAAkB;YA8BlB,iBAAiB;YAqBjB,eAAe;YA4Bf,cAAc;YAcd,gBAAgB;YA2BhB,cAAc;CAgB5B;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"}
|
|
@@ -26,9 +26,17 @@ class ProjectMigrator {
|
|
|
26
26
|
const sorted = [...migrationsToExecute].sort((a, b) => a.version.localeCompare(b.version));
|
|
27
27
|
await this.rebaseExecutor.rebaseAll(db, project);
|
|
28
28
|
const rootStage = stageTree.getRoot();
|
|
29
|
-
|
|
30
|
-
let stageEvents
|
|
31
|
-
|
|
29
|
+
let previousId;
|
|
30
|
+
let stageEvents;
|
|
31
|
+
if (stageTree.getChildren(rootStage).length === 0) {
|
|
32
|
+
previousId = await db.queryHandler.fetch(new queries_1.LatestEventIdByStageQuery(rootStage.slug));
|
|
33
|
+
stageEvents = {};
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const commonEventsMatrix = await db.queryHandler.fetch(new queries_1.StageCommonEventsMatrixQuery());
|
|
37
|
+
stageEvents = await this.fetchStageEvents(db.queryHandler, stageTree, commonEventsMatrix, rootStage);
|
|
38
|
+
previousId = commonEventsMatrix[rootStage.slug][rootStage.slug].stageAEventId;
|
|
39
|
+
}
|
|
32
40
|
for (const migration of sorted) {
|
|
33
41
|
progressCb(migration.version);
|
|
34
42
|
const formatVersion = migration.formatVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":";;;AAAA,sCAAsD;AAEtD,kDAAgG;AAChG,
|
|
1
|
+
{"version":3,"file":"ProjectMigrator.js","sourceRoot":"","sources":["../../../../src/model/migrations/ProjectMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageCommonEventsMatrixQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/events/StageCommonEventsMatrixQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAWtE,cAAM,4BAA6B,SAAQ,aAAa,CAAC,4BAA4B,CAAC,MAAM,CAAC;;IAKtF,KAAK,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"StageCommonEventsMatrixQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/events/StageCommonEventsMatrixQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAWtE,cAAM,4BAA6B,SAAQ,aAAa,CAAC,4BAA4B,CAAC,MAAM,CAAC;;IAKtF,KAAK,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC;CA0DvF;AAED,kBAAU,4BAA4B,CAAC;IACtC,KAAY,MAAM,GAAG;QACpB,CAAC,UAAU,EAAE,MAAM,GAAG;YACrB,CAAC,UAAU,EAAE,MAAM,GAAG;gBACrB,aAAa,EAAE,MAAM,CAAA;gBACrB,aAAa,EAAE,MAAM,CAAA;gBACrB,aAAa,EAAE,MAAM,CAAA;gBACrB,QAAQ,EAAE,MAAM,CAAA;aAChB,CAAA;SACD,CAAA;KACD,CAAA;CACD;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAA"}
|
|
@@ -7,6 +7,11 @@ class StageCommonEventsMatrixQuery extends database_1.DatabaseQuery {
|
|
|
7
7
|
super();
|
|
8
8
|
}
|
|
9
9
|
async fetch(queryable) {
|
|
10
|
+
/**
|
|
11
|
+
* the stages join seems useless, but it stops postgresql from inlining the CTE
|
|
12
|
+
* see https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=608b167f9f9c4553c35bb1ec0eab9ddae643989b
|
|
13
|
+
* it should be solved using stages AS MATERIALIZED, but currently we don't know the postgresql version
|
|
14
|
+
*/
|
|
10
15
|
const res = await queryable.db.query(`
|
|
11
16
|
WITH RECURSIVE
|
|
12
17
|
events(id, previous_id, index, stage) AS (
|
|
@@ -40,8 +45,9 @@ class StageCommonEventsMatrixQuery extends database_1.DatabaseQuery {
|
|
|
40
45
|
JOIN events eventsA ON eventsA.stage = stages.stage_a_id
|
|
41
46
|
JOIN events eventsB ON eventsB.id = eventsA.id AND eventsB.stage = stages.stage_b_id
|
|
42
47
|
)
|
|
43
|
-
SELECT stage_a_slug, stage_a_event_id, stage_b_slug, stage_b_event_id, distance, common_event_id
|
|
48
|
+
SELECT matrix.stage_a_slug, matrix.stage_a_event_id, matrix.stage_b_slug, matrix.stage_b_event_id, distance, common_event_id
|
|
44
49
|
FROM matrix
|
|
50
|
+
JOIN stages ON matrix.stage_a_slug = stages.stage_a_slug AND matrix.stage_b_slug = stages.stage_b_slug
|
|
45
51
|
WHERE num = 1
|
|
46
52
|
`);
|
|
47
53
|
const rows = res.rows;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageCommonEventsMatrixQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/events/StageCommonEventsMatrixQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAsE;AAWtE,MAAM,4BAA6B,SAAQ,wBAAkD;IAC5F;QACC,KAAK,EAAE,CAAA;IACR,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAA4B;QACvC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,KAAK,CAAY
|
|
1
|
+
{"version":3,"file":"StageCommonEventsMatrixQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/events/StageCommonEventsMatrixQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAsE;AAWtE,MAAM,4BAA6B,SAAQ,wBAAkD;IAC5F;QACC,KAAK,EAAE,CAAA;IACR,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAA4B;QACvC;;;;WAIG;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,KAAK,CAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqC/C,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;QACrB,MAAM,MAAM,GAAwC,EAAE,CAAA;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACvB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;YACzD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG;gBAC5C,aAAa,EAAE,GAAG,CAAC,eAAe;gBAClC,aAAa,EAAE,GAAG,CAAC,gBAAgB;gBACnC,aAAa,EAAE,GAAG,CAAC,gBAAgB;gBACnC,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACtB,CAAA;SACD;QAED,OAAO,MAAM,CAAA;IACd,CAAC;CACD;AAeQ,oEAA4B"}
|
|
@@ -1907,7 +1907,7 @@
|
|
|
1907
1907
|
"affectsGlobalScope": false
|
|
1908
1908
|
},
|
|
1909
1909
|
"../../src/model/migrations/ProjectMigrator.ts": {
|
|
1910
|
-
"version": "
|
|
1910
|
+
"version": "232a40742725640d9e043068be045d2ad2d06af075b8ee42fe9ab25816c470e3",
|
|
1911
1911
|
"signature": "62e39fd278232e43ca7c6f51cdbbf0bea705c71631695b08be5e6e0815079c58",
|
|
1912
1912
|
"affectsGlobalScope": false
|
|
1913
1913
|
},
|
|
@@ -2012,7 +2012,7 @@
|
|
|
2012
2012
|
"affectsGlobalScope": false
|
|
2013
2013
|
},
|
|
2014
2014
|
"../../src/model/queries/events/StageCommonEventsMatrixQuery.ts": {
|
|
2015
|
-
"version": "
|
|
2015
|
+
"version": "d5d18f22201d02b8e7bf7f4d4be5014a8db81097e7a7e9b814515183cbb1ac8d",
|
|
2016
2016
|
"signature": "2a6ee4650574bc64ae9cb033ab2d550c54ebf9b853d17bc7eb9983e16bf029ff",
|
|
2017
2017
|
"affectsGlobalScope": false
|
|
2018
2018
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contember/engine-system-api",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.6",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"typings": "dist/src/index.d.ts",
|
|
@@ -9,24 +9,24 @@
|
|
|
9
9
|
"test": "jasmine --config=jasmine.json"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@contember/authorization": "^0.9.
|
|
13
|
-
"@contember/database": "^0.9.
|
|
14
|
-
"@contember/database-migrations": "^0.9.
|
|
15
|
-
"@contember/dic": "^0.9.
|
|
16
|
-
"@contember/engine-common": "^0.9.
|
|
17
|
-
"@contember/queryable": "^0.9.
|
|
18
|
-
"@contember/schema": "^0.9.
|
|
19
|
-
"@contember/schema-migrations": "^0.9.
|
|
20
|
-
"@contember/schema-utils": "^0.9.
|
|
21
|
-
"@contember/graphql-utils": "^0.9.
|
|
12
|
+
"@contember/authorization": "^0.9.6",
|
|
13
|
+
"@contember/database": "^0.9.6",
|
|
14
|
+
"@contember/database-migrations": "^0.9.6",
|
|
15
|
+
"@contember/dic": "^0.9.6",
|
|
16
|
+
"@contember/engine-common": "^0.9.6",
|
|
17
|
+
"@contember/queryable": "^0.9.6",
|
|
18
|
+
"@contember/schema": "^0.9.6",
|
|
19
|
+
"@contember/schema-migrations": "^0.9.6",
|
|
20
|
+
"@contember/schema-utils": "^0.9.6",
|
|
21
|
+
"@contember/graphql-utils": "^0.9.6",
|
|
22
22
|
"apollo-server-core": "^2.9.1",
|
|
23
23
|
"apollo-server-errors": "^2.4.0",
|
|
24
24
|
"graphql": "^14.6.0",
|
|
25
25
|
"pg": "^7.17.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@contember/engine-api-tester": "^0.9.
|
|
29
|
-
"@contember/schema-definition": "^0.9.
|
|
28
|
+
"@contember/engine-api-tester": "^0.9.6",
|
|
29
|
+
"@contember/schema-definition": "^0.9.6",
|
|
30
30
|
"@graphql-codegen/cli": "^1.15.2",
|
|
31
31
|
"@graphql-codegen/typescript": "^1.15.2",
|
|
32
32
|
"@graphql-codegen/typescript-operations": "^1.15.2",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createStageTree, StageTree } from '../stages'
|
|
2
2
|
import { Migration, MigrationDescriber, Modification } from '@contember/schema-migrations'
|
|
3
3
|
import { Client, ConnectionError, DatabaseQueryable, wrapIdentifier } from '@contember/database'
|
|
4
|
-
import { DiffQuery, StageCommonEventsMatrixQuery } from '../queries'
|
|
4
|
+
import { DiffQuery, LatestEventIdByStageQuery, StageCommonEventsMatrixQuery } from '../queries'
|
|
5
5
|
import { formatSchemaName } from '../helpers'
|
|
6
6
|
import { Schema } from '@contember/schema'
|
|
7
7
|
import {
|
|
@@ -48,10 +48,16 @@ export class ProjectMigrator {
|
|
|
48
48
|
|
|
49
49
|
await this.rebaseExecutor.rebaseAll(db, project)
|
|
50
50
|
const rootStage = stageTree.getRoot()
|
|
51
|
-
|
|
52
|
-
let stageEvents
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
let previousId: string
|
|
52
|
+
let stageEvents: StageEventsMap
|
|
53
|
+
if (stageTree.getChildren(rootStage).length === 0) {
|
|
54
|
+
previousId = await db.queryHandler.fetch(new LatestEventIdByStageQuery(rootStage.slug))
|
|
55
|
+
stageEvents = {}
|
|
56
|
+
} else {
|
|
57
|
+
const commonEventsMatrix = await db.queryHandler.fetch(new StageCommonEventsMatrixQuery())
|
|
58
|
+
stageEvents = await this.fetchStageEvents(db.queryHandler, stageTree, commonEventsMatrix, rootStage)
|
|
59
|
+
previousId = commonEventsMatrix[rootStage.slug][rootStage.slug].stageAEventId
|
|
60
|
+
}
|
|
55
61
|
for (const migration of sorted) {
|
|
56
62
|
progressCb(migration.version)
|
|
57
63
|
const formatVersion = migration.formatVersion
|
|
@@ -15,6 +15,11 @@ class StageCommonEventsMatrixQuery extends DatabaseQuery<StageCommonEventsMatrix
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
async fetch(queryable: DatabaseQueryable): Promise<StageCommonEventsMatrixQuery.Result> {
|
|
18
|
+
/**
|
|
19
|
+
* the stages join seems useless, but it stops postgresql from inlining the CTE
|
|
20
|
+
* see https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=608b167f9f9c4553c35bb1ec0eab9ddae643989b
|
|
21
|
+
* it should be solved using stages AS MATERIALIZED, but currently we don't know the postgresql version
|
|
22
|
+
*/
|
|
18
23
|
const res = await queryable.db.query<MatrixRow>(`
|
|
19
24
|
WITH RECURSIVE
|
|
20
25
|
events(id, previous_id, index, stage) AS (
|
|
@@ -48,8 +53,9 @@ class StageCommonEventsMatrixQuery extends DatabaseQuery<StageCommonEventsMatrix
|
|
|
48
53
|
JOIN events eventsA ON eventsA.stage = stages.stage_a_id
|
|
49
54
|
JOIN events eventsB ON eventsB.id = eventsA.id AND eventsB.stage = stages.stage_b_id
|
|
50
55
|
)
|
|
51
|
-
SELECT stage_a_slug, stage_a_event_id, stage_b_slug, stage_b_event_id, distance, common_event_id
|
|
56
|
+
SELECT matrix.stage_a_slug, matrix.stage_a_event_id, matrix.stage_b_slug, matrix.stage_b_event_id, distance, common_event_id
|
|
52
57
|
FROM matrix
|
|
58
|
+
JOIN stages ON matrix.stage_a_slug = stages.stage_a_slug AND matrix.stage_b_slug = stages.stage_b_slug
|
|
53
59
|
WHERE num = 1
|
|
54
60
|
`)
|
|
55
61
|
const rows = res.rows
|