@contember/engine-content-api 1.2.0-alpha.1 → 1.2.0-alpha.2
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/acl/VariableInjector.d.ts.map +1 -1
- package/dist/src/acl/VariableInjector.js +9 -7
- package/dist/src/acl/VariableInjector.js.map +1 -1
- package/dist/src/acl/VariableUtils.d.ts.map +1 -1
- package/dist/src/acl/VariableUtils.js +18 -12
- package/dist/src/acl/VariableUtils.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +6 -1
- package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js +12 -2
- package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js +6 -1
- package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js +24 -4
- package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js +6 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +24 -4
- package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
- package/dist/tests/cases/unit/aclVariablesFactory.test.js +8 -6
- package/dist/tests/cases/unit/aclVariablesFactory.test.js.map +1 -1
- package/dist/tests/cases/unit/predicatesInjector.test.js +12 -6
- package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
- package/dist/tests/cases/unit/variableInjector.test.js +15 -3
- package/dist/tests/cases/unit/variableInjector.test.js.map +1 -1
- package/dist/tests/src/testGraphql.d.ts.map +1 -1
- package/dist/tests/src/testGraphql.js +4 -1
- package/dist/tests/src/testGraphql.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/acl/VariableInjector.ts +10 -8
- package/src/acl/VariableUtils.ts +18 -13
- package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +7 -2
- package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +13 -3
- package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +7 -2
- package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +24 -4
- package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +6 -1
- package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +25 -5
- package/tests/cases/unit/aclVariablesFactory.test.ts +8 -6
- package/tests/cases/unit/predicatesInjector.test.ts +12 -6
- package/tests/cases/unit/variableInjector.test.ts +17 -5
- package/tests/src/testGraphql.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableInjector.d.ts","sourceRoot":"","sources":["../../../src/acl/VariableInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGrD,qBAAa,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAgB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAhD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAmB,SAAS,EAAE,GAAG,CAAC,YAAY;IAExF,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,mBAAmB,GAAG,KAAK,CAAC,KAAK;IAmBhF,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"VariableInjector.d.ts","sourceRoot":"","sources":["../../../src/acl/VariableInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAGrD,qBAAa,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAgB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAhD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAmB,SAAS,EAAE,GAAG,CAAC,YAAY;IAExF,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,mBAAmB,GAAG,KAAK,CAAC,KAAK;IAmBhF,OAAO,CAAC,eAAe;CAcvB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VariableInjector = void 0;
|
|
4
|
+
const schema_1 = require("@contember/schema");
|
|
4
5
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
5
6
|
class VariableInjector {
|
|
6
7
|
constructor(schema, variables) {
|
|
@@ -25,16 +26,17 @@ class VariableInjector {
|
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
28
|
createCondition(variable) {
|
|
28
|
-
if (variable === undefined) {
|
|
29
|
+
if (variable === undefined || variable.value.length === 0) {
|
|
29
30
|
return { never: true };
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
const { value, definition } = variable;
|
|
33
|
+
if (definition.type === schema_1.Acl.VariableType.condition) {
|
|
34
|
+
if (value.length === 1) {
|
|
35
|
+
return value[0];
|
|
36
|
+
}
|
|
37
|
+
return { or: value };
|
|
33
38
|
}
|
|
34
|
-
|
|
35
|
-
return { eq: variable };
|
|
36
|
-
}
|
|
37
|
-
throw new Error('not implemented');
|
|
39
|
+
return { in: value };
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
exports.VariableInjector = VariableInjector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableInjector.js","sourceRoot":"","sources":["../../../src/acl/VariableInjector.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"VariableInjector.js","sourceRoot":"","sources":["../../../src/acl/VariableInjector.ts"],"names":[],"mappings":";;;AAAA,8CAAqD;AACrD,0DAAsE;AAEtE,MAAa,gBAAgB;IAC5B,YAA6B,MAAoB,EAAmB,SAA2B;QAAlE,WAAM,GAAN,MAAM,CAAc;QAAmB,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAE5F,MAAM,CAAC,MAAoB,EAAE,KAA8B;QACjE,MAAM,4BAA4B,GAAG,IAAI,2CAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAElF,OAAO,4BAA4B,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;YAC1D,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAA;iBAC/D;gBACD,OAAO,KAAwB,CAAA;YAChC,CAAC;YACD,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;gBAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC9B,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAA;iBAC3F;gBACD,OAAO,KAAK,CAAA;YACb,CAAC;SACD,CAAC,CAAA;IACH,CAAC;IAEO,eAAe,CAAC,QAA0C;QACjE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;SACtB;QAED,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAA;QACtC,IAAI,UAAU,CAAC,IAAI,KAAK,YAAG,CAAC,YAAY,CAAC,SAAS,EAAE;YACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,KAAK,CAAC,CAAC,CAAoB,CAAA;aAClC;YACD,OAAO,EAAE,EAAE,EAAE,KAA0B,EAAE,CAAA;SACzC;QACD,OAAO,EAAE,EAAE,EAAE,KAA4B,EAAE,CAAA;IAC5C,CAAC;CACD;AApCD,4CAoCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableUtils.d.ts","sourceRoot":"","sources":["../../../src/acl/VariableUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,aAAK,WAAW,GAAG,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,CAAA;AAEjH,eAAO,MAAM,kBAAkB,cACnB,IAAI,MAAM,YACX;IACT,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,EAAE,WAAW,CAAA;CACxB,KACC,IAAI,
|
|
1
|
+
{"version":3,"file":"VariableUtils.d.ts","sourceRoot":"","sources":["../../../src/acl/VariableUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,aAAK,WAAW,GAAG,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,CAAA;AAEjH,eAAO,MAAM,kBAAkB,cACnB,IAAI,MAAM,YACX;IACT,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,EAAE,WAAW,CAAA;CACxB,KACC,IAAI,YA+BN,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,MAAM,gBAAgB,MAAM,WAA+B,CAAA"}
|
|
@@ -8,19 +8,25 @@ const createAclVariables = (aclSchema, identity) => {
|
|
|
8
8
|
const roleVariables = (0, schema_utils_1.getRoleVariables)(membership.role, aclSchema);
|
|
9
9
|
const membershipVariablesMap = Object.fromEntries(membership.variables.map(it => [it.name, it.values]));
|
|
10
10
|
return Object.entries(roleVariables).map(([name, def]) => {
|
|
11
|
-
var _a;
|
|
12
11
|
const prefixed = (0, exports.prefixVariable)(membership.role, name);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
12
|
+
const value = (() => {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
switch (def.type) {
|
|
15
|
+
case schema_1.Acl.VariableType.entity:
|
|
16
|
+
return (_a = membershipVariablesMap[name]) !== null && _a !== void 0 ? _a : [];
|
|
17
|
+
case schema_1.Acl.VariableType.predefined:
|
|
18
|
+
switch (def.value) {
|
|
19
|
+
case 'identityID':
|
|
20
|
+
return [identity.identityId];
|
|
21
|
+
case 'personID':
|
|
22
|
+
return identity.personId ? [identity.personId] : [];
|
|
23
|
+
}
|
|
24
|
+
throw new Error(`Unknown predefined variable ${def.value}`);
|
|
25
|
+
case schema_1.Acl.VariableType.condition:
|
|
26
|
+
return ((_b = membershipVariablesMap[name]) !== null && _b !== void 0 ? _b : []).map(it => JSON.parse(it));
|
|
27
|
+
}
|
|
28
|
+
})();
|
|
29
|
+
return [prefixed, { value: value, definition: def }];
|
|
24
30
|
});
|
|
25
31
|
});
|
|
26
32
|
return Object.fromEntries(variablesEntries);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableUtils.js","sourceRoot":"","sources":["../../../src/acl/VariableUtils.ts"],"names":[],"mappings":";;;AAAA,8CAAuC;AACvC,0DAA0D;AAInD,MAAM,kBAAkB,GAAG,CACjC,SAAqB,EACrB,QAIC,EACkB,EAAE;IAErB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CACpD,UAAU,CAAC,EAAE;QACZ,MAAM,aAAa,GAAG,IAAA,+BAAgB,EAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAClE,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvG,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"VariableUtils.js","sourceRoot":"","sources":["../../../src/acl/VariableUtils.ts"],"names":[],"mappings":";;;AAAA,8CAAuC;AACvC,0DAA0D;AAInD,MAAM,kBAAkB,GAAG,CACjC,SAAqB,EACrB,QAIC,EACkB,EAAE;IAErB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CACpD,UAAU,CAAC,EAAE;QACZ,MAAM,aAAa,GAAG,IAAA,+BAAgB,EAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAClE,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvG,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAkC,EAAE;YACxF,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACtD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;;gBACnB,QAAQ,GAAG,CAAC,IAAI,EAAE;oBACjB,KAAK,YAAG,CAAC,YAAY,CAAC,MAAM;wBAC3B,OAAO,MAAA,sBAAsB,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAA;oBAC1C,KAAK,YAAG,CAAC,YAAY,CAAC,UAAU;wBAC/B,QAAQ,GAAG,CAAC,KAAK,EAAE;4BAClB,KAAK,YAAY;gCAChB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;4BAC7B,KAAK,UAAU;gCACd,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;yBACpD;wBACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;oBAC5D,KAAK,YAAG,CAAC,YAAY,CAAC,SAAS;wBAC9B,OAAO,CAAC,MAAA,sBAAsB,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;iBACtE;YACF,CAAC,CAAC,EAAE,CAAA;YACJ,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACH,CAAC,CACD,CAAA;IAED,OAAO,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAC5C,CAAC,CAAA;AAtCY,QAAA,kBAAkB,sBAsC9B;AAEM,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,YAAoB,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,YAAY,EAAE,CAAA;AAAnF,QAAA,cAAc,kBAAqE"}
|