@dynamatix/gb-schemas 1.2.145 → 1.2.147

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-additional-income.model.d.ts +194 -0
  2. package/dist/applicants/applicant-additional-income.model.d.ts.map +1 -0
  3. package/dist/applicants/applicant-additional-income.model.js +14 -0
  4. package/dist/applicants/applicant-commitment-creditCard.model.d.ts +17 -3
  5. package/dist/applicants/applicant-commitment-creditCard.model.d.ts.map +1 -1
  6. package/dist/applicants/applicant-commitment-creditCard.model.js +23 -10
  7. package/dist/applicants/applicant-commitment-loan.model.d.ts +23 -3
  8. package/dist/applicants/applicant-commitment-loan.model.d.ts.map +1 -1
  9. package/dist/applicants/applicant-commitment-loan.model.js +33 -12
  10. package/dist/applicants/applicant-commitment-mortgage.model.d.ts +77 -303
  11. package/dist/applicants/applicant-commitment-mortgage.model.d.ts.map +1 -1
  12. package/dist/applicants/applicant-commitment-mortgage.model.js +51 -23
  13. package/dist/applicants/applicant-commitment-residence.model.d.ts +9 -9
  14. package/dist/applicants/applicant-commitment-residence.model.d.ts.map +1 -1
  15. package/dist/applicants/applicant-commitment-residence.model.js +8 -5
  16. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts +30 -6
  17. package/dist/applicants/applicant-commitment-secureLoan.model.d.ts.map +1 -1
  18. package/dist/applicants/applicant-commitment-secureLoan.model.js +24 -10
  19. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts +36 -6
  20. package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts.map +1 -1
  21. package/dist/applicants/applicant-commitment-unsecuredLoan.model.js +24 -9
  22. package/dist/applicants/applicant-employment-income.model.d.ts +175 -0
  23. package/dist/applicants/applicant-employment-income.model.d.ts.map +1 -0
  24. package/dist/applicants/applicant-employment-income.model.js +14 -0
  25. package/dist/applicants/applicant-employment.model.d.ts +1231 -24
  26. package/dist/applicants/applicant-employment.model.d.ts.map +1 -1
  27. package/dist/applicants/applicant-employment.model.js +3 -12
  28. package/dist/applicants/applicant-expenditure.model.d.ts +79 -50
  29. package/dist/applicants/applicant-expenditure.model.d.ts.map +1 -1
  30. package/dist/applicants/applicant-expenditure.model.js +57 -18
  31. package/dist/applicants/applicant-income-settings.model.d.ts +54 -0
  32. package/dist/applicants/applicant-income-settings.model.d.ts.map +1 -0
  33. package/dist/applicants/applicant-income-settings.model.js +16 -0
  34. package/dist/applicants/applicant-income.model.d.ts +2068 -30
  35. package/dist/applicants/applicant-income.model.d.ts.map +1 -1
  36. package/dist/applicants/applicant-income.model.js +35 -12
  37. package/dist/applicants/applicant-pension-income.model.d.ts +457 -0
  38. package/dist/applicants/applicant-pension-income.model.d.ts.map +1 -0
  39. package/dist/applicants/applicant-pension-income.model.js +30 -0
  40. package/dist/applicants/applicant-property-income.model.d.ts +871 -13
  41. package/dist/applicants/applicant-property-income.model.d.ts.map +1 -1
  42. package/dist/applicants/applicant-property-income.model.js +12 -5
  43. package/dist/applicants/applicant-self-employed-income.model.d.ts +182 -0
  44. package/dist/applicants/applicant-self-employed-income.model.d.ts.map +1 -0
  45. package/dist/applicants/applicant-self-employed-income.model.js +17 -0
  46. package/dist/applicants/applicant-sole-trader-income.model.d.ts +182 -0
  47. package/dist/applicants/applicant-sole-trader-income.model.d.ts.map +1 -0
  48. package/dist/applicants/applicant-sole-trader-income.model.js +17 -0
  49. package/dist/applicants/applicant-uk-tax-credits.model.d.ts +463 -0
  50. package/dist/applicants/applicant-uk-tax-credits.model.d.ts.map +1 -0
  51. package/dist/applicants/applicant-uk-tax-credits.model.js +16 -0
  52. package/dist/applicants/applicant.model.d.ts +101 -8762
  53. package/dist/applicants/applicant.model.d.ts.map +1 -1
  54. package/dist/applicants/applicant.model.js +19 -21
  55. package/dist/applicants/index.d.ts +13 -2
  56. package/dist/applicants/index.d.ts.map +1 -1
  57. package/dist/applicants/index.js +13 -2
  58. package/dist/applications/application-mortgage.model.d.ts +1137 -129
  59. package/dist/applications/application-mortgage.model.d.ts.map +1 -1
  60. package/dist/applications/application-mortgage.model.js +28 -5
  61. package/dist/applications/application-productfeatures.model.d.ts +738 -0
  62. package/dist/applications/application-productfeatures.model.d.ts.map +1 -0
  63. package/dist/applications/{productfeatures.model.js → application-productfeatures.model.js} +3 -1
  64. package/dist/applications/application.model.d.ts +0 -762
  65. package/dist/applications/application.model.d.ts.map +1 -1
  66. package/dist/applications/application.model.js +0 -8
  67. package/dist/applications/index.d.ts +1 -1
  68. package/dist/applications/index.d.ts.map +1 -1
  69. package/dist/applications/index.js +1 -1
  70. package/dist/value-objects/sort-code.d.ts.map +1 -1
  71. package/dist/value-objects/sort-code.js +4 -13
  72. package/package.json +2 -2
  73. package/dist/applicants/applicant-income-source.model.d.ts +0 -26
  74. package/dist/applicants/applicant-income-source.model.d.ts.map +0 -1
  75. package/dist/applicants/applicant-income-source.model.js +0 -9
  76. package/dist/applicants/applicant-other-income.model.d.ts +0 -85
  77. package/dist/applicants/applicant-other-income.model.d.ts.map +0 -1
  78. package/dist/applicants/applicant-other-income.model.js +0 -46
  79. package/dist/applications/productfeatures.model.d.ts +0 -368
  80. package/dist/applications/productfeatures.model.d.ts.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import mongoose from "mongoose";
