gemcap-be-common 1.4.17 → 1.4.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemcap-be-common",
3
- "version": "1.4.17",
3
+ "version": "1.4.19",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -23,7 +23,7 @@
23
23
  /// <reference types="mongoose/types/virtuals" />
24
24
  /// <reference types="mongoose" />
25
25
  /// <reference types="mongoose/types/inferschematype" />
26
- import { IUser } from '../interfaces/auth-user.interface';
26
+ import { IUserAccess } from '../interfaces/auth-user.interface';
27
27
  export declare class BorrowersDB {
28
28
  getAllBorrowers(): Promise<(import("mongoose").FlattenMaps<import("../models/Borrower.model").IBorrowerDocument> & {
29
29
  _id: import("mongoose").Types.ObjectId;
@@ -31,7 +31,7 @@ export declare class BorrowersDB {
31
31
  getActiveBorrowers(): Promise<(import("mongoose").FlattenMaps<import("../models/Borrower.model").IBorrowerDocument> & {
32
32
  _id: import("mongoose").Types.ObjectId;
33
33
  })[]>;
34
- getAllowedBorrowers(user: IUser): Promise<(import("mongoose").FlattenMaps<import("../models/Borrower.model").IBorrowerDocument> & {
34
+ getAllowedBorrowers(user: IUserAccess): Promise<(import("mongoose").FlattenMaps<import("../models/Borrower.model").IBorrowerDocument> & {
35
35
  _id: import("mongoose").Types.ObjectId;
36
36
  })[]>;
37
37
  }
@@ -1,5 +1,5 @@
1
1
  import { BorrowerModel } from '../models/Borrower.model';
2
- import { IUser } from '../interfaces/auth-user.interface';
2
+ import { IUser, IUserAccess } from '../interfaces/auth-user.interface';
3
3
 
4
4
  export class BorrowersDB {
5
5
  async getAllBorrowers() {
@@ -10,7 +10,7 @@ export class BorrowersDB {
10
10
  return BorrowerModel.find({ active: true }).sort({ name: 1 }).lean();
11
11
  }
12
12
 
13
- async getAllowedBorrowers(user: IUser) {
13
+ async getAllowedBorrowers(user: IUserAccess) {
14
14
  return BorrowerModel
15
15
  .find(user.allBorrowers ? {} : { '_id': { $in: user.borrowersAccess } })
16
16
  .collation({ locale: 'en' })
@@ -30,7 +30,7 @@ import { CollateralsService } from './collaterals.service';
30
30
  import { LoanStatementStatusService } from './loan-statement-status.service';
31
31
  import { LoanTransactionsService } from './loan-transactions.service';
32
32
  import { SignsService } from './signs.service';
33
- import { IUser } from '../interfaces/auth-user.interface';
33
+ import { IUser, IUserAccess } from '../interfaces/auth-user.interface';
34
34
  export declare const borrowerDataModels: {
35
35
  [modelName: string]: mongoose.Model<any>;
36
36
  };
@@ -40,7 +40,7 @@ export declare class BorrowerService {
40
40
  private readonly getLoanTransactionsService;
41
41
  private readonly getSignsService;
42
42
  constructor(getCollateralsService: () => CollateralsService, getLoanStatementStatusService: () => LoanStatementStatusService, getLoanTransactionsService: () => LoanTransactionsService, getSignsService: () => SignsService);
43
- isBorrowerAllowed(user: IUser, requestedBorrowerId: string): boolean;
43
+ isBorrowerAllowed(userAccess: IUserAccess, requestedBorrowerId: string): boolean;
44
44
  checkBorrower(user: IUser, requestedBorrowerId: string): boolean;
45
45
  getBorrowerById(borrowerId: string): Promise<mongoose.FlattenMaps<IBorrowerDocument> & {
46
46
  _id: mongoose.Types.ObjectId;
@@ -39,14 +39,14 @@ class BorrowerService {
39
39
  this.getLoanTransactionsService = getLoanTransactionsService;
40
40
  this.getSignsService = getSignsService;
41
41
  }
42
- isBorrowerAllowed(user, requestedBorrowerId) {
43
- if (!user) {
42
+ isBorrowerAllowed(userAccess, requestedBorrowerId) {
43
+ if (!userAccess) {
44
44
  return false;
45
45
  }
46
- if (user.allBorrowers) {
46
+ if (userAccess.allBorrowers) {
47
47
  return true;
48
48
  }
49
- return user.borrowersAccess?.includes(requestedBorrowerId);
49
+ return userAccess.borrowersAccess?.includes(requestedBorrowerId);
50
50
  }
51
51
  checkBorrower(user, requestedBorrowerId) {
52
52
  const allowedBorrower = this.isBorrowerAllowed(user, requestedBorrowerId);
@@ -24,7 +24,7 @@ import { CollateralsService } from './collaterals.service';
24
24
  import { LoanStatementStatusService } from './loan-statement-status.service';
25
25
  import { LoanTransactionsService } from './loan-transactions.service';
26
26
  import { SignsService } from './signs.service';
27
- import { IUser } from '../interfaces/auth-user.interface';
27
+ import { IUser, IUserAccess } from '../interfaces/auth-user.interface';
28
28
 
29
29
  export const borrowerDataModels: {
30
30
  [modelName: string]: mongoose.Model<any>
@@ -51,14 +51,14 @@ export class BorrowerService {
51
51
  }
52
52
 
53
53
 
54
- isBorrowerAllowed(user: IUser, requestedBorrowerId: string): boolean {
55
- if (!user) {
54
+ isBorrowerAllowed(userAccess: IUserAccess, requestedBorrowerId: string): boolean {
55
+ if (!userAccess) {
56
56
  return false;
57
57
  }
58
- if (user.allBorrowers) {
58
+ if (userAccess.allBorrowers) {
59
59
  return true;
60
60
  }
61
- return user.borrowersAccess?.includes(requestedBorrowerId);
61
+ return userAccess.borrowersAccess?.includes(requestedBorrowerId);
62
62
  }
63
63
 
64
64
  checkBorrower(user: IUser, requestedBorrowerId: string): boolean {
@@ -46,9 +46,9 @@ export declare class BrokersService {
46
46
  getAllProductBrokers(): Promise<(import("mongoose").FlattenMaps<import("../models/ProductBroker.model").IProductBrokerDoc> & {
47
47
  _id: import("mongoose").Types.ObjectId;
48
48
  })[]>;
49
- getBorrowerBrokers(borrowerId: string): Promise<(import("mongoose").FlattenMaps<import("../models/ProductBroker.model").IProductBrokerDoc> & {
49
+ getBorrowerBrokers(borrowerId: string): Promise<BrokerView[] | (import("mongoose").FlattenMaps<import("../models/ProductBroker.model").IProductBrokerDoc> & {
50
50
  _id: import("mongoose").Types.ObjectId;
51
- })[] | BrokerView[]>;
51
+ })[]>;
52
52
  getProductBrokers(productId: string): Promise<import("../models/ProductBroker.model").IProductBrokerDocWithBroker[]>;
53
53
  getTotalShares(borrowerId: string, brokers: IProductBrokerView[], replaceNames?: boolean): Promise<ProductTotal>;
54
54
  getTotals(borrowerId: string): Promise<BrokerTotalView[]>;
@@ -26,7 +26,7 @@ import mongoose from 'mongoose';
26
26
  import { IEmailRecipient } from '../models/ComplianceItem.model';
27
27
  import { IGroupedEmailsUpdate } from '../interfaces/email-addresses.interface';
28
28
  import { IComplianceBorrowerDocument, IComplianceBorrowerDocumentFull } from '../models/BorrowerCompliance.model';
29
- import { IUser, IUserAccess } from '../interfaces/auth-user.interface';
29
+ import { IUserAccess } from '../interfaces/auth-user.interface';
30
30
  import { FileManagerService } from './file-manager.service';
31
31
  import { UploadsService } from './uploads.service';
32
32
  export declare class ComplianceBorrowersService {
@@ -148,5 +148,5 @@ export declare class ComplianceBorrowersService {
148
148
  toggleComplianceBorrowerVisibility(borrowerId: string, isVisible: boolean): Promise<void>;
149
149
  createComplianceBorrower(borrowerId: string, isVisible?: boolean): Promise<void>;
150
150
  removeIncorrectBorrowers(): Promise<void>;
151
- getBorrowerListReport(user: IUser): Promise<any>;
151
+ getBorrowerListReport(user: IUserAccess): Promise<any>;
152
152
  }
@@ -579,7 +579,7 @@ export class ComplianceBorrowersService {
579
579
  }
580
580
  }
581
581
 
582
- async getBorrowerListReport(user: IUser) {
582
+ async getBorrowerListReport(user: IUserAccess) {
583
583
  const userFilter = user.allBorrowers
584
584
  ? { isVisible: true }
585
585
  : { 'borrower': { $in: user.borrowersAccess }, isVisible: true };
@@ -155,7 +155,7 @@ export declare class LoanTransactionsService {
155
155
  getTransactionReport(transactionIds: string[], borrowerId: string, effectiveDate: Date): Promise<{
156
156
  transactionIdsToMark: any[];
157
157
  transactions: {
158
- [x: string]: (string | number | string[] | Date)[];
158
+ [x: string]: (string | number | Date | string[])[];
159
159
  }[];
160
160
  }>;
161
161
  getBorrowerIdsForFile(transactionFileId: string): Promise<{
@@ -31,7 +31,7 @@ interface IAuthConfig {
31
31
  export declare class UsersService {
32
32
  private readonly config;
33
33
  constructor(config: IAuthConfig);
34
- getUserAccessByRequest(req: express.Request): Promise<IUser | null>;
34
+ getUserAccessByRequest(req: express.Request): Promise<IUserAccess | null>;
35
35
  getUserById(userId: string): Promise<IUser>;
36
36
  getUserByUsername(username: string): Promise<IUser>;
37
37
  getUserByToken(req: express.Request): Promise<IUser>;
@@ -20,11 +20,11 @@ class UsersService {
20
20
  return null;
21
21
  }
22
22
  const { sub } = (0, jwt_decode_1.jwtDecode)(authorization);
23
- const user = await this.getUserById(sub);
24
- if (!user) {
23
+ const userAccess = await this.getUserAccess(sub);
24
+ if (!userAccess) {
25
25
  return null;
26
26
  }
27
- return user;
27
+ return userAccess;
28
28
  }
29
29
  async getUserById(userId) {
30
30
  const { data } = await axios_1.default.get(`${this.config.baseUrl}/users/by-id/${userId}`);
@@ -18,17 +18,17 @@ export class UsersService {
18
18
  this.config = config;
19
19
  }
20
20
 
21
- async getUserAccessByRequest(req: express.Request): Promise<IUser | null> {
21
+ async getUserAccessByRequest(req: express.Request): Promise<IUserAccess | null> {
22
22
  const authorization = req.get('Authorization');
23
23
  if (!authorization) {
24
24
  return null;
25
25
  }
26
26
  const { sub }: { sub: string } = jwtDecode(authorization);
27
- const user = await this.getUserById(sub);
28
- if (!user) {
27
+ const userAccess = await this.getUserAccess(sub);
28
+ if (!userAccess) {
29
29
  return null;
30
30
  }
31
- return user;
31
+ return userAccess;
32
32
  }
33
33
 
34
34
  async getUserById(userId: string) {