gemcap-be-common 1.5.17 → 1.5.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.
@@ -74,18 +74,21 @@ export declare const TermLoanCalculatedSchema: mongoose.Schema<any, mongoose.Mod
74
74
  createdAt: NativeDate;
75
75
  updatedAt: NativeDate;
76
76
  } & {
77
- interestRate: number;
78
77
  termLoanId: mongoose.Types.ObjectId;
78
+ payments: mongoose.Types.DocumentArray<{
79
+ amount: number;
80
+ paymentId: mongoose.Types.ObjectId;
81
+ }>;
79
82
  relevantStatement: string;
80
83
  openingBalance: number;
81
84
  monthlyInterest: number;
82
85
  monthlyPrincipal: number;
83
86
  closingBalance: number;
84
87
  adminFee: number;
88
+ interestRate: number;
85
89
  interestDaily: number;
86
90
  gracePeriod: boolean;
87
91
  amortization: boolean;
88
- payments: any[];
89
92
  disbursements: number;
90
93
  dailyResults: mongoose.Types.DocumentArray<{
91
94
  interestRate: number;
@@ -93,24 +96,27 @@ export declare const TermLoanCalculatedSchema: mongoose.Schema<any, mongoose.Mod
93
96
  interest: number;
94
97
  paymentDate: boolean;
95
98
  }>;
96
- __v?: number;
97
99
  paymentDueDate?: Date;
100
+ __v?: number;
98
101
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
99
102
  createdAt: NativeDate;
100
103
  updatedAt: NativeDate;
101
104
  } & {
102
- interestRate: number;
103
105
  termLoanId: mongoose.Types.ObjectId;
106
+ payments: mongoose.Types.DocumentArray<{
107
+ amount: number;
108
+ paymentId: mongoose.Types.ObjectId;
109
+ }>;
104
110
  relevantStatement: string;
105
111
  openingBalance: number;
106
112
  monthlyInterest: number;
107
113
  monthlyPrincipal: number;
108
114
  closingBalance: number;
109
115
  adminFee: number;
116
+ interestRate: number;
110
117
  interestDaily: number;
111
118
  gracePeriod: boolean;
112
119
  amortization: boolean;
113
- payments: any[];
114
120
  disbursements: number;
115
121
  dailyResults: mongoose.Types.DocumentArray<{
116
122
  interestRate: number;
@@ -118,24 +124,27 @@ export declare const TermLoanCalculatedSchema: mongoose.Schema<any, mongoose.Mod
118
124
  interest: number;
119
125
  paymentDate: boolean;
120
126
  }>;
121
- __v?: number;
122
127
  paymentDueDate?: Date;
128
+ __v?: number;
123
129
  }>> & mongoose.FlatRecord<{
124
130
  createdAt: NativeDate;
125
131
  updatedAt: NativeDate;
126
132
  } & {
127
- interestRate: number;
128
133
  termLoanId: mongoose.Types.ObjectId;
134
+ payments: mongoose.Types.DocumentArray<{
135
+ amount: number;
136
+ paymentId: mongoose.Types.ObjectId;
137
+ }>;
129
138
  relevantStatement: string;
130
139
  openingBalance: number;
131
140
  monthlyInterest: number;
132
141
  monthlyPrincipal: number;
133
142
  closingBalance: number;
134
143
  adminFee: number;
144
+ interestRate: number;
135
145
  interestDaily: number;
136
146
  gracePeriod: boolean;
137
147
  amortization: boolean;
138
- payments: any[];
139
148
  disbursements: number;
140
149
  dailyResults: mongoose.Types.DocumentArray<{
141
150
  interestRate: number;
@@ -143,8 +152,8 @@ export declare const TermLoanCalculatedSchema: mongoose.Schema<any, mongoose.Mod
143
152
  interest: number;
144
153
  paymentDate: boolean;
145
154
  }>;
146
- __v?: number;
147
155
  paymentDueDate?: Date;
156
+ __v?: number;
148
157
  }> & {
149
158
  _id: mongoose.Types.ObjectId;
150
159
  }>;
