@campxdev/server-shared 1.2.23 → 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.
@@ -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
- constructor(reflector: Reflector, sharedService: SharedService);
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;gBADb,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa;IAGzC,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;IAY7B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;CAY3B"}
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
- constructor(reflector, sharedService) {
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":"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"}
1
+ {"version":3,"file":"request.interceptor.js","sourceRoot":"","sources":["../../../src/common/interceptors/request.interceptor.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;AAGpD,MAAM,MAAM,OAAO,GAAG,CACpB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,iBAAiB,EAC7B,GAAG,EAAE,QAAQ,KACV,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,GACpB,OAAO,CAAC,OAAO,CAAC,CAkDlB"}
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: ['profiles'],
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
- return pp((0, common_1.getDataSource)().manager, user, profilePermission, req);
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":"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"}
1
+ {"version":3,"file":"check-permission.guard.js","sourceRoot":"","sources":["../../src/permissions/check-permission.guard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@campxdev/server-shared",
3
- "version": "1.2.23",
3
+ "version": "1.2.24",
4
4
  "description": "Campx server shared files",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",