@dynamatix/gb-schemas 1.2.147 → 1.2.148
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/dist/applicants/applicant-commitment-creditCard.model.d.ts +3 -17
- package/dist/applicants/applicant-commitment-creditCard.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-creditCard.model.js +10 -23
- package/dist/applicants/applicant-commitment-loan.model.d.ts +3 -23
- package/dist/applicants/applicant-commitment-loan.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-loan.model.js +12 -33
- package/dist/applicants/applicant-commitment-mortgage.model.d.ts +303 -77
- package/dist/applicants/applicant-commitment-mortgage.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-mortgage.model.js +23 -51
- package/dist/applicants/applicant-commitment-residence.model.d.ts +9 -9
- package/dist/applicants/applicant-commitment-residence.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-residence.model.js +5 -8
- package/dist/applicants/applicant-commitment-secureLoan.model.d.ts +6 -30
- package/dist/applicants/applicant-commitment-secureLoan.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-secureLoan.model.js +10 -24
- package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts +6 -36
- package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-unsecuredLoan.model.js +9 -24
- package/dist/applicants/applicant-employment.model.d.ts +24 -1231
- package/dist/applicants/applicant-employment.model.d.ts.map +1 -1
- package/dist/applicants/applicant-employment.model.js +12 -3
- package/dist/applicants/applicant-expenditure.model.d.ts +50 -79
- package/dist/applicants/applicant-expenditure.model.d.ts.map +1 -1
- package/dist/applicants/applicant-expenditure.model.js +18 -57
- package/dist/applicants/applicant-income-source.model.d.ts +26 -0
- package/dist/applicants/applicant-income-source.model.d.ts.map +1 -0
- package/dist/applicants/applicant-income-source.model.js +9 -0
- package/dist/applicants/applicant-income.model.d.ts +30 -2068
- package/dist/applicants/applicant-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-income.model.js +12 -35
- package/dist/applicants/applicant-other-income.model.d.ts +85 -0
- package/dist/applicants/applicant-other-income.model.d.ts.map +1 -0
- package/dist/applicants/applicant-other-income.model.js +46 -0
- package/dist/applicants/applicant-property-income.model.d.ts +13 -871
- package/dist/applicants/applicant-property-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-property-income.model.js +5 -12
- package/dist/applicants/applicant.model.d.ts +8762 -101
- package/dist/applicants/applicant.model.d.ts.map +1 -1
- package/dist/applicants/applicant.model.js +22 -20
- package/dist/applicants/index.d.ts +2 -13
- package/dist/applicants/index.d.ts.map +1 -1
- package/dist/applicants/index.js +2 -13
- package/dist/applications/application-mortgage.model.d.ts +144 -1116
- package/dist/applications/application-mortgage.model.d.ts.map +1 -1
- package/dist/applications/application-mortgage.model.js +5 -22
- package/dist/applications/application.model.d.ts +726 -0
- package/dist/applications/application.model.d.ts.map +1 -1
- package/dist/applications/application.model.js +2 -0
- package/dist/applications/index.d.ts +1 -1
- package/dist/applications/index.d.ts.map +1 -1
- package/dist/applications/index.js +1 -1
- package/dist/applications/productfeatures.model.d.ts +368 -0
- package/dist/applications/productfeatures.model.d.ts.map +1 -0
- package/dist/applications/{application-productfeatures.model.js → productfeatures.model.js} +1 -3
- package/dist/value-objects/sort-code.d.ts.map +1 -1
- package/dist/value-objects/sort-code.js +13 -4
- package/package.json +2 -2
- package/dist/applicants/applicant-additional-income.model.d.ts +0 -194
- package/dist/applicants/applicant-additional-income.model.d.ts.map +0 -1
- package/dist/applicants/applicant-additional-income.model.js +0 -14
- package/dist/applicants/applicant-employment-income.model.d.ts +0 -175
- package/dist/applicants/applicant-employment-income.model.d.ts.map +0 -1
- package/dist/applicants/applicant-employment-income.model.js +0 -14
- package/dist/applicants/applicant-income-settings.model.d.ts +0 -54
- package/dist/applicants/applicant-income-settings.model.d.ts.map +0 -1
- package/dist/applicants/applicant-income-settings.model.js +0 -16
- package/dist/applicants/applicant-pension-income.model.d.ts +0 -457
- package/dist/applicants/applicant-pension-income.model.d.ts.map +0 -1
- package/dist/applicants/applicant-pension-income.model.js +0 -30
- package/dist/applicants/applicant-self-employed-income.model.d.ts +0 -182
- package/dist/applicants/applicant-self-employed-income.model.d.ts.map +0 -1
- package/dist/applicants/applicant-self-employed-income.model.js +0 -17
- package/dist/applicants/applicant-sole-trader-income.model.d.ts +0 -182
- package/dist/applicants/applicant-sole-trader-income.model.d.ts.map +0 -1
- package/dist/applicants/applicant-sole-trader-income.model.js +0 -17
- package/dist/applicants/applicant-uk-tax-credits.model.d.ts +0 -463
- package/dist/applicants/applicant-uk-tax-credits.model.d.ts.map +0 -1
- package/dist/applicants/applicant-uk-tax-credits.model.js +0 -16
- package/dist/applications/application-productfeatures.model.d.ts +0 -738
- package/dist/applications/application-productfeatures.model.d.ts.map +0 -1
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import mongoose from "mongoose";
|
|
2
2
|
import { Pound } from "../value-objects/pound";
|
|
3
3
|
declare const CreditCardCommitmentModel: mongoose.Model<{
|
|
4
|
-
isSelected?: unknown;
|
|
5
|
-
source?: unknown;
|
|
6
4
|
applicantId?: mongoose.Types.ObjectId | null | undefined;
|
|
7
5
|
outstandingBalance?: {
|
|
8
6
|
validators: mongoose.Types.DocumentArray<{
|
|
@@ -151,8 +149,6 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
|
|
|
151
149
|
} | null | undefined;
|
|
152
150
|
jointNames?: unknown;
|
|
153
151
|
}, {}, {}, {}, mongoose.Document<unknown, {}, {
|
|
154
|
-
isSelected?: unknown;
|
|
155
|
-
source?: unknown;
|
|
156
152
|
applicantId?: mongoose.Types.ObjectId | null | undefined;
|
|
157
153
|
outstandingBalance?: {
|
|
158
154
|
validators: mongoose.Types.DocumentArray<{
|
|
@@ -301,8 +297,6 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
|
|
|
301
297
|
} | null | undefined;
|
|
302
298
|
jointNames?: unknown;
|
|
303
299
|
}> & {
|
|
304
|
-
isSelected?: unknown;
|
|
305
|
-
source?: unknown;
|
|
306
300
|
applicantId?: mongoose.Types.ObjectId | null | undefined;
|
|
307
301
|
outstandingBalance?: {
|
|
308
302
|
validators: mongoose.Types.DocumentArray<{
|
|
@@ -457,15 +451,11 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
|
|
|
457
451
|
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
458
452
|
toJSON: {
|
|
459
453
|
getters: true;
|
|
460
|
-
virtuals: true;
|
|
461
454
|
};
|
|
462
455
|
toObject: {
|
|
463
456
|
getters: true;
|
|
464
|
-
virtuals: true;
|
|
465
457
|
};
|
|
466
458
|
}, {
|
|
467
|
-
isSelected: boolean;
|
|
468
|
-
source: "Broker" | "Credit Report" | "Underwriter";
|
|
469
459
|
applicantId: mongoose.Types.ObjectId;
|
|
470
460
|
outstandingBalance: Pound;
|
|
471
461
|
commitmentId: string;
|
|
@@ -474,10 +464,8 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
|
|
|
474
464
|
creditLimit: Pound;
|
|
475
465
|
creditCardRepaymentTypeLid: mongoose.Types.ObjectId;
|
|
476
466
|
monthlyPayment: Pound;
|
|
477
|
-
jointNames
|
|
467
|
+
jointNames: boolean;
|
|
478
468
|
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
479
|
-
isSelected: boolean;
|
|
480
|
-
source: "Broker" | "Credit Report" | "Underwriter";
|
|
481
469
|
applicantId: mongoose.Types.ObjectId;
|
|
482
470
|
outstandingBalance: Pound;
|
|
483
471
|
commitmentId: string;
|
|
@@ -486,10 +474,8 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
|
|
|
486
474
|
creditLimit: Pound;
|
|
487
475
|
creditCardRepaymentTypeLid: mongoose.Types.ObjectId;
|
|
488
476
|
monthlyPayment: Pound;
|
|
489
|
-
jointNames
|
|
477
|
+
jointNames: boolean;
|
|
490
478
|
}>> & mongoose.FlatRecord<{
|
|
491
|
-
isSelected: boolean;
|
|
492
|
-
source: "Broker" | "Credit Report" | "Underwriter";
|
|
493
479
|
applicantId: mongoose.Types.ObjectId;
|
|
494
480
|
outstandingBalance: Pound;
|
|
495
481
|
commitmentId: string;
|
|
@@ -498,7 +484,7 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
|
|
|
498
484
|
creditLimit: Pound;
|
|
499
485
|
creditCardRepaymentTypeLid: mongoose.Types.ObjectId;
|
|
500
486
|
monthlyPayment: Pound;
|
|
501
|
-
jointNames
|
|
487
|
+
jointNames: boolean;
|
|
502
488
|
}> & {
|
|
503
489
|
_id: mongoose.Types.ObjectId;
|
|
504
490
|
} & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicant-commitment-creditCard.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-creditCard.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"applicant-commitment-creditCard.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-creditCard.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAoB/C,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAqE,CAAC;AACrG,eAAe,yBAAyB,CAAC"}
|
|
@@ -2,33 +2,20 @@ import mongoose from "mongoose";
|
|
|
2
2
|
import { Pound } from "../value-objects/pound";
|
|
3
3
|
const creditCardCommitmentSchema = new mongoose.Schema({
|
|
4
4
|
applicantId: { type: mongoose.Schema.Types.ObjectId, ref: "Applicant", required: true },
|
|
5
|
-
commitmentId: { type: String,
|
|
5
|
+
commitmentId: { type: String, required: true },
|
|
6
6
|
commitmentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
|
|
7
|
-
lenderName: { type: String, required: true },
|
|
7
|
+
lenderName: { type: String, required: true },
|
|
8
8
|
creditLimit: { type: Pound, required: true },
|
|
9
|
-
outstandingBalance: { type: Pound, required: true },
|
|
10
|
-
creditCardRepaymentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup",
|
|
11
|
-
monthlyPayment: { type: Pound, required: true },
|
|
9
|
+
outstandingBalance: { type: Pound, required: true },
|
|
10
|
+
creditCardRepaymentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", required: true },
|
|
11
|
+
monthlyPayment: { type: Pound, required: true },
|
|
12
12
|
jointNames: {
|
|
13
|
-
type: Boolean
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
type: String,
|
|
17
|
-
enum: ["Broker", "Credit Report", "Underwriter"],
|
|
18
|
-
default: "Broker"
|
|
19
|
-
},
|
|
20
|
-
isSelected: { type: Boolean, default: true }, // mark as selected for summary calculation
|
|
13
|
+
type: Boolean,
|
|
14
|
+
required: true
|
|
15
|
+
}
|
|
21
16
|
}, {
|
|
22
|
-
toJSON: { getters: true
|
|
23
|
-
toObject: { getters: true
|
|
24
|
-
});
|
|
25
|
-
// virtual field: ApplicationId (applicantId -> applicationId)
|
|
26
|
-
creditCardCommitmentSchema.virtual('ApplicationId', {
|
|
27
|
-
ref: 'Applicant',
|
|
28
|
-
localField: 'applicantId',
|
|
29
|
-
foreignField: '_id',
|
|
30
|
-
justOne: true,
|
|
31
|
-
options: { select: 'applicationId' }
|
|
17
|
+
toJSON: { getters: true },
|
|
18
|
+
toObject: { getters: true }
|
|
32
19
|
});
|
|
33
20
|
const CreditCardCommitmentModel = mongoose.model("CreditCardCommitment", creditCardCommitmentSchema);
|
|
34
21
|
export default CreditCardCommitmentModel;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import mongoose from "mongoose";
|
|
2
2
|
import { Pound } from "../value-objects/pound";
|
|
3
3
|
declare const LoanCommitmentModel: mongoose.Model<{
|
|
4
|
-
isSelected?: unknown;
|
|
5
|
-
source?: unknown;
|
|
6
4
|
applicantId?: mongoose.Types.ObjectId | null | undefined;
|
|
7
5
|
outstandingBalance?: {
|
|
8
6
|
validators: mongoose.Types.DocumentArray<{
|
|
@@ -108,10 +106,7 @@ declare const LoanCommitmentModel: mongoose.Model<{
|
|
|
108
106
|
sharedMortgage?: unknown;
|
|
109
107
|
remainingTerm?: unknown;
|
|
110
108
|
startDate?: unknown;
|
|
111
|
-
loanRationale?: unknown;
|
|
112
109
|
}, {}, {}, {}, mongoose.Document<unknown, {}, {
|
|
113
|
-
isSelected?: unknown;
|
|
114
|
-
source?: unknown;
|
|
115
110
|
applicantId?: mongoose.Types.ObjectId | null | undefined;
|
|
116
111
|
outstandingBalance?: {
|
|
117
112
|
validators: mongoose.Types.DocumentArray<{
|
|
@@ -217,10 +212,7 @@ declare const LoanCommitmentModel: mongoose.Model<{
|
|
|
217
212
|
sharedMortgage?: unknown;
|
|
218
213
|
remainingTerm?: unknown;
|
|
219
214
|
startDate?: unknown;
|
|
220
|
-
loanRationale?: unknown;
|
|
221
215
|
}> & {
|
|
222
|
-
isSelected?: unknown;
|
|
223
|
-
source?: unknown;
|
|
224
216
|
applicantId?: mongoose.Types.ObjectId | null | undefined;
|
|
225
217
|
outstandingBalance?: {
|
|
226
218
|
validators: mongoose.Types.DocumentArray<{
|
|
@@ -326,7 +318,6 @@ declare const LoanCommitmentModel: mongoose.Model<{
|
|
|
326
318
|
sharedMortgage?: unknown;
|
|
327
319
|
remainingTerm?: unknown;
|
|
328
320
|
startDate?: unknown;
|
|
329
|
-
loanRationale?: unknown;
|
|
330
321
|
} & {
|
|
331
322
|
_id: mongoose.Types.ObjectId;
|
|
332
323
|
} & {
|
|
@@ -334,15 +325,11 @@ declare const LoanCommitmentModel: mongoose.Model<{
|
|
|
334
325
|
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
335
326
|
toJSON: {
|
|
336
327
|
getters: true;
|
|
337
|
-
virtuals: true;
|
|
338
328
|
};
|
|
339
329
|
toObject: {
|
|
340
330
|
getters: true;
|
|
341
|
-
virtuals: true;
|
|
342
331
|
};
|
|
343
332
|
}, {
|
|
344
|
-
isSelected: boolean;
|
|
345
|
-
source: "Broker" | "Credit Report" | "Underwriter";
|
|
346
333
|
applicantId: mongoose.Types.ObjectId;
|
|
347
334
|
outstandingBalance: Pound;
|
|
348
335
|
commitmentId: string;
|
|
@@ -352,14 +339,11 @@ declare const LoanCommitmentModel: mongoose.Model<{
|
|
|
352
339
|
loanTypeLid: mongoose.Types.ObjectId;
|
|
353
340
|
securityDetails: string;
|
|
354
341
|
purpose: string;
|
|
342
|
+
doHaveSharedResponsibility: boolean;
|
|
355
343
|
sharedMortgage: string;
|
|
356
344
|
remainingTerm: string;
|
|
357
345
|
startDate: string;
|
|
358
|
-
loanRationale: string;
|
|
359
|
-
doHaveSharedResponsibility?: boolean | null | undefined;
|
|
360
346
|
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
361
|
-
isSelected: boolean;
|
|
362
|
-
source: "Broker" | "Credit Report" | "Underwriter";
|
|
363
347
|
applicantId: mongoose.Types.ObjectId;
|
|
364
348
|
outstandingBalance: Pound;
|
|
365
349
|
commitmentId: string;
|
|
@@ -369,14 +353,11 @@ declare const LoanCommitmentModel: mongoose.Model<{
|
|
|
369
353
|
loanTypeLid: mongoose.Types.ObjectId;
|
|
370
354
|
securityDetails: string;
|
|
371
355
|
purpose: string;
|
|
356
|
+
doHaveSharedResponsibility: boolean;
|
|
372
357
|
sharedMortgage: string;
|
|
373
358
|
remainingTerm: string;
|
|
374
359
|
startDate: string;
|
|
375
|
-
loanRationale: string;
|
|
376
|
-
doHaveSharedResponsibility?: boolean | null | undefined;
|
|
377
360
|
}>> & mongoose.FlatRecord<{
|
|
378
|
-
isSelected: boolean;
|
|
379
|
-
source: "Broker" | "Credit Report" | "Underwriter";
|
|
380
361
|
applicantId: mongoose.Types.ObjectId;
|
|
381
362
|
outstandingBalance: Pound;
|
|
382
363
|
commitmentId: string;
|
|
@@ -386,11 +367,10 @@ declare const LoanCommitmentModel: mongoose.Model<{
|
|
|
386
367
|
loanTypeLid: mongoose.Types.ObjectId;
|
|
387
368
|
securityDetails: string;
|
|
388
369
|
purpose: string;
|
|
370
|
+
doHaveSharedResponsibility: boolean;
|
|
389
371
|
sharedMortgage: string;
|
|
390
372
|
remainingTerm: string;
|
|
391
373
|
startDate: string;
|
|
392
|
-
loanRationale: string;
|
|
393
|
-
doHaveSharedResponsibility?: boolean | null | undefined;
|
|
394
374
|
}> & {
|
|
395
375
|
_id: mongoose.Types.ObjectId;
|
|
396
376
|
} & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicant-commitment-loan.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-loan.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"applicant-commitment-loan.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-loan.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAyB/C,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAyD,CAAC;AACnF,eAAe,mBAAmB,CAAC"}
|
|
@@ -2,45 +2,24 @@ import mongoose from "mongoose";
|
|
|
2
2
|
import { Pound } from "../value-objects/pound";
|
|
3
3
|
const loanCommitmentSchema = new mongoose.Schema({
|
|
4
4
|
applicantId: { type: mongoose.Schema.Types.ObjectId, ref: "Applicant", required: true },
|
|
5
|
-
commitmentId: { type: String,
|
|
5
|
+
commitmentId: { type: String, required: true },
|
|
6
6
|
commitmentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
|
|
7
|
-
lenderName: { type: String, required: true },
|
|
8
|
-
loanTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup",
|
|
9
|
-
securityDetails: { type: String,
|
|
7
|
+
lenderName: { type: String, required: true },
|
|
8
|
+
loanTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", required: true },
|
|
9
|
+
securityDetails: { type: String, required: true },
|
|
10
10
|
purpose: { type: String, default: null },
|
|
11
11
|
doHaveSharedResponsibility: {
|
|
12
|
-
type: Boolean
|
|
12
|
+
type: Boolean,
|
|
13
|
+
required: true
|
|
13
14
|
},
|
|
14
|
-
sharedMortgage: { type: String,
|
|
15
|
+
sharedMortgage: { type: String, required: true },
|
|
15
16
|
remainingTerm: { type: String, default: null },
|
|
16
|
-
startDate: { type: String,
|
|
17
|
-
outstandingBalance: { type: Pound, required: true },
|
|
18
|
-
monthlyPayment: { type: Pound, required: true }
|
|
19
|
-
source: {
|
|
20
|
-
type: String,
|
|
21
|
-
enum: ["Broker", "Credit Report", "Underwriter"],
|
|
22
|
-
default: "Broker"
|
|
23
|
-
},
|
|
24
|
-
isSelected: { type: Boolean, default: true }, // mark as selected for summary calculation
|
|
25
|
-
loanRationale: { type: String, default: "" }, // Rationale for loan
|
|
26
|
-
// Unique fields from unsecured loan model
|
|
17
|
+
startDate: { type: String, required: true },
|
|
18
|
+
outstandingBalance: { type: Pound, required: true },
|
|
19
|
+
monthlyPayment: { type: Pound, required: true }
|
|
27
20
|
}, {
|
|
28
|
-
toJSON: { getters: true
|
|
29
|
-
toObject: { getters: true
|
|
30
|
-
});
|
|
31
|
-
// virtual field: ApplicationId (applicantId -> applicationId)
|
|
32
|
-
loanCommitmentSchema.virtual('ApplicationId', {
|
|
33
|
-
ref: 'Applicant',
|
|
34
|
-
localField: 'applicantId',
|
|
35
|
-
foreignField: '_id',
|
|
36
|
-
justOne: true,
|
|
37
|
-
options: { select: 'applicationId' }
|
|
38
|
-
});
|
|
39
|
-
// virtual property 'lendingType'
|
|
40
|
-
loanCommitmentSchema.virtual('lendingType').get(function () {
|
|
41
|
-
return this.applicantId?.applicationId?.lendingTypeLid instanceof mongoose.Types.ObjectId
|
|
42
|
-
? null
|
|
43
|
-
: this.applicantId?.applicationId?.lendingTypeLid?.name || null;
|
|
21
|
+
toJSON: { getters: true },
|
|
22
|
+
toObject: { getters: true }
|
|
44
23
|
});
|
|
45
24
|
const LoanCommitmentModel = mongoose.model("LoanCommitment", loanCommitmentSchema);
|
|
46
25
|
export default LoanCommitmentModel;
|