@spinajs/rbac 2.0.399 → 2.0.400
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/lib/cjs/middleware.d.ts.map +1 -1
- package/lib/cjs/middleware.js +14 -2
- package/lib/cjs/middleware.js.map +1 -1
- package/lib/mjs/middleware.d.ts.map +1 -1
- package/lib/mjs/middleware.js +15 -3
- package/lib/mjs/middleware.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAgF,YAAY,EAAE,eAAe,EAA0C,MAAM,cAAc,CAAC;AAKnL,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAkBlD,qBACa,6BAA8B,SAAQ,eAAe;IAGhE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;IACrD,kBAAkB,CAAC,OAAO,EAAE,YAAY;CAwHzC"}
|
package/lib/cjs/middleware.js
CHANGED
|
@@ -73,11 +73,17 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
73
73
|
if (canOwn) {
|
|
74
74
|
this.Log.trace(`Resource ${resource}:own permission granted for ${storage.User.Role}, scope: ${storage.PermissionScope}`);
|
|
75
75
|
if (rbacFunc) {
|
|
76
|
+
this.Log.trace(`Applying custom rbac func for ${resource}`);
|
|
76
77
|
rbacFunc.call(builder, storage.User);
|
|
77
78
|
}
|
|
78
|
-
else {
|
|
79
|
+
else if (descriptor.OwnerField) {
|
|
80
|
+
this.Log.trace(`Applying owner field restriction for ${resource}`);
|
|
79
81
|
builder.andWhere(descriptor.OwnerField, storage.User.PrimaryKeyValue);
|
|
80
82
|
}
|
|
83
|
+
else {
|
|
84
|
+
this.Log.error(`Model ${descriptor.Name} does not have OwnerField set or static rbac function, cannot apply :own permission`);
|
|
85
|
+
throw new orm_1.OrmException(`Model ${descriptor.Name} does not have OwnerField set, cannot apply :own permission`);
|
|
86
|
+
}
|
|
81
87
|
return;
|
|
82
88
|
}
|
|
83
89
|
}
|
|
@@ -90,11 +96,17 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
90
96
|
else if (canOwn) {
|
|
91
97
|
this.Log.trace(`Resource ${resource}:own permission granted for ${storage.User.Role}, scope: ${storage.PermissionScope}`);
|
|
92
98
|
if (rbacFunc) {
|
|
99
|
+
this.Log.trace(`Applying custom rbac func for ${resource}`);
|
|
93
100
|
rbacFunc.call(builder, storage.User);
|
|
94
101
|
}
|
|
95
|
-
else {
|
|
102
|
+
else if (descriptor.OwnerField) {
|
|
103
|
+
this.Log.trace(`Applying owner field restriction for ${resource}`);
|
|
96
104
|
builder.andWhere(descriptor.OwnerField, storage.User.PrimaryKeyValue);
|
|
97
105
|
}
|
|
106
|
+
else {
|
|
107
|
+
this.Log.error(`Model ${descriptor.Name} does not have OwnerField set or static rbac function, cannot apply :own permission`);
|
|
108
|
+
throw new orm_1.OrmException(`Model ${descriptor.Name} does not have OwnerField set, cannot apply :own permission`);
|
|
109
|
+
}
|
|
98
110
|
}
|
|
99
111
|
else {
|
|
100
112
|
throw new exceptions_1.Forbidden(`User does not have permission to access ${resource}:read permission`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAgF,YAAY,EAAE,eAAe,EAA0C,MAAM,cAAc,CAAC;AAKnL,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAkBlD,qBACa,6BAA8B,SAAQ,eAAe;IAGhE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI;IACrD,kBAAkB,CAAC,OAAO,EAAE,YAAY;CAwHzC"}
|
package/lib/mjs/middleware.js
CHANGED
|
@@ -8,7 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { DI, Injectable } from '@spinajs/di';
|
|
11
|
-
import { DeleteQueryBuilder, extractModelDescriptor, InsertQueryBuilder, QueryMiddleware, SelectQueryBuilder, UpdateQueryBuilder } from '@spinajs/orm';
|
|
11
|
+
import { DeleteQueryBuilder, extractModelDescriptor, InsertQueryBuilder, OrmException, QueryMiddleware, SelectQueryBuilder, UpdateQueryBuilder } from '@spinajs/orm';
|
|
12
12
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
13
13
|
import { Forbidden } from '@spinajs/exceptions';
|
|
14
14
|
import { Log, Logger } from '@spinajs/log-common';
|
|
@@ -70,11 +70,17 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
70
70
|
if (canOwn) {
|
|
71
71
|
this.Log.trace(`Resource ${resource}:own permission granted for ${storage.User.Role}, scope: ${storage.PermissionScope}`);
|
|
72
72
|
if (rbacFunc) {
|
|
73
|
+
this.Log.trace(`Applying custom rbac func for ${resource}`);
|
|
73
74
|
rbacFunc.call(builder, storage.User);
|
|
74
75
|
}
|
|
75
|
-
else {
|
|
76
|
+
else if (descriptor.OwnerField) {
|
|
77
|
+
this.Log.trace(`Applying owner field restriction for ${resource}`);
|
|
76
78
|
builder.andWhere(descriptor.OwnerField, storage.User.PrimaryKeyValue);
|
|
77
79
|
}
|
|
80
|
+
else {
|
|
81
|
+
this.Log.error(`Model ${descriptor.Name} does not have OwnerField set or static rbac function, cannot apply :own permission`);
|
|
82
|
+
throw new OrmException(`Model ${descriptor.Name} does not have OwnerField set, cannot apply :own permission`);
|
|
83
|
+
}
|
|
78
84
|
return;
|
|
79
85
|
}
|
|
80
86
|
}
|
|
@@ -87,11 +93,17 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
87
93
|
else if (canOwn) {
|
|
88
94
|
this.Log.trace(`Resource ${resource}:own permission granted for ${storage.User.Role}, scope: ${storage.PermissionScope}`);
|
|
89
95
|
if (rbacFunc) {
|
|
96
|
+
this.Log.trace(`Applying custom rbac func for ${resource}`);
|
|
90
97
|
rbacFunc.call(builder, storage.User);
|
|
91
98
|
}
|
|
92
|
-
else {
|
|
99
|
+
else if (descriptor.OwnerField) {
|
|
100
|
+
this.Log.trace(`Applying owner field restriction for ${resource}`);
|
|
93
101
|
builder.andWhere(descriptor.OwnerField, storage.User.PrimaryKeyValue);
|
|
94
102
|
}
|
|
103
|
+
else {
|
|
104
|
+
this.Log.error(`Model ${descriptor.Name} does not have OwnerField set or static rbac function, cannot apply :own permission`);
|
|
105
|
+
throw new OrmException(`Model ${descriptor.Name} does not have OwnerField set, cannot apply :own permission`);
|
|
106
|
+
}
|
|
95
107
|
}
|
|
96
108
|
else {
|
|
97
109
|
throw new Forbidden(`User does not have permission to access ${resource}:read permission`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAgB,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
|