gemcap-be-common 1.2.59 → 1.2.61

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.
Files changed (44) hide show
  1. package/db/brokers.db.d.ts +5 -0
  2. package/db/brokers.db.js +62 -0
  3. package/db/brokers.db.ts +60 -0
  4. package/db/loan-charges.db.d.ts +2 -0
  5. package/db/loan-charges.db.js +26 -0
  6. package/db/loan-charges.db.ts +21 -0
  7. package/db/loan-payments.db.d.ts +2 -0
  8. package/db/loan-payments.db.js +23 -0
  9. package/db/loan-payments.db.ts +18 -0
  10. package/db/loan-products.db.d.ts +3 -0
  11. package/db/loan-products.db.js +22 -1
  12. package/db/loan-products.db.ts +23 -1
  13. package/db/loan-statement.db.d.ts +44 -0
  14. package/db/loan-statement.db.js +186 -1
  15. package/db/loan-statement.db.ts +203 -5
  16. package/db/loan-transactions.db.d.ts +2 -0
  17. package/db/loan-transactions.db.js +39 -0
  18. package/db/loan-transactions.db.ts +33 -0
  19. package/db/reports.db.d.ts +56 -0
  20. package/db/reports.db.js +295 -0
  21. package/db/reports.db.ts +354 -0
  22. package/enums/microservice-task.enum.d.ts +2 -1
  23. package/enums/microservice-task.enum.js +1 -0
  24. package/enums/microservice-task.enum.ts +1 -0
  25. package/models/Borrower.model.d.ts +46 -0
  26. package/models/Borrower.model.js +75 -0
  27. package/models/Borrower.model.ts +103 -0
  28. package/models/LoanPayment.model.d.ts +66 -0
  29. package/models/LoanPayment.model.js +62 -0
  30. package/models/LoanPayment.model.ts +97 -0
  31. package/models/TermLoan.model.d.ts +53 -0
  32. package/models/TermLoan.model.js +74 -0
  33. package/models/TermLoan.model.ts +97 -0
  34. package/models/TermLoanCalculated.model.d.ts +54 -0
  35. package/models/TermLoanCalculated.model.js +98 -0
  36. package/models/TermLoanCalculated.model.ts +128 -0
  37. package/models/TermLoanSettings.model.d.ts +38 -0
  38. package/models/TermLoanSettings.model.js +39 -0
  39. package/models/TermLoanSettings.model.ts +53 -0
  40. package/models/_models.d.ts +3 -0
  41. package/models/_models.js +3 -0
  42. package/models/_models.ts +3 -0
  43. package/package.json +1 -1
  44. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LoanPaymentModel = exports.LOAN_PAYMENT_FIELDS = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ exports.LOAN_PAYMENT_FIELDS = [
9
+ '_id',
10
+ 'date',
11
+ 'productId',
12
+ 'amount',
13
+ 'paid',
14
+ 'settlementCode',
15
+ 'paymentOrder',
16
+ ];
17
+ const LoanPaymentSchema = new mongoose_1.default.Schema({
18
+ date: {
19
+ type: Date,
20
+ required: true,
21
+ },
22
+ productId: {
23
+ type: mongoose_1.default.Schema.Types.ObjectId,
24
+ ref: 'loan_products',
25
+ required: true,
26
+ },
27
+ amount: {
28
+ type: Number,
29
+ required: true,
30
+ },
31
+ paid: [
32
+ {
33
+ statementId: {
34
+ type: mongoose_1.default.Schema.Types.ObjectId,
35
+ ref: 'loan_statements',
36
+ },
37
+ amount: {
38
+ type: Number,
39
+ },
40
+ },
41
+ ],
42
+ loanTransactions: [
43
+ {
44
+ transactionId: {
45
+ type: mongoose_1.default.Schema.Types.ObjectId,
46
+ ref: 'loan_transactions',
47
+ },
48
+ amount: {
49
+ type: Number,
50
+ },
51
+ },
52
+ ],
53
+ settlementCode: {
54
+ type: String,
55
+ trim: true,
56
+ },
57
+ paymentOrder: [{
58
+ type: String,
59
+ }],
60
+ __v: { type: Number, select: false },
61
+ }, { timestamps: true });
62
+ exports.LoanPaymentModel = mongoose_1.default.model('loan_payments', LoanPaymentSchema);
@@ -0,0 +1,97 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+
3
+ export const LOAN_PAYMENT_FIELDS = [
4
+ '_id',
5
+ 'date',
6
+ 'productId',
7
+ 'amount',
8
+ 'paid',
9
+ 'settlementCode',
10
+ 'paymentOrder',
11
+ ];
12
+
13
+ export interface ICombinedPayment {
14
+ borrowerId: string;
15
+ date: Date;
16
+ payment: number;
17
+ addToRevolver: boolean;
18
+ products: {
19
+ productId: string;
20
+ payableSum: number;
21
+ settlementCode: string;
22
+ paymentOrder: string[];
23
+ }[];
24
+ linkedProducts: {
25
+ productId: string;
26
+ payableSum: number;
27
+ settlementCode: string;
28
+ }[];
29
+ }
30
+
31
+ export interface ILoanPayment {
32
+ date: Date;
33
+ productId: mongoose.Types.ObjectId;
34
+ amount: number;
35
+ paid: { _id?: mongoose.Types.ObjectId, statementId: mongoose.Types.ObjectId, amount: number }[];
36
+ loanTransactions: { _id?: mongoose.Types.ObjectId, transactionId: mongoose.Types.ObjectId, amount: number }[];
37
+ settlementCode?: string;
38
+ paymentOrder?: string[];
39
+ }
40
+
41
+ export interface ILoanPaymentWithId extends ILoanPayment {
42
+ _id: mongoose.Types.ObjectId;
43
+ }
44
+
45
+ export interface ILoanPaymentDoc extends ILoanPayment, Document {
46
+ }
47
+
48
+ const LoanPaymentSchema = new mongoose.Schema(
49
+ {
50
+ date: {
51
+ type: Date,
52
+ required: true,
53
+ },
54
+ productId: {
55
+ type: mongoose.Schema.Types.ObjectId,
56
+ ref: 'loan_products',
57
+ required: true,
58
+ },
59
+ amount: {
60
+ type: Number,
61
+ required: true,
62
+ },
63
+ paid: [
64
+ {
65
+ statementId: {
66
+ type: mongoose.Schema.Types.ObjectId,
67
+ ref: 'loan_statements',
68
+ },
69
+ amount: {
70
+ type: Number,
71
+ },
72
+ },
73
+ ],
74
+ loanTransactions: [
75
+ {
76
+ transactionId: {
77
+ type: mongoose.Schema.Types.ObjectId,
78
+ ref: 'loan_transactions',
79
+ },
80
+ amount: {
81
+ type: Number,
82
+ },
83
+ },
84
+ ],
85
+ settlementCode: {
86
+ type: String,
87
+ trim: true,
88
+ },
89
+ paymentOrder: [{
90
+ type: String,
91
+ }],
92
+ __v: { type: Number, select: false },
93
+ },
94
+ { timestamps: true },
95
+ );
96
+
97
+ export const LoanPaymentModel: mongoose.Model<ILoanPaymentDoc> = mongoose.model<ILoanPaymentDoc>('loan_payments', LoanPaymentSchema);
@@ -0,0 +1,53 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
25
+ import mongoose, { Document } from 'mongoose';
26
+ import { ITermLoanSettingsOnly } from './TermLoanSettings.model';
27
+ export declare enum ETermLoanStatus {
28
+ NEW = "NEW",
29
+ CALCULATED = "CALCULATED",
30
+ CALCULATING = "CALCULATING",
31
+ ERROR = "ERROR",
32
+ EXPECTED = "EXPECTED"
33
+ }
34
+ export declare const TERM_LOAN_FIELDS: string[];
35
+ export interface ITermLoan {
36
+ productId: mongoose.Types.ObjectId;
37
+ loanStartDate: Date;
38
+ initialBalance: number;
39
+ interestRate: number;
40
+ adminRate: number;
41
+ primeRate: number;
42
+ actual: boolean;
43
+ isMismatched: boolean;
44
+ lastCalculated: Date;
45
+ calculationStatus: ETermLoanStatus;
46
+ }
47
+ export interface ITermLoanView extends ITermLoan {
48
+ _id: mongoose.Types.ObjectId;
49
+ settings: ITermLoanSettingsOnly;
50
+ }
51
+ export interface ITermLoanDoc extends ITermLoan, Document {
52
+ }
53
+ export declare const TermLoanModel: mongoose.Model<ITermLoanDoc>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TermLoanModel = exports.TERM_LOAN_FIELDS = exports.ETermLoanStatus = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ var ETermLoanStatus;
10
+ (function (ETermLoanStatus) {
11
+ ETermLoanStatus["NEW"] = "NEW";
12
+ ETermLoanStatus["CALCULATED"] = "CALCULATED";
13
+ ETermLoanStatus["CALCULATING"] = "CALCULATING";
14
+ ETermLoanStatus["ERROR"] = "ERROR";
15
+ ETermLoanStatus["EXPECTED"] = "EXPECTED";
16
+ })(ETermLoanStatus || (exports.ETermLoanStatus = ETermLoanStatus = {}));
17
+ exports.TERM_LOAN_FIELDS = [
18
+ '_id',
19
+ 'productId',
20
+ 'loanStartDate',
21
+ 'initialBalance',
22
+ 'interestRate',
23
+ 'adminRate',
24
+ 'primeRate',
25
+ 'actual',
26
+ 'isMismatched',
27
+ 'lastCalculated',
28
+ 'calculationStatus',
29
+ ];
30
+ const TermLoanSchema = new mongoose_1.default.Schema({
31
+ productId: {
32
+ type: mongoose_1.default.Types.ObjectId,
33
+ ref: 'loan_products',
34
+ required: true,
35
+ },
36
+ loanStartDate: {
37
+ type: Date,
38
+ required: true,
39
+ },
40
+ initialBalance: {
41
+ type: Number,
42
+ required: true,
43
+ },
44
+ interestRate: {
45
+ type: Number,
46
+ required: true,
47
+ },
48
+ adminRate: {
49
+ type: Number,
50
+ required: true,
51
+ },
52
+ primeRate: {
53
+ type: Number,
54
+ required: true,
55
+ },
56
+ actual: {
57
+ type: Boolean,
58
+ required: true,
59
+ },
60
+ isMismatched: {
61
+ type: Boolean,
62
+ required: true,
63
+ },
64
+ lastCalculated: {
65
+ type: Date,
66
+ required: true,
67
+ },
68
+ calculationStatus: {
69
+ type: String,
70
+ required: true,
71
+ },
72
+ __v: { type: Number, select: false },
73
+ }, { timestamps: true });
74
+ exports.TermLoanModel = mongoose_1.default.model(_models_1.MODEL_NAMES.termLoan, TermLoanSchema);
@@ -0,0 +1,97 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+
3
+ import { MODEL_NAMES } from './_models';
4
+ import { ITermLoanSettingsOnly } from './TermLoanSettings.model';
5
+
6
+ export enum ETermLoanStatus {
7
+ NEW = 'NEW',
8
+ CALCULATED = 'CALCULATED',
9
+ CALCULATING = 'CALCULATING',
10
+ ERROR = 'ERROR',
11
+ EXPECTED = 'EXPECTED',
12
+ }
13
+
14
+ export const TERM_LOAN_FIELDS = [
15
+ '_id',
16
+ 'productId',
17
+ 'loanStartDate',
18
+ 'initialBalance',
19
+ 'interestRate',
20
+ 'adminRate',
21
+ 'primeRate',
22
+ 'actual',
23
+ 'isMismatched',
24
+ 'lastCalculated',
25
+ 'calculationStatus',
26
+ ];
27
+
28
+ export interface ITermLoan {
29
+ productId: mongoose.Types.ObjectId;
30
+ loanStartDate: Date;
31
+ initialBalance: number;
32
+ interestRate: number;
33
+ adminRate: number;
34
+ primeRate: number;
35
+ actual: boolean;
36
+ isMismatched: boolean;
37
+ lastCalculated: Date;
38
+ calculationStatus: ETermLoanStatus;
39
+ }
40
+
41
+ export interface ITermLoanView extends ITermLoan {
42
+ _id: mongoose.Types.ObjectId;
43
+ settings: ITermLoanSettingsOnly;
44
+ }
45
+
46
+ export interface ITermLoanDoc extends ITermLoan, Document {
47
+ }
48
+
49
+ const TermLoanSchema = new mongoose.Schema(
50
+ {
51
+ productId: {
52
+ type: mongoose.Types.ObjectId,
53
+ ref: 'loan_products',
54
+ required: true,
55
+ },
56
+ loanStartDate: {
57
+ type: Date,
58
+ required: true,
59
+ },
60
+ initialBalance: {
61
+ type: Number,
62
+ required: true,
63
+ },
64
+ interestRate: {
65
+ type: Number,
66
+ required: true,
67
+ },
68
+ adminRate: {
69
+ type: Number,
70
+ required: true,
71
+ },
72
+ primeRate: {
73
+ type: Number,
74
+ required: true,
75
+ },
76
+ actual: {
77
+ type: Boolean,
78
+ required: true,
79
+ },
80
+ isMismatched: {
81
+ type: Boolean,
82
+ required: true,
83
+ },
84
+ lastCalculated: {
85
+ type: Date,
86
+ required: true,
87
+ },
88
+ calculationStatus: {
89
+ type: String,
90
+ required: true,
91
+ },
92
+ __v: { type: Number, select: false },
93
+ },
94
+ { timestamps: true },
95
+ );
96
+
97
+ export const TermLoanModel: mongoose.Model<ITermLoanDoc> = mongoose.model<ITermLoanDoc>(MODEL_NAMES.termLoan, TermLoanSchema);
@@ -0,0 +1,54 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
25
+ import mongoose, { Document } from 'mongoose';
26
+ export interface ITermCalculatedDaily {
27
+ day: string;
28
+ interestRate: number;
29
+ interest: number;
30
+ paymentDate: boolean;
31
+ }
32
+ export interface ITermLoanCalculated {
33
+ termLoanId: mongoose.Types.ObjectId;
34
+ relevantStatement: string;
35
+ openingBalance: number;
36
+ monthlyInterest: number;
37
+ monthlyPrincipal: number;
38
+ closingBalance: number;
39
+ adminFee: number;
40
+ interestRate: number;
41
+ interestDaily: number;
42
+ gracePeriod: boolean;
43
+ amortization: boolean;
44
+ paymentDueDate: Date;
45
+ payments: {
46
+ amount: number;
47
+ paymentId: mongoose.Types.ObjectId;
48
+ }[];
49
+ disbursements: number;
50
+ dailyResults: ITermCalculatedDaily[];
51
+ }
52
+ export interface ITermLoanCalculatedDoc extends ITermLoanCalculated, Document {
53
+ }
54
+ export declare const TermLoanCalculatedModel: mongoose.Model<ITermLoanCalculatedDoc>;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TermLoanCalculatedModel = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const _models_1 = require("./_models");
9
+ const TermLoanCalculatedSchema = new mongoose_1.default.Schema({
10
+ termLoanId: {
11
+ type: mongoose_1.default.Types.ObjectId,
12
+ ref: 'term_loan',
13
+ required: true,
14
+ },
15
+ relevantStatement: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ openingBalance: {
20
+ type: Number,
21
+ required: true,
22
+ },
23
+ monthlyInterest: {
24
+ type: Number,
25
+ required: true,
26
+ },
27
+ monthlyPrincipal: {
28
+ type: Number,
29
+ required: true,
30
+ },
31
+ closingBalance: {
32
+ type: Number,
33
+ required: true,
34
+ },
35
+ adminFee: {
36
+ type: Number,
37
+ required: true,
38
+ },
39
+ interestRate: {
40
+ type: Number,
41
+ required: true,
42
+ },
43
+ interestDaily: {
44
+ type: Number,
45
+ required: true,
46
+ },
47
+ gracePeriod: {
48
+ type: Boolean,
49
+ required: true,
50
+ },
51
+ amortization: {
52
+ type: Boolean,
53
+ required: true,
54
+ },
55
+ paymentDueDate: {
56
+ type: Date,
57
+ required: false,
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
+ },
64
+ amount: {
65
+ type: Number,
66
+ required: true,
67
+ },
68
+ paymentId: {
69
+ type: mongoose_1.default.Types.ObjectId,
70
+ ref: 'loan_transactions',
71
+ required: true,
72
+ },
73
+ }],
74
+ disbursements: {
75
+ type: Number,
76
+ required: true,
77
+ },
78
+ dailyResults: [{
79
+ day: {
80
+ type: String,
81
+ required: true,
82
+ },
83
+ interestRate: {
84
+ type: Number,
85
+ required: true,
86
+ },
87
+ interest: {
88
+ type: Number,
89
+ required: true,
90
+ },
91
+ paymentDate: {
92
+ type: Boolean,
93
+ required: true,
94
+ },
95
+ }],
96
+ __v: { type: Number, select: false },
97
+ }, { timestamps: true });
98
+ exports.TermLoanCalculatedModel = mongoose_1.default.model(_models_1.MODEL_NAMES.termLoanCalculated, TermLoanCalculatedSchema);
@@ -0,0 +1,128 @@
1
+ import mongoose, { Document } from 'mongoose';
2
+ import { MODEL_NAMES } from './_models';
3
+
4
+ export interface ITermCalculatedDaily {
5
+ day: string;
6
+ interestRate: number;
7
+ interest: number;
8
+ paymentDate: boolean;
9
+ }
10
+
11
+ export interface ITermLoanCalculated {
12
+ termLoanId: mongoose.Types.ObjectId;
13
+ relevantStatement: string;
14
+ openingBalance: number;
15
+ monthlyInterest: number;
16
+ monthlyPrincipal: number;
17
+ closingBalance: number;
18
+ adminFee: number;
19
+ interestRate: number;
20
+ interestDaily: number;
21
+ gracePeriod: boolean;
22
+ amortization: boolean;
23
+ paymentDueDate: Date;
24
+ payments: {
25
+ amount: number;
26
+ paymentId: mongoose.Types.ObjectId;
27
+ }[];
28
+ disbursements: number;
29
+ dailyResults: ITermCalculatedDaily[];
30
+ }
31
+
32
+ export interface ITermLoanCalculatedDoc extends ITermLoanCalculated, Document {
33
+ }
34
+
35
+ const TermLoanCalculatedSchema = new mongoose.Schema(
36
+ {
37
+ termLoanId: {
38
+ type: mongoose.Types.ObjectId,
39
+ ref: 'term_loan',
40
+ required: true,
41
+ },
42
+ relevantStatement: {
43
+ type: String,
44
+ required: true,
45
+ },
46
+ openingBalance: {
47
+ type: Number,
48
+ required: true,
49
+ },
50
+ monthlyInterest: {
51
+ type: Number,
52
+ required: true,
53
+ },
54
+ monthlyPrincipal: {
55
+ type: Number,
56
+ required: true,
57
+ },
58
+ closingBalance: {
59
+ type: Number,
60
+ required: true,
61
+ },
62
+ adminFee: {
63
+ type: Number,
64
+ required: true,
65
+ },
66
+ interestRate: {
67
+ type: Number,
68
+ required: true,
69
+ },
70
+ interestDaily: {
71
+ type: Number,
72
+ required: true,
73
+ },
74
+ gracePeriod: {
75
+ type: Boolean,
76
+ required: true,
77
+ },
78
+ amortization: {
79
+ type: Boolean,
80
+ required: true,
81
+ },
82
+ paymentDueDate: {
83
+ type: Date,
84
+ required: false,
85
+ },
86
+ payments: [{
87
+ type: mongoose.Schema.Types.Mixed,
88
+ required: function() {
89
+ return this.payment && this.payment.amount && this.payment.paymentId;
90
+ },
91
+ amount: {
92
+ type: Number,
93
+ required: true,
94
+ },
95
+ paymentId: {
96
+ type: mongoose.Types.ObjectId,
97
+ ref: 'loan_transactions',
98
+ required: true,
99
+ },
100
+ }],
101
+ disbursements: {
102
+ type: Number,
103
+ required: true,
104
+ },
105
+ dailyResults: [{
106
+ day: {
107
+ type: String,
108
+ required: true,
109
+ },
110
+ interestRate: {
111
+ type: Number,
112
+ required: true,
113
+ },
114
+ interest: {
115
+ type: Number,
116
+ required: true,
117
+ },
118
+ paymentDate: {
119
+ type: Boolean,
120
+ required: true,
121
+ },
122
+ }],
123
+ __v: { type: Number, select: false },
124
+ },
125
+ { timestamps: true },
126
+ );
127
+
128
+ export const TermLoanCalculatedModel: mongoose.Model<ITermLoanCalculatedDoc> = mongoose.model<ITermLoanCalculatedDoc>(MODEL_NAMES.termLoanCalculated, TermLoanCalculatedSchema);