@dynamatix/gb-schemas 2.3.293 → 2.3.296
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/README.md +308 -308
- package/dist/applicants/applicant-welcome-call.model.d.ts.map +1 -1
- package/dist/applicants/applicant-welcome-call.model.js +28 -28
- package/dist/applications/application-company-model.d.ts +6 -0
- package/dist/applications/application-company-model.d.ts.map +1 -1
- package/dist/applications/application-company-model.js +1 -0
- package/dist/applications/application-rationale.model.d.ts +21 -1
- package/dist/applications/application-rationale.model.d.ts.map +1 -1
- package/dist/applications/application-rationale.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 +87 -86
- package/dist/applicants/applicant-income-source.model.d.ts +0 -26
- package/dist/applicants/applicant-income-source.model.d.ts.map +0 -1
- package/dist/applicants/applicant-income.model.d.ts +0 -160
- package/dist/applicants/applicant-income.model.d.ts.map +0 -1
- package/dist/applicants/applicant-other-income.model.d.ts +0 -85
- package/dist/applicants/applicant-other-income.model.d.ts.map +0 -1
- package/dist/applications/application-document.model.d.ts +0 -158
- package/dist/applications/application-document.model.d.ts.map +0 -1
- package/dist/applications/document.model.d.ts +0 -158
- package/dist/applications/document.model.d.ts.map +0 -1
- package/dist/applications/productfeatures.model.d.ts +0 -368
- package/dist/applications/productfeatures.model.d.ts.map +0 -1
- package/dist/shared/document-type-model.d.ts +0 -48
- package/dist/shared/document-type-model.d.ts.map +0 -1
|
@@ -388,10 +388,10 @@ welcomeCallSchema.virtual('otherApplicantsNameAndDOB').get(function () {
|
|
|
388
388
|
const isLast = index === otherApplicants.length - 1;
|
|
389
389
|
const comma = isLast ? '' : ',';
|
|
390
390
|
// Format as an HTML line (with bold labels and inline values)
|
|
391
|
-
return `
|
|
392
|
-
<div class="applicant-line">
|
|
393
|
-
<span class="readonly-data">${fullFirstName}, ${lastName}, ${formattedDOB}${comma}</span>
|
|
394
|
-
</div>
|
|
391
|
+
return `
|
|
392
|
+
<div class="applicant-line">
|
|
393
|
+
<span class="readonly-data">${fullFirstName}, ${lastName}, ${formattedDOB}${comma}</span>
|
|
394
|
+
</div>
|
|
395
395
|
`;
|
|
396
396
|
}).filter((line) => line && line.trim() !== '');
|
|
397
397
|
// Join all applicants as HTML (no \n needed)
|
|
@@ -611,25 +611,6 @@ welcomeCallSchema.virtual('financeSummaryHtml').get(async function () {
|
|
|
611
611
|
else {
|
|
612
612
|
financeTerm = '-';
|
|
613
613
|
}
|
|
614
|
-
// Get monthly repayment amount from productFeatures collection
|
|
615
|
-
try {
|
|
616
|
-
const ApplicationProductFeatures = mongoose.model('ApplicationProductFeatures');
|
|
617
|
-
const productFeatures = await ApplicationProductFeatures.findOne({
|
|
618
|
-
applicationId: application
|
|
619
|
-
});
|
|
620
|
-
if (productFeatures && productFeatures.repayment !== undefined && productFeatures.repayment !== null) {
|
|
621
|
-
const numericValue = Number(productFeatures.repayment);
|
|
622
|
-
const repaymentValue = isNaN(numericValue) ? '0.00' : numericValue.toFixed(2);
|
|
623
|
-
monthlyRepayment = `£${repaymentValue}`;
|
|
624
|
-
}
|
|
625
|
-
else {
|
|
626
|
-
monthlyRepayment = '-';
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
catch (error) {
|
|
630
|
-
console.log('Error fetching product features:', error);
|
|
631
|
-
monthlyRepayment = '-';
|
|
632
|
-
}
|
|
633
614
|
// Get rental income from mortgage - mortgageId is at application level
|
|
634
615
|
let mortgage = null;
|
|
635
616
|
if (application.mortgageId && typeof application.mortgageId === 'object') {
|
|
@@ -643,6 +624,25 @@ welcomeCallSchema.virtual('financeSummaryHtml').get(async function () {
|
|
|
643
624
|
const rentalValue = isNaN(numericValue) ? '0.00' : numericValue.toFixed(2);
|
|
644
625
|
rentalIncome = `£${rentalValue}`;
|
|
645
626
|
}
|
|
627
|
+
// Get monthly repayment amount from productFeatures collection
|
|
628
|
+
try {
|
|
629
|
+
const ApplicationProductFeatures = mongoose.model('ApplicationProductFeatures');
|
|
630
|
+
const productFeatures = await ApplicationProductFeatures.findOne({
|
|
631
|
+
applicationId: application
|
|
632
|
+
});
|
|
633
|
+
if (productFeatures && productFeatures.repayment !== undefined && productFeatures.repayment !== null) {
|
|
634
|
+
const numericValue = Number(productFeatures.repayment);
|
|
635
|
+
const repaymentValue = isNaN(numericValue) ? '0.00' : numericValue.toFixed(2);
|
|
636
|
+
monthlyRepayment = `£${repaymentValue}`;
|
|
637
|
+
}
|
|
638
|
+
else {
|
|
639
|
+
monthlyRepayment = '-';
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
catch (error) {
|
|
643
|
+
console.log('Error fetching product features:', error);
|
|
644
|
+
monthlyRepayment = '-';
|
|
645
|
+
}
|
|
646
646
|
// Get occupancy information from mortgage
|
|
647
647
|
if (mortgage.proposedTenantsLids && Array.isArray(mortgage.proposedTenantsLids) && mortgage.proposedTenantsLids.length > 0) {
|
|
648
648
|
// Get the first proposed tenant type
|
|
@@ -661,14 +661,14 @@ welcomeCallSchema.virtual('financeSummaryHtml').get(async function () {
|
|
|
661
661
|
application.lendingTypeLid.name === 'BTL';
|
|
662
662
|
const monthlyRepaymentClass = isBTL ? 'mb-2' : '';
|
|
663
663
|
// Create HTML content
|
|
664
|
-
let summaryContent = `
|
|
665
|
-
<div class="flex align-items-center mb-2"><p class="text-bold m-0 readonly-data">Product:</p> <span class="readonly-data ml-2">${product}</span></div>
|
|
666
|
-
<div class="flex align-items-center mb-2"><p class="text-bold m-0 readonly-data">Finance Term:</p> <span class="readonly-data ml-2">${financeTerm}</span></div>
|
|
664
|
+
let summaryContent = `
|
|
665
|
+
<div class="flex align-items-center mb-2"><p class="text-bold m-0 readonly-data">Product:</p> <span class="readonly-data ml-2">${product}</span></div>
|
|
666
|
+
<div class="flex align-items-center mb-2"><p class="text-bold m-0 readonly-data">Finance Term:</p> <span class="readonly-data ml-2">${financeTerm}</span></div>
|
|
667
667
|
<div class="flex align-items-center ${monthlyRepaymentClass}"><p class="text-bold m-0 readonly-data">Monthly Repayment:</p> <span class="readonly-data ml-2">${monthlyRepayment}</span></div>`;
|
|
668
668
|
// Only show rental income and occupancy for BTL applications
|
|
669
669
|
if (isBTL) {
|
|
670
|
-
summaryContent += `
|
|
671
|
-
<div class="flex align-items-center mb-2"><p class="text-bold m-0 readonly-data">Rental Income:</p> <span class="readonly-data ml-2">${rentalIncome}</span></div>
|
|
670
|
+
summaryContent += `
|
|
671
|
+
<div class="flex align-items-center mb-2"><p class="text-bold m-0 readonly-data">Rental Income:</p> <span class="readonly-data ml-2">${rentalIncome}</span></div>
|
|
672
672
|
<div class="flex align-items-center"><p class="text-bold m-0 readonly-data">Occupancy:</p> <span class="readonly-data ml-2">${occupancy}</span></div>`;
|
|
673
673
|
}
|
|
674
674
|
return summaryContent;
|
|
@@ -433,6 +433,7 @@ declare const ApplicationCompanyModel: mongoose.Model<{
|
|
|
433
433
|
businessTypeLid?: unknown;
|
|
434
434
|
registeredNumber?: unknown;
|
|
435
435
|
isRegisteredNumber?: unknown;
|
|
436
|
+
companyHouseLink?: unknown;
|
|
436
437
|
taxJurisdictionLid?: unknown;
|
|
437
438
|
natureOfBusiness?: unknown;
|
|
438
439
|
addressPostCode?: unknown;
|
|
@@ -864,6 +865,7 @@ declare const ApplicationCompanyModel: mongoose.Model<{
|
|
|
864
865
|
businessTypeLid?: unknown;
|
|
865
866
|
registeredNumber?: unknown;
|
|
866
867
|
isRegisteredNumber?: unknown;
|
|
868
|
+
companyHouseLink?: unknown;
|
|
867
869
|
taxJurisdictionLid?: unknown;
|
|
868
870
|
natureOfBusiness?: unknown;
|
|
869
871
|
addressPostCode?: unknown;
|
|
@@ -1295,6 +1297,7 @@ declare const ApplicationCompanyModel: mongoose.Model<{
|
|
|
1295
1297
|
businessTypeLid?: unknown;
|
|
1296
1298
|
registeredNumber?: unknown;
|
|
1297
1299
|
isRegisteredNumber?: unknown;
|
|
1300
|
+
companyHouseLink?: unknown;
|
|
1298
1301
|
taxJurisdictionLid?: unknown;
|
|
1299
1302
|
natureOfBusiness?: unknown;
|
|
1300
1303
|
addressPostCode?: unknown;
|
|
@@ -1373,6 +1376,7 @@ declare const ApplicationCompanyModel: mongoose.Model<{
|
|
|
1373
1376
|
businessTypeLid?: unknown;
|
|
1374
1377
|
registeredNumber?: unknown;
|
|
1375
1378
|
isRegisteredNumber?: unknown;
|
|
1379
|
+
companyHouseLink?: unknown;
|
|
1376
1380
|
taxJurisdictionLid?: unknown;
|
|
1377
1381
|
natureOfBusiness?: unknown;
|
|
1378
1382
|
addressPostCode?: unknown;
|
|
@@ -1437,6 +1441,7 @@ declare const ApplicationCompanyModel: mongoose.Model<{
|
|
|
1437
1441
|
businessTypeLid?: unknown;
|
|
1438
1442
|
registeredNumber?: unknown;
|
|
1439
1443
|
isRegisteredNumber?: unknown;
|
|
1444
|
+
companyHouseLink?: unknown;
|
|
1440
1445
|
taxJurisdictionLid?: unknown;
|
|
1441
1446
|
natureOfBusiness?: unknown;
|
|
1442
1447
|
addressPostCode?: unknown;
|
|
@@ -1501,6 +1506,7 @@ declare const ApplicationCompanyModel: mongoose.Model<{
|
|
|
1501
1506
|
businessTypeLid?: unknown;
|
|
1502
1507
|
registeredNumber?: unknown;
|
|
1503
1508
|
isRegisteredNumber?: unknown;
|
|
1509
|
+
companyHouseLink?: unknown;
|
|
1504
1510
|
taxJurisdictionLid?: unknown;
|
|
1505
1511
|
natureOfBusiness?: unknown;
|
|
1506
1512
|
addressPostCode?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-company-model.d.ts","sourceRoot":"","sources":["../../applications/application-company-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAe,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"application-company-model.d.ts","sourceRoot":"","sources":["../../applications/application-company-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAe,MAAM,0BAA0B,CAAA;AAmJ7D,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAsD,CAAC;AACpF,eAAe,uBAAuB,CAAC"}
|
|
@@ -18,6 +18,7 @@ const companySchema = new mongoose.Schema({
|
|
|
18
18
|
businessTypeLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", required: true }, // form
|
|
19
19
|
registeredNumber: { type: AccountNumber, max: 99999999, default: 0 }, // form
|
|
20
20
|
isRegisteredNumber: { type: Boolean, default: false, }, // form
|
|
21
|
+
companyHouseLink: { type: String, default: '' }, // form
|
|
21
22
|
taxJurisdictionLid: { type: mongoose.Schema.Types.ObjectId, ref: "Lookup", required: true }, // form
|
|
22
23
|
tradingSince: { type: String, default: null }, // form
|
|
23
24
|
natureOfBusiness: { type: String, maxlength: 100, default: '' }, // form
|
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
29
29
|
import mongoose from "mongoose";
|
|
30
30
|
declare const ApplicationRationaleModel: mongoose.Model<{
|
|
31
|
+
createdAt: NativeDate;
|
|
32
|
+
updatedAt: NativeDate;
|
|
33
|
+
} & {
|
|
31
34
|
applicationId: mongoose.Types.ObjectId;
|
|
32
35
|
rationaleTypeLid: mongoose.Types.ObjectId;
|
|
33
36
|
generatedText: string;
|
|
@@ -39,6 +42,9 @@ declare const ApplicationRationaleModel: mongoose.Model<{
|
|
|
39
42
|
updatedBy: string;
|
|
40
43
|
} | null | undefined;
|
|
41
44
|
}, {}, {}, {}, mongoose.Document<unknown, {}, {
|
|
45
|
+
createdAt: NativeDate;
|
|
46
|
+
updatedAt: NativeDate;
|
|
47
|
+
} & {
|
|
42
48
|
applicationId: mongoose.Types.ObjectId;
|
|
43
49
|
rationaleTypeLid: mongoose.Types.ObjectId;
|
|
44
50
|
generatedText: string;
|
|
@@ -50,6 +56,9 @@ declare const ApplicationRationaleModel: mongoose.Model<{
|
|
|
50
56
|
updatedBy: string;
|
|
51
57
|
} | null | undefined;
|
|
52
58
|
}, {}> & {
|
|
59
|
+
createdAt: NativeDate;
|
|
60
|
+
updatedAt: NativeDate;
|
|
61
|
+
} & {
|
|
53
62
|
applicationId: mongoose.Types.ObjectId;
|
|
54
63
|
rationaleTypeLid: mongoose.Types.ObjectId;
|
|
55
64
|
generatedText: string;
|
|
@@ -64,7 +73,12 @@ declare const ApplicationRationaleModel: mongoose.Model<{
|
|
|
64
73
|
_id: mongoose.Types.ObjectId;
|
|
65
74
|
} & {
|
|
66
75
|
__v: number;
|
|
67
|
-
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {},
|
|
76
|
+
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
77
|
+
timestamps: true;
|
|
78
|
+
}, {
|
|
79
|
+
createdAt: NativeDate;
|
|
80
|
+
updatedAt: NativeDate;
|
|
81
|
+
} & {
|
|
68
82
|
applicationId: mongoose.Types.ObjectId;
|
|
69
83
|
rationaleTypeLid: mongoose.Types.ObjectId;
|
|
70
84
|
generatedText: string;
|
|
@@ -76,6 +90,9 @@ declare const ApplicationRationaleModel: mongoose.Model<{
|
|
|
76
90
|
updatedBy: string;
|
|
77
91
|
} | null | undefined;
|
|
78
92
|
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
93
|
+
createdAt: NativeDate;
|
|
94
|
+
updatedAt: NativeDate;
|
|
95
|
+
} & {
|
|
79
96
|
applicationId: mongoose.Types.ObjectId;
|
|
80
97
|
rationaleTypeLid: mongoose.Types.ObjectId;
|
|
81
98
|
generatedText: string;
|
|
@@ -87,6 +104,9 @@ declare const ApplicationRationaleModel: mongoose.Model<{
|
|
|
87
104
|
updatedBy: string;
|
|
88
105
|
} | null | undefined;
|
|
89
106
|
}>, {}> & mongoose.FlatRecord<{
|
|
107
|
+
createdAt: NativeDate;
|
|
108
|
+
updatedAt: NativeDate;
|
|
109
|
+
} & {
|
|
90
110
|
applicationId: mongoose.Types.ObjectId;
|
|
91
111
|
rationaleTypeLid: mongoose.Types.ObjectId;
|
|
92
112
|
generatedText: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-rationale.model.d.ts","sourceRoot":"","sources":["../../applications/application-rationale.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,QAAQ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"application-rationale.model.d.ts","sourceRoot":"","sources":["../../applications/application-rationale.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA4BhC,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA0D,CAAC;AAC1F,eAAe,yBAAyB,CAAC"}
|
|
@@ -13,6 +13,8 @@ const rationaleSchema = new mongoose.Schema({
|
|
|
13
13
|
generatedText: { type: String, default: null },
|
|
14
14
|
comment: commentSchema,
|
|
15
15
|
isConfirmed: { type: Boolean, default: null }
|
|
16
|
+
}, {
|
|
17
|
+
timestamps: true
|
|
16
18
|
});
|
|
17
19
|
applyAuditMiddleware(rationaleSchema, "ApplicationRationale");
|
|
18
20
|
// Apply workflow plugin to the schema
|
|
@@ -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"}
|