@bearei/server-common 0.0.216 → 0.0.218

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.
@@ -46,7 +46,7 @@ let AccessGuard = class AccessGuard {
46
46
  message: 'Authentication token is not found.'
47
47
  })(exception_1.HTTP_EXCEPTION.UNAUTHORIZED);
48
48
  }
49
- const validateJWTPayload = (request) => {
49
+ const validatePayload = (request) => {
50
50
  const validateInternalSignature = (value) => {
51
51
  if (!value) {
52
52
  (0, exception_1.throwHTTPException)({
@@ -78,7 +78,7 @@ let AccessGuard = class AccessGuard {
78
78
  return Boolean(subject);
79
79
  };
80
80
  };
81
- return this.jwtService.verifyAsync(token).then(validateJWTPayload(request)(requiredAccesses));
81
+ return this.jwtService.verifyAsync(token).then(validatePayload(request)(requiredAccesses));
82
82
  }
83
83
  };
84
84
  exports.AccessGuard = AccessGuard;
@@ -1 +1 @@
1
- {"version":3,"file":"access.guard.js","sourceRoot":"","sources":["../../src/access/access.guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access.guard.js","sourceRoot":"","sources":["../../src/access/access.guard.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@ import type { AuthenticationPermissionsOptions, AuthenticationSubscriptionFeatur
4
4
  export declare class AuthenticationService {
5
5
  private readonly externalService;
6
6
  constructor(externalService: ExternalService);
7
- authenticationPermissions(headers: RequestHeaders): (options: AuthenticationPermissionsOptions) => Promise<any>;
8
- authenticationSubscriptionFeatures(headers: RequestHeaders): (options: AuthenticationSubscriptionFeaturesOptions) => Promise<import("../external").AuthenticationExternalSubscriptionFeaturesResult>;
7
+ authenticationPermissions(headers: RequestHeaders): ({ userId, ...options }: AuthenticationPermissionsOptions) => Promise<void>;
8
+ authenticationSubscriptionFeatures(headers: RequestHeaders): ({ userId, ...options }: AuthenticationSubscriptionFeaturesOptions) => Promise<void>;
9
9
  }
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AuthenticationService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
+ const exception_1 = require("../exception");
14
15
  const external_1 = require("../external");
15
16
  let AuthenticationService = class AuthenticationService {
16
17
  externalService;
@@ -18,10 +19,23 @@ let AuthenticationService = class AuthenticationService {
18
19
  this.externalService = externalService;
19
20
  }
20
21
  authenticationPermissions(headers) {
21
- return async (options) => this.externalService.authenticationUserPermissions(headers)(options);
22
+ return async ({ userId, ...options }) => {
23
+ const { results: permissions } = await this.externalService.authenticationUserPermissions(headers)({ ...options, size: 1024 })(userId);
24
+ if (!permissions.length) {
25
+ (0, exception_1.throwHTTPException)({ message: 'No permission to access the current resource.' })(exception_1.HTTP_EXCEPTION.FORBIDDEN);
26
+ }
27
+ };
22
28
  }
23
29
  authenticationSubscriptionFeatures(headers) {
24
- return async (options) => this.externalService.authenticationUserSubscriptionFeatures(headers)(options);
30
+ return async ({ userId, ...options }) => {
31
+ const { results: features } = await this.externalService.authenticationUserSubscriptionFeatures(headers)({ ...options, size: 1024 })(userId);
32
+ if (!features.length) {
33
+ (0, exception_1.throwHTTPException)({
34
+ code: exception_1.HTTP_EXCEPTION_CODE.NOT_SUBSCRIBED,
35
+ message: 'No subscription to the current resource.'
36
+ })(exception_1.HTTP_EXCEPTION.FORBIDDEN);
37
+ }
38
+ };
25
39
  }
26
40
  };
27
41
  exports.AuthenticationService = AuthenticationService;
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../src/authentication/authentication.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyC;AAEzC,0CAA2C;AAOpC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACJ;IAA7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE,yBAAyB,CAAC,OAAuB;QAChD,OAAO,KAAK,EAAE,OAAyC,EAAE,EAAE,CAC1D,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;IACtE,CAAC;IAED,kCAAkC,CAAC,OAAuB;QACzD,OAAO,KAAK,EAAE,OAAkD,EAAE,EAAE,CACnE,IAAI,CAAC,eAAe,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;IAC/E,CAAC;CACD,CAAA;AAZY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAEkC,0BAAe;GADjD,qBAAqB,CAYjC"}
1
+ {"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../src/authentication/authentication.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyC;AAEzC,4CAAoF;AACpF,0CAA2C;AAOpC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACJ;IAA7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE,yBAAyB,CAAC,OAAuB;QAChD,OAAO,KAAK,EAAE,EAAC,MAAM,EAAE,GAAG,OAAO,EAAmC,EAAE,EAAE;YACvE,MAAM,EAAC,OAAO,EAAE,WAAW,EAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CACtF,OAAO,CACP,CAAC,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAEnC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAA,8BAAkB,EAAC,EAAC,OAAO,EAAE,+CAA+C,EAAC,CAAC,CAC7E,0BAAc,CAAC,SAAS,CACxB,CAAA;YACF,CAAC;QACF,CAAC,CAAA;IACF,CAAC;IAED,kCAAkC,CAAC,OAAuB;QACzD,OAAO,KAAK,EAAE,EAAC,MAAM,EAAE,GAAG,OAAO,EAA4C,EAAE,EAAE;YAChF,MAAM,EAAC,OAAO,EAAE,QAAQ,EAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,sCAAsC,CAC5F,OAAO,CACP,CAAC,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAEnC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACtB,IAAA,8BAAkB,EAAC;oBAClB,IAAI,EAAE,+BAAmB,CAAC,cAAc;oBACxC,OAAO,EAAE,0CAA0C;iBACnD,CAAC,CAAC,0BAAc,CAAC,SAAS,CAAC,CAAA;YAC7B,CAAC;QACF,CAAC,CAAA;IACF,CAAC;CACD,CAAA;AA/BY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAEkC,0BAAe;GADjD,qBAAqB,CA+BjC"}
@@ -1,4 +1,6 @@
1
1
  import type { AxiosRequestConfig } from 'axios';
2
+ import { IndexDTO } from '../app.dto';
3
+ import { CommonEntity } from '../app.entity';
2
4
  import type { Action, ActionResult, RequestHeaders } from '../app.interface';
3
5
  import type { Permission } from '../permission';
4
6
  import type { SubscriptionFeature } from '../subscription-feature';
@@ -20,12 +22,12 @@ export interface CreateExternalActionLogOptions {
20
22
  result: ActionResult;
21
23
  serviceName: string;
22
24
  }
23
- export interface AuthenticationExternalPermissionsOptions {
25
+ export interface AuthenticationExternalPermissionsOptions extends IndexDTO {
24
26
  domainId: string;
25
27
  keys: Permission[];
26
28
  userId: string;
27
29
  }
28
- export interface AuthenticationExternalSubscriptionFeaturesOptions {
30
+ export interface AuthenticationExternalSubscriptionFeaturesOptions extends IndexDTO {
29
31
  domainId: string;
30
32
  keys: SubscriptionFeature[];
31
33
  userId: string;
@@ -54,3 +56,15 @@ export interface RequestError {
54
56
  };
55
57
  };
56
58
  }
59
+ export interface PermissionEntity extends CommonEntity {
60
+ domainId: string;
61
+ resourceId: string;
62
+ protected: boolean;
63
+ key: Permission;
64
+ description: string;
65
+ }
66
+ export interface FeatureEntity extends CommonEntity {
67
+ domainId: string;
68
+ key: SubscriptionFeature;
69
+ description: string;
70
+ }
@@ -1,15 +1,19 @@
1
1
  import { HttpService } from '@nestjs/axios';
2
2
  import { ConfigService } from '@nestjs/config';
3
- import type { RequestHeaders } from '../app.interface';
3
+ import { Agent as HttpAgent } from 'http';
4
+ import { Agent as HttpsAgent } from 'https';
5
+ import type { FindResult, RequestHeaders } from '../app.interface';
4
6
  import { JWTService } from '../jwt';
5
- import type { AuthenticationExternalPermissionsOptions, AuthenticationExternalSubscriptionFeaturesOptions, AuthenticationExternalSubscriptionFeaturesResult, CreateExternalActionLogOptions, RequestOptions } from './external.interface';
7
+ import type { AuthenticationExternalPermissionsOptions, AuthenticationExternalSubscriptionFeaturesOptions, CreateExternalActionLogOptions, FeatureEntity, PermissionEntity, RequestOptions } from './external.interface';
8
+ export declare const httpAgent: HttpAgent;
9
+ export declare const httpsAgent: HttpsAgent;
6
10
  export declare class ExternalService {
7
11
  private readonly configService;
8
12
  private readonly httpService;
9
13
  private readonly jwtService;
10
14
  constructor(configService: ConfigService, httpService: HttpService, jwtService: JWTService);
11
- authenticationUserPermissions(headers: RequestHeaders): (options: AuthenticationExternalPermissionsOptions) => Promise<any>;
12
- authenticationUserSubscriptionFeatures(headers: RequestHeaders): (options: AuthenticationExternalSubscriptionFeaturesOptions) => Promise<AuthenticationExternalSubscriptionFeaturesResult>;
15
+ authenticationUserPermissions(headers: RequestHeaders): (options: Omit<AuthenticationExternalPermissionsOptions, "userId">) => (id: string) => Promise<FindResult<PermissionEntity>>;
16
+ authenticationUserSubscriptionFeatures(headers: RequestHeaders): (options: Omit<AuthenticationExternalSubscriptionFeaturesOptions, "userId">) => (id: string) => Promise<FindResult<FeatureEntity>>;
13
17
  createActionLog(headers: RequestHeaders): ({ action, serviceName, ...restOptions }: CreateExternalActionLogOptions) => Promise<any>;
14
18
  request({ async, baseURL, headers, method, params, path, serviceName, timeout, version, ...restOptions }: RequestOptions): Promise<any>;
15
19
  }
@@ -9,14 +9,18 @@ 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
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ExternalService = void 0;
12
+ exports.ExternalService = exports.httpsAgent = exports.httpAgent = void 0;
13
13
  const axios_1 = require("@nestjs/axios");
14
14
  const common_1 = require("@nestjs/common");
15
15
  const config_1 = require("@nestjs/config");
16
+ const http_1 = require("http");
17
+ const https_1 = require("https");
16
18
  const rxjs_1 = require("rxjs");
17
19
  const exception_1 = require("../exception");
18
20
  const jwt_1 = require("../jwt");
19
21
  const utils_1 = require("../utils");
22
+ exports.httpAgent = new http_1.Agent({ keepAlive: true });
23
+ exports.httpsAgent = new https_1.Agent({ keepAlive: true });
20
24
  let ExternalService = class ExternalService {
21
25
  configService;
22
26
  httpService;
@@ -27,21 +31,21 @@ let ExternalService = class ExternalService {
27
31
  this.jwtService = jwtService;
28
32
  }
29
33
  authenticationUserPermissions(headers) {
30
- return async (options) => this.request({
34
+ return (options) => async (id) => this.request({
31
35
  headers,
32
36
  method: 'GET',
33
37
  params: options,
34
- path: '/authentication-users/permissions',
35
- serviceName: 'bearei-user'
38
+ path: `/users/${id}/permissions`,
39
+ serviceName: 'bearei-permission'
36
40
  });
37
41
  }
38
42
  authenticationUserSubscriptionFeatures(headers) {
39
- return async (options) => this.request({
43
+ return (options) => async (id) => this.request({
40
44
  headers,
41
45
  method: 'GET',
42
46
  params: options,
43
- path: '/authentication-users/subscription-features',
44
- serviceName: 'bearei-user'
47
+ path: `/users/${id}/features`,
48
+ serviceName: 'bearei-subscription'
45
49
  });
46
50
  }
47
51
  createActionLog(headers) {
@@ -92,6 +96,8 @@ let ExternalService = class ExternalService {
92
96
  'x-ei-subject': headers['x-ei-subject'],
93
97
  authorization: headers['authorization']
94
98
  },
99
+ httpAgent: exports.httpAgent,
100
+ httpsAgent: exports.httpsAgent,
95
101
  method,
96
102
  timeout: timeout ?? this.configService.get('apiService.timeout'),
97
103
  url
@@ -1 +1 @@
1
- {"version":3,"file":"external.service.js","sourceRoot":"","sources":["../../src/external/external.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external.service.js","sourceRoot":"","sources":["../../src/external/external.service.ts"],"names":[],"mappings":"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"}