@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
@@ -0,0 +1,194 @@
1
+ import mongoose from "mongoose";
2
+ import { Pound } from "../value-objects/pound";
3
+ declare const ApplicantAdditionalIncomeModel: 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
+ sourceDetails?: unknown;
53
+ payFrequencyLid?: mongoose.Types.ObjectId | null | undefined;
54
+ guaranteed?: unknown;
55
+ }, {}, {}, {}, mongoose.Document<unknown, {}, {
56
+ applicantId?: mongoose.Types.ObjectId | null | undefined;
57
+ amount?: {
58
+ validators: mongoose.Types.DocumentArray<{
59
+ type?: unknown;
60
+ message?: unknown;
61
+ validator?: unknown;
62
+ reason?: unknown;
63
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
64
+ type?: unknown;
65
+ message?: unknown;
66
+ validator?: unknown;
67
+ reason?: unknown;
68
+ }> & {
69
+ type?: unknown;
70
+ message?: unknown;
71
+ validator?: unknown;
72
+ reason?: unknown;
73
+ }>;
74
+ get?: {} | null | undefined;
75
+ schema?: {
76
+ [x: string]: unknown;
77
+ } | null | undefined;
78
+ set?: {} | null | undefined;
79
+ validate?: {} | null | undefined;
80
+ default?: {} | null | undefined;
81
+ text?: {} | null | undefined;
82
+ unique?: {} | null | undefined;
83
+ index?: {} | null | undefined;
84
+ sparse?: {} | null | undefined;
85
+ required?: {} | null | undefined;
86
+ ref?: {} | null | undefined;
87
+ cast?: {} | null | undefined;
88
+ select?: {} | null | undefined;
89
+ immutable?: {} | null | undefined;
90
+ transform?: {} | null | undefined;
91
+ options?: {
92
+ [x: string]: unknown;
93
+ } | null | undefined;
94
+ OptionsConstructor?: {
95
+ [x: string]: unknown;
96
+ } | null | undefined;
97
+ getEmbeddedSchemaType?: {} | null | undefined;
98
+ instance?: unknown;
99
+ isRequired?: unknown;
100
+ path?: unknown;
101
+ validateAll?: {} | null | undefined;
102
+ defaultOptions?: unknown;
103
+ } | null | undefined;
104
+ sourceDetails?: unknown;
105
+ payFrequencyLid?: mongoose.Types.ObjectId | null | undefined;
106
+ guaranteed?: unknown;
107
+ }> & {
108
+ applicantId?: mongoose.Types.ObjectId | null | undefined;
109
+ amount?: {
110
+ validators: mongoose.Types.DocumentArray<{
111
+ type?: unknown;
112
+ message?: unknown;
113
+ validator?: unknown;
114
+ reason?: unknown;
115
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
116
+ type?: unknown;
117
+ message?: unknown;
118
+ validator?: unknown;
119
+ reason?: unknown;
120
+ }> & {
121
+ type?: unknown;
122
+ message?: unknown;
123
+ validator?: unknown;
124
+ reason?: unknown;
125
+ }>;
126
+ get?: {} | null | undefined;
127
+ schema?: {
128
+ [x: string]: unknown;
129
+ } | null | undefined;
130
+ set?: {} | null | undefined;
131
+ validate?: {} | null | undefined;
132
+ default?: {} | null | undefined;
133
+ text?: {} | null | undefined;
134
+ unique?: {} | null | undefined;
135
+ index?: {} | null | undefined;
136
+ sparse?: {} | null | undefined;
137
+ required?: {} | null | undefined;
138
+ ref?: {} | null | undefined;
139
+ cast?: {} | null | undefined;
140
+ select?: {} | null | undefined;
141
+ immutable?: {} | null | undefined;
142
+ transform?: {} | null | undefined;
143
+ options?: {
144
+ [x: string]: unknown;
145
+ } | null | undefined;
146
+ OptionsConstructor?: {
147
+ [x: string]: unknown;
148
+ } | null | undefined;
149
+ getEmbeddedSchemaType?: {} | null | undefined;
150
+ instance?: unknown;
151
+ isRequired?: unknown;
152
+ path?: unknown;
153
+ validateAll?: {} | null | undefined;
154
+ defaultOptions?: unknown;
155
+ } | null | undefined;
156
+ sourceDetails?: unknown;
157
+ payFrequencyLid?: mongoose.Types.ObjectId | null | undefined;
158
+ guaranteed?: unknown;
159
+ } & {
160
+ _id: mongoose.Types.ObjectId;
161
+ } & {
162
+ __v: number;
163
+ }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
164
+ toJSON: {
165
+ getters: true;
166
+ };
167
+ toObject: {
168
+ getters: true;
169
+ };
170
+ }, {
171
+ applicantId: mongoose.Types.ObjectId;
172
+ amount: Pound;
173
+ sourceDetails: string;
174
+ payFrequencyLid: mongoose.Types.ObjectId;
175
+ guaranteed: boolean;
176
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
177
+ applicantId: mongoose.Types.ObjectId;
178
+ amount: Pound;
179
+ sourceDetails: string;
180
+ payFrequencyLid: mongoose.Types.ObjectId;
181
+ guaranteed: boolean;
182
+ }>> & mongoose.FlatRecord<{
183
+ applicantId: mongoose.Types.ObjectId;
184
+ amount: Pound;
185
+ sourceDetails: string;
186
+ payFrequencyLid: mongoose.Types.ObjectId;
187
+ guaranteed: boolean;
188
+ }> & {
189
+ _id: mongoose.Types.ObjectId;
190
+ } & {
191
+ __v: number;
192
+ }>>;
193
+ export default ApplicantAdditionalIncomeModel;
194
+ //# sourceMappingURL=applicant-additional-income.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applicant-additional-income.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-additional-income.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAc/C,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAiF,CAAC;AAEtH,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import mongoose from "mongoose";
2
+ import { Pound } from "../value-objects/pound";
3
+ const applicantAdditionalIncomeSchema = new mongoose.Schema({
4
+ applicantId: { type: mongoose.Schema.Types.ObjectId, ref: "Applicant", required: true },
5
+ sourceDetails: { type: String, default: null },
6
+ amount: { type: Pound, default: 0.00 },
7
+ payFrequencyLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
8
+ guaranteed: { type: Boolean, default: false },
9
+ }, {
10
+ toJSON: { getters: true },
11
+ toObject: { getters: true }
12
+ });
13
+ const ApplicantAdditionalIncomeModel = mongoose.model("Applicant_Additional_Income", applicantAdditionalIncomeSchema);
14
+ export default ApplicantAdditionalIncomeModel;
@@ -1,6 +1,8 @@
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;
4
6
  applicantId?: mongoose.Types.ObjectId | null | undefined;
