@dynamatix/gb-schemas 2.3.330 → 2.3.332

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.
@@ -620,6 +620,102 @@ declare const ApplicantIncomeSummaryModel: mongoose.Model<{
620
620
  validateAll?: {} | null | undefined;
621
621
  defaultOptions?: unknown;
622
622
  } | null | undefined;
623
+ totalAnnualGrossIncome?: {
624
+ validators: mongoose.Types.DocumentArray<{
625
+ type?: unknown;
626
+ message?: unknown;
627
+ validator?: unknown;
628
+ reason?: unknown;
629
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
630
+ type?: unknown;
631
+ message?: unknown;
632
+ validator?: unknown;
633
+ reason?: unknown;
634
+ }> & {
635
+ type?: unknown;
636
+ message?: unknown;
637
+ validator?: unknown;
638
+ reason?: unknown;
639
+ }>;
640
+ get?: {} | null | undefined;
641
+ schema?: {
642
+ [x: string]: unknown;
643
+ } | null | undefined;
644
+ set?: {} | null | undefined;
645
+ validate?: {} | null | undefined;
646
+ index?: {} | null | undefined;
647
+ default?: {} | null | undefined;
648
+ text?: {} | null | undefined;
649
+ unique?: {} | null | undefined;
650
+ sparse?: {} | null | undefined;
651
+ cast?: {} | null | undefined;
652
+ required?: {} | null | undefined;
653
+ ref?: {} | null | undefined;
654
+ select?: {} | null | undefined;
655
+ immutable?: {} | null | undefined;
656
+ transform?: {} | null | undefined;
657
+ options?: {
658
+ [x: string]: unknown;
659
+ } | null | undefined;
660
+ OptionsConstructor?: {
661
+ [x: string]: unknown;
662
+ } | null | undefined;
663
+ getEmbeddedSchemaType?: {} | null | undefined;
664
+ instance?: unknown;
665
+ isRequired?: unknown;
666
+ path?: unknown;
667
+ toJSONSchema?: {} | null | undefined;
668
+ validateAll?: {} | null | undefined;
669
+ defaultOptions?: unknown;
670
+ } | null | undefined;
671
+ totalAnnualNetIncome?: {
672
+ validators: mongoose.Types.DocumentArray<{
673
+ type?: unknown;
674
+ message?: unknown;
675
+ validator?: unknown;
676
+ reason?: unknown;
677
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
678
+ type?: unknown;
679
+ message?: unknown;
680
+ validator?: unknown;
681
+ reason?: unknown;
682
+ }> & {
683
+ type?: unknown;
684
+ message?: unknown;
685
+ validator?: unknown;
686
+ reason?: unknown;
687
+ }>;
688
+ get?: {} | null | undefined;
689
+ schema?: {
690
+ [x: string]: unknown;
691
+ } | null | undefined;
692
+ set?: {} | null | undefined;
693
+ validate?: {} | null | undefined;
694
+ index?: {} | null | undefined;
695
+ default?: {} | null | undefined;
696
+ text?: {} | null | undefined;
697
+ unique?: {} | null | undefined;
698
+ sparse?: {} | null | undefined;
699
+ cast?: {} | null | undefined;
700
+ required?: {} | null | undefined;
701
+ ref?: {} | null | undefined;
702
+ select?: {} | null | undefined;
703
+ immutable?: {} | null | undefined;
704
+ transform?: {} | null | undefined;
705
+ options?: {
706
+ [x: string]: unknown;
707
+ } | null | undefined;
708
+ OptionsConstructor?: {
709
+ [x: string]: unknown;
710
+ } | null | undefined;
711
+ getEmbeddedSchemaType?: {} | null | undefined;
712
+ instance?: unknown;
713
+ isRequired?: unknown;
714
+ path?: unknown;
715
+ toJSONSchema?: {} | null | undefined;
716
+ validateAll?: {} | null | undefined;
717
+ defaultOptions?: unknown;
718
+ } | null | undefined;
623
719
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
624
720
  applicantId?: mongoose.Types.ObjectId | null | undefined;
