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.
- package/models/TermLoanCalculated.model.d.ts +18 -9
- package/models/TermLoanCalculated.model.js +4 -6
- package/models/TermLoanCalculated.model.ts +12 -14
- package/models/_index.d.ts +3 -3
- package/package.json +1 -1
- package/services/compliance-borrowers.service.d.ts +1 -1
- package/services/loan-payments.service.d.ts +1 -1
- package/services/loan-payments.service.js +3 -3
- package/services/loan-payments.service.ts +3 -3
- package/services/loan-statement.service.d.ts +1 -1
- package/services/loan-statement.service.js +2 -2
- package/services/loan-statement.service.ts +2 -2
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -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
|
-
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
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,
|
package/models/_index.d.ts
CHANGED
|
@@ -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
|
@@ -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, "
|
|
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,
|
|
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,
|
|
995
|
+
async getBorrowerProductTotals(borrowerId: string, forDate: Date) {
|
|
996
|
+
return await this.getBorrowerComplianceData(borrowerId, forDate);
|
|
997
997
|
}
|
|
998
998
|
|
|
999
999
|
async getProductsTotals(productIds: string[]) {
|