2
2
  import { Pound } from "../value-objects/pound";
3
- import { truncate } from "node:fs/promises";
4
3
  const residenceCommitmentSchema = new mongoose.Schema({
5
4
  applicantId: { type: mongoose.Schema.Types.ObjectId, ref: "Applicant", required: true },
6
5
  pageValidFlag: { type: Boolean, default: false },
@@ -21,22 +20,26 @@ const residenceCommitmentSchema = new mongoose.Schema({
21
20
  monthlyPayment: { type: Pound, required: true },
22
21
  furtherAdvances: {
23
22
  type: Boolean,
24
- required: truncate
23
+ required: true,
24
+ get: (v) => v ? "Yes" : "No"
25
25
  },
26
26
  furtherAdvanceDetails: { type: String, required: true },
27
27
  accountUptoDate: {
28
28
  type: Boolean,
29
- required: true
29
+ required: true,
30
+ get: (v) => v ? "Yes" : "No"
30
31
  },
31
32
  accountUptoDateFailDetails: { type: String, required: true },
32
33
  accountInArrears: {
33
34
  type: Boolean,
34
- required: true
35
+ required: true,
36
+ get: (v) => v ? "Yes" : "No"
35
37
  },
36
38
  accountInArrearsDetails: { type: String, required: true },
37
39
  doHaveSharedResponsibility: {
38
40
  type: Boolean,
39
- required: true
41
+ required: true,
42
+ get: (v) => v ? "Yes" : "No"
40
43
  },
41
44
  sharedMortgage: { type: String, required: true }
42
45
  }, {
@@ -1,6 +1,8 @@
1
1
  import mongoose from "mongoose";
2
2
  import { Pound } from "../value-objects/pound";
3
3
  declare const SecuredLoanCommitmentModel: mongoose.Model<{
4
+ isSelected?: unknown;
5
+ source?: unknown;
4
6
  applicantId?: mongoose.Types.ObjectId | null | undefined;
5
7
  outstandingBalance?: {
6
8
  validators: mongoose.Types.DocumentArray<{
@@ -50,6 +52,7 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
50
52
  defaultOptions?: unknown;
51
53
  } | null | undefined;
52
54
  commitmentId?: unknown;
55
+ commitmentTypeLid?: mongoose.Types.ObjectId | null | undefined;
53
56
  lenderName?: unknown;
54
57
  monthlyPayment?: {
55
58
  validators: mongoose.Types.DocumentArray<{
@@ -98,6 +101,7 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
98
101
  validateAll?: {} | null | undefined;
99
102
  defaultOptions?: unknown;
100
103
  } | null | undefined;
104
+ loanTypeLid?: mongoose.Types.ObjectId | null | undefined;
101
105
  securityDetails?: unknown;
102
106
  purpose?: unknown;
103
107
  doHaveSharedResponsibility?: unknown;
@@ -105,6 +109,8 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
105
109
  remainingTerm?: unknown;
106
110
  startDate?: unknown;
107
111
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
112
+ isSelected?: unknown;
113
+ source?: unknown;
108
114
  applicantId?: mongoose.Types.ObjectId | null | undefined;
109
115
  outstandingBalance?: {
110
116
  validators: mongoose.Types.DocumentArray<{
@@ -154,6 +160,7 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
154
160
  defaultOptions?: unknown;
155
161
  } | null | undefined;
156
162
  commitmentId?: unknown;
163
+ commitmentTypeLid?: mongoose.Types.ObjectId | null | undefined;
157
164
  lenderName?: unknown;
158
165
  monthlyPayment?: {
159
166
  validators: mongoose.Types.DocumentArray<{
@@ -202,6 +209,7 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
202
209
  validateAll?: {} | null | undefined;
203
210
  defaultOptions?: unknown;
204
211
  } | null | undefined;
212
+ loanTypeLid?: mongoose.Types.ObjectId | null | undefined;
205
213
  securityDetails?: unknown;
206
214
  purpose?: unknown;
207
215
  doHaveSharedResponsibility?: unknown;
@@ -209,6 +217,8 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
209
217
  remainingTerm?: unknown;
210
218
  startDate?: unknown;
211
219
  }> & {
220
+ isSelected?: unknown;
221
+ source?: unknown;
212
222
  applicantId?: mongoose.Types.ObjectId | null | undefined;
213
223
  outstandingBalance?: {
214
224
  validators: mongoose.Types.DocumentArray<{
@@ -258,6 +268,7 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
258
268
  defaultOptions?: unknown;
259
269
  } | null | undefined;
260
270
  commitmentId?: unknown;
271
+ commitmentTypeLid?: mongoose.Types.ObjectId | null | undefined;
261
272
  lenderName?: unknown;
262
273
  monthlyPayment?: {
263
274
  validators: mongoose.Types.DocumentArray<{
@@ -306,6 +317,7 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
306
317
  validateAll?: {} | null | undefined;
307
318
  defaultOptions?: unknown;
308
319
  } | null | undefined;
320
+ loanTypeLid?: mongoose.Types.ObjectId | null | undefined;
309
321
  securityDetails?: unknown;
310
322
  purpose?: unknown;
311
323
  doHaveSharedResponsibility?: unknown;
@@ -324,41 +336,53 @@ declare const SecuredLoanCommitmentModel: mongoose.Model<{
324
336
  getters: true;
325
337
  };
326
338
  }, {
339
+ isSelected: boolean;
340
+ source: "Broker" | "Credit Report" | "Underwriter";
327
341
  applicantId: mongoose.Types.ObjectId;
328
342
  outstandingBalance: Pound;
329
343
  commitmentId: string;
344
+ commitmentTypeLid: mongoose.Types.ObjectId;
330
345
  lenderName: string;
331
346
  monthlyPayment: Pound;
347
+ loanTypeLid: mongoose.Types.ObjectId;
332
348
  securityDetails: string;
333
349
  purpose: string;
334
- doHaveSharedResponsibility: boolean;
335
350
  sharedMortgage: string;
336
- remainingTerm: string;
351
+ remainingTerm: number;
337
352
  startDate: string;
353
+ doHaveSharedResponsibility?: boolean | null | undefined;
338
354
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
355
+ isSelected: boolean;
356
+ source: "Broker" | "Credit Report" | "Underwriter";
339
357
  applicantId: mongoose.Types.ObjectId;
340
358
  outstandingBalance: Pound;
341
359
  commitmentId: string;
360
+ commitmentTypeLid: mongoose.Types.ObjectId;
342
361
  lenderName: string;
343
362
  monthlyPayment: Pound;
363
+ loanTypeLid: mongoose.Types.ObjectId;
344
364
  securityDetails: string;
345
365
  purpose: string;
346
- doHaveSharedResponsibility: boolean;
347
366
  sharedMortgage: string;
348
- remainingTerm: string;
367
+ remainingTerm: number;
349
368
  startDate: string;
369
+ doHaveSharedResponsibility?: boolean | null | undefined;
350
370
  }>> & mongoose.FlatRecord<{
371
+ isSelected: boolean;
372
+ source: "Broker" | "Credit Report" | "Underwriter";
351
373
  applicantId: mongoose.Types.ObjectId;
352
374
  outstandingBalance: Pound;
353
375
  commitmentId: string;
376
+ commitmentTypeLid: mongoose.Types.ObjectId;
354
377
  lenderName: string;
355
378
  monthlyPayment: Pound;
379
+ loanTypeLid: mongoose.Types.ObjectId;
356
380
  securityDetails: string;
357
381
  purpose: string;
358
- doHaveSharedResponsibility: boolean;
359
382
  sharedMortgage: string;
360
- remainingTerm: string;
383
+ remainingTerm: number;
361
384
  startDate: string;
385
+ doHaveSharedResponsibility?: boolean | null | undefined;
362
386
  }> & {
363
387
  _id: mongoose.Types.ObjectId;
364
388
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"applicant-commitment-secureLoan.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-secureLoan.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAsB/C,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuE,CAAC;AACxG,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"applicant-commitment-secureLoan.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-secureLoan.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAuC/C,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuE,CAAC;AACxG,eAAe,0BAA0B,CAAC"}
@@ -2,22 +2,36 @@ import mongoose from "mongoose";
2
2
  import { Pound } from "../value-objects/pound";
3
3
  const securedLoanCommitmentSchema = new mongoose.Schema({
4
4
  applicantId: { type: mongoose.Schema.Types.ObjectId, ref: "Applicant", required: true },
5
- lenderName: { type: String, required: true },
6
- commitmentId: { type: String, required: true },
7
- securityDetails: { type: String, required: true },
8
- purpose: { type: String, required: true },
5
+ lenderName: { type: String, required: true }, // Provider Name / Provider category
6
+ commitmentId: { type: String, default: null },
7
+ securityDetails: { type: String, default: null },
8
+ purpose: { type: String, default: null },
9
9
  doHaveSharedResponsibility: {
10
10
  type: Boolean,
11
- required: true
12
11
  },
13
- sharedMortgage: { type: String, required: true },
14
- remainingTerm: { type: String, default: null },
15
- startDate: { type: String, required: true },
16
- outstandingBalance: { type: Pound, required: true },
17
- monthlyPayment: { type: Pound, required: true }
12
+ sharedMortgage: { type: String, default: null },
13
+ remainingTerm: { type: Number, default: null }, // Remaining term
14
+ startDate: { type: String, default: null },
15
+ outstandingBalance: { type: Pound, required: true }, // Balance
16
+ monthlyPayment: { type: Pound, required: true }, // Monthly payment
17
+ source: {
18
+ type: String,
19
+ enum: ["Broker", "Credit Report", "Underwriter"],
20
+ default: "Broker"
21
+ },
22
+ isSelected: { type: Boolean, default: true }, // mark as selected for summary calculation
23
+ // Unique fields from loan model
24
+ commitmentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
25
+ loanTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
18
26
  }, {
19
27
  toJSON: { getters: true },
20
28
  toObject: { getters: true }
21
29
  });
30
+ // virtual property 'lendingType'
31
+ securedLoanCommitmentSchema.virtual('lendingType').get(function () {
32
+ return this.applicantId?.applicationId?.lendingTypeLid instanceof mongoose.Types.ObjectId
33
+ ? null
34
+ : this.applicantId?.applicationId?.lendingTypeLid?.name || null;
35
+ });
22
36
  const SecuredLoanCommitmentModel = mongoose.model("SecuredLoanCommitment", securedLoanCommitmentSchema);
23
37
  export default SecuredLoanCommitmentModel;
@@ -1,6 +1,8 @@
1
1
  import mongoose from "mongoose";
2
2
  import { Pound } from "../value-objects/pound";
3
3
  declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
4
+ isSelected?: unknown;
5
+ source?: unknown;
4
6
  applicantId?: mongoose.Types.ObjectId | null | undefined;
5
7
  outstandingBalance?: {
6
8
  validators: mongoose.Types.DocumentArray<{
@@ -50,6 +52,7 @@ declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
50
52
  defaultOptions?: unknown;
51
53
  } | null | undefined;
52
54
  commitmentId?: unknown;
55
+ commitmentTypeLid?: mongoose.Types.ObjectId | null | undefined;
53
56
  lenderName?: unknown;
54
57
  monthlyPayment?: {
55
58
  validators: mongoose.Types.DocumentArray<{
@@ -98,12 +101,16 @@ declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
98
101
  validateAll?: {} | null | undefined;
99
102
  defaultOptions?: unknown;
100
103
  } | null | undefined;
104
+ loanTypeLid?: mongoose.Types.ObjectId | null | undefined;
105
+ securityDetails?: unknown;
101
106
  purpose?: unknown;
102
107
  doHaveSharedResponsibility?: unknown;
103
108
  sharedMortgage?: unknown;
104
109
  remainingTerm?: unknown;
105
110
  startDate?: unknown;
106
111
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
112
+ isSelected?: unknown;
113
+ source?: unknown;
107
114
  applicantId?: mongoose.Types.ObjectId | null | undefined;
108
115
  outstandingBalance?: {
109
116
  validators: mongoose.Types.DocumentArray<{
@@ -153,6 +160,7 @@ declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
153
160
  defaultOptions?: unknown;
154
161
  } | null | undefined;
155
162
  commitmentId?: unknown;
163
+ commitmentTypeLid?: mongoose.Types.ObjectId | null | undefined;
156
164
  lenderName?: unknown;
157
165
  monthlyPayment?: {
158
166
  validators: mongoose.Types.DocumentArray<{
@@ -201,12 +209,16 @@ declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
201
209
  validateAll?: {} | null | undefined;
202
210
  defaultOptions?: unknown;
203
211
  } | null | undefined;
212
+ loanTypeLid?: mongoose.Types.ObjectId | null | undefined;
213
+ securityDetails?: unknown;
204
214
  purpose?: unknown;
205
215
  doHaveSharedResponsibility?: unknown;
206
216
  sharedMortgage?: unknown;
207
217
  remainingTerm?: unknown;
208
218
  startDate?: unknown;
209
219
  }> & {
220
+ isSelected?: unknown;
221
+ source?: unknown;
210
222
  applicantId?: mongoose.Types.ObjectId | null | undefined;
211
223
  outstandingBalance?: {
212
224
  validators: mongoose.Types.DocumentArray<{
@@ -256,6 +268,7 @@ declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
256
268
  defaultOptions?: unknown;
257
269
  } | null | undefined;
258
270
  commitmentId?: unknown;
271
+ commitmentTypeLid?: mongoose.Types.ObjectId | null | undefined;
259
272
  lenderName?: unknown;
260
273
  monthlyPayment?: {
261
274
  validators: mongoose.Types.DocumentArray<{
@@ -304,6 +317,8 @@ declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
304
317
  validateAll?: {} | null | undefined;
305
318
  defaultOptions?: unknown;
306
319
  } | null | undefined;
320
+ loanTypeLid?: mongoose.Types.ObjectId | null | undefined;
321
+ securityDetails?: unknown;
307
322
  purpose?: unknown;
308
323
  doHaveSharedResponsibility?: unknown;
309
324
  sharedMortgage?: unknown;
@@ -321,38 +336,53 @@ declare const UnsecuredLoanCommitmentModel: mongoose.Model<{
321
336
  getters: true;
322
337
  };
323
338
  }, {
339
+ isSelected: boolean;
340
+ source: "Broker" | "Credit Report" | "Underwriter";
324
341
  applicantId: mongoose.Types.ObjectId;
325
342
  outstandingBalance: Pound;
326
343
  commitmentId: string;
344
+ commitmentTypeLid: mongoose.Types.ObjectId;
327
345
  lenderName: string;
328
346
  monthlyPayment: Pound;
347
+ loanTypeLid: mongoose.Types.ObjectId;
348
+ securityDetails: string;
329
349
  purpose: string;
330
- doHaveSharedResponsibility: boolean;
331
350
  sharedMortgage: string;
332
- remainingTerm: string;
351
+ remainingTerm: number;
333
352
  startDate: string;
353
+ doHaveSharedResponsibility?: boolean | null | undefined;
334
354
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
355
+ isSelected: boolean;
356
+ source: "Broker" | "Credit Report" | "Underwriter";
335
357
  applicantId: mongoose.Types.ObjectId;
336
358
  outstandingBalance: Pound;
337
359
  commitmentId: string;
360
+ commitmentTypeLid: mongoose.Types.ObjectId;
338
361
  lenderName: string;
339
362
  monthlyPayment: Pound;
363
+ loanTypeLid: mongoose.Types.ObjectId;
364
+ securityDetails: string;
340
365
  purpose: string;
341
- doHaveSharedResponsibility: boolean;
342
366
  sharedMortgage: string;
343
- remainingTerm: string;
367
+ remainingTerm: number;
344
368
  startDate: string;
369
+ doHaveSharedResponsibility?: boolean | null | undefined;
345
370
  }>> & mongoose.FlatRecord<{
371
+ isSelected: boolean;
372
+ source: "Broker" | "Credit Report" | "Underwriter";
346
373
  applicantId: mongoose.Types.ObjectId;
347
374
  outstandingBalance: Pound;
348
375
  commitmentId: string;
376
+ commitmentTypeLid: mongoose.Types.ObjectId;
349
377
  lenderName: string;
350
378
  monthlyPayment: Pound;
379
+ loanTypeLid: mongoose.Types.ObjectId;
380
+ securityDetails: string;
351
381
  purpose: string;
352
- doHaveSharedResponsibility: boolean;
353
382
  sharedMortgage: string;
354
- remainingTerm: string;
383
+ remainingTerm: number;
355
384
  startDate: string;
385
+ doHaveSharedResponsibility?: boolean | null | undefined;
356
386
  }> & {
357
387
  _id: mongoose.Types.ObjectId;
358
388
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"applicant-commitment-unsecuredLoan.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-unsecuredLoan.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAqB/C,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA2E,CAAC;AAC9G,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"applicant-commitment-unsecuredLoan.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-commitment-unsecuredLoan.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAuC/C,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA2E,CAAC;AAC9G,eAAe,4BAA4B,CAAC"}
@@ -2,21 +2,36 @@ import mongoose from "mongoose";
2
2
  import { Pound } from "../value-objects/pound";
3
3
  const unsecuredLoanCommitmentSchema = new mongoose.Schema({
4
4
  applicantId: { type: mongoose.Schema.Types.ObjectId, ref: "Applicant", required: true },
5
- lenderName: { type: String, required: true },
6
- commitmentId: { type: String, required: true },
7
- purpose: { type: String, required: true },
5
+ lenderName: { type: String, required: true }, // Provider Name / Provider category
6
+ commitmentId: { type: String, default: null },
7
+ purpose: { type: String, default: null },
8
8
  doHaveSharedResponsibility: {
9
9
  type: Boolean,
10
- required: true
11
10
  },
12
- sharedMortgage: { type: String, required: true },
13
- remainingTerm: { type: String, default: null },
14
- startDate: { type: String, required: true },
15
- outstandingBalance: { type: Pound, required: true },
16
- monthlyPayment: { type: Pound, required: true }
11
+ sharedMortgage: { type: String, default: null },
12
+ remainingTerm: { type: Number, default: null }, // Remaining term
13
+ startDate: { type: String, default: null },
14
+ outstandingBalance: { type: Pound, required: true }, // Balance
15
+ monthlyPayment: { type: Pound, required: true }, // Monthly payment
16
+ source: {
17
+ type: String,
18
+ enum: ["Broker", "Credit Report", "Underwriter"],
19
+ default: "Broker"
20
+ },
21
+ isSelected: { type: Boolean, default: true }, // mark as selected for summary calculation
22
+ // Unique fields from loan model
23
+ commitmentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
24
+ loanTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
25
+ securityDetails: { type: String, default: null },
17
26
  }, {
18
27
  toJSON: { getters: true },
19
28
  toObject: { getters: true }
20
29
  });
30
+ // virtual property 'lendingType'
31
+ unsecuredLoanCommitmentSchema.virtual('lendingType').get(function () {
32
+ return this.applicantId?.applicationId?.lendingTypeLid instanceof mongoose.Types.ObjectId
33
+ ? null
34
+ : this.applicantId?.applicationId?.lendingTypeLid?.name || null;
35
+ });
21
36
  const UnsecuredLoanCommitmentModel = mongoose.model("UnsecuredLoanCommitment", unsecuredLoanCommitmentSchema);
22
37
  export default UnsecuredLoanCommitmentModel;
@@ -0,0 +1,175 @@
1
+ import mongoose from "mongoose";
2
+ import { Pound } from "../value-objects/pound";
3
+ declare const ApplicantEmploymentIncomeModel: mongoose.Model<{
4
+ applicantId?: mongoose.Types.ObjectId | null | undefined;
5
+ amount?: {
6
+ validators: mongoose.Types.DocumentArray<{
7
+ type?: unknown;
8
+ message?: unknown;
9
+ validator?: unknown;
10
+ reason?: unknown;
11
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
12
+ type?: unknown;
13
+ message?: unknown;
14
+ validator?: unknown;
15
+ reason?: unknown;
16
+ }> & {
17
+ type?: unknown;
18
+ message?: unknown;
19
+ validator?: unknown;
20
+ reason?: unknown;
21
+ }>;
22
+ get?: {} | null | undefined;
23
+ schema?: {
24
+ [x: string]: unknown;
25
+ } | null | undefined;
26
+ set?: {} | null | undefined;
27
+ validate?: {} | null | undefined;
28
+ default?: {} | null | undefined;
29
+ text?: {} | null | undefined;
30
+ unique?: {} | null | undefined;
31
+ index?: {} | null | undefined;
32
+ sparse?: {} | null | undefined;
33
+ required?: {} | null | undefined;
34
+ ref?: {} | null | undefined;
35
+ cast?: {} | null | undefined;
36
+ select?: {} | null | undefined;
37
+ immutable?: {} | null | undefined;
38
+ transform?: {} | null | undefined;
39
+ options?: {
40
+ [x: string]: unknown;
41
+ } | null | undefined;
42
+ OptionsConstructor?: {
43
+ [x: string]: unknown;
44
+ } | null | undefined;
45
+ getEmbeddedSchemaType?: {} | null | undefined;
46
+ instance?: unknown;
47
+ isRequired?: unknown;
48
+ path?: unknown;
49
+ validateAll?: {} | null | undefined;
50
+ defaultOptions?: unknown;
51
+ } | null | undefined;
52
+ incomeTypeLid?: mongoose.Types.ObjectId | null | undefined;
53
+ }, {}, {}, {}, mongoose.Document<unknown, {}, {
54
+ applicantId?: mongoose.Types.ObjectId | null | undefined;
55
+ amount?: {
56
+ validators: mongoose.Types.DocumentArray<{
57
+ type?: unknown;
58
+ message?: unknown;
59
+ validator?: unknown;
60
+ reason?: unknown;
61
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
62
+ type?: unknown;
63
+ message?: unknown;
64
+ validator?: unknown;
65
+ reason?: unknown;
66
+ }> & {
67
+ type?: unknown;
68
+ message?: unknown;
69
+ validator?: unknown;
70
+ reason?: unknown;
71
+ }>;
72
+ get?: {} | null | undefined;
73
+ schema?: {
74
+ [x: string]: unknown;
75
+ } | null | undefined;
76
+ set?: {} | null | undefined;
77
+ validate?: {} | null | undefined;
78
+ default?: {} | null | undefined;
79
+ text?: {} | null | undefined;
80
+ unique?: {} | null | undefined;
81
+ index?: {} | null | undefined;
82
+ sparse?: {} | null | undefined;
83
+ required?: {} | null | undefined;
84
+ ref?: {} | null | undefined;
85
+ cast?: {} | null | undefined;
86
+ select?: {} | null | undefined;
87
+ immutable?: {} | null | undefined;
88
+ transform?: {} | null | undefined;
89
+ options?: {
90
+ [x: string]: unknown;
91
+ } | null | undefined;
92
+ OptionsConstructor?: {
93
+ [x: string]: unknown;
94
+ } | null | undefined;
95
+ getEmbeddedSchemaType?: {} | null | undefined;
96
+ instance?: unknown;
97
+ isRequired?: unknown;
98
+ path?: unknown;
99
+ validateAll?: {} | null | undefined;
100
+ defaultOptions?: unknown;
101
+ } | null | undefined;
102
+ incomeTypeLid?: mongoose.Types.ObjectId | null | undefined;
103
+ }> & {
104
+ applicantId?: mongoose.Types.ObjectId | null | undefined;
105
+ amount?: {
106
+ validators: mongoose.Types.DocumentArray<{
107
+ type?: unknown;
108
+ message?: unknown;
109
+ validator?: unknown;
110
+ reason?: unknown;
111
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
112
+ type?: unknown;
113
+ message?: unknown;
114
+ validator?: unknown;
115
+ reason?: unknown;
116
+ }> & {
117
+ type?: unknown;
118
+ message?: unknown;
119
+ validator?: unknown;
120
+ reason?: unknown;
121
+ }>;
122
+ get?: {} | null | undefined;
123
+ schema?: {
124
+ [x: string]: unknown;
125
+ } | null | undefined;
126
+ set?: {} | null | undefined;
127
+ validate?: {} | null | undefined;
128
+ default?: {} | null | undefined;
129
+ text?: {} | null | undefined;
130
+ unique?: {} | null | undefined;
131
+ index?: {} | null | undefined;
132
+ sparse?: {} | null | undefined;
133
+ required?: {} | null | undefined;
134
+ ref?: {} | null | undefined;
135
+ cast?: {} | null | undefined;
136
+ select?: {} | null | undefined;
137
+ immutable?: {} | null | undefined;
138
+ transform?: {} | null | undefined;
139
+ options?: {
140
+ [x: string]: unknown;
141
+ } | null | undefined;
142
+ OptionsConstructor?: {
143
+ [x: string]: unknown;
144
+ } | null | undefined;
145
+ getEmbeddedSchemaType?: {} | null | undefined;
146
+ instance?: unknown;
147
+ isRequired?: unknown;
148
+ path?: unknown;
149
+ validateAll?: {} | null | undefined;
150
+ defaultOptions?: unknown;
151
+ } | null | undefined;
152
+ incomeTypeLid?: mongoose.Types.ObjectId | null | undefined;
153
+ } & {
154
+ _id: mongoose.Types.ObjectId;
155
+ } & {
156
+ __v: number;
157
+ }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
158
+ applicantId: mongoose.Types.ObjectId;
159
+ amount: Pound;
160
+ incomeTypeLid: mongoose.Types.ObjectId;
161
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
162
+ applicantId: mongoose.Types.ObjectId;
163
+ amount: Pound;
164
+ incomeTypeLid: mongoose.Types.ObjectId;
165
+ }>> & mongoose.FlatRecord<{
166
+ applicantId: mongoose.Types.ObjectId;
167
+ amount: Pound;
168
+ incomeTypeLid: mongoose.Types.ObjectId;
169
+ }> & {
170
+ _id: mongoose.Types.ObjectId;
171
+ } & {
172
+ __v: number;
173
+ }>>;
174
+ export default ApplicantEmploymentIncomeModel;
175
+ //# sourceMappingURL=applicant-employment-income.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicant-employment-income.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-employment-income.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAa/C,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAgF,CAAC;AAErH,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import mongoose from "mongoose";
2
+ import { Pound } from "../value-objects/pound";
3
+ const applicantEmploymentIncomeSchema = new mongoose.Schema({
4
+ applicantId: { type: mongoose.Schema.Types.ObjectId, ref: "Applicant", required: true },
5
+ incomeTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", required: true },
6
+ amount: { type: Pound, required: true },
7
+ });
8
+ applicantEmploymentIncomeSchema.virtual('incomeSourceId').get(function () {
9
+ return this.applicantId?.incomeSourceId instanceof mongoose.Types.ObjectId
10
+ ? null
11
+ : this.applicantId?.incomeSourceId?.incomeFromEmployment || null;
12
+ });
13
+ const ApplicantEmploymentIncomeModel = mongoose.model("Applicant_EmploymentIncome", applicantEmploymentIncomeSchema);
14
+ export default ApplicantEmploymentIncomeModel;