@contember/engine-content-api 1.3.0-alpha.6 → 1.3.0-alpha.7
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/PermissionFactory.d.ts +5 -4
- package/dist/src/acl/PermissionFactory.d.ts.map +1 -1
- package/dist/src/acl/PermissionFactory.js +10 -13
- package/dist/src/acl/PermissionFactory.js.map +1 -1
- package/dist/src/acl/index.d.ts +0 -1
- package/dist/src/acl/index.d.ts.map +1 -1
- package/dist/src/acl/index.js +0 -1
- package/dist/src/acl/index.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +0 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +0 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.d.ts +2 -0
- package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.js +91 -0
- package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.js.map +1 -0
- package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.js +1 -1
- package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.js.map +1 -1
- package/dist/tests/cases/unit/permissionMerger.test.js +8 -3
- package/dist/tests/cases/unit/permissionMerger.test.js.map +1 -1
- package/dist/tests/cases/unit/predicatesInjector.test.js +1 -1
- package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/src/acl/PermissionFactory.ts +15 -13
- package/src/acl/index.ts +0 -1
- package/src/types.ts +1 -1
- package/src/utils/index.ts +0 -1
- package/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts +77 -0
- package/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts +1 -1
- package/tests/cases/unit/permissionMerger.test.ts +9 -4
- package/tests/cases/unit/predicatesInjector.test.ts +1 -1
- package/dist/src/acl/PermissionsByIdentityFactory.d.ts +0 -12
- package/dist/src/acl/PermissionsByIdentityFactory.d.ts.map +0 -1
- package/dist/src/acl/PermissionsByIdentityFactory.js +0 -15
- package/dist/src/acl/PermissionsByIdentityFactory.js.map +0 -1
- package/dist/src/utils/arrays.d.ts +0 -3
- package/dist/src/utils/arrays.d.ts.map +0 -1
- package/dist/src/utils/arrays.js +0 -22
- package/dist/src/utils/arrays.js.map +0 -1
- package/src/acl/PermissionsByIdentityFactory.ts +0 -21
- package/src/utils/arrays.ts +0 -19
package/dist/src/types.d.ts
CHANGED
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAA;IACnC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAA;IACnC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;CAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
|
package/dist/src/utils/index.js
CHANGED
|
@@ -15,7 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./accessor"), exports);
|
|
18
|
-
__exportStar(require("./arrays"), exports);
|
|
19
18
|
__exportStar(require("./assertNever"), exports);
|
|
20
19
|
__exportStar(require("./Interface"), exports);
|
|
21
20
|
__exportStar(require("./isIt"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,gDAA6B;AAC7B,8CAA2B;AAC3B,yCAAsB;AACtB,0CAAuB;AACvB,2CAAwB;AACxB,oDAAiC;AACjC,6CAA0B;AAC1B,qDAAkC;AAClC,qDAAkC;AAClC,4CAAyB;AACzB,0CAAuB;AACvB,sDAAmC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isNullAcl.test.d.ts","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,91 @@
|
|
|
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 schema_definition_1 = require("@contember/schema-definition");
|
|
10
|
+
const vitest_1 = require("vitest");
|
|
11
|
+
const test_1 = require("../../../../../src/test");
|
|
12
|
+
const tags_1 = require("../../../../../src/tags");
|
|
13
|
+
const src_1 = require("../../../../../../src");
|
|
14
|
+
const engine_api_tester_1 = require("@contember/engine-api-tester");
|
|
15
|
+
var RowPredicateSubset;
|
|
16
|
+
(function (RowPredicateSubset) {
|
|
17
|
+
RowPredicateSubset.ownerRole = schema_definition_1.AclDefinition.createRole('owner');
|
|
18
|
+
RowPredicateSubset.personIdVariable = schema_definition_1.AclDefinition.createPredefinedVariable('personId', 'personID', RowPredicateSubset.ownerRole);
|
|
19
|
+
let Item = class Item {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.resource = schema_definition_1.SchemaDefinition.oneHasOne(Resource, 'item');
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
Item = __decorate([
|
|
25
|
+
schema_definition_1.AclDefinition.allow(RowPredicateSubset.ownerRole, {
|
|
26
|
+
read: true,
|
|
27
|
+
when: { resource: schema_definition_1.AclDefinition.canRead('item') },
|
|
28
|
+
})
|
|
29
|
+
], Item);
|
|
30
|
+
RowPredicateSubset.Item = Item;
|
|
31
|
+
let Resource = class Resource {
|
|
32
|
+
constructor() {
|
|
33
|
+
this.item = schema_definition_1.SchemaDefinition.oneHasOneInverse(Item, 'resource');
|
|
34
|
+
this.owner = schema_definition_1.SchemaDefinition.manyHasOne(Person, 'resources');
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
Resource = __decorate([
|
|
38
|
+
schema_definition_1.AclDefinition.allow(RowPredicateSubset.ownerRole, {
|
|
39
|
+
read: true,
|
|
40
|
+
when: { owner: schema_definition_1.AclDefinition.canRead('resources') },
|
|
41
|
+
})
|
|
42
|
+
], Resource);
|
|
43
|
+
RowPredicateSubset.Resource = Resource;
|
|
44
|
+
let Person = class Person {
|
|
45
|
+
constructor() {
|
|
46
|
+
this.personId = schema_definition_1.SchemaDefinition.uuidColumn().notNull();
|
|
47
|
+
this.resources = schema_definition_1.SchemaDefinition.oneHasMany(Resource, 'owner');
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
Person = __decorate([
|
|
51
|
+
schema_definition_1.AclDefinition.allow(RowPredicateSubset.ownerRole, {
|
|
52
|
+
read: true,
|
|
53
|
+
when: { personId: RowPredicateSubset.personIdVariable },
|
|
54
|
+
})
|
|
55
|
+
], Person);
|
|
56
|
+
RowPredicateSubset.Person = Person;
|
|
57
|
+
})(RowPredicateSubset || (RowPredicateSubset = {}));
|
|
58
|
+
(0, vitest_1.test)('owner predicate with isNull', async () => {
|
|
59
|
+
const schema = (0, schema_definition_1.createSchema)(RowPredicateSubset);
|
|
60
|
+
const permissions = new src_1.PermissionFactory().create(schema, ['owner']);
|
|
61
|
+
await (0, test_1.execute)({
|
|
62
|
+
schema: schema.model,
|
|
63
|
+
permissions: permissions,
|
|
64
|
+
variables: {
|
|
65
|
+
owner__personId: { eq: (0, engine_api_tester_1.testUuid)(0) },
|
|
66
|
+
},
|
|
67
|
+
query: (0, tags_1.GQL) `
|
|
68
|
+
query {
|
|
69
|
+
listItem(filter: {resource: {id: {isNull: true}}}) {
|
|
70
|
+
id
|
|
71
|
+
}
|
|
72
|
+
}`,
|
|
73
|
+
executes: [
|
|
74
|
+
{
|
|
75
|
+
sql: (0, tags_1.SQL) `select "root_"."id" as "root_id" from "public"."item" as "root_"
|
|
76
|
+
left join "public"."resource" as "root_resource" on "root_"."resource_id" = "root_resource"."id"
|
|
77
|
+
left join "public"."person" as "root_resource_owner" on "root_resource"."owner_id" = "root_resource_owner"."id"
|
|
78
|
+
where "root_resource"."id" is null and "root_resource_owner"."person_id" = ? and "root_resource_owner"."person_id" = ?`,
|
|
79
|
+
response: {
|
|
80
|
+
rows: [],
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
return: {
|
|
85
|
+
data: {
|
|
86
|
+
listItem: [],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=isNullAcl.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isNullAcl.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.ts"],"names":[],"mappings":";;;;;;;;AAAA,oEAA0G;AAC1G,mCAA6B;AAC7B,kDAAiD;AACjD,kDAAkD;AAClD,+CAAyD;AACzD,oEAAuD;AAGvD,IAAU,kBAAkB,CA6B3B;AA7BD,WAAU,kBAAkB;IACd,4BAAS,GAAG,iCAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,mCAAgB,GAAG,iCAAG,CAAC,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAA,SAAS,CAAC,CAAA;IAM/F,IAAa,IAAI,GAAjB,MAAa,IAAI;QAAjB;YACC,aAAQ,GAAG,oCAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC3C,CAAC;KAAA,CAAA;IAFY,IAAI;QAJhB,iCAAG,CAAC,KAAK,CAAC,mBAAA,SAAS,EAAE;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE,QAAQ,EAAE,iCAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;SACvC,CAAC;OACW,IAAI,CAEhB;IAFY,uBAAI,OAEhB,CAAA;IAMD,IAAa,QAAQ,GAArB,MAAa,QAAQ;QAArB;YACC,SAAI,GAAG,oCAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC7C,UAAK,GAAG,oCAAG,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAC5C,CAAC;KAAA,CAAA;IAHY,QAAQ;QAJpB,iCAAG,CAAC,KAAK,CAAC,mBAAA,SAAS,EAAE;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE,KAAK,EAAE,iCAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;SACzC,CAAC;OACW,QAAQ,CAGpB;IAHY,2BAAQ,WAGpB,CAAA;IAMD,IAAa,MAAM,GAAnB,MAAa,MAAM;QAAnB;YACC,aAAQ,GAAG,oCAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAA;YACrC,cAAS,GAAG,oCAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;KAAA,CAAA;IAHY,MAAM;QAJlB,iCAAG,CAAC,KAAK,CAAC,mBAAA,SAAS,EAAE;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE,QAAQ,EAAE,mBAAA,gBAAgB,EAAE;SACpC,CAAC;OACW,MAAM,CAGlB;IAHY,yBAAM,SAGlB,CAAA;AACF,CAAC,EA7BS,kBAAkB,KAAlB,kBAAkB,QA6B3B;AAGD,IAAA,aAAI,EAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,MAAM,GAAG,IAAA,gCAAY,EAAC,kBAAkB,CAAC,CAAA;IAE/C,MAAM,WAAW,GAAG,IAAI,uBAAiB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAErE,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE;YACV,eAAe,EAAE,EAAE,EAAE,EAAE,IAAA,4BAAQ,EAAC,CAAC,CAAC,EAAE;SACpC;QACD,KAAK,EAAE,IAAA,UAAG,EAAA;;;;;UAKF;QACR,QAAQ,EAAE;YACT;gBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;wHAG4G;gBACpH,QAAQ,EAAE;oBACT,IAAI,EAAE,EAAE;iBACR;aACD;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,QAAQ,EAAE,EAAE;aACZ;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -44,7 +44,7 @@ var RowPredicateSubset;
|
|
|
44
44
|
})(RowPredicateSubset || (RowPredicateSubset = {}));
|
|
45
45
|
(0, vitest_1.test)('row level predicate includes main predicate', async () => {
|
|
46
46
|
const schema = (0, schema_definition_1.createSchema)(RowPredicateSubset);
|
|
47
|
-
const permissions = new src_1.PermissionFactory(
|
|
47
|
+
const permissions = new src_1.PermissionFactory().create(schema, ['reader']);
|
|
48
48
|
await (0, test_1.execute)({
|
|
49
49
|
schema: schema.model,
|
|
50
50
|
permissions: permissions,
|
package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowPredicateSubset.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts"],"names":[],"mappings":";;;;;;;;AAAA,oEAA0G;AAE1G,mCAA6B;AAC7B,kDAAiD;AACjD,kDAAkD;AAClD,0DAAsD;AACtD,+CAAyD;AAGzD,IAAU,kBAAkB,CAuB3B;AAvBD,WAAU,kBAAkB;IACd,6BAAU,GAAG,iCAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAgBlD,IAAa,OAAO,GAApB,MAAa,OAAO;QAApB;YACC,gBAAW,GAAG,oCAAG,CAAC,UAAU,EAAE,CAAA;YAC9B,eAAU,GAAG,oCAAG,CAAC,UAAU,EAAE,CAAA;YAC7B,UAAK,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;YAC1B,YAAO,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC;KAAA,CAAA;IALY,OAAO;QAfnB,iCAAG,CAAC,KAAK,CAAC,mBAAA,UAAU,EAAE;YACtB,IAAI,EAAE;gBACL,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;aACzB;YACD,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC;SAC5C,CAAC;QACD,iCAAG,CAAC,KAAK,CAAC,mBAAA,UAAU,EAAE;YACtB,IAAI,EAAE;gBACL,GAAG,EAAE;oBACJ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;oBAC5B,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;iBAC7B;aACD;YACD,IAAI,EAAE,CAAC,SAAS,CAAC;SACjB,CAAC;OACW,OAAO,CAKnB;IALY,0BAAO,UAKnB,CAAA;AACF,CAAC,EAvBS,kBAAkB,KAAlB,kBAAkB,QAuB3B;AAID,IAAA,aAAI,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,MAAM,GAAG,IAAA,gCAAY,EAAC,kBAAkB,CAAC,CAAA;IAE/C,MAAM,WAAW,GAAG,IAAI,uBAAiB,
|
|
1
|
+
{"version":3,"file":"rowPredicateSubset.test.js","sourceRoot":"","sources":["../../../../../../../tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.ts"],"names":[],"mappings":";;;;;;;;AAAA,oEAA0G;AAE1G,mCAA6B;AAC7B,kDAAiD;AACjD,kDAAkD;AAClD,0DAAsD;AACtD,+CAAyD;AAGzD,IAAU,kBAAkB,CAuB3B;AAvBD,WAAU,kBAAkB;IACd,6BAAU,GAAG,iCAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAgBlD,IAAa,OAAO,GAApB,MAAa,OAAO;QAApB;YACC,gBAAW,GAAG,oCAAG,CAAC,UAAU,EAAE,CAAA;YAC9B,eAAU,GAAG,oCAAG,CAAC,UAAU,EAAE,CAAA;YAC7B,UAAK,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;YAC1B,YAAO,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;QAC7B,CAAC;KAAA,CAAA;IALY,OAAO;QAfnB,iCAAG,CAAC,KAAK,CAAC,mBAAA,UAAU,EAAE;YACtB,IAAI,EAAE;gBACL,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;aACzB;YACD,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC;SAC5C,CAAC;QACD,iCAAG,CAAC,KAAK,CAAC,mBAAA,UAAU,EAAE;YACtB,IAAI,EAAE;gBACL,GAAG,EAAE;oBACJ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;oBAC5B,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;iBAC7B;aACD;YACD,IAAI,EAAE,CAAC,SAAS,CAAC;SACjB,CAAC;OACW,OAAO,CAKnB;IALY,0BAAO,UAKnB,CAAA;AACF,CAAC,EAvBS,kBAAkB,KAAlB,kBAAkB,QAuB3B;AAID,IAAA,aAAI,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,MAAM,GAAG,IAAA,gCAAY,EAAC,kBAAkB,CAAC,CAAA;IAE/C,MAAM,WAAW,GAAG,IAAI,uBAAiB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEtE,MAAM,IAAA,cAAO,EAAC;QACb,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,IAAA,UAAG,EAAA;;;;;;;UAOF;QACR,QAAQ,EAAE;YACT;gBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;;;wCAO4B;gBACpC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;gBACxB,QAAQ,EAAE;oBACT,IAAI,EAAE;wBACL;4BACC,OAAO,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC;4BACpB,oCAAoC,EAAE,IAAI;4BAC1C,UAAU,EAAE,OAAO;4BACnB,8CAA8C,EAAE,KAAK;4BACrD,YAAY,EAAE,SAAS;yBACvB;wBACD;4BACC,OAAO,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC;4BACpB,oCAAoC,EAAE,IAAI;4BAC1C,UAAU,EAAE,SAAS;4BACrB,8CAA8C,EAAE,IAAI;4BACpD,YAAY,EAAE,aAAa;yBAC3B;qBACD;iBACD;aACD;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,WAAW,EAAE;oBACZ;wBACC,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC;wBACf,KAAK,EAAE,OAAO;wBACd,OAAO,EAAE,IAAI;qBACb;oBACD;wBACC,EAAE,EAAE,IAAA,mBAAQ,EAAC,CAAC,CAAC;wBACf,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,aAAa;qBACtB;iBACD;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -4,14 +4,19 @@ const schema_1 = require("@contember/schema");
|
|
|
4
4
|
const acl_1 = require("../../../src/acl");
|
|
5
5
|
const schema_definition_1 = require("@contember/schema-definition");
|
|
6
6
|
const vitest_1 = require("vitest");
|
|
7
|
+
const schema_utils_1 = require("@contember/schema-utils");
|
|
7
8
|
const execute = (test) => {
|
|
8
|
-
const
|
|
9
|
+
const model = new schema_definition_1.SchemaBuilder()
|
|
9
10
|
.entity('Entity1', e => e.column('lorem').column('bar'))
|
|
10
11
|
.entity('Entity2', e => e.oneHasOne('xyz', r => r.target('Entity1')))
|
|
11
12
|
.buildSchema();
|
|
12
|
-
const merger = new acl_1.PermissionFactory(
|
|
13
|
+
const merger = new acl_1.PermissionFactory();
|
|
13
14
|
const initialAcl = JSON.parse(JSON.stringify(test.acl));
|
|
14
|
-
const result = merger.create(
|
|
15
|
+
const result = merger.create({
|
|
16
|
+
...schema_utils_1.emptySchema,
|
|
17
|
+
model,
|
|
18
|
+
acl: test.acl,
|
|
19
|
+
}, test.roles);
|
|
15
20
|
vitest_1.assert.deepStrictEqual(result, test.result);
|
|
16
21
|
vitest_1.assert.deepStrictEqual(test.acl, initialAcl);
|
|
17
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissionMerger.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/permissionMerger.test.ts"],"names":[],"mappings":";;AAAA,8CAA8C;AAC9C,0CAAoD;AACpD,oEAA4D;AAC5D,mCAA6C;
|
|
1
|
+
{"version":3,"file":"permissionMerger.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/permissionMerger.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,7 +155,7 @@ var DeepFilterModel;
|
|
|
155
155
|
})(DeepFilterModel || (DeepFilterModel = {}));
|
|
156
156
|
(0, vitest_1.describe)('predicates injector elimination', () => {
|
|
157
157
|
const schema = (0, schema_definition_1.createSchema)(DeepFilterModel);
|
|
158
|
-
const permissions = new acl_1.PermissionFactory(
|
|
158
|
+
const permissions = new acl_1.PermissionFactory().create(schema, ['reader']);
|
|
159
159
|
const injector = new acl_1.PredicatesInjector(schema.model, new acl_1.PredicateFactory(permissions, schema.model, new acl_1.VariableInjector(schema.model, {})));
|
|
160
160
|
(0, vitest_1.it)('eliminates predicates in where', () => {
|
|
161
161
|
const injected = injector.inject(schema.model.entities.Article, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicatesInjector.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/predicatesInjector.test.ts"],"names":[],"mappings":";;;;;;;;AAAA,0CAA4G;AAC5G,oEAA6I;AAC7I,8CAA8C;AAC9C,mCAA6C;AAE7C,wFAAoF;AACpF,gGAA4F;AAC5F,0DAAuF;AACvF,oEAAuD;AAIvD,MAAM,MAAM,GAAG,IAAI,iCAAa,EAAE;KAChC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC5B,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;KACjG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAC9B,MAAM;KACJ,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KAC/D,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CACxF;KACA,WAAW,EAAE,CAAA;AAEf,MAAM,WAAW,GAAoB;IACpC,IAAI,EAAE;QACL,UAAU,EAAE,EAAE;QACd,UAAU,EAAE;YACX,IAAI,EAAE;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,IAAI;aACb;SACD;KACD;IACD,UAAU,EAAE;QACX,UAAU,EAAE;YACX,eAAe,EAAE;gBAChB,MAAM,EAAE,gBAAgB;aACxB;YACD,gBAAgB,EAAE;gBACjB,MAAM,EAAE,gBAAgB;aACxB;SACD;QACD,UAAU,EAAE;YACX,IAAI,EAAE;gBACL,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,iBAAiB;aAC1B;SACD;KACD;CACD,CAAA;AAGD,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,GAAG,EAAE;IAEpC,MAAM,SAAS,GAAqB;QACnC,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;KAC9B,CAAA;IACD,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,wBAAkB,CACtC,MAAM,EACN,IAAI,sBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,sBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAClF,CAAA;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;QAEjE,eAAM,CAAC,eAAe,CAAC,MAAM,EAAE;YAC9B,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;SACtB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,IAAI,wBAAkB,CACtC,MAAM,EACN,IAAI,sBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,sBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAClF,CAAA;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAErF,eAAM,CAAC,eAAe,CAAC,MAAM,EAAE;YAC9B,GAAG,EAAE;gBACJ;oBACC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;iBAClB;gBACD;oBACC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;iBACtB;aACD;SACD,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACrC,MAAM,QAAQ,GAAG,IAAI,wBAAkB,CACtC,MAAM,EACN,IAAI,sBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,sBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAClF,CAAA;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QAEvF,eAAM,CAAC,eAAe,CAAC,MAAM,EAAE;YAC9B,GAAG,EAAE;gBACJ;oBACC,GAAG,EAAE;wBACJ;4BACC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;yBACpB;wBACD;4BACC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;yBACtB;qBACD;iBACD;gBACD;oBACC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;iBACtB;aACD;SACD,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AAGH,CAAC,CAAC,CAAA;AAEF,IAAU,eAAe,CAsCxB;AAtCD,WAAU,eAAe;IACX,0BAAU,GAAG,iCAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAMlD,IAAa,OAAO,GAApB,MAAa,OAAO;QAApB;YACC,gBAAW,GAAG,oCAAG,CAAC,UAAU,EAAE,CAAA;YAC9B,UAAK,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;YAC1B,eAAU,GAAG,oCAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAClD,CAAC;KAAA,CAAA;IAJY,OAAO;QAJnB,iCAAG,CAAC,KAAK,CAAC,gBAAA,UAAU,EAAE;YACtB,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACnC,IAAI,EAAE,CAAC,YAAY,CAAC;SACpB,CAAC;OACW,OAAO,CAInB;IAJY,uBAAO,UAInB,CAAA;IAMD,IAAa,QAAQ,GAArB,MAAa,QAAQ;QAArB;YACC,aAAQ,GAAG,oCAAG,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YAChD,UAAK,GAAG,oCAAG,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACtC,CAAC;KAAA,CAAA;IAHY,QAAQ;QAJpB,iCAAG,CAAC,KAAK,CAAC,gBAAA,UAAU,EAAE;YACtB,IAAI,EAAE,EAAE,QAAQ,EAAE,iCAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC7C,IAAI,EAAE,IAAI;SACV,CAAC;OACW,QAAQ,CAGpB;IAHY,wBAAQ,WAGpB,CAAA;IAMD,IAAa,KAAK,GAAlB,MAAa,KAAK;QAAlB;YACC,SAAI,GAAG,oCAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACxC,QAAG,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;YACxB,SAAI,GAAG,oCAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;KAAA,CAAA;IAJY,KAAK;QAJjB,iCAAG,CAAC,KAAK,CAAC,gBAAA,UAAU,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,iCAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACpC,IAAI,EAAE,IAAI;SACV,CAAC;OACW,KAAK,CAIjB;IAJY,qBAAK,QAIjB,CAAA;IAKD,IAAa,GAAG,GAAhB,MAAa,GAAG;QAAhB;YACC,UAAK,GAAG,oCAAG,CAAC,YAAY,EAAE,CAAA;QAC3B,CAAC;KAAA,CAAA;IAFY,GAAG;QAHf,iCAAG,CAAC,KAAK,CAAC,gBAAA,UAAU,EAAE;YACtB,IAAI,EAAE,IAAI;SACV,CAAC;OACW,GAAG,CAEf;IAFY,mBAAG,MAEf,CAAA;AACF,CAAC,EAtCS,eAAe,KAAf,eAAe,QAsCxB;AAGD,IAAA,iBAAQ,EAAC,iCAAiC,EAAE,GAAG,EAAE;IAChD,MAAM,MAAM,GAAG,IAAA,gCAAY,EAAC,eAAe,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,IAAI,uBAAiB,
|
|
1
|
+
{"version":3,"file":"predicatesInjector.test.js","sourceRoot":"","sources":["../../../../tests/cases/unit/predicatesInjector.test.ts"],"names":[],"mappings":"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"}
|