@strapi/permissions 4.13.6 → 4.14.0-beta.0
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/domain/permission/index.d.ts +1 -0
- package/dist/domain/permission/index.js.map +1 -1
- package/dist/engine/abilities/casl-ability.d.ts +6 -1
- package/dist/engine/abilities/casl-ability.js +23 -2
- package/dist/engine/abilities/casl-ability.js.map +1 -1
- package/dist/engine/index.js +6 -1
- package/dist/engine/index.js.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/permission/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA0B;AAE1B,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAU,CAAC;AAErF,MAAM,wBAAwB,GAAG,YAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/permission/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA0B;AAE1B,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAU,CAAC;AAErF,MAAM,wBAAwB,GAAG,YAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAiD1C,4DAAwB;AAvCzC;;GAEG;AACH,MAAM,oBAAoB,GAAG,GAA8D,EAAE,CAAC,CAAC;IAC7F,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,GAAG,YAAC,CAAC,IAAI,CAAC,YAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,YAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;AAyBzE,wBAAM;AAvBf;;GAEG;AACH,MAAM,YAAY,GAAG,YAAC,CAAC,KAAK,CAAC,CAAC,SAAiB,EAAE,UAAsB,EAAc,EAAE;IACrF,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IAElC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7C,CAAC,CAAC,YAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEhB,OAAO,YAAC,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAYwC,oCAAY;AAVvD;;GAEG;AACH,MAAM,WAAW,GAAG,YAAC,CAAC,KAAK,CACzB,CACE,QAAW,EACX,UAAsB,EACO,EAAE,CAAC,YAAC,CAAC,GAAG,CAAC,cAAc,QAAQ,EAAE,EAAE,UAAU,CAAC,CAC9E,CAAC;AAEuD,kCAAW"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { AbilityBuilder, Ability, Subject } from '@casl/ability';
|
|
2
|
+
export interface ParametrizedAction {
|
|
3
|
+
name: string;
|
|
4
|
+
params: Record<string, unknown>;
|
|
5
|
+
}
|
|
2
6
|
export interface PermissionRule {
|
|
3
|
-
action: string;
|
|
7
|
+
action: string | ParametrizedAction;
|
|
4
8
|
subject?: Subject | null;
|
|
5
9
|
properties?: {
|
|
6
10
|
fields?: string[];
|
|
@@ -9,6 +13,7 @@ export interface PermissionRule {
|
|
|
9
13
|
}
|
|
10
14
|
export interface CustomAbilityBuilder {
|
|
11
15
|
can(permission: PermissionRule): ReturnType<AbilityBuilder<Ability>['can']>;
|
|
16
|
+
buildParametrizedAction: (parametrizedAction: ParametrizedAction) => string;
|
|
12
17
|
build(): Ability;
|
|
13
18
|
}
|
|
14
19
|
/**
|
|
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
25
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
29
|
exports.caslAbilityBuilder = void 0;
|
|
27
30
|
const sift = __importStar(require("sift"));
|
|
31
|
+
const qs_1 = __importDefault(require("qs"));
|
|
28
32
|
const ability_1 = require("@casl/ability");
|
|
29
33
|
const fp_1 = require("lodash/fp");
|
|
30
34
|
const allowedOperations = [
|
|
@@ -45,6 +49,9 @@ const operations = (0, fp_1.pick)(allowedOperations, sift);
|
|
|
45
49
|
const conditionsMatcher = (conditions) => {
|
|
46
50
|
return sift.createQueryTester(conditions, { operations });
|
|
47
51
|
};
|
|
52
|
+
const buildParametrizedAction = ({ name, params }) => {
|
|
53
|
+
return `${name}?${qs_1.default.stringify(params)}`;
|
|
54
|
+
};
|
|
48
55
|
/**
|
|
49
56
|
* Casl Ability Builder.
|
|
50
57
|
*/
|
|
@@ -54,10 +61,24 @@ const caslAbilityBuilder = () => {
|
|
|
54
61
|
can(permission) {
|
|
55
62
|
const { action, subject, properties = {}, condition } = permission;
|
|
56
63
|
const { fields } = properties;
|
|
57
|
-
|
|
64
|
+
const caslAction = typeof action === 'string' ? action : buildParametrizedAction(action);
|
|
65
|
+
return can(caslAction, (0, fp_1.isNil)(subject) ? 'all' : subject, fields, (0, fp_1.isObject)(condition) ? condition : undefined);
|
|
66
|
+
},
|
|
67
|
+
buildParametrizedAction({ name, params }) {
|
|
68
|
+
return `${name}?${qs_1.default.stringify(params)}`;
|
|
58
69
|
},
|
|
59
70
|
build() {
|
|
60
|
-
|
|
71
|
+
const ability = build({ conditionsMatcher });
|
|
72
|
+
function decorateCan(originalCan) {
|
|
73
|
+
return function (...args) {
|
|
74
|
+
const [action, ...rest] = args;
|
|
75
|
+
const caslAction = typeof action === 'string' ? action : buildParametrizedAction(action);
|
|
76
|
+
// Call the original `can` method
|
|
77
|
+
return originalCan.apply(ability, [caslAction, ...rest]);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
ability.can = decorateCan(ability.can);
|
|
81
|
+
return ability;
|
|
61
82
|
},
|
|
62
83
|
...rest,
|
|
63
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"casl-ability.js","sourceRoot":"","sources":["../../../src/engine/abilities/casl-ability.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"casl-ability.js","sourceRoot":"","sources":["../../../src/engine/abilities/casl-ability.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,4CAAoB;AACpB,2CAAiE;AACjE,kCAAkD;AAsBlD,MAAM,iBAAiB,GAAG;IACxB,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,YAAY;CACJ,CAAC;AAEX,MAAM,UAAU,GAAG,IAAA,SAAI,EAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;AAEjD,MAAM,iBAAiB,GAAG,CAAC,UAAmB,EAAE,EAAE;IAChD,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAsB,EAAE,EAAE;IACvE,OAAO,GAAG,IAAI,IAAI,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,GAAyB,EAAE;IAC3D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,wBAAc,CAAC,iBAAO,CAAC,CAAC;IAE5D,OAAO;QACL,GAAG,CAAC,UAA0B;YAC5B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;YACnE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAE9B,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAEzF,OAAO,GAAG,CACR,UAAU,EACV,IAAA,UAAK,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAChC,MAAM,EACN,IAAA,aAAQ,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC;QACJ,CAAC;QAED,uBAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAsB;YAC1D,OAAO,GAAG,IAAI,IAAI,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,CAAC;QAED,KAAK;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAE7C,SAAS,WAAW,CAAC,WAA2B;gBAC9C,OAAO,UAAU,GAAG,IAAgC;oBAClD,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;oBAC/B,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAEzF,iCAAiC;oBACjC,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,GAAG,IAAI;KACR,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,kBAAkB,sBAyC7B"}
|
package/dist/engine/index.js
CHANGED
|
@@ -28,6 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.new = exports.abilities = void 0;
|
|
30
30
|
const fp_1 = __importDefault(require("lodash/fp"));
|
|
31
|
+
const qs_1 = __importDefault(require("qs"));
|
|
31
32
|
const hooks_1 = require("./hooks");
|
|
32
33
|
const abilities = __importStar(require("./abilities"));
|
|
33
34
|
exports.abilities = abilities;
|
|
@@ -58,7 +59,11 @@ const newEngine = (params) => {
|
|
|
58
59
|
return;
|
|
59
60
|
}
|
|
60
61
|
await state.hooks['before-evaluate.permission'].call((0, hooks_1.createBeforeEvaluateContext)(permission));
|
|
61
|
-
const { action, subject, properties, conditions = [] } = permission;
|
|
62
|
+
const { action: actionName, subject, properties, conditions = [], actionParameters = {}, } = permission;
|
|
63
|
+
let action = actionName;
|
|
64
|
+
if (actionParameters && Object.keys(actionParameters).length > 0) {
|
|
65
|
+
action = `${actionName}?${qs_1.default.stringify(actionParameters)}`;
|
|
66
|
+
}
|
|
62
67
|
if (conditions.length === 0) {
|
|
63
68
|
return register({ action, subject, properties });
|
|
64
69
|
}
|
package/dist/engine/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA0B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/permissions",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.14.0-beta.0",
|
|
4
4
|
"description": "Strapi's permission layer.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -36,17 +36,18 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@casl/ability": "5.4.4",
|
|
39
|
-
"@strapi/utils": "4.
|
|
39
|
+
"@strapi/utils": "4.14.0-beta.0",
|
|
40
40
|
"lodash": "4.17.21",
|
|
41
|
+
"qs": "6.11.1",
|
|
41
42
|
"sift": "16.0.1"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
|
-
"eslint-config-custom": "4.
|
|
45
|
-
"tsconfig": "4.
|
|
45
|
+
"eslint-config-custom": "4.14.0-beta.0",
|
|
46
|
+
"tsconfig": "4.14.0-beta.0"
|
|
46
47
|
},
|
|
47
48
|
"engines": {
|
|
48
49
|
"node": ">=16.0.0 <=20.x.x",
|
|
49
50
|
"npm": ">=6.0.0"
|
|
50
51
|
},
|
|
51
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "8145855e7ada0bf94ce1a2f4d1c34fe647e1af53"
|
|
52
53
|
}
|