easywork-common-lib 1.0.999 → 1.0.1000

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.
@@ -61,7 +61,10 @@ export interface PermissionRule {
61
61
  action: PermissionAction;
62
62
  scope: PermissionScope;
63
63
  conditions?: PermissionCondition[];
64
- roleLevel?: number;
64
+ minRoleLevel?: number;
65
+ maxRoleLevel?: number;
66
+ specificRoleIds?: string[];
67
+ excludeRoleIds?: string[];
65
68
  filterCriteria?: FilterCriteria;
66
69
  customConditions?: Record<string, any>;
67
70
  timeRestrictions?: {
@@ -91,3 +94,16 @@ export declare enum PermissionGroupScope {
91
94
  GLOBAL = "global",
92
95
  GROUP_SPECIFIC = "group_specific"
93
96
  }
97
+ export interface RoleAccessCriteria {
98
+ type: "level_range" | "specific_roles" | "exclude_roles" | "all";
99
+ minLevel?: number;
100
+ maxLevel?: number;
101
+ allowedRoleIds?: string[];
102
+ excludedRoleIds?: string[];
103
+ }
104
+ export interface RuleEvaluationResult {
105
+ allowed: boolean;
106
+ reason: string;
107
+ appliedRule?: PermissionRule;
108
+ effectiveFilters?: Record<string, any>;
109
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"permission.enum.js","sourceRoot":"","sources":["../../../../src/common/@types/enums/permission.enum.ts"],"names":[],"mappings":";;;AAEA,IAAY,KAKX;AALD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,kCAAyB,CAAA;IACzB,0BAAiB,CAAA;AACnB,CAAC,EALW,KAAK,qBAAL,KAAK,QAKhB;AAED,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,uCAAmB,CAAA;AACrB,CAAC,EAfW,gBAAgB,gCAAhB,gBAAgB,QAe3B;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,8BAAW,CAAA;IACX,wCAAqB,CAAA;IACrB,4CAAyB,CAAA;AAC3B,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,sCAAe,CAAA;IACf,iDAA0B,CAAA;IAC1B,4CAAqB,CAAA;IACrB,+CAAwB,CAAA;IACxB,6CAAsB,CAAA;IACtB,+CAAwB,CAAA;IACxB,+CAAwB,CAAA;IACxB,mDAA4B,CAAA;AAC9B,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AA6ED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,yDAAiC,CAAA;AACnC,CAAC,EAHW,oBAAoB,oCAApB,oBAAoB,QAG/B"}
1
+ {"version":3,"file":"permission.enum.js","sourceRoot":"","sources":["../../../../src/common/@types/enums/permission.enum.ts"],"names":[],"mappings":";;;AAEA,IAAY,KAKX;AALD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,kCAAyB,CAAA;IACzB,0BAAiB,CAAA;AACnB,CAAC,EALW,KAAK,qBAAL,KAAK,QAKhB;AAED,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,uCAAmB,CAAA;AACrB,CAAC,EAfW,gBAAgB,gCAAhB,gBAAgB,QAe3B;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,8BAAW,CAAA;IACX,wCAAqB,CAAA;IACrB,4CAAyB,CAAA;AAC3B,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,sCAAe,CAAA;IACf,iDAA0B,CAAA;IAC1B,4CAAqB,CAAA;IACrB,+CAAwB,CAAA;IACxB,6CAAsB,CAAA;IACtB,+CAAwB,CAAA;IACxB,+CAAwB,CAAA;IACxB,mDAA4B,CAAA;AAC9B,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AAoFD,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,yDAAiC,CAAA;AACnC,CAAC,EAHW,oBAAoB,oCAApB,oBAAoB,QAG/B"}
@@ -6,9 +6,6 @@ export declare class Permission extends EntityBase {
6
6
  resource: string;
7
7
  rules: PermissionRule[];
8
8
  roles?: Role[];
9
- minRoleLevel?: number;
10
- maxRoleLevel?: number;
11
- useRoleLevel: boolean;
12
9
  groupScope: PermissionGroupScope;
13
10
  groups?: Group[];
14
11
  description?: string;
@@ -20,9 +20,6 @@ let Permission = class Permission extends base_entity_1.EntityBase {
20
20
  resource;
21
21
  rules;
22
22
  roles;
23
- minRoleLevel;
24
- maxRoleLevel;
25
- useRoleLevel;
26
23
  groupScope;
27
24
  groups;
28
25
  description;
@@ -69,24 +66,6 @@ __decorate([
69
66
  (0, typeorm_1.JoinTable)(),
70
67
  __metadata("design:type", Array)
71
68
  ], Permission.prototype, "roles", void 0);
72
- __decorate([
73
- (0, swagger_1.ApiProperty)({ type: Number, description: "Minimum role level required" }),
74
- (0, typeorm_1.Column)({ type: "int", nullable: true }),
75
- __metadata("design:type", Number)
76
- ], Permission.prototype, "minRoleLevel", void 0);
77
- __decorate([
78
- (0, swagger_1.ApiProperty)({ type: Number, description: "Maximum role level allowed" }),
79
- (0, typeorm_1.Column)({ type: "int", nullable: true }),
80
- __metadata("design:type", Number)
81
- ], Permission.prototype, "maxRoleLevel", void 0);
82
- __decorate([
83
- (0, swagger_1.ApiProperty)({
84
- type: Boolean,
85
- description: "Whether to use role level or specific roles",
86
- }),
87
- (0, typeorm_1.Column)({ type: "boolean", default: false }),
88
- __metadata("design:type", Boolean)
89
- ], Permission.prototype, "useRoleLevel", void 0);
90
69
  __decorate([
91
70
  (0, swagger_1.ApiProperty)({
92
71
  type: String,
@@ -1 +1 @@
1
- {"version":3,"file":"permission.entity.js","sourceRoot":"","sources":["../../src/entities/permission.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission.entity.js","sourceRoot":"","sources":["../../src/entities/permission.entity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easywork-common-lib",
3
- "version": "1.0.999",
3
+ "version": "1.0.1000",
4
4
  "description": "Librería común de Easywork",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {