@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.
- package/dist/applicants/applicant-income-summary.model.d.ts +294 -0
- package/dist/applicants/applicant-income-summary.model.d.ts.map +1 -1
- package/dist/applicants/applicant-income-summary.model.js +2 -0
- package/dist/shared/audit-log.model.d.ts +180 -0
- package/dist/shared/audit-log.model.d.ts.map +1 -0
- package/dist/shared/audit-log.model.js +43 -0
- package/dist/shared/document.model.d.ts +180 -0
- package/dist/shared/document.model.d.ts.map +1 -0
- package/dist/shared/document.model.js +40 -0
- package/dist/shared/queue.model.d.ts +180 -0
- package/dist/shared/queue.model.d.ts.map +1 -0
- package/dist/shared/queue.model.js +42 -0
- package/package.json +1 -1
|
@@ -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;
|
|
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;
|