625
721
  totalEmploymentGrossIncome?: {
@@ -1212,6 +1308,102 @@ declare const ApplicantIncomeSummaryModel: mongoose.Model<{
1212
1308
  validateAll?: {} | null | undefined;
1213
1309
  defaultOptions?: unknown;
1214
1310
  } | null | undefined;
1311
+ totalAnnualGrossIncome?: {
1312
+ validators: mongoose.Types.DocumentArray<{
1313
+ type?: unknown;
1314
+ message?: unknown;
1315
+ validator?: unknown;
1316
+ reason?: unknown;
1317
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1318
+ type?: unknown;
1319
+ message?: unknown;
1320
+ validator?: unknown;
1321
+ reason?: unknown;
1322
+ }> & {
1323
+ type?: unknown;
1324
+ message?: unknown;
1325
+ validator?: unknown;
1326
+ reason?: unknown;
1327
+ }>;
1328
+ get?: {} | null | undefined;
1329
+ schema?: {
1330
+ [x: string]: unknown;
1331
+ } | null | undefined;
1332
+ set?: {} | null | undefined;
1333
+ validate?: {} | null | undefined;
1334
+ index?: {} | null | undefined;
1335
+ default?: {} | null | undefined;
1336
+ text?: {} | null | undefined;
1337
+ unique?: {} | null | undefined;
1338
+ sparse?: {} | null | undefined;
1339
+ cast?: {} | null | undefined;
1340
+ required?: {} | null | undefined;
1341
+ ref?: {} | null | undefined;
1342
+ select?: {} | null | undefined;
1343
+ immutable?: {} | null | undefined;
1344
+ transform?: {} | null | undefined;
1345
+ options?: {
1346
+ [x: string]: unknown;
1347
+ } | null | undefined;
1348
+ OptionsConstructor?: {
1349
+ [x: string]: unknown;
1350
+ } | null | undefined;
1351
+ getEmbeddedSchemaType?: {} | null | undefined;
1352
+ instance?: unknown;
1353
+ isRequired?: unknown;
1354
+ path?: unknown;
1355
+ toJSONSchema?: {} | null | undefined;
1356
+ validateAll?: {} | null | undefined;
1357
+ defaultOptions?: unknown;
1358
+ } | null | undefined;
1359
+ totalAnnualNetIncome?: {
1360
+ validators: mongoose.Types.DocumentArray<{
1361
+ type?: unknown;
1362
+ message?: unknown;
1363
+ validator?: unknown;
1364
+ reason?: unknown;
1365
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
1366
+ type?: unknown;
1367
+ message?: unknown;
1368
+ validator?: unknown;
1369
+ reason?: unknown;
1370
+ }> & {
1371
+ type?: unknown;
1372
+ message?: unknown;
1373
+ validator?: unknown;
1374
+ reason?: unknown;
1375
+ }>;
1376
+ get?: {} | null | undefined;
1377
+ schema?: {
1378
+ [x: string]: unknown;
1379
+ } | null | undefined;
1380
+ set?: {} | null | undefined;
1381
+ validate?: {} | null | undefined;
1382
+ index?: {} | null | undefined;
1383
+ default?: {} | null | undefined;
1384
+ text?: {} | null | undefined;
1385
+ unique?: {} | null | undefined;
1386
+ sparse?: {} | null | undefined;
1387
+ cast?: {} | null | undefined;
1388
+ required?: {} | null | undefined;
1389
+ ref?: {} | null | undefined;
1390
+ select?: {} | null | undefined;
1391
+ immutable?: {} | null | undefined;
1392
+ transform?: {} | null | undefined;
1393
+ options?: {
1394
+ [x: string]: unknown;
1395
+ } | null | undefined;
1396
+ OptionsConstructor?: {
1397
+ [x: string]: unknown;
1398
+ } | null | undefined;
1399
+ getEmbeddedSchemaType?: {} | null | undefined;
1400
+ instance?: unknown;
1401
+ isRequired?: unknown;
1402
+ path?: unknown;
1403
+ toJSONSchema?: {} | null | undefined;
1404
+ validateAll?: {} | null | undefined;
1405
+ defaultOptions?: unknown;
1406
+ } | null | undefined;
1215
1407
  }, {}> & {
1216
1408
  applicantId?: mongoose.Types.ObjectId | null | undefined;
1217
1409
  totalEmploymentGrossIncome?: {
@@ -1804,6 +1996,102 @@ declare const ApplicantIncomeSummaryModel: mongoose.Model<{
1804
1996
  validateAll?: {} | null | undefined;
1805
1997
  defaultOptions?: unknown;
1806
1998
  } | null | undefined;
1999
+ totalAnnualGrossIncome?: {
2000
+ validators: mongoose.Types.DocumentArray<{
2001
+ type?: unknown;
2002
+ message?: unknown;
2003
+ validator?: unknown;
2004
+ reason?: unknown;
2005
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2006
+ type?: unknown;
2007
+ message?: unknown;
2008
+ validator?: unknown;
2009
+ reason?: unknown;
2010
+ }> & {
2011
+ type?: unknown;
2012
+ message?: unknown;
2013
+ validator?: unknown;
2014
+ reason?: unknown;
2015
+ }>;
2016
+ get?: {} | null | undefined;
2017
+ schema?: {
2018
+ [x: string]: unknown;
2019
+ } | null | undefined;
2020
+ set?: {} | null | undefined;
2021
+ validate?: {} | null | undefined;
2022
+ index?: {} | null | undefined;
2023
+ default?: {} | null | undefined;
2024
+ text?: {} | null | undefined;
2025
+ unique?: {} | null | undefined;
2026
+ sparse?: {} | null | undefined;
2027
+ cast?: {} | null | undefined;
2028
+ required?: {} | null | undefined;
2029
+ ref?: {} | null | undefined;
2030
+ select?: {} | null | undefined;
2031
+ immutable?: {} | null | undefined;
2032
+ transform?: {} | null | undefined;
2033
+ options?: {
2034
+ [x: string]: unknown;
2035
+ } | null | undefined;
2036
+ OptionsConstructor?: {
2037
+ [x: string]: unknown;
2038
+ } | null | undefined;
2039
+ getEmbeddedSchemaType?: {} | null | undefined;
2040
+ instance?: unknown;
2041
+ isRequired?: unknown;
2042
+ path?: unknown;
2043
+ toJSONSchema?: {} | null | undefined;
2044
+ validateAll?: {} | null | undefined;
2045
+ defaultOptions?: unknown;
2046
+ } | null | undefined;
2047
+ totalAnnualNetIncome?: {
2048
+ validators: mongoose.Types.DocumentArray<{
2049
+ type?: unknown;
2050
+ message?: unknown;
2051
+ validator?: unknown;
2052
+ reason?: unknown;
2053
+ }, mongoose.Types.Subdocument<mongoose.Types.ObjectId, any, {
2054
+ type?: unknown;
2055
+ message?: unknown;
2056
+ validator?: unknown;
2057
+ reason?: unknown;
2058
+ }> & {
2059
+ type?: unknown;
2060
+ message?: unknown;
2061
+ validator?: unknown;
2062
+ reason?: unknown;
2063
+ }>;
2064
+ get?: {} | null | undefined;
2065
+ schema?: {
2066
+ [x: string]: unknown;
2067
+ } | null | undefined;
2068
+ set?: {} | null | undefined;
2069
+ validate?: {} | null | undefined;
2070
+ index?: {} | null | undefined;
2071
+ default?: {} | null | undefined;
2072
+ text?: {} | null | undefined;
2073
+ unique?: {} | null | undefined;
2074
+ sparse?: {} | null | undefined;
2075
+ cast?: {} | null | undefined;
2076
+ required?: {} | null | undefined;
2077
+ ref?: {} | null | undefined;
2078
+ select?: {} | null | undefined;
2079
+ immutable?: {} | null | undefined;
2080
+ transform?: {} | null | undefined;
2081
+ options?: {
2082
+ [x: string]: unknown;
2083
+ } | null | undefined;
2084
+ OptionsConstructor?: {
2085
+ [x: string]: unknown;
2086
+ } | null | undefined;
2087
+ getEmbeddedSchemaType?: {} | null | undefined;
2088
+ instance?: unknown;
2089
+ isRequired?: unknown;
2090
+ path?: unknown;
2091
+ toJSONSchema?: {} | null | undefined;
2092
+ validateAll?: {} | null | undefined;
2093
+ defaultOptions?: unknown;
2094
+ } | null | undefined;
1807
2095
  } & {
1808
2096
  _id: mongoose.Types.ObjectId;
1809
2097
  } & {
@@ -1843,6 +2131,8 @@ declare const ApplicantIncomeSummaryModel: mongoose.Model<{
1843
2131
  isSoleTraderIncomeConfirmed: boolean;
1844
2132
  soleTraderGrossIncome: Pound;
1845
2133
  soleTraderNetIncome: Pound;
2134
+ totalAnnualGrossIncome: Pound;
2135
+ totalAnnualNetIncome: Pound;
1846
2136
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
1847
2137
  applicantId: mongoose.Types.ObjectId;
1848
2138
  totalEmploymentGrossIncome: Pound;
@@ -1871,6 +2161,8 @@ declare const ApplicantIncomeSummaryModel: mongoose.Model<{
1871
2161
  isSoleTraderIncomeConfirmed: boolean;
1872
2162
  soleTraderGrossIncome: Pound;
1873
2163
  soleTraderNetIncome: Pound;
2164
+ totalAnnualGrossIncome: Pound;
2165
+ totalAnnualNetIncome: Pound;
1874
2166
  }>, {}> & mongoose.FlatRecord<{
1875
2167
  applicantId: mongoose.Types.ObjectId;
1876
2168
  totalEmploymentGrossIncome: Pound;
@@ -1899,6 +2191,8 @@ declare const ApplicantIncomeSummaryModel: mongoose.Model<{
1899
2191
  isSoleTraderIncomeConfirmed: boolean;
1900
2192
  soleTraderGrossIncome: Pound;
1901
2193
  soleTraderNetIncome: Pound;
2194
+ totalAnnualGrossIncome: Pound;
2195
+ totalAnnualNetIncome: Pound;
1902
2196
  }> & {
1903
2197
  _id: mongoose.Types.ObjectId;
1904
2198
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"applicant-income-summary.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-income-summary.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAgD5D,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA2E,CAAC;AAE7G,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"applicant-income-summary.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-income-summary.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AAkD5D,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA2E,CAAC;AAE7G,eAAe,2BAA2B,CAAC"}
@@ -30,6 +30,8 @@ const applicantIncomeSummarySchema = new mongoose.Schema({
30
30
  isSoleTraderIncomeConfirmed: { type: Boolean, default: false },
31
31
  soleTraderGrossIncome: { type: Pound, get: formatPound, default: 0.00 },
32
32
  soleTraderNetIncome: { type: Pound, get: formatPound, default: 0.00 },
33
+ totalAnnualGrossIncome: { type: Pound, get: formatPound, default: 0.00 },
34
+ totalAnnualNetIncome: { type: Pound, get: formatPound, default: 0.00 },
33
35
  }, {
34
36
  toJSON: { getters: true },
35
37
  toObject: { getters: true }
@@ -0,0 +1,180 @@
1
+ /// <reference path="../value-objects/pound.d.ts" />
2
+ /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference types="mongoose/types/aggregate" />
5
+ /// <reference types="mongoose/types/callback" />
6
+ /// <reference types="mongoose/types/collection" />
7
+ /// <reference types="mongoose/types/connection" />
8
+ /// <reference types="mongoose/types/cursor" />
9
+ /// <reference types="mongoose/types/document" />
10
+ /// <reference types="mongoose/types/error" />
11
+ /// <reference types="mongoose/types/expressions" />
12
+ /// <reference types="mongoose/types/helpers" />
13
+ /// <reference types="mongoose/types/middlewares" />
14
+ /// <reference types="mongoose/types/indexes" />
15
+ /// <reference types="mongoose/types/models" />
16
+ /// <reference types="mongoose/types/mongooseoptions" />
17
+ /// <reference types="mongoose/types/pipelinestage" />
18
+ /// <reference types="mongoose/types/populate" />
19
+ /// <reference types="mongoose/types/query" />
20
+ /// <reference types="mongoose/types/schemaoptions" />
21
+ /// <reference types="mongoose/types/session" />
22
+ /// <reference types="mongoose/types/types" />
23
+ /// <reference types="mongoose/types/utility" />
24
+ /// <reference types="mongoose/types/validation" />
25
+ /// <reference types="mongoose/types/virtuals" />
26
+ /// <reference types="mongoose/types/schematypes" />
27
+ /// <reference types="mongoose/types/inferschematype" />
28
+ /// <reference types="mongoose/types/inferrawdoctype" />
29
+ import mongoose from "mongoose";
30
+ declare const AuditLogModel: mongoose.Model<{
31
+ name: string;
32
+ action: "read" | "create" | "update" | "delete";
33
+ timestamp: NativeDate;
34
+ recordId: mongoose.Types.ObjectId;
35
+ isSystemGenerated: boolean;
36
+ metadata?: any;
37
+ source?: string | null | undefined;
38
+ oldValue?: any;
39
+ newValue?: any;
40
+ fieldName?: string | null | undefined;
41
+ userId?: mongoose.Types.ObjectId | null | undefined;
42
+ ipAddress?: string | null | undefined;
43
+ userAgent?: string | null | undefined;
44
+ sessionId?: string | null | undefined;
45
+ externalData?: {
46
+ apprivoAuditId?: string | null | undefined;
47
+ syncStatus?: "pending" | "synced" | "failed" | null | undefined;
48
+ syncedAt?: NativeDate | null | undefined;
49
+ externalSystemId?: string | null | undefined;
50
+ } | null | undefined;
51
+ severity?: "low" | "medium" | "high" | "critical" | null | undefined;
52
+ }, {}, {}, {}, mongoose.Document<unknown, {}, {
53
+ name: string;
54
+ action: "read" | "create" | "update" | "delete";
55
+ timestamp: NativeDate;
56
+ recordId: mongoose.Types.ObjectId;
57
+ isSystemGenerated: boolean;
58
+ metadata?: any;
59
+ source?: string | null | undefined;
60
+ oldValue?: any;
61
+ newValue?: any;
62
+ fieldName?: string | null | undefined;
63
+ userId?: mongoose.Types.ObjectId | null | undefined;
64
+ ipAddress?: string | null | undefined;
65
+ userAgent?: string | null | undefined;
66
+ sessionId?: string | null | undefined;
67
+ externalData?: {
68
+ apprivoAuditId?: string | null | undefined;
69
+ syncStatus?: "pending" | "synced" | "failed" | null | undefined;
70
+ syncedAt?: NativeDate | null | undefined;
71
+ externalSystemId?: string | null | undefined;
72
+ } | null | undefined;
73
+ severity?: "low" | "medium" | "high" | "critical" | null | undefined;
74
+ }, {}> & {
75
+ name: string;
76
+ action: "read" | "create" | "update" | "delete";
77
+ timestamp: NativeDate;
78
+ recordId: mongoose.Types.ObjectId;
79
+ isSystemGenerated: boolean;
80
+ metadata?: any;
81
+ source?: string | null | undefined;
82
+ oldValue?: any;
83
+ newValue?: any;
84
+ fieldName?: string | null | undefined;
85
+ userId?: mongoose.Types.ObjectId | null | undefined;
86
+ ipAddress?: string | null | undefined;
87
+ userAgent?: string | null | undefined;
88
+ sessionId?: string | null | undefined;
89
+ externalData?: {
90
+ apprivoAuditId?: string | null | undefined;
91
+ syncStatus?: "pending" | "synced" | "failed" | null | undefined;
92
+ syncedAt?: NativeDate | null | undefined;
93
+ externalSystemId?: string | null | undefined;
94
+ } | null | undefined;
95
+ severity?: "low" | "medium" | "high" | "critical" | null | undefined;
96
+ } & {
97
+ _id: mongoose.Types.ObjectId;
98
+ } & {
99
+ __v: number;
100
+ }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
101
+ timestamps: false;
102
+ toJSON: {
103
+ virtuals: true;
104
+ };
105
+ toObject: {
106
+ virtuals: true;
107
+ };
108
+ }, {
109
+ name: string;
110
+ action: "read" | "create" | "update" | "delete";
111
+ timestamp: NativeDate;
112
+ recordId: mongoose.Types.ObjectId;
113
+ isSystemGenerated: boolean;
114
+ metadata?: any;
115
+ source?: string | null | undefined;
116
+ oldValue?: any;
117
+ newValue?: any;
118
+ fieldName?: string | null | undefined;
119
+ userId?: mongoose.Types.ObjectId | null | undefined;
120
+ ipAddress?: string | null | undefined;
121
+ userAgent?: string | null | undefined;
122
+ sessionId?: string | null | undefined;
123
+ externalData?: {
124
+ apprivoAuditId?: string | null | undefined;
125
+ syncStatus?: "pending" | "synced" | "failed" | null | undefined;
126
+ syncedAt?: NativeDate | null | undefined;
127
+ externalSystemId?: string | null | undefined;
128
+ } | null | undefined;
129
+ severity?: "low" | "medium" | "high" | "critical" | null | undefined;
130
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
131
+ name: string;
132
+ action: "read" | "create" | "update" | "delete";
133
+ timestamp: NativeDate;
134
+ recordId: mongoose.Types.ObjectId;
135
+ isSystemGenerated: boolean;
136
+ metadata?: any;
137
+ source?: string | null | undefined;
138
+ oldValue?: any;
139
+ newValue?: any;
140
+ fieldName?: string | null | undefined;
141
+ userId?: mongoose.Types.ObjectId | null | undefined;
142
+ ipAddress?: string | null | undefined;
143
+ userAgent?: string | null | undefined;
144
+ sessionId?: string | null | undefined;
145
+ externalData?: {
146
+ apprivoAuditId?: string | null | undefined;
147
+ syncStatus?: "pending" | "synced" | "failed" | null | undefined;
148
+ syncedAt?: NativeDate | null | undefined;
149
+ externalSystemId?: string | null | undefined;
150
+ } | null | undefined;
151
+ severity?: "low" | "medium" | "high" | "critical" | null | undefined;
152
+ }>, {}> & mongoose.FlatRecord<{
153
+ name: string;
154
+ action: "read" | "create" | "update" | "delete";
155
+ timestamp: NativeDate;
156
+ recordId: mongoose.Types.ObjectId;
157
+ isSystemGenerated: boolean;
158
+ metadata?: any;
159
+ source?: string | null | undefined;
160
+ oldValue?: any;
161
+ newValue?: any;
162
+ fieldName?: string | null | undefined;
163
+ userId?: mongoose.Types.ObjectId | null | undefined;
164
+ ipAddress?: string | null | undefined;
165
+ userAgent?: string | null | undefined;
166
+ sessionId?: string | null | undefined;
167
+ externalData?: {
168
+ apprivoAuditId?: string | null | undefined;
169
+ syncStatus?: "pending" | "synced" | "failed" | null | undefined;
170
+ syncedAt?: NativeDate | null | undefined;
171
+ externalSystemId?: string | null | undefined;
172
+ } | null | undefined;
173
+ severity?: "low" | "medium" | "high" | "critical" | null | undefined;
174
+ }> & {
175
+ _id: mongoose.Types.ObjectId;
176
+ } & {
177
+ __v: number;
178
+ }>>;
179
+ export default AuditLogModel;
180
+ //# sourceMappingURL=audit-log.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-log.model.d.ts","sourceRoot":"","sources":["../../shared/audit-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA6ChC,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AACjE,eAAe,aAAa,CAAC"}
@@ -0,0 +1,43 @@
1
+ import mongoose from "mongoose";
2
+ const auditLogSchema = new mongoose.Schema({
3
+ name: { type: String, required: true }, // Collection/model name
4
+ recordId: { type: mongoose.Schema.Types.ObjectId, required: true }, // ID of the record being audited
5
+ action: { type: String, required: true, enum: ['create', 'update', 'delete', 'read'] },
6
+ userId: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: false }, // User who performed the action
7
+ timestamp: { type: Date, default: Date.now, required: true },
8
+ oldValue: { type: mongoose.Schema.Types.Mixed, required: false }, // Previous value
9
+ newValue: { type: mongoose.Schema.Types.Mixed, required: false }, // New value
10
+ fieldName: { type: String, required: false }, // Specific field that changed
11
+ ipAddress: { type: String, required: false },
12
+ userAgent: { type: String, required: false },
13
+ sessionId: { type: String, required: false },
14
+ source: { type: String, required: false, default: 'application' }, // Source of the change
15
+ metadata: { type: mongoose.Schema.Types.Mixed, required: false },
16
+ externalData: {
17
+ apprivoAuditId: { type: String, required: false }, // External system audit ID
18
+ syncStatus: { type: String, required: false, enum: ['pending', 'synced', 'failed'] },
19
+ syncedAt: { type: Date, required: false },
20
+ externalSystemId: { type: String, required: false }
21
+ },
22
+ isSystemGenerated: { type: Boolean, default: false },
23
+ severity: { type: String, required: false, enum: ['low', 'medium', 'high', 'critical'], default: 'low' }
24
+ }, {
25
+ timestamps: false, // We use our own timestamp field
26
+ toJSON: { virtuals: true },
27
+ toObject: { virtuals: true }
28
+ });
29
+ // Virtual for formatted timestamp
30
+ auditLogSchema.virtual('formattedTimestamp').get(function () {
31
+ return this.timestamp ? this.timestamp.toISOString() : null;
32
+ });
33
+ // Add indexes to match database
34
+ auditLogSchema.index({ 'externalData.apprivoAuditId': 1 }); // External audit ID lookup
35
+ auditLogSchema.index({ name: 1, newValue: 1, recordId: 1, timestamp: -1 }); // Complex compound index
36
+ auditLogSchema.index({ name: 1, recordId: 1 }); // Filter by collection and record
37
+ auditLogSchema.index({ recordId: 1, timestamp: -1, _id: -1 }); // Record history with fallback sort
38
+ auditLogSchema.index({ timestamp: -1 }); // Sort by recent changes
39
+ auditLogSchema.index({ userId: 1, timestamp: -1 }); // User activity history
40
+ auditLogSchema.index({ action: 1, timestamp: -1 }); // Filter by action type
41
+ auditLogSchema.index({ name: 1, action: 1, timestamp: -1 }); // Collection-specific action history
42
+ const AuditLogModel = mongoose.model("AuditLog", auditLogSchema);
43
+ export default AuditLogModel;
@@ -0,0 +1,180 @@
1
+ /// <reference path="../value-objects/pound.d.ts" />
2
+ /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference types="mongoose/types/aggregate" />
5
+ /// <reference types="mongoose/types/callback" />
6
+ /// <reference types="mongoose/types/collection" />
7
+ /// <reference types="mongoose/types/connection" />
8
+ /// <reference types="mongoose/types/cursor" />
9
+ /// <reference types="mongoose/types/document" />
10
+ /// <reference types="mongoose/types/error" />
11
+ /// <reference types="mongoose/types/expressions" />
12
+ /// <reference types="mongoose/types/helpers" />
13
+ /// <reference types="mongoose/types/middlewares" />
14
+ /// <reference types="mongoose/types/indexes" />
15
+ /// <reference types="mongoose/types/models" />
16
+ /// <reference types="mongoose/types/mongooseoptions" />
17
+ /// <reference types="mongoose/types/pipelinestage" />
18
+ /// <reference types="mongoose/types/populate" />
19
+ /// <reference types="mongoose/types/query" />
20
+ /// <reference types="mongoose/types/schemaoptions" />
21
+ /// <reference types="mongoose/types/session" />
22
+ /// <reference types="mongoose/types/types" />
23
+ /// <reference types="mongoose/types/utility" />
24
+ /// <reference types="mongoose/types/validation" />
25
+ /// <reference types="mongoose/types/virtuals" />
26
+ /// <reference types="mongoose/types/schematypes" />
27
+ /// <reference types="mongoose/types/inferschematype" />
28
+ /// <reference types="mongoose/types/inferrawdoctype" />
29
+ import mongoose from "mongoose";
30
+ declare const DocumentModel: mongoose.Model<{
31
+ createdAt: NativeDate;
32
+ updatedAt: NativeDate;
33
+ } & {
34
+ isActive: boolean;
35
+ applicationId: mongoose.Types.ObjectId;
36
+ status: "pending" | "uploaded" | "verified" | "rejected" | "archived";
37
+ category: string;
38
+ fileName: string;
39
+ originalName: string;
40
+ mimeType: string;
41
+ fileSize: number;
42
+ filePath: string;
43
+ uploadedBy: mongoose.Types.ObjectId;
44
+ tags: string[];
45
+ metadata?: any;
46
+ contextId?: mongoose.Types.ObjectId | null | undefined;
47
+ rejectionReason?: string | null | undefined;
48
+ subCategory?: string | null | undefined;
49
+ verifiedBy?: mongoose.Types.ObjectId | null | undefined;
50
+ verifiedAt?: NativeDate | null | undefined;
51
+ expiresAt?: NativeDate | null | undefined;
52
+ }, {}, {}, {}, mongoose.Document<unknown, {}, {
53
+ createdAt: NativeDate;
54
+ updatedAt: NativeDate;
55
+ } & {
56
+ isActive: boolean;
57
+ applicationId: mongoose.Types.ObjectId;
58
+ status: "pending" | "uploaded" | "verified" | "rejected" | "archived";
59
+ category: string;
60
+ fileName: string;
61
+ originalName: string;
62
+ mimeType: string;
63
+ fileSize: number;
64
+ filePath: string;
65
+ uploadedBy: mongoose.Types.ObjectId;
66
+ tags: string[];
67
+ metadata?: any;
68
+ contextId?: mongoose.Types.ObjectId | null | undefined;
69
+ rejectionReason?: string | null | undefined;
70
+ subCategory?: string | null | undefined;
71
+ verifiedBy?: mongoose.Types.ObjectId | null | undefined;
72
+ verifiedAt?: NativeDate | null | undefined;
73
+ expiresAt?: NativeDate | null | undefined;
74
+ }, {}> & {
75
+ createdAt: NativeDate;
76
+ updatedAt: NativeDate;
77
+ } & {
78
+ isActive: boolean;
79
+ applicationId: mongoose.Types.ObjectId;
80
+ status: "pending" | "uploaded" | "verified" | "rejected" | "archived";
81
+ category: string;
82
+ fileName: string;
83
+ originalName: string;
84
+ mimeType: string;
85
+ fileSize: number;
86
+ filePath: string;
87
+ uploadedBy: mongoose.Types.ObjectId;
88
+ tags: string[];
89
+ metadata?: any;
90
+ contextId?: mongoose.Types.ObjectId | null | undefined;
91
+ rejectionReason?: string | null | undefined;
92
+ subCategory?: string | null | undefined;
93
+ verifiedBy?: mongoose.Types.ObjectId | null | undefined;
94
+ verifiedAt?: NativeDate | null | undefined;
95
+ expiresAt?: NativeDate | null | undefined;
96
+ } & {
97
+ _id: mongoose.Types.ObjectId;
98
+ } & {
99
+ __v: number;
100
+ }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
101
+ timestamps: true;
102
+ toJSON: {
103
+ virtuals: true;
104
+ };
105
+ toObject: {
106
+ virtuals: true;
107
+ };
108
+ }, {
109
+ createdAt: NativeDate;
110
+ updatedAt: NativeDate;
111
+ } & {
112
+ isActive: boolean;
113
+ applicationId: mongoose.Types.ObjectId;
114
+ status: "pending" | "uploaded" | "verified" | "rejected" | "archived";
115
+ category: string;
116
+ fileName: string;
117
+ originalName: string;
118
+ mimeType: string;
119
+ fileSize: number;
120
+ filePath: string;
121
+ uploadedBy: mongoose.Types.ObjectId;
122
+ tags: string[];
123
+ metadata?: any;
124
+ contextId?: mongoose.Types.ObjectId | null | undefined;
125
+ rejectionReason?: string | null | undefined;
126
+ subCategory?: string | null | undefined;
127
+ verifiedBy?: mongoose.Types.ObjectId | null | undefined;
128
+ verifiedAt?: NativeDate | null | undefined;
129
+ expiresAt?: NativeDate | null | undefined;
130
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
131
+ createdAt: NativeDate;
132
+ updatedAt: NativeDate;
133
+ } & {
134
+ isActive: boolean;
135
+ applicationId: mongoose.Types.ObjectId;
136
+ status: "pending" | "uploaded" | "verified" | "rejected" | "archived";
137
+ category: string;
138
+ fileName: string;
139
+ originalName: string;
140
+ mimeType: string;
141
+ fileSize: number;
142
+ filePath: string;
143
+ uploadedBy: mongoose.Types.ObjectId;
144
+ tags: string[];
145
+ metadata?: any;
146
+ contextId?: mongoose.Types.ObjectId | null | undefined;
147
+ rejectionReason?: string | null | undefined;
148
+ subCategory?: string | null | undefined;
149
+ verifiedBy?: mongoose.Types.ObjectId | null | undefined;
150
+ verifiedAt?: NativeDate | null | undefined;
151
+ expiresAt?: NativeDate | null | undefined;
152
+ }>, {}> & mongoose.FlatRecord<{
153
+ createdAt: NativeDate;
154
+ updatedAt: NativeDate;
155
+ } & {
156
+ isActive: boolean;
157
+ applicationId: mongoose.Types.ObjectId;
158
+ status: "pending" | "uploaded" | "verified" | "rejected" | "archived";
159
+ category: string;
160
+ fileName: string;
161
+ originalName: string;
162
+ mimeType: string;
163
+ fileSize: number;
164
+ filePath: string;
165
+ uploadedBy: mongoose.Types.ObjectId;
166
+ tags: string[];
167
+ metadata?: any;
168
+ contextId?: mongoose.Types.ObjectId | null | undefined;
169
+ rejectionReason?: string | null | undefined;
170
+ subCategory?: string | null | undefined;
171
+ verifiedBy?: mongoose.Types.ObjectId | null | undefined;
172
+ verifiedAt?: NativeDate | null | undefined;
173
+ expiresAt?: NativeDate | null | undefined;
174
+ }> & {
175
+ _id: mongoose.Types.ObjectId;
176
+ } & {
177
+ __v: number;
178
+ }>>;
179
+ export default DocumentModel;
180
+ //# sourceMappingURL=document.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.model.d.ts","sourceRoot":"","sources":["../../shared/document.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA0ChC,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AACjE,eAAe,aAAa,CAAC"}
@@ -0,0 +1,40 @@
1
+ import mongoose from "mongoose";
2
+ import { applyAuditMiddleware } from "@dynamatix/cat-shared/middlewares";
3
+ import { applyWorkflowPlugin } from "./workflow.plugin";
4
+ const documentSchema = new mongoose.Schema({
5
+ applicationId: { type: mongoose.Schema.Types.ObjectId, ref: "Application", required: true },
6
+ contextId: { type: mongoose.Schema.Types.ObjectId, required: false },
7
+ status: { type: String, required: true, enum: ['pending', 'uploaded', 'verified', 'rejected', 'archived'] },
8
+ category: { type: String, required: true },
9
+ subCategory: { type: String, required: false },
10
+ fileName: { type: String, required: true },
11
+ originalName: { type: String, required: true },
12
+ mimeType: { type: String, required: true },
13
+ fileSize: { type: Number, required: true },
14
+ filePath: { type: String, required: true },
15
+ uploadedBy: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true },
16
+ verifiedBy: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: false },
17
+ verifiedAt: { type: Date, required: false },
18
+ rejectionReason: { type: String, required: false },
19
+ metadata: { type: mongoose.Schema.Types.Mixed, required: false },
20
+ tags: [{ type: String }],
21
+ isActive: { type: Boolean, default: true },
22
+ expiresAt: { type: Date, required: false }
23
+ }, {
24
+ timestamps: true,
25
+ toJSON: { virtuals: true },
26
+ toObject: { virtuals: true }
27
+ });
28
+ applyAuditMiddleware(documentSchema, "Document");
29
+ applyWorkflowPlugin(documentSchema, 'document');
30
+ // Add indexes to match database
31
+ documentSchema.index({ applicationId: 1 }); // Filter by application
32
+ documentSchema.index({ contextId: 1 }); // Filter by context
33
+ documentSchema.index({ status: 1 }); // Filter by status
34
+ documentSchema.index({ category: 1 }); // Filter by category
35
+ documentSchema.index({ subCategory: 1 }); // Filter by subcategory
36
+ documentSchema.index({ applicationId: 1, status: 1 }); // Compound: application + status
37
+ documentSchema.index({ contextId: 1, status: 1 }); // Compound: context + status
38
+ documentSchema.index({ category: 1, status: 1 }); // Compound: category + status
39
+ const DocumentModel = mongoose.model("Document", documentSchema);
40
+ export default DocumentModel;
@@ -0,0 +1,180 @@
1
+ /// <reference path="../value-objects/pound.d.ts" />
2
+ /// <reference path="../value-objects/account-number.d.ts" />
3
+ /// <reference path="../value-objects/sort-code.d.ts" />
4
+ /// <reference types="mongoose/types/aggregate" />
5
+ /// <reference types="mongoose/types/callback" />
6
+ /// <reference types="mongoose/types/collection" />
7
+ /// <reference types="mongoose/types/connection" />
8
+ /// <reference types="mongoose/types/cursor" />
9
+ /// <reference types="mongoose/types/document" />
10
+ /// <reference types="mongoose/types/error" />
11
+ /// <reference types="mongoose/types/expressions" />
12
+ /// <reference types="mongoose/types/helpers" />
13
+ /// <reference types="mongoose/types/middlewares" />
14
+ /// <reference types="mongoose/types/indexes" />
15
+ /// <reference types="mongoose/types/models" />
16
+ /// <reference types="mongoose/types/mongooseoptions" />
17
+ /// <reference types="mongoose/types/pipelinestage" />
18
+ /// <reference types="mongoose/types/populate" />
19
+ /// <reference types="mongoose/types/query" />
20
+ /// <reference types="mongoose/types/schemaoptions" />
21
+ /// <reference types="mongoose/types/session" />
22
+ /// <reference types="mongoose/types/types" />
23
+ /// <reference types="mongoose/types/utility" />
24
+ /// <reference types="mongoose/types/validation" />
25
+ /// <reference types="mongoose/types/virtuals" />
26
+ /// <reference types="mongoose/types/schematypes" />
27
+ /// <reference types="mongoose/types/inferschematype" />
28
+ /// <reference types="mongoose/types/inferrawdoctype" />
29
+ import mongoose from "mongoose";
30
+ declare const QueueModel: mongoose.Model<{
31
+ createdAt: NativeDate;
32
+ updatedAt: NativeDate;
33
+ } & {
34
+ isActive: boolean;
35
+ name: string;
36
+ retryAttempts: number;
37
+ retryDelay: number;
38
+ priority: number;
39
+ maxConcurrency: number;
40
+ processingTimeout: number;
41
+ assignedUsers: mongoose.Types.ObjectId[];
42
+ description?: string | null | undefined;
43
+ departmentId?: mongoose.Types.ObjectId | null | undefined;
44
+ workflowId?: mongoose.Types.ObjectId | null | undefined;
45
+ settings?: any;
46
+ statistics?: {
47
+ totalProcessed: number;
48
+ totalFailed: number;
49
+ averageProcessingTime: number;
50
+ lastProcessedAt?: NativeDate | null | undefined;
51
+ } | null | undefined;
52
+ }, {}, {}, {}, mongoose.Document<unknown, {}, {
53
+ createdAt: NativeDate;
54
+ updatedAt: NativeDate;
55
+ } & {
56
+ isActive: boolean;
57
+ name: string;
58
+ retryAttempts: number;
59
+ retryDelay: number;
60
+ priority: number;
61
+ maxConcurrency: number;
62
+ processingTimeout: number;
63
+ assignedUsers: mongoose.Types.ObjectId[];
64
+ description?: string | null | undefined;
65
+ departmentId?: mongoose.Types.ObjectId | null | undefined;
66
+ workflowId?: mongoose.Types.ObjectId | null | undefined;
67
+ settings?: any;
68
+ statistics?: {
69
+ totalProcessed: number;
70
+ totalFailed: number;
71
+ averageProcessingTime: number;
72
+ lastProcessedAt?: NativeDate | null | undefined;
73
+ } | null | undefined;
74
+ }, {}> & {
75
+ createdAt: NativeDate;
76
+ updatedAt: NativeDate;
77
+ } & {
78
+ isActive: boolean;
79
+ name: string;
80
+ retryAttempts: number;
81
+ retryDelay: number;
82
+ priority: number;
83
+ maxConcurrency: number;
84
+ processingTimeout: number;
85
+ assignedUsers: mongoose.Types.ObjectId[];
86
+ description?: string | null | undefined;
87
+ departmentId?: mongoose.Types.ObjectId | null | undefined;
88
+ workflowId?: mongoose.Types.ObjectId | null | undefined;
89
+ settings?: any;
90
+ statistics?: {
91
+ totalProcessed: number;
92
+ totalFailed: number;
93
+ averageProcessingTime: number;
94
+ lastProcessedAt?: NativeDate | null | undefined;
95
+ } | null | undefined;
96
+ } & {
97
+ _id: mongoose.Types.ObjectId;
98
+ } & {
99
+ __v: number;
100
+ }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
101
+ timestamps: true;
102
+ toJSON: {
103
+ virtuals: true;
104
+ };
105
+ toObject: {
106
+ virtuals: true;
107
+ };
108
+ }, {
109
+ createdAt: NativeDate;
110
+ updatedAt: NativeDate;
111
+ } & {
112
+ isActive: boolean;
113
+ name: string;
114
+ retryAttempts: number;
115
+ retryDelay: number;
116
+ priority: number;
117
+ maxConcurrency: number;
118
+ processingTimeout: number;
119
+ assignedUsers: mongoose.Types.ObjectId[];
120
+ description?: string | null | undefined;
121
+ departmentId?: mongoose.Types.ObjectId | null | undefined;
122
+ workflowId?: mongoose.Types.ObjectId | null | undefined;
123
+ settings?: any;
124
+ statistics?: {
125
+ totalProcessed: number;
126
+ totalFailed: number;
127
+ averageProcessingTime: number;
128
+ lastProcessedAt?: NativeDate | null | undefined;
129
+ } | null | undefined;
130
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
131
+ createdAt: NativeDate;
132
+ updatedAt: NativeDate;
133
+ } & {
134
+ isActive: boolean;
135
+ name: string;
136
+ retryAttempts: number;
137
+ retryDelay: number;
138
+ priority: number;
139
+ maxConcurrency: number;
140
+ processingTimeout: number;
141
+ assignedUsers: mongoose.Types.ObjectId[];
142
+ description?: string | null | undefined;
143
+ departmentId?: mongoose.Types.ObjectId | null | undefined;
144
+ workflowId?: mongoose.Types.ObjectId | null | undefined;
145
+ settings?: any;
146
+ statistics?: {
147
+ totalProcessed: number;
148
+ totalFailed: number;
149
+ averageProcessingTime: number;
150
+ lastProcessedAt?: NativeDate | null | undefined;
151
+ } | null | undefined;
152
+ }>, {}> & mongoose.FlatRecord<{
153
+ createdAt: NativeDate;
154
+ updatedAt: NativeDate;
155
+ } & {
156
+ isActive: boolean;
157
+ name: string;
158
+ retryAttempts: number;
159
+ retryDelay: number;
160
+ priority: number;
161
+ maxConcurrency: number;
162
+ processingTimeout: number;
163
+ assignedUsers: mongoose.Types.ObjectId[];
164
+ description?: string | null | undefined;
165
+ departmentId?: mongoose.Types.ObjectId | null | undefined;
166
+ workflowId?: mongoose.Types.ObjectId | null | undefined;
167
+ settings?: any;
168
+ statistics?: {
169
+ totalProcessed: number;
170
+ totalFailed: number;
171
+ averageProcessingTime: number;
172
+ lastProcessedAt?: NativeDate | null | undefined;
173
+ } | null | undefined;
174
+ }> & {
175
+ _id: mongoose.Types.ObjectId;
176
+ } & {
177
+ __v: number;
178
+ }>>;
179
+ export default QueueModel;
180
+ //# sourceMappingURL=queue.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.model.d.ts","sourceRoot":"","sources":["../../shared/queue.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA6ChC,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuC,CAAC;AACxD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,42 @@
1
+ import mongoose from "mongoose";
2
+ import { applyAuditMiddleware } from "@dynamatix/cat-shared/middlewares";
3
+ import { applyWorkflowPlugin } from "./workflow.plugin";
4
+ const queueSchema = new mongoose.Schema({
5
+ name: { type: String, required: true, unique: true },
6
+ description: { type: String, required: false },
7
+ isActive: { type: Boolean, default: true },
8
+ priority: { type: Number, default: 0 },
9
+ maxConcurrency: { type: Number, default: 1 },
10
+ retryAttempts: { type: Number, default: 3 },
11
+ retryDelay: { type: Number, default: 5000 }, // milliseconds
12
+ processingTimeout: { type: Number, default: 300000 }, // 5 minutes in milliseconds
13
+ assignedUsers: [{ type: mongoose.Schema.Types.ObjectId, ref: "User" }],
14
+ departmentId: { type: mongoose.Schema.Types.ObjectId, ref: "Department", required: false },
15
+ workflowId: { type: mongoose.Schema.Types.ObjectId, ref: "Workflow", required: false },
16
+ settings: { type: mongoose.Schema.Types.Mixed, required: false },
17
+ statistics: {
18
+ totalProcessed: { type: Number, default: 0 },
19
+ totalFailed: { type: Number, default: 0 },
20
+ averageProcessingTime: { type: Number, default: 0 },
21
+ lastProcessedAt: { type: Date, required: false }
22
+ }
23
+ }, {
24
+ timestamps: true,
25
+ toJSON: { virtuals: true },
26
+ toObject: { virtuals: true }
27
+ });
28
+ // Virtual for current queue size (would need to be populated from related collections)
29
+ queueSchema.virtual('currentSize').get(function () {
30
+ // This would typically be calculated by counting related queue items
31
+ return 0;
32
+ });
33
+ applyAuditMiddleware(queueSchema, "Queue");
34
+ applyWorkflowPlugin(queueSchema, 'queue');
35
+ // Add indexes to match database
36
+ queueSchema.index({ name: 1 }, { unique: true }); // Unique queue name
37
+ queueSchema.index({ isActive: 1 }); // Filter by active status
38
+ queueSchema.index({ priority: -1 }); // Sort by priority (highest first)
39
+ queueSchema.index({ departmentId: 1 }); // Filter by department
40
+ queueSchema.index({ isActive: 1, priority: -1 }); // Compound: active + priority
41
+ const QueueModel = mongoose.model("Queue", queueSchema);
42
+ export default QueueModel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamatix/gb-schemas",
3
- "version": "2.3.330",
3
+ "version": "2.3.332",
4
4
  "description": "All the schemas for gatehouse bank back-end",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",