@campxdev/server-shared 1.2.22 → 1.2.24
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/common/interceptors/request.interceptor.d.ts +4 -1
- package/dist/common/interceptors/request.interceptor.d.ts.map +1 -1
- package/dist/common/interceptors/request.interceptor.js +13 -3
- package/dist/common/interceptors/request.interceptor.js.map +1 -1
- package/dist/domain/schemas/global-users.schema.d.ts +1 -0
- package/dist/domain/schemas/global-users.schema.d.ts.map +1 -1
- package/dist/domain/schemas/global-users.schema.js +5 -0
- package/dist/domain/schemas/global-users.schema.js.map +1 -1
- package/dist/permissions/check-permission.guard.d.ts +4 -3
- package/dist/permissions/check-permission.guard.d.ts.map +1 -1
- package/dist/permissions/check-permission.guard.js +6 -4
- package/dist/permissions/check-permission.guard.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
2
|
import { Reflector } from '@nestjs/core';
|
|
3
|
+
import { Model } from 'mongoose';
|
|
4
|
+
import { GlobalUser } from '../../domain';
|
|
3
5
|
import { SharedService } from '../../shared-module';
|
|
4
6
|
export declare class RequestInterceptor implements NestInterceptor {
|
|
5
7
|
private readonly reflector;
|
|
6
8
|
private readonly sharedService;
|
|
7
|
-
|
|
9
|
+
private readonly globalUserModel;
|
|
10
|
+
constructor(reflector: Reflector, sharedService: SharedService, globalUserModel: Model<GlobalUser>);
|
|
8
11
|
intercept(context: ExecutionContext, next: CallHandler<any>): Promise<import("rxjs").Observable<any>>;
|
|
9
12
|
private hasAuth;
|
|
10
13
|
private checkAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.interceptor.d.ts","sourceRoot":"","sources":["../../../src/common/interceptors/request.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGhB,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,qBACa,kBAAmB,YAAW,eAAe;IAEtD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"request.interceptor.d.ts","sourceRoot":"","sources":["../../../src/common/interceptors/request.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGhB,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,qBACa,kBAAmB,YAAW,eAAe;IAEtD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IACA,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAF7C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EACE,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC;IAG7E,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;IA4BjE,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,aAAa;YASP,eAAe;IAa7B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;CAY3B"}
|
|
@@ -8,10 +8,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.RequestInterceptor = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
14
17
|
const core_1 = require("@nestjs/core");
|
|
18
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
19
|
+
const mongoose_2 = require("mongoose");
|
|
20
|
+
const domain_1 = require("../../domain");
|
|
15
21
|
const check_permission_guard_1 = require("../../permissions/check-permission.guard");
|
|
16
22
|
const shared_module_1 = require("../../shared-module");
|
|
17
23
|
const utils_1 = require("../../utils");
|
|
@@ -20,9 +26,11 @@ const request_store_1 = require("../store/request-store");
|
|
|
20
26
|
let RequestInterceptor = class RequestInterceptor {
|
|
21
27
|
reflector;
|
|
22
28
|
sharedService;
|
|
23
|
-
|
|
29
|
+
globalUserModel;
|
|
30
|
+
constructor(reflector, sharedService, globalUserModel) {
|
|
24
31
|
this.reflector = reflector;
|
|
25
32
|
this.sharedService = sharedService;
|
|
33
|
+
this.globalUserModel = globalUserModel;
|
|
26
34
|
}
|
|
27
35
|
async intercept(context, next) {
|
|
28
36
|
const data = context.switchToRpc().getData();
|
|
@@ -83,7 +91,7 @@ let RequestInterceptor = class RequestInterceptor {
|
|
|
83
91
|
if (isMicroservice)
|
|
84
92
|
return;
|
|
85
93
|
this.checkAuth();
|
|
86
|
-
const val = await (0, check_permission_guard_1.validateRequestPermission)(permission, this.sharedService.getCheckPermission());
|
|
94
|
+
const val = await (0, check_permission_guard_1.validateRequestPermission)(permission, this.sharedService.getCheckPermission(), this.globalUserModel);
|
|
87
95
|
if (!val) {
|
|
88
96
|
throw new common_1.ForbiddenException('You are not authorized to perform this action');
|
|
89
97
|
}
|
|
@@ -127,8 +135,10 @@ let RequestInterceptor = class RequestInterceptor {
|
|
|
127
135
|
};
|
|
128
136
|
RequestInterceptor = __decorate([
|
|
129
137
|
(0, common_1.Injectable)(),
|
|
138
|
+
__param(2, (0, mongoose_1.InjectModel)(domain_1.GlobalUser.name)),
|
|
130
139
|
__metadata("design:paramtypes", [core_1.Reflector,
|
|
131
|
-
shared_module_1.SharedService
|
|
140
|
+
shared_module_1.SharedService,
|
|
141
|
+
mongoose_2.Model])
|
|
132
142
|
], RequestInterceptor);
|
|
133
143
|
exports.RequestInterceptor = RequestInterceptor;
|
|
134
144
|
//# sourceMappingURL=request.interceptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.interceptor.js","sourceRoot":"","sources":["../../../src/common/interceptors/request.interceptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.interceptor.js","sourceRoot":"","sources":["../../../src/common/interceptors/request.interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-users.schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/global-users.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAG9D,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C,qBACa,cAAe,SAAQ,QAAQ;IAE1C,gBAAgB,EAAE,MAAM,CAAC;IAGzB,UAAU,EAAE,MAAM,CAAC;IAGnB,YAAY,EAAE,MAAM,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,qBACa,UAAW,SAAQ,QAAQ;IAEtC,QAAQ,EAAE,MAAM,CAAC;IAGjB,cAAc,EAAE,MAAM,EAAE,CAAC;IAGzB,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAGlB,WAAW,EAAE,OAAO,CAAC;IAGrB,WAAW,EAAE,OAAO,CAAC;IAGrB,IAAI,EAAE,MAAM,CAAC;IAGb,eAAe,EAAE,MAAM,CAAC;IAGxB,mBAAmB,EAAE,MAAM,CAAC;IAG5B,aAAa,EAAE,MAAM,CAAC;IAGtB,cAAc,EAAE,cAAc,CAAC;IAG/B,YAAY,EAAE,IAAI,CAAC;IAGnB,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB;;;;UAA2C,CAAC"}
|
|
1
|
+
{"version":3,"file":"global-users.schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/global-users.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAG9D,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C,qBACa,cAAe,SAAQ,QAAQ;IAE1C,gBAAgB,EAAE,MAAM,CAAC;IAGzB,UAAU,EAAE,MAAM,CAAC;IAGnB,YAAY,EAAE,MAAM,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,qBACa,UAAW,SAAQ,QAAQ;IAEtC,QAAQ,EAAE,MAAM,CAAC;IAGjB,cAAc,EAAE,MAAM,EAAE,CAAC;IAGzB,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAGlB,WAAW,EAAE,OAAO,CAAC;IAGrB,WAAW,EAAE,OAAO,CAAC;IAGrB,IAAI,EAAE,MAAM,CAAC;IAGb,eAAe,EAAE,MAAM,CAAC;IAGxB,mBAAmB,EAAE,MAAM,CAAC;IAG5B,aAAa,EAAE,MAAM,CAAC;IAGtB,cAAc,EAAE,cAAc,CAAC;IAG/B,YAAY,EAAE,IAAI,CAAC;IAGnB,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB;;;;UAA2C,CAAC"}
|
|
@@ -68,6 +68,7 @@ let GlobalUser = class GlobalUser extends mongoose_2.Document {
|
|
|
68
68
|
personalEmail;
|
|
69
69
|
studentDetails;
|
|
70
70
|
lastLoggedIn;
|
|
71
|
+
departmentIds;
|
|
71
72
|
createdBy;
|
|
72
73
|
updatedBy;
|
|
73
74
|
};
|
|
@@ -135,6 +136,10 @@ __decorate([
|
|
|
135
136
|
(0, mongoose_1.Prop)({ required: false }),
|
|
136
137
|
__metadata("design:type", Date)
|
|
137
138
|
], GlobalUser.prototype, "lastLoggedIn", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
(0, mongoose_1.Prop)({ type: [mongoose_2.Schema.Types.ObjectId], default: [] }),
|
|
141
|
+
__metadata("design:type", Array)
|
|
142
|
+
], GlobalUser.prototype, "departmentIds", void 0);
|
|
138
143
|
__decorate([
|
|
139
144
|
(0, mongoose_1.Prop)({ type: mongoose_2.Schema.Types.ObjectId }),
|
|
140
145
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-users.schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/global-users.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,uCAA8D;AAC9D,uCAAuC;AAE1B,QAAA,eAAe,GAAG,cAAc,CAAC;AAGvC,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,mBAAQ;IAE1C,gBAAgB,CAAS;IAGzB,UAAU,CAAS;IAGnB,YAAY,CAAS;IAGrB,UAAU,CAAS;IAGnB,UAAU,CAAS;IAGnB,OAAO,CAAS;CACjB,CAAA;AAjBC;IAAC,IAAA,eAAI,GAAE;;wDACkB;AAEzB;IAAC,IAAA,eAAI,GAAE;;kDACY;AAEnB;IAAC,IAAA,eAAI,GAAE;;oDACc;AAErB;IAAC,IAAA,eAAI,GAAE;;kDACY;AAEnB;IAAC,IAAA,eAAI,GAAE;;kDACY;AAEnB;IAAC,IAAA,eAAI,GAAE;;+CACS;AAjBL,cAAc;IAD1B,IAAA,iBAAM,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;GACT,cAAc,CAkB1B;AAlBY,wCAAc;AAmB3B,MAAM,oBAAoB,GAAG,wBAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAGnE,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,mBAAQ;IAEtC,QAAQ,CAAS;IAGjB,cAAc,CAAW;IAGzB,MAAM,CAAS;IAGf,QAAQ,CAAS;IAGjB,KAAK,CAAS;IAGd,QAAQ,CAAS;IAGjB,QAAQ,CAAS;IAGjB,QAAQ,CAAU;IAGlB,WAAW,CAAU;IAGrB,WAAW,CAAU;IAGrB,IAAI,CAAS;IAGb,eAAe,CAAS;IAGxB,mBAAmB,CAAS;IAG5B,aAAa,CAAS;IAGtB,cAAc,CAAiB;IAG/B,YAAY,CAAO;IAGnB,SAAS,CAAS;IAGlB,SAAS,CAAS;CACnB,CAAA;
|
|
1
|
+
{"version":3,"file":"global-users.schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/global-users.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { Model } from 'mongoose';
|
|
1
2
|
import { EntityManager } from 'typeorm';
|
|
2
3
|
import { IRequest } from '../common';
|
|
3
|
-
import { ProfilePermission, User } from '../domain';
|
|
4
|
-
export type CheckFn = (manager: EntityManager, user: User, permission: ProfilePermission, req: IRequest) => Promise<boolean> | boolean;
|
|
4
|
+
import { GlobalUser, ProfilePermission, User } from '../domain';
|
|
5
|
+
export type CheckFn = (manager: EntityManager, user: User, permission: ProfilePermission, req: IRequest, globalUser: GlobalUser) => Promise<boolean> | boolean;
|
|
5
6
|
export type CheckPermissions = {
|
|
6
7
|
[key: string]: CheckFn | boolean;
|
|
7
8
|
};
|
|
8
|
-
export declare function validateRequestPermission(permissionName: string, fns: CheckPermissions): Promise<boolean>;
|
|
9
|
+
export declare function validateRequestPermission(permissionName: string, fns: CheckPermissions, globalUserModel: Model<GlobalUser>): Promise<boolean>;
|
|
9
10
|
//# sourceMappingURL=check-permission.guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-permission.guard.d.ts","sourceRoot":"","sources":["../../src/permissions/check-permission.guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAA0C,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"check-permission.guard.d.ts","sourceRoot":"","sources":["../../src/permissions/check-permission.guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAA0C,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGhE,MAAM,MAAM,OAAO,GAAG,CACpB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,iBAAiB,EAC7B,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,UAAU,KACnB,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEhC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CAClC,CAAC;AAEF,wBAAsB,yBAAyB,CAC7C,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,gBAAgB,EACrB,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,GACjC,OAAO,CAAC,OAAO,CAAC,CAqDlB"}
|
|
@@ -5,7 +5,7 @@ const lodash_1 = require("lodash");
|
|
|
5
5
|
const common_1 = require("../common");
|
|
6
6
|
const domain_1 = require("../domain");
|
|
7
7
|
const permissions_1 = require("./permissions");
|
|
8
|
-
async function validateRequestPermission(permissionName, fns) {
|
|
8
|
+
async function validateRequestPermission(permissionName, fns, globalUserModel) {
|
|
9
9
|
const reqUser = (0, common_1.getUserData)();
|
|
10
10
|
if (!reqUser || !reqUser.id)
|
|
11
11
|
return false;
|
|
@@ -15,7 +15,7 @@ async function validateRequestPermission(permissionName, fns) {
|
|
|
15
15
|
return false;
|
|
16
16
|
const user = await (0, common_1.getDataSource)().manager.findOne(domain_1.User, {
|
|
17
17
|
where: { id: reqUser.id },
|
|
18
|
-
relations:
|
|
18
|
+
relations: { profiles: true },
|
|
19
19
|
});
|
|
20
20
|
if (!user)
|
|
21
21
|
return false;
|
|
@@ -49,8 +49,10 @@ async function validateRequestPermission(permissionName, fns) {
|
|
|
49
49
|
const pp = fns?.[permission.groupSlug];
|
|
50
50
|
if (pp === null || pp === undefined)
|
|
51
51
|
return true;
|
|
52
|
-
if (typeof pp === 'function')
|
|
53
|
-
|
|
52
|
+
if (typeof pp === 'function') {
|
|
53
|
+
const globalUser = await globalUserModel.findById(reqUser.userId);
|
|
54
|
+
return pp((0, common_1.getDataSource)().manager, user, profilePermission, req, globalUser);
|
|
55
|
+
}
|
|
54
56
|
if (typeof pp === 'boolean')
|
|
55
57
|
return pp;
|
|
56
58
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-permission.guard.js","sourceRoot":"","sources":["../../src/permissions/check-permission.guard.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;
|
|
1
|
+
{"version":3,"file":"check-permission.guard.js","sourceRoot":"","sources":["../../src/permissions/check-permission.guard.ts"],"names":[],"mappings":"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"}
|