1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | require("reflect-metadata");
|
4 | exports.PERMISSION_CONTROLLER_OR = "user:permission_controller_or";
|
5 | exports.PERMISSION_CONTROLLER_AND = "user:permission_controller_and";
|
6 | function Can(names, mode = "and") {
|
7 | return (target, key, descriptor) => {
|
8 | if (descriptor) {
|
9 | const orExist = Reflect.getMetadata(exports.PERMISSION_CONTROLLER_OR, descriptor.value) || [];
|
10 | const andExist = Reflect.getMetadata(exports.PERMISSION_CONTROLLER_AND, descriptor.value) || [];
|
11 | if (mode === "or") {
|
12 | Reflect.defineMetadata(exports.PERMISSION_CONTROLLER_OR, names.concat(orExist), descriptor.value);
|
13 | }
|
14 | else if (mode === "and") {
|
15 | Reflect.defineMetadata(exports.PERMISSION_CONTROLLER_AND, names.concat(andExist), descriptor.value);
|
16 | }
|
17 | else {
|
18 | throw new Error("mode参数不正确");
|
19 | }
|
20 | return descriptor;
|
21 | }
|
22 | const orExist = Reflect.getMetadata(exports.PERMISSION_CONTROLLER_OR, target) || [];
|
23 | const andExist = Reflect.getMetadata(exports.PERMISSION_CONTROLLER_AND, target) || [];
|
24 | if (mode === "or") {
|
25 | Reflect.defineMetadata(exports.PERMISSION_CONTROLLER_OR, names.concat(orExist), target);
|
26 | }
|
27 | else if (mode === "and") {
|
28 | Reflect.defineMetadata(exports.PERMISSION_CONTROLLER_AND, names.concat(andExist), target);
|
29 | }
|
30 | else {
|
31 | throw new Error("mode参数不正确");
|
32 | }
|
33 | return target;
|
34 | };
|
35 | }
|
36 | exports.Can = Can;
|
37 |
|
38 |
|