@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.
Files changed (80) hide show
  1. package/dist/applicants/applicant-commitment-creditCard.model.d.ts +3 -17
  2. package/dist/applicants/applicant-commitment-creditCard.model.d.ts.map +1 -1
  3. package/dist/applicants/applicant-commitment-creditCard.model.js +10 -23
  4. package/dist/applicants/applicant-commitment-loan.model.d.ts +3 -23
  5. package/dist/applicants/applicant-commitment-loan.model.d.ts.map +1 -1
  6. package/dist/applicants/applicant-commitment-loan.model.js +12 -33
  7. package/dist/applicants/applicant-commitment-mortgage.model.d.ts +303 -77
  8. package/dist/applicants/applicant-commitment-mortgage.model.d.ts.map +1 -1
  9. package/dist/applicants/applicant-commitment-mortgage.model.js +23 -51
  10. package/dist/applicants/applicant-commitment-residence.model.d.ts +9 -9
  11. package/dist/applicants/applicant-commitment-residence.model.d.ts.map +1 -1
  12. package/dist/applicants/applicant-commitment-residence.model.js +5 -8
  13. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts +6 -30
  14. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts.map +1 -1
  15. package/dist/applicants/applicant-commitment-secureLoan.model.js +10 -24
  16. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts +6 -36
  17. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts.map +1 -1
  18. package/dist/applicants/applicant-commitment-unsecuredLoan.model.js +9 -24
  19. package/dist/applicants/applicant-employment.model.d.ts +24 -1231
  20. package/dist/applicants/applicant-employment.model.d.ts.map +1 -1
  21. package/dist/applicants/applicant-employment.model.js +12 -3
  22. package/dist/applicants/applicant-expenditure.model.d.ts +50 -79
  23. package/dist/applicants/applicant-expenditure.model.d.ts.map +1 -1
  24. package/dist/applicants/applicant-expenditure.model.js +18 -57
  25. package/dist/applicants/applicant-income-source.model.d.ts +26 -0
  26. package/dist/applicants/applicant-income-source.model.d.ts.map +1 -0
  27. package/dist/applicants/applicant-income-source.model.js +9 -0
  28. package/dist/applicants/applicant-income.model.d.ts +30 -2068
  29. package/dist/applicants/applicant-income.model.d.ts.map +1 -1
  30. package/dist/applicants/applicant-income.model.js +12 -35
  31. package/dist/applicants/applicant-other-income.model.d.ts +85 -0
  32. package/dist/applicants/applicant-other-income.model.d.ts.map +1 -0
  33. package/dist/applicants/applicant-other-income.model.js +46 -0
  34. package/dist/applicants/applicant-property-income.model.d.ts +13 -871
  35. package/dist/applicants/applicant-property-income.model.d.ts.map +1 -1
  36. package/dist/applicants/applicant-property-income.model.js +5 -12
  37. package/dist/applicants/applicant.model.d.ts +8762 -101
  38. package/dist/applicants/applicant.model.d.ts.map +1 -1
  39. package/dist/applicants/applicant.model.js +22 -20
  40. package/dist/applicants/index.d.ts +2 -13
  41. package/dist/applicants/index.d.ts.map +1 -1
  42. package/dist/applicants/index.js +2 -13
  43. package/dist/applications/application-mortgage.model.d.ts +144 -1116
  44. package/dist/applications/application-mortgage.model.d.ts.map +1 -1
  45. package/dist/applications/application-mortgage.model.js +5 -22
  46. package/dist/applications/application.model.d.ts +726 -0
  47. package/dist/applications/application.model.d.ts.map +1 -1
  48. package/dist/applications/application.model.js +2 -0
  49. package/dist/applications/index.d.ts +1 -1
  50. package/dist/applications/index.d.ts.map +1 -1
  51. package/dist/applications/index.js +1 -1
  52. package/dist/applications/productfeatures.model.d.ts +368 -0
  53. package/dist/applications/productfeatures.model.d.ts.map +1 -0
  54. package/dist/applications/{application-productfeatures.model.js → productfeatures.model.js} +1 -3
  55. package/dist/value-objects/sort-code.d.ts.map +1 -1
  56. package/dist/value-objects/sort-code.js +13 -4
  57. package/package.json +2 -2
  58. package/dist/applicants/applicant-additional-income.model.d.ts +0 -194
  59. package/dist/applicants/applicant-additional-income.model.d.ts.map +0 -1
  60. package/dist/applicants/applicant-additional-income.model.js +0 -14
  61. package/dist/applicants/applicant-employment-income.model.d.ts +0 -175
  62. package/dist/applicants/applicant-employment-income.model.d.ts.map +0 -1
  63. package/dist/applicants/applicant-employment-income.model.js +0 -14
  64. package/dist/applicants/applicant-income-settings.model.d.ts +0 -54
  65. package/dist/applicants/applicant-income-settings.model.d.ts.map +0 -1
  66. package/dist/applicants/applicant-income-settings.model.js +0 -16
  67. package/dist/applicants/applicant-pension-income.model.d.ts +0 -457
  68. package/dist/applicants/applicant-pension-income.model.d.ts.map +0 -1
  69. package/dist/applicants/applicant-pension-income.model.js +0 -30
  70. package/dist/applicants/applicant-self-employed-income.model.d.ts +0 -182
  71. package/dist/applicants/applicant-self-employed-income.model.d.ts.map +0 -1
  72. package/dist/applicants/applicant-self-employed-income.model.js +0 -17
  73. package/dist/applicants/applicant-sole-trader-income.model.d.ts +0 -182
  74. package/dist/applicants/applicant-sole-trader-income.model.d.ts.map +0 -1
  75. package/dist/applicants/applicant-sole-trader-income.model.js +0 -17
  76. package/dist/applicants/applicant-uk-tax-credits.model.d.ts +0 -463
  77. package/dist/applicants/applicant-uk-tax-credits.model.d.ts.map +0 -1
  78. package/dist/applicants/applicant-uk-tax-credits.model.js +0 -16
  79. package/dist/applications/application-productfeatures.model.d.ts +0 -738
  80. 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?: boolean | null | undefined;
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?: boolean | null | undefined;
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?: boolean | null | undefined;
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;AAkC/C,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAqE,CAAC;AACrG,eAAe,yBAAyB,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, default: null },
5
+ commitmentId: { type: String, required: true },
6
6
  commitmentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
7
- lenderName: { type: String, required: true }, // Provider Name / Provider category
7
+ lenderName: { type: String, required: true },
8
8
  creditLimit: { type: Pound, required: true },
9
- outstandingBalance: { type: Pound, required: true }, // Balance
10
- creditCardRepaymentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
11
- monthlyPayment: { type: Pound, required: true }, // Monthly payment
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
- source: {
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, virtuals: true },
23
- toObject: { getters: true, virtuals: 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;AAgD/C,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAyD,CAAC;AACnF,eAAe,mBAAmB,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, default: null },
5
+ commitmentId: { type: String, required: true },
6
6
  commitmentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
7
- lenderName: { type: String, required: true }, // Provider Name / Provider category
8
- loanTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
9
- securityDetails: { type: String, default: null },
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, default: null },
15
+ sharedMortgage: { type: String, required: true },
15
16
  remainingTerm: { type: String, default: null },
16
- startDate: { type: String, default: null },
17
- outstandingBalance: { type: Pound, required: true }, // Balance
18
- monthlyPayment: { type: Pound, required: true }, // Monthly payment
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, virtuals: true },
29
- toObject: { getters: true, virtuals: 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;