@@ -56,11 +56,8 @@ exports.TermLoanCalculatedSchema = new mongoose_1.default.Schema({
56
56
  type: Date,
57
57
  required: false,
58
58
  },
59
- payments: [{
60
- type: mongoose_1.default.Schema.Types.Mixed,
61
- required: function () {
62
- return this.payment && this.payment.amount && this.payment.paymentId;
63
- },
59
+ payments: [
60
+ {
64
61
  amount: {
65
62
  type: Number,
66
63
  required: true,
@@ -70,7 +67,8 @@ exports.TermLoanCalculatedSchema = new mongoose_1.default.Schema({
70
67
  ref: _models_1.MODEL_NAMES.loanTransactions,
71
68
  required: true,
72
69
  },
73
- }],
70
+ },
71
+ ],
74
72
  disbursements: {
75
73
  type: Number,
76
74
  required: true,
@@ -104,21 +104,19 @@ export const TermLoanCalculatedSchema = new mongoose.Schema(
104
104
  type: Date,
105
105
  required: false,
106
106
  },
107
- payments: [{
108
- type: mongoose.Schema.Types.Mixed,
109
- required: function() {
110
- return this.payment && this.payment.amount && this.payment.paymentId;
107
+ payments: [
108
+ {
109
+ amount: {
110
+ type: Number,
111
+ required: true,
112
+ },
113
+ paymentId: {
114
+ type: mongoose.Schema.Types.ObjectId,
115
+ ref: MODEL_NAMES.loanTransactions,
116
+ required: true,
117
+ },
111
118
  },
112
- amount: {
113
- type: Number,
114
- required: true,
115
- },
116
- paymentId: {
117
- type: mongoose.Schema.Types.ObjectId,
118
- ref: MODEL_NAMES.loanTransactions,
119
- required: true,
120
- },
121
- }],
119
+ ],
122
120
  disbursements: {
123
121
  type: Number,
124
122
  required: true,
@@ -31,9 +31,9 @@ export declare const allSchemas: {
31
31
  createdAt: NativeDate;
32
32
  updatedAt: NativeDate;
33
33
  } & {
34
- order: number;
35
34
  amount: number;
36
35
  bbcSheetId: import("mongoose").Types.ObjectId;
36
+ order: number;
37
37
  apDate: Date;
38
38
  __v?: number;
39
39
  poNumber?: string;
@@ -45,9 +45,9 @@ export declare const allSchemas: {
45
45
  createdAt: NativeDate;
46
46
  updatedAt: NativeDate;
47
47
  } & {
48
- order: number;
49
48
  amount: number;
50
49
  bbcSheetId: import("mongoose").Types.ObjectId;
50
+ order: number;
51
51
  apDate: Date;
52
52
  __v?: number;
53
53
  poNumber?: string;
@@ -59,9 +59,9 @@ export declare const allSchemas: {
59
59
  createdAt: NativeDate;
60
60
  updatedAt: NativeDate;
61
61
  } & {
62
- order: number;
63
62
  amount: number;
64
63
  bbcSheetId: import("mongoose").Types.ObjectId;
64
+ order: number;
65
65
  apDate: Date;
66
66
  __v?: number;
67
67
  poNumber?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemcap-be-common",
3
- "version": "1.5.17",
3
+ "version": "1.5.19",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -45,7 +45,7 @@ export declare class ComplianceBorrowersService {
45
45
  };
46
46
  };
47
47
  getFullComplianceBorrowerById(complianceBorrowerId: string): Promise<any>;
48
- getAllBorrowersShortened(userAccess: IUserAccess): Promise<(Pick<IComplianceBorrowerWithBorrower, "borrower" | "fundingStatus" | "items"> | {
48
+ getAllBorrowersShortened(userAccess: IUserAccess): Promise<(Pick<IComplianceBorrowerWithBorrower, "items" | "borrower" | "fundingStatus"> | {
49
49
  items: {
50
50
  instances: any[];
51
51
  item: import("../models/ComplianceItem.model").IComplianceItemDocument;
@@ -79,7 +79,7 @@ export declare class LoanPaymentsService {
79
79
  success: boolean;
80
80
  message: string;
81
81
  }>;
82
- getExpectedPayments(userId: string): Promise<any[] | {
82
+ getExpectedPayments(userId: string, forDate: Date): Promise<any[] | {
83
83
  borrowers: {
84
84
  borrowerId: string;
85
85
  borrowerTitle: string;
@@ -400,7 +400,7 @@ class LoanPaymentsService {
400
400
  console.error(e);
401
401
  }
402
402
  }
403
- async getExpectedPayments(userId) {
403
+ async getExpectedPayments(userId, forDate) {
404
404
  const user = await this.usersService.getUserById(userId);
405
405
  if (!user) {
406
406
  return [];
@@ -411,7 +411,7 @@ class LoanPaymentsService {
411
411
  .filter((borrower) => borrower.active)
412
412
  .map(async (borrower) => {
413
413
  const loanStatementService = this.getLoanStatementService();
414
- const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString());
414
+ const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString(), forDate);
415
415
  return {
416
416
  borrowerId: borrower._id.toString(),
417
417
  borrowerTitle: borrower.name,
@@ -442,7 +442,7 @@ class LoanPaymentsService {
442
442
  const borrowerProducts = await this.loanChargesService.getLoanProducts(borrower._id.toString());
443
443
  const revolverProduct = borrowerProducts.find((product) => product.type === loan_types_enum_1.ELoanTypes.REVOLVER && (0, date_helper_1.isProductActive)(product.startDate, product.deactivationDate, selectedDate));
444
444
  const loanStatementService = this.getLoanStatementService();
445
- const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString());
445
+ const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString(), selectedDate);
446
446
  if (dueAmounts.total === 0) {
447
447
  console.log('no payment for this borrower');
448
448
  return;
@@ -447,7 +447,7 @@ export class LoanPaymentsService {
447
447
  }
448
448
  }
449
449
 
450
- async getExpectedPayments(userId: string) {
450
+ async getExpectedPayments(userId: string, forDate: Date) {
451
451
  const user = await this.usersService.getUserById(userId);
452
452
  if (!user) {
453
453
  return [];
@@ -458,7 +458,7 @@ export class LoanPaymentsService {
458
458
  .filter((borrower) => borrower.active)
459
459
  .map(async (borrower) => {
460
460
  const loanStatementService = this.getLoanStatementService();
461
- const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString());
461
+ const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString(), forDate);
462
462
  return {
463
463
  borrowerId: borrower._id.toString(),
464
464
  borrowerTitle: borrower.name,
@@ -493,7 +493,7 @@ export class LoanPaymentsService {
493
493
  const borrowerProducts = await this.loanChargesService.getLoanProducts(borrower._id.toString());
494
494
  const revolverProduct = borrowerProducts.find((product) => product.type === ELoanTypes.REVOLVER && isProductActive(product.startDate, product.deactivationDate, selectedDate));
495
495
  const loanStatementService = this.getLoanStatementService();
496
- const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString());
496
+ const dueAmounts = await loanStatementService.getBorrowerProductTotals(borrower._id.toString(), selectedDate);
497
497
  if (dueAmounts.total === 0) {
498
498
  console.log('no payment for this borrower');
499
499
  return;
@@ -173,7 +173,7 @@ export declare class LoanStatementService {
173
173
  }>;
174
174
  private getOutstandingStatements;
175
175
  getOutstandingStatementsExcel(borrowerIds: string[], selectedDate: Date, fullMonth: boolean): Promise<any>;
176
- getBorrowerProductTotals(borrowerId: string): Promise<{
176
+ getBorrowerProductTotals(borrowerId: string, forDate: Date): Promise<{
177
177
  productTotals: {
178
178
  [productId: string]: number;
179
179
  };
@@ -889,8 +889,8 @@ class LoanStatementService {
889
889
  });
890
890
  return await this.uploadsService.convertDataToFile([{ data: [...header, ...onlyData] }]);
891
891
  }
892
- async getBorrowerProductTotals(borrowerId) {
893
- return await this.getBorrowerComplianceData(borrowerId, new Date());
892
+ async getBorrowerProductTotals(borrowerId, forDate) {
893
+ return await this.getBorrowerComplianceData(borrowerId, forDate);
894
894
  }
895
895
  async getProductsTotals(productIds) {
896
896
  const totals = {};
@@ -992,8 +992,8 @@ export class LoanStatementService {
992
992
  return await this.uploadsService.convertDataToFile([{ data: [...header, ...onlyData] }]);
993
993
  }
994
994
 
995
- async getBorrowerProductTotals(borrowerId: string) {
996
- return await this.getBorrowerComplianceData(borrowerId, new Date());
995
+ async getBorrowerProductTotals(borrowerId: string, forDate: Date) {
996
+ return await this.getBorrowerComplianceData(borrowerId, forDate);
997
997
  }
998
998
 
999
999
  async getProductsTotals(productIds: string[]) {