gemcap-be-common 1.3.0 → 1.3.1

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.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -22,7 +22,7 @@ export interface IInvestorSummaryDataRow {
22
22
  }
23
23
  export declare class InvestorSummaryService {
24
24
  private readonly loanChargesService;
25
- private readonly reportsService;
26
- constructor(loanChargesService: LoanChargesService, reportsService: ReportsService);
25
+ private readonly getReportsService;
26
+ constructor(loanChargesService: LoanChargesService, getReportsService: () => ReportsService);
27
27
  getInvestorSummaryData(borrowerIds: string[], start: Date, end: Date): Promise<IInvestorSummaryDataRow[]>;
28
28
  }
@@ -64,14 +64,15 @@ const emptySummary = {
64
64
  };
65
65
  class InvestorSummaryService {
66
66
  loanChargesService;
67
- reportsService;
68
- constructor(loanChargesService, reportsService) {
67
+ getReportsService;
68
+ constructor(loanChargesService, getReportsService) {
69
69
  this.loanChargesService = loanChargesService;
70
- this.reportsService = reportsService;
70
+ this.getReportsService = getReportsService;
71
71
  }
72
72
  async getInvestorSummaryData(borrowerIds, start, end) {
73
73
  const data = [];
74
- const borrowerSummaries = await this.reportsService.generateBankPortfolioSummary(borrowerIds, end);
74
+ const reportsService = this.getReportsService();
75
+ const borrowerSummaries = await reportsService.generateBankPortfolioSummary(borrowerIds, end);
75
76
  await Promise.all(borrowerIds.map(async (borrowerId) => {
76
77
  const borrower = await Borrower_model_1.BorrowerModel.findById(borrowerId).lean();
77
78
  const borrowerProducts = await this.loanChargesService.getLoanProducts(borrowerId);
@@ -93,7 +94,7 @@ class InvestorSummaryService {
93
94
  const inventoryNet = productSummary.inventoryNet;
94
95
  const otherCollateral = new decimal_js_1.default(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).add(productSummary.realEstate).add(productSummary.bootCollateral).toNumber();
95
96
  const otherReserves = isRevolver ? productSummary.otherReserves : 0;
96
- const collateralAdjustments = isRevolver ? await this.reportsService.getCollateralAdjustmentsForLastSignedBBC(borrowerId, end) : 0;
97
+ const collateralAdjustments = isRevolver ? await reportsService.getCollateralAdjustmentsForLastSignedBBC(borrowerId, end) : 0;
97
98
  const otherReservesAndAdjustments = new decimal_js_1.default(otherReserves).add(collateralAdjustments).toNumber();
98
99
  const totalRevolver = new decimal_js_1.default(productSummary.totalCollateral).add(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).toNumber();
99
100
  const netAvailable = new decimal_js_1.default(inventoryNet).add(ARNet).add(otherCollateral).add(otherReservesAndAdjustments).minus(balanceEnd).toNumber();
@@ -89,13 +89,14 @@ export class InvestorSummaryService {
89
89
 
90
90
  constructor(
91
91
  private readonly loanChargesService: LoanChargesService,
92
- private readonly reportsService: ReportsService,
92
+ private readonly getReportsService: () => ReportsService,
93
93
  ) {
94
94
  }
95
95
 
96
96
  async getInvestorSummaryData(borrowerIds: string[], start: Date, end: Date) {
97
97
  const data: IInvestorSummaryDataRow[] = [];
98
- const borrowerSummaries = await this.reportsService.generateBankPortfolioSummary(borrowerIds, end);
98
+ const reportsService = this.getReportsService();
99
+ const borrowerSummaries = await reportsService.generateBankPortfolioSummary(borrowerIds, end);
99
100
  await Promise.all(borrowerIds.map(async (borrowerId) => {
100
101
  const borrower = await BorrowerModel.findById(borrowerId).lean();
101
102
  const borrowerProducts = await this.loanChargesService.getLoanProducts(borrowerId);
@@ -118,7 +119,7 @@ export class InvestorSummaryService {
118
119
  const inventoryNet = productSummary.inventoryNet;
119
120
  const otherCollateral = new Decimal(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).add(productSummary.realEstate).add(productSummary.bootCollateral).toNumber();
120
121
  const otherReserves = isRevolver ? productSummary.otherReserves : 0;
121
- const collateralAdjustments = isRevolver ? await this.reportsService.getCollateralAdjustmentsForLastSignedBBC(borrowerId, end) : 0;
122
+ const collateralAdjustments = isRevolver ? await reportsService.getCollateralAdjustmentsForLastSignedBBC(borrowerId, end) : 0;
122
123
  const otherReservesAndAdjustments = new Decimal(otherReserves).add(collateralAdjustments).toNumber();
123
124
  const totalRevolver = new Decimal(productSummary.totalCollateral).add(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).toNumber();
124
125
  const netAvailable = new Decimal(inventoryNet).add(ARNet).add(otherCollateral).add(otherReservesAndAdjustments).minus(balanceEnd).toNumber();