@contember/engine-content-api 0.11.3 → 0.11.4
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/mapper/insert/InsertBuilder.d.ts.map +1 -1
- package/dist/src/mapper/insert/InsertBuilder.js +1 -1
- package/dist/src/mapper/insert/InsertBuilder.js.map +1 -1
- package/dist/src/mapper/update/UpdateBuilder.js +1 -1
- package/dist/src/mapper/update/UpdateBuilder.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +2 -2
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js +60 -0
- package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +12 -0
- package/package.json +10 -10
- package/src/mapper/insert/InsertBuilder.ts +2 -1
- package/src/mapper/update/UpdateBuilder.ts +1 -1
- package/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts +46 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsertBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/insert/InsertBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAoE,MAAM,qBAAqB,CAAA;AAC9G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,EAAe,mBAAmB,EAAuC,MAAM,gBAAgB,CAAA;AAEtG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CACvC;AAED,qBAAa,aAAa;IAUxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZ7B,OAAO,CAAC,QAAQ,CAEf;IACD,SAAgB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAoD;IAE9G,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,KAAK,CAAkB;gBAGb,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW;IAGnC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAM1G,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;IAI5B,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;IAI9D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"InsertBuilder.d.ts","sourceRoot":"","sources":["../../../../src/mapper/insert/InsertBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAoE,MAAM,qBAAqB,CAAA;AAC9G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,EAAe,mBAAmB,EAAuC,MAAM,gBAAgB,CAAA;AAEtG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CACvC;AAED,qBAAa,aAAa;IAUxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZ7B,OAAO,CAAC,QAAQ,CAEf;IACD,SAAgB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAoD;IAE9G,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,KAAK,CAAkB;gBAGb,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW;IAGnC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAM1G,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;IAI5B,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;IAI9D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAsCvD"}
|
|
@@ -36,9 +36,9 @@ class InsertBuilder {
|
|
|
36
36
|
try {
|
|
37
37
|
const resolvedData = await this.getResolvedData();
|
|
38
38
|
if (resolvedData.find(it => it.resolvedValue === Inserter_1.AbortInsert)) {
|
|
39
|
+
this.resolver(null);
|
|
39
40
|
return { aborted: true, executed: false, primaryValue: null, values: [] };
|
|
40
41
|
}
|
|
41
|
-
resolvedDataFinal = resolvedData;
|
|
42
42
|
const insertData = resolvedData.reduce((result, item) => ({ ...result, [item.columnName]: expr => expr.select(['root_', item.columnName]) }), {});
|
|
43
43
|
const qb = database_1.InsertBuilder.create()
|
|
44
44
|
.with('root_', qb => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsertBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/insert/InsertBuilder.ts"],"names":[],"mappings":";;;AACA,kDAA8G;AAE9G,0DAAsE;AACtE,gDAAsG;AACtG,+CAAyD;AACzD,yCAAwC;AACxC,8CAA6C;AAS7C,MAAa,aAAa;IASzB,YACkB,MAAoB,EACpB,MAAoB,EACpB,YAA0B,EAC1B,WAAwB;QAHxB,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QAZlC,aAAQ,GAA+C,GAAG,EAAE;YACnE,MAAM,IAAI,mCAAuB,CAAC,yCAAyC,CAAC,CAAA;QAC7E,CAAC,CAAA;QACe,WAAM,GAAuC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAA;QAEtG,YAAO,GAA2C,EAAE,CAAA;QACpD,UAAK,GAAgB,EAAE,CAAA;IAO5B,CAAC;IAEG,aAAa,CAAC,SAAiB,EAAE,KAAyE;QAChH,MAAM,UAAU,GAAG,4BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,4BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACrE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,iCAAmB,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;IAC5F,CAAC;IAEM,QAAQ,CAAC,KAAkB;QACjC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAC,eAAe;QAC3B,OAAO,4BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,IAAI,iBAAiB,GAAiC,IAAI,CAAA;QAC1D,IAAI;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;YACjD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,sBAAW,CAAC,EAAE;gBAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;aACzE;
|
|
1
|
+
{"version":3,"file":"InsertBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/insert/InsertBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,9 +44,9 @@ class UpdateBuilder {
|
|
|
44
44
|
return { values: [], affectedRows: null, executed: false, aborted: false };
|
|
45
45
|
}
|
|
46
46
|
if (resolvedData.find(it => it.resolvedValue === Updater_1.AbortUpdate)) {
|
|
47
|
+
this.resolver(null);
|
|
47
48
|
return { values: [], affectedRows: null, executed: false, aborted: true };
|
|
48
49
|
}
|
|
49
|
-
resolvedDataFinal = resolvedData;
|
|
50
50
|
const qb = database_1.UpdateBuilder.create()
|
|
51
51
|
.with('newData_', qb => {
|
|
52
52
|
qb = resolvedData.reduce((qb, value) => qb.select(expr => expr.selectValue(value.resolvedValue, value.columnType), value.columnName), qb);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/update/UpdateBuilder.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC,0DAA+F;AAC/F,kDAAwH;AAExH,gDAAsG;AACtG,uCAAuC;AACvC,8CAA6C;AAS7C,MAAa,aAAa;IAWzB,YACkB,MAAoB,EACpB,MAAoB,EACpB,YAA0B,EAC1B,WAAwB,EACxB,WAAwB;QAJxB,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QAflC,aAAQ,GAAmC,GAAG,EAAE;YACvD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,CAAC,CAAA;QACe,WAAM,GAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAA;QAE1F,YAAO,GAA+B,EAAE,CAAA;QAExC,aAAQ,GAAwB,EAAE,CAAA;QAClC,aAAQ,GAAwB,EAAE,CAAA;IAQvC,CAAC;IAEG,KAAK,CAAC,aAAa,CACzB,SAAiB,EACjB,KAAyE;QAEzE,MAAM,UAAU,GAAG,4BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,4BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACrE,MAAM,aAAa,GAAG,iCAAmB,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAA;QAC9E,OAAO,aAAa,CAAA;IACrB,CAAC;IAEM,WAAW,CAAC,KAA0B;QAC5C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;IAChD,CAAC;IAEM,WAAW,CAAC,KAA0B;QAC5C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,IAAI,iBAAiB,GAAiC,IAAI,CAAA;QAC1D,IAAI;YACH,MAAM,YAAY,GAAG,MAAM,4BAAc,CAAc,IAAI,CAAC,OAAO,CAAC,CAAA;YACpE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;aAC1E;YACD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,qBAAW,CAAC,EAAE;gBAC9D,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;aACzE;
|
|
1
|
+
{"version":3,"file":"UpdateBuilder.js","sourceRoot":"","sources":["../../../../src/mapper/update/UpdateBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1522,7 +1522,7 @@
|
|
|
1522
1522
|
"affectsGlobalScope": false
|
|
1523
1523
|
},
|
|
1524
1524
|
"../../src/mapper/update/UpdateBuilder.ts": {
|
|
1525
|
-
"version": "
|
|
1525
|
+
"version": "46f59db34c355f70ed8e2fb7ebeafec80d4b1285b333286d29308c0494cae925",
|
|
1526
1526
|
"signature": "272807204a2a785b6312e53f21a4d005c9a0209c34cf542bf69ccd86ce4623dd",
|
|
1527
1527
|
"affectsGlobalScope": false
|
|
1528
1528
|
},
|
|
@@ -1562,7 +1562,7 @@
|
|
|
1562
1562
|
"affectsGlobalScope": false
|
|
1563
1563
|
},
|
|
1564
1564
|
"../../src/mapper/insert/InsertBuilder.ts": {
|
|
1565
|
-
"version": "
|
|
1565
|
+
"version": "a6d23397bb16ea19cf7a4fb7d60dc294af83530938f2149acf92847969ecb972",
|
|
1566
1566
|
"signature": "3be13c72664e5169d05f4ac052e6de6611ea91de01bbd1059638a8ced28580f3",
|
|
1567
1567
|
"affectsGlobalScope": false
|
|
1568
1568
|
},
|
package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bug-freeze-connect-missing-one.test.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const uvu_1 = require("uvu");
|
|
10
|
+
const schema_definition_1 = require("@contember/schema-definition");
|
|
11
|
+
const tags_1 = require("../../../../src/tags");
|
|
12
|
+
const engine_api_tester_1 = require("@contember/engine-api-tester");
|
|
13
|
+
var Model;
|
|
14
|
+
(function (Model) {
|
|
15
|
+
let Url = class Url {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.url = schema_definition_1.SchemaDefinition.stringColumn().notNull();
|
|
18
|
+
this.redirect = schema_definition_1.SchemaDefinition.oneHasOne(Redirect, 'url').setNullOnDelete().removeOrphan();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
Url = __decorate([
|
|
22
|
+
schema_definition_1.SchemaDefinition.Unique('url')
|
|
23
|
+
], Url);
|
|
24
|
+
Model.Url = Url;
|
|
25
|
+
class Redirect {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.url = schema_definition_1.SchemaDefinition.oneHasOneInverse(Url, 'redirect').notNull();
|
|
28
|
+
this.internalUrl = schema_definition_1.SchemaDefinition.manyHasOne(Url);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
Model.Redirect = Redirect;
|
|
32
|
+
})(Model || (Model = {}));
|
|
33
|
+
uvu_1.test('create redirect to non-existing target', async () => {
|
|
34
|
+
await engine_api_tester_1.executeDbTest({
|
|
35
|
+
schema: schema_definition_1.SchemaDefinition.createModel(Model),
|
|
36
|
+
query: tags_1.GQL `
|
|
37
|
+
mutation {
|
|
38
|
+
createRedirect(
|
|
39
|
+
data: {
|
|
40
|
+
internalUrl: {connect: {url: "abcd"}},
|
|
41
|
+
url: {create: {url: "xyz"}}
|
|
42
|
+
}
|
|
43
|
+
) {
|
|
44
|
+
ok
|
|
45
|
+
errorMessage
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
`,
|
|
49
|
+
seed: [],
|
|
50
|
+
expectDatabase: {},
|
|
51
|
+
return: {
|
|
52
|
+
createRedirect: {
|
|
53
|
+
ok: false,
|
|
54
|
+
errorMessage: 'Execution has failed:\ninternalUrl: NotFoundOrDenied (for input {"url":"abcd"})',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
uvu_1.test.run();
|
|
60
|
+
//# sourceMappingURL=bug-freeze-connect-missing-one.test.js.map
|
package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bug-freeze-connect-missing-one.test.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts"],"names":[],"mappings":";;;;;;;;AAAA,6BAA0B;AAC1B,oEAAsE;AACtE,+CAA0C;AAC1C,oEAA4D;AAE5D,IAAU,KAAK,CAYd;AAZD,WAAU,KAAK;IAEd,IAAa,GAAG,GAAhB,MAAa,GAAG;QAAhB;YACC,QAAG,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAA;YAClC,aAAQ,GAA4B,oCAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC,YAAY,EAAE,CAAA;QACpG,CAAC;KAAA,CAAA;IAHY,GAAG;QADf,oCAAG,CAAC,MAAM,CAAC,KAAK,CAAC;OACL,GAAG,CAGf;IAHY,SAAG,MAGf,CAAA;IAED,MAAa,QAAQ;QAArB;YACC,QAAG,GAAG,oCAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;YAErD,gBAAW,GAAG,oCAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;KAAA;IAJY,cAAQ,WAIpB,CAAA;AACF,CAAC,EAZS,KAAK,KAAL,KAAK,QAYd;AACD,UAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,iCAAa,CAAC;QACnB,MAAM,EAAE,oCAAG,CAAC,WAAW,CAAC,KAAK,CAAC;QAC9B,KAAK,EAAE,UAAG,CAAA;;;;;;;;;;;;GAYT;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;QAClB,MAAM,EAAE;YACP,cAAc,EAAE;gBACf,EAAE,EAAE,KAAK;gBACT,YAAY,EAAE,iFAAiF;aAC/F;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,UAAI,CAAC,GAAG,EAAE,CAAA"}
|
|
@@ -4736,6 +4736,11 @@
|
|
|
4736
4736
|
"signature": "96f1f413f2c7cbb8f9a732d144d9cdb0e08dba6cec3bfd41410ef3368fd41851",
|
|
4737
4737
|
"affectsGlobalScope": false
|
|
4738
4738
|
},
|
|
4739
|
+
"../../tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts": {
|
|
4740
|
+
"version": "0ac939ff64a3bc07824b997ba45202a52b42ff645f8e2e4c859dfa915fc368ba",
|
|
4741
|
+
"signature": "ca1ff5d932725c261cd47f45e8323025431a9d13bef093400ecb7ada18c4d801",
|
|
4742
|
+
"affectsGlobalScope": false
|
|
4743
|
+
},
|
|
4739
4744
|
"../../tests/cases/integration/graphQlDb/update/invalidInput.test.ts": {
|
|
4740
4745
|
"version": "497b2072365a5a14b333a0b55f2e59efed0600f081b1dbab341341f5f5e106a8",
|
|
4741
4746
|
"signature": "83b225da6964306a6d43708a1df62c6c29142fb4502ff3e4e5e4047000ffd823",
|
|
@@ -9356,6 +9361,12 @@
|
|
|
9356
9361
|
"../../tests/src/test.ts",
|
|
9357
9362
|
"../../tests/src/testUuid.ts"
|
|
9358
9363
|
],
|
|
9364
|
+
"../../tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts": [
|
|
9365
|
+
"../../../../node_modules/uvu/index.d.ts",
|
|
9366
|
+
"../../../engine-api-tester/dist/src/index.d.ts",
|
|
9367
|
+
"../../../schema-definition/dist/src/index.d.ts",
|
|
9368
|
+
"../../tests/src/tags.ts"
|
|
9369
|
+
],
|
|
9359
9370
|
"../../tests/cases/integration/graphQlDb/update/invalidInput.test.ts": [
|
|
9360
9371
|
"../../../../node_modules/uvu/assert/index.d.ts",
|
|
9361
9372
|
"../../../../node_modules/uvu/index.d.ts",
|
|
@@ -16550,6 +16561,7 @@
|
|
|
16550
16561
|
"../../tests/cases/bugs/bug-filter-or.test.ts",
|
|
16551
16562
|
"../../tests/cases/bugs/bug-update-by-nested-unique.test.ts",
|
|
16552
16563
|
"../../tests/cases/bugs/bug102.test.ts",
|
|
16564
|
+
"../../tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts",
|
|
16553
16565
|
"../../tests/cases/integration/graphQlDb/update/invalidInput.test.ts",
|
|
16554
16566
|
"../../tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts",
|
|
16555
16567
|
"../../tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contember/engine-content-api",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.4",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"typings": "dist/src/index.d.ts",
|
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
"test": "uvu dist/tests/cases/ \\.js$"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@contember/database": "^0.11.
|
|
13
|
-
"@contember/dic": "^0.11.
|
|
14
|
-
"@contember/engine-common": "^0.11.
|
|
15
|
-
"@contember/graphql-utils": "^0.11.
|
|
16
|
-
"@contember/schema": "^0.11.
|
|
17
|
-
"@contember/schema-utils": "^0.11.
|
|
12
|
+
"@contember/database": "^0.11.4",
|
|
13
|
+
"@contember/dic": "^0.11.4",
|
|
14
|
+
"@contember/engine-common": "^0.11.4",
|
|
15
|
+
"@contember/graphql-utils": "^0.11.4",
|
|
16
|
+
"@contember/schema": "^0.11.4",
|
|
17
|
+
"@contember/schema-utils": "^0.11.4",
|
|
18
18
|
"apollo-server-core": "^2.9.1",
|
|
19
19
|
"graphql-tools": "^7.0.1"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@contember/database-tester": "^0.11.
|
|
23
|
-
"@contember/engine-api-tester": "^0.11.
|
|
24
|
-
"@contember/schema-definition": "^0.11.
|
|
22
|
+
"@contember/database-tester": "^0.11.4",
|
|
23
|
+
"@contember/engine-api-tester": "^0.11.4",
|
|
24
|
+
"@contember/schema-definition": "^0.11.4",
|
|
25
25
|
"@graphql-codegen/cli": "^1.15.2",
|
|
26
26
|
"@graphql-codegen/typescript": "^1.15.2",
|
|
27
27
|
"@graphql-codegen/typescript-operations": "^1.15.2",
|
|
@@ -49,9 +49,10 @@ export class InsertBuilder {
|
|
|
49
49
|
try {
|
|
50
50
|
const resolvedData = await this.getResolvedData()
|
|
51
51
|
if (resolvedData.find(it => it.resolvedValue === AbortInsert)) {
|
|
52
|
+
this.resolver(null)
|
|
52
53
|
return { aborted: true, executed: false, primaryValue: null, values: [] }
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
+
|
|
55
56
|
const insertData = resolvedData.reduce<QueryBuilder.ColumnExpressionMap>(
|
|
56
57
|
(result, item) => ({ ...result, [item.columnName]: expr => expr.select(['root_', item.columnName]) }),
|
|
57
58
|
{},
|
|
@@ -61,9 +61,9 @@ export class UpdateBuilder {
|
|
|
61
61
|
return { values: [], affectedRows: null, executed: false, aborted: false }
|
|
62
62
|
}
|
|
63
63
|
if (resolvedData.find(it => it.resolvedValue === AbortUpdate)) {
|
|
64
|
+
this.resolver(null)
|
|
64
65
|
return { values: [], affectedRows: null, executed: false, aborted: true }
|
|
65
66
|
}
|
|
66
|
-
resolvedDataFinal = resolvedData as ResolvedColumnValue[]
|
|
67
67
|
|
|
68
68
|
const qb = DbUpdateBuilder.create()
|
|
69
69
|
.with('newData_', qb => {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { test } from 'uvu'
|
|
2
|
+
import { SchemaDefinition as def } from '@contember/schema-definition'
|
|
3
|
+
import { GQL } from '../../../../src/tags'
|
|
4
|
+
import { executeDbTest } from '@contember/engine-api-tester'
|
|
5
|
+
|
|
6
|
+
namespace Model {
|
|
7
|
+
@def.Unique('url')
|
|
8
|
+
export class Url {
|
|
9
|
+
url = def.stringColumn().notNull()
|
|
10
|
+
redirect: def.OneHasOneDefinition = def.oneHasOne(Redirect, 'url').setNullOnDelete().removeOrphan()
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class Redirect {
|
|
14
|
+
url = def.oneHasOneInverse(Url, 'redirect').notNull()
|
|
15
|
+
|
|
16
|
+
internalUrl = def.manyHasOne(Url)
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
test('create redirect to non-existing target', async () => {
|
|
20
|
+
await executeDbTest({
|
|
21
|
+
schema: def.createModel(Model),
|
|
22
|
+
query: GQL`
|
|
23
|
+
mutation {
|
|
24
|
+
createRedirect(
|
|
25
|
+
data: {
|
|
26
|
+
internalUrl: {connect: {url: "abcd"}},
|
|
27
|
+
url: {create: {url: "xyz"}}
|
|
28
|
+
}
|
|
29
|
+
) {
|
|
30
|
+
ok
|
|
31
|
+
errorMessage
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
`,
|
|
35
|
+
seed: [],
|
|
36
|
+
expectDatabase: {},
|
|
37
|
+
return: {
|
|
38
|
+
createRedirect: {
|
|
39
|
+
ok: false,
|
|
40
|
+
errorMessage: 'Execution has failed:\ninternalUrl: NotFoundOrDenied (for input {"url":"abcd"})',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
test.run()
|