5
7
  outstandingBalance?: {
6
8
  validators: mongoose.Types.DocumentArray<{
@@ -149,6 +151,8 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
149
151
  } | null | undefined;
150
152
  jointNames?: unknown;
151
153
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
154
+ isSelected?: unknown;
155
+ source?: unknown;
152
156
  applicantId?: mongoose.Types.ObjectId | null | undefined;
153
157
  outstandingBalance?: {
154
158
  validators: mongoose.Types.DocumentArray<{
@@ -297,6 +301,8 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
297
301
  } | null | undefined;
298
302
  jointNames?: unknown;
299
303
  }> & {
304
+ isSelected?: unknown;
305
+ source?: unknown;
300
306
  applicantId?: mongoose.Types.ObjectId | null | undefined;
301
307
  outstandingBalance?: {
302
308
  validators: mongoose.Types.DocumentArray<{
@@ -451,11 +457,15 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
451
457
  }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
452
458
  toJSON: {
453
459
  getters: true;
460
+ virtuals: true;
454
461
  };
455
462
  toObject: {
456
463
  getters: true;
464
+ virtuals: true;
457
465
  };
458
466
  }, {
467
+ isSelected: boolean;
468
+ source: "Broker" | "Credit Report" | "Underwriter";
459
469
  applicantId: mongoose.Types.ObjectId;
460
470
  outstandingBalance: Pound;
461
471
  commitmentId: string;
@@ -464,8 +474,10 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
464
474
  creditLimit: Pound;
465
475
  creditCardRepaymentTypeLid: mongoose.Types.ObjectId;
466
476
  monthlyPayment: Pound;
467
- jointNames: boolean;
477
+ jointNames?: boolean | null | undefined;
468
478
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
479
+ isSelected: boolean;
480
+ source: "Broker" | "Credit Report" | "Underwriter";
469
481
  applicantId: mongoose.Types.ObjectId;
470
482
  outstandingBalance: Pound;
471
483
  commitmentId: string;
@@ -474,8 +486,10 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
474
486
  creditLimit: Pound;
475
487
  creditCardRepaymentTypeLid: mongoose.Types.ObjectId;
476
488
  monthlyPayment: Pound;
477
- jointNames: boolean;
489
+ jointNames?: boolean | null | undefined;
478
490
  }>> & mongoose.FlatRecord<{
491
+ isSelected: boolean;
492
+ source: "Broker" | "Credit Report" | "Underwriter";
479
493
  applicantId: mongoose.Types.ObjectId;
480
494
  outstandingBalance: Pound;
481
495
  commitmentId: string;
@@ -484,7 +498,7 @@ declare const CreditCardCommitmentModel: mongoose.Model<{
484
498
  creditLimit: Pound;
485
499
  creditCardRepaymentTypeLid: mongoose.Types.ObjectId;
486
500
  monthlyPayment: Pound;
487
- jointNames: boolean;
501
+ jointNames?: boolean | null | undefined;
488
502
  }> & {
489
503
  _id: mongoose.Types.ObjectId;
490
504
  } & {
@@ -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;AAoB/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;AAkC/C,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAqE,CAAC;AACrG,eAAe,yBAAyB,CAAC"}
@@ -2,20 +2,33 @@ 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, required: true },
5
+ commitmentId: { type: String, default: null },
6
6
  commitmentTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", default: null },
7
- lenderName: { type: String, required: true },
7
+ lenderName: { type: String, required: true }, // Provider Name / Provider category
8
8
  creditLimit: { 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 },
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
12
12
  jointNames: {
13
- type: Boolean,
14
- required: true
15
- }
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
16
21
  }, {
17
- toJSON: { getters: true },
18
- toObject: { getters: true }
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' }
19
32
  });
20
33
  const CreditCardCommitmentModel = mongoose.model("CreditCardCommitment", creditCardCommitmentSchema);
21
34
  export default CreditCardCommitmentModel;
@@ -1,6 +1,8 @@
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;
4
6
  applicantId?: mongoose.Types.ObjectId | null | undefined;
5
7
  outstandingBalance?: {
6
8
  validators: mongoose.Types.DocumentArray<{
@@ -106,7 +108,10 @@ declare const LoanCommitmentModel: mongoose.Model<{
106
108
  sharedMortgage?: unknown;
107
109
  remainingTerm?: unknown;
108
110
  startDate?: unknown;
111
+ loanRationale?: unknown;
109
112
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
113
+ isSelected?: unknown;
114
+ source?: unknown;
110
115
  applicantId?: mongoose.Types.ObjectId | null | undefined;
111
116
  outstandingBalance?: {
112
117
  validators: mongoose.Types.DocumentArray<{
@@ -212,7 +217,10 @@ declare const LoanCommitmentModel: mongoose.Model<{
212
217
  sharedMortgage?: unknown;
213
218
  remainingTerm?: unknown;
214
219
  startDate?: unknown;
220
+ loanRationale?: unknown;
215
221
  }> & {
222
+ isSelected?: unknown;
223
+ source?: unknown;
216
224
  applicantId?: mongoose.Types.ObjectId | null | undefined;
217
225
  outstandingBalance?: {
218
226
  validators: mongoose.Types.DocumentArray<{
@@ -318,6 +326,7 @@ declare const LoanCommitmentModel: mongoose.Model<{
318
326
  sharedMortgage?: unknown;
319
327
  remainingTerm?: unknown;
320
328
  startDate?: unknown;
329
+ loanRationale?: unknown;
321
330
  } & {
322
331
  _id: mongoose.Types.ObjectId;
323
332
  } & {
@@ -325,11 +334,15 @@ declare const LoanCommitmentModel: mongoose.Model<{
325
334
  }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
326
335
  toJSON: {
327
336
  getters: true;
337
+ virtuals: true;
328
338
  };
329
339
  toObject: {
330
340
  getters: true;
341
+ virtuals: true;
331
342
  };
332
343
  }, {
344
+ isSelected: boolean;
345
+ source: "Broker" | "Credit Report" | "Underwriter";
333
346
  applicantId: mongoose.Types.ObjectId;
334
347
  outstandingBalance: Pound;
335
348
  commitmentId: string;
@@ -339,11 +352,14 @@ declare const LoanCommitmentModel: mongoose.Model<{
339
352
  loanTypeLid: mongoose.Types.ObjectId;
340
353
  securityDetails: string;
341
354
  purpose: string;
342
- doHaveSharedResponsibility: boolean;
343
355
  sharedMortgage: string;
344
356
  remainingTerm: string;
345
357
  startDate: string;
358
+ loanRationale: string;
359
+ doHaveSharedResponsibility?: boolean | null | undefined;
346
360
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
361
+ isSelected: boolean;
362
+ source: "Broker" | "Credit Report" | "Underwriter";
347
363
  applicantId: mongoose.Types.ObjectId;
348
364
  outstandingBalance: Pound;
349
365
  commitmentId: string;
@@ -353,11 +369,14 @@ declare const LoanCommitmentModel: mongoose.Model<{
353
369
  loanTypeLid: mongoose.Types.ObjectId;
354
370
  securityDetails: string;
355
371
  purpose: string;
356
- doHaveSharedResponsibility: boolean;
357
372
  sharedMortgage: string;
358
373
  remainingTerm: string;
359
374
  startDate: string;
375
+ loanRationale: string;
376
+ doHaveSharedResponsibility?: boolean | null | undefined;
360
377
  }>> & mongoose.FlatRecord<{
378
+ isSelected: boolean;
379
+ source: "Broker" | "Credit Report" | "Underwriter";
361
380
  applicantId: mongoose.Types.ObjectId;
362
381
  outstandingBalance: Pound;
363
382
  commitmentId: string;
@@ -367,10 +386,11 @@ declare const LoanCommitmentModel: mongoose.Model<{
367
386
  loanTypeLid: mongoose.Types.ObjectId;
368
387
  securityDetails: string;
369
388
  purpose: string;
370
- doHaveSharedResponsibility: boolean;
371
389
  sharedMortgage: string;
372
390
  remainingTerm: string;
373
391
  startDate: string;
392
+ loanRationale: string;
393
+ doHaveSharedResponsibility?: boolean | null | undefined;
374
394
  }> & {
375
395
  _id: mongoose.Types.ObjectId;
376
396
  } & {
@@ -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;AAyB/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;AAgD/C,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAyD,CAAC;AACnF,eAAe,mBAAmB,CAAC"}
@@ -2,24 +2,45 @@ 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, required: true },
5
+ commitmentId: { type: String, default: null },
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", required: true },
9
- securityDetails: { type: String, required: true },
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 },
10
10
  purpose: { type: String, default: null },
11
11
  doHaveSharedResponsibility: {
12
- type: Boolean,
13
- required: true
12
+ type: Boolean
14
13
  },
15
- sharedMortgage: { type: String, required: true },
14
+ sharedMortgage: { type: String, default: null },
16
15
  remainingTerm: { type: String, default: null },
17
- startDate: { type: String, required: true },
18
- outstandingBalance: { type: Pound, required: true },
19
- monthlyPayment: { type: Pound, required: true }
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
20
27
  }, {
21
- toJSON: { getters: true },
22
- toObject: { getters: true }
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;
23
44
  });
24
45
  const LoanCommitmentModel = mongoose.model("LoanCommitment", loanCommitmentSchema);
25
46
  export default LoanCommitmentModel;