@dynamatix/gb-schemas 2.3.351 → 2.3.352

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.
@@ -73,6 +73,7 @@ declare const WelcomeCallModel: mongoose.Model<{
73
73
  customerQuestions: string;
74
74
  underwriterName: string;
75
75
  failedCallDate: string;
76
+ isAlgbraAccountRequested: boolean;
76
77
  applicationId?: mongoose.Types.ObjectId | null | undefined;
77
78
  lendingTypeLid?: mongoose.Types.ObjectId | null | undefined;
78
79
  purchaseTypeLid?: mongoose.Types.ObjectId | null | undefined;
@@ -127,6 +128,7 @@ declare const WelcomeCallModel: mongoose.Model<{
127
128
  customerQuestions: string;
128
129
  underwriterName: string;
129
130
  failedCallDate: string;
131
+ isAlgbraAccountRequested: boolean;
130
132
  applicationId?: mongoose.Types.ObjectId | null | undefined;
131
133
  lendingTypeLid?: mongoose.Types.ObjectId | null | undefined;
132
134
  purchaseTypeLid?: mongoose.Types.ObjectId | null | undefined;
@@ -181,6 +183,7 @@ declare const WelcomeCallModel: mongoose.Model<{
181
183
  customerQuestions: string;
182
184
  underwriterName: string;
183
185
  failedCallDate: string;
186
+ isAlgbraAccountRequested: boolean;
184
187
  applicationId?: mongoose.Types.ObjectId | null | undefined;
185
188
  lendingTypeLid?: mongoose.Types.ObjectId | null | undefined;
186
189
  purchaseTypeLid?: mongoose.Types.ObjectId | null | undefined;
@@ -247,6 +250,7 @@ declare const WelcomeCallModel: mongoose.Model<{
247
250
  customerQuestions: string;
248
251
  underwriterName: string;
249
252
  failedCallDate: string;
253
+ isAlgbraAccountRequested: boolean;
250
254
  applicationId?: mongoose.Types.ObjectId | null | undefined;
251
255
  lendingTypeLid?: mongoose.Types.ObjectId | null | undefined;
252
256
  purchaseTypeLid?: mongoose.Types.ObjectId | null | undefined;
@@ -301,6 +305,7 @@ declare const WelcomeCallModel: mongoose.Model<{
301
305
  customerQuestions: string;
302
306
  underwriterName: string;
303
307
  failedCallDate: string;
308
+ isAlgbraAccountRequested: boolean;
304
309
  applicationId?: mongoose.Types.ObjectId | null | undefined;
305
310
  lendingTypeLid?: mongoose.Types.ObjectId | null | undefined;
306
311
  purchaseTypeLid?: mongoose.Types.ObjectId | null | undefined;
@@ -355,6 +360,7 @@ declare const WelcomeCallModel: mongoose.Model<{
355
360
  customerQuestions: string;
356
361
  underwriterName: string;
357
362
  failedCallDate: string;
363
+ isAlgbraAccountRequested: boolean;
358
364
  applicationId?: mongoose.Types.ObjectId | null | undefined;
359
365
  lendingTypeLid?: mongoose.Types.ObjectId | null | undefined;
360
366
  purchaseTypeLid?: mongoose.Types.ObjectId | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"applicant-welcome-call.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-welcome-call.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAwuBhC,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA4D,CAAC;AAEnF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"applicant-welcome-call.model.d.ts","sourceRoot":"","sources":["../../applicants/applicant-welcome-call.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA6uBhC,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA4D,CAAC;AAEnF,eAAe,gBAAgB,CAAC"}
@@ -206,6 +206,11 @@ const welcomeCallSchema = new mongoose.Schema({
206
206
  description: "Failed Call Date",
207
207
  default: null
208
208
  },
209
+ isAlgbraAccountRequested: {
210
+ type: Boolean,
211
+ default: false,
212
+ description: "if Algbra bank account has been requested"
213
+ },
209
214
  isActive: {
210
215
  type: Boolean,
211
216
  default: true,
@@ -30,7 +30,6 @@ import mongoose from "mongoose";
30
30
  declare const ApplicationValuationReportModel: mongoose.Model<{
31
31
  applicationId: mongoose.Types.ObjectId;
32
32
  applicantName: string;
33
- documentId: mongoose.Types.ObjectId;
34
33
  applicationNumber: string;
35
34
  propertyAddress: string;
36
35
  postCode: string;
@@ -248,7 +247,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
248
247
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
249
248
  applicationId: mongoose.Types.ObjectId;
250
249
  applicantName: string;
251
- documentId: mongoose.Types.ObjectId;
252
250
  applicationNumber: string;
253
251
  propertyAddress: string;
254
252
  postCode: string;
@@ -466,7 +464,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
466
464
  }, {}> & {
467
465
  applicationId: mongoose.Types.ObjectId;
468
466
  applicantName: string;
469
- documentId: mongoose.Types.ObjectId;
470
467
  applicationNumber: string;
471
468
  propertyAddress: string;
472
469
  postCode: string;
@@ -688,7 +685,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
688
685
  }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
689
686
  applicationId: mongoose.Types.ObjectId;
690
687
  applicantName: string;
691
- documentId: mongoose.Types.ObjectId;
692
688
  applicationNumber: string;
693
689
  propertyAddress: string;
694
690
  postCode: string;
@@ -906,7 +902,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
906
902
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
907
903
  applicationId: mongoose.Types.ObjectId;
908
904
  applicantName: string;
909
- documentId: mongoose.Types.ObjectId;
910
905
  applicationNumber: string;
911
906
  propertyAddress: string;
912
907
  postCode: string;
@@ -1124,7 +1119,6 @@ declare const ApplicationValuationReportModel: mongoose.Model<{
1124
1119
  }>, {}> & mongoose.FlatRecord<{
1125
1120
  applicationId: mongoose.Types.ObjectId;
1126
1121
  applicantName: string;
1127
- documentId: mongoose.Types.ObjectId;
1128
1122
  applicationNumber: string;
1129
1123
  propertyAddress: string;
1130
1124
  postCode: string;
@@ -1 +1 @@
1
- {"version":3,"file":"application-valuation-report.model.d.ts","sourceRoot":"","sources":["../../applications/application-valuation-report.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA2zBhC,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAsE,CAAC;AAC5G,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"application-valuation-report.model.d.ts","sourceRoot":"","sources":["../../applications/application-valuation-report.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAszBhC,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAsE,CAAC;AAC5G,eAAe,+BAA+B,CAAC"}
@@ -762,11 +762,6 @@ const valuationReportSchema = new mongoose.Schema({
762
762
  ref: "Application",
763
763
  required: true
764
764
  },
765
- documentId: {
766
- type: mongoose.Schema.Types.ObjectId,
767
- ref: "Document",
768
- required: true
769
- },
770
765
  applicationNumber: { type: String, default: "" },
771
766
  applicantName: { type: String, default: "" },
772
767
  propertyAddress: { type: String, default: "" },
@@ -34,9 +34,9 @@ declare const AlertModel: mongoose.Model<{
34
34
  isActive: string;
35
35
  applicationId: mongoose.Types.ObjectId;
36
36
  statusLid?: mongoose.Types.ObjectId | null | undefined;
37
- documentId?: mongoose.Types.ObjectId | null | undefined;
38
37
  alertTypeLid?: mongoose.Types.ObjectId | null | undefined;
39
38
  alertMessage?: string | null | undefined;
39
+ documentId?: mongoose.Types.ObjectId | null | undefined;
40
40
  }, {}, {}, {}, mongoose.Document<unknown, {}, {
41
41
  createdAt: NativeDate;
42
42
  updatedAt: NativeDate;
@@ -44,9 +44,9 @@ declare const AlertModel: mongoose.Model<{
44
44
  isActive: string;
45
45
  applicationId: mongoose.Types.ObjectId;
46
46
  statusLid?: mongoose.Types.ObjectId | null | undefined;
47
- documentId?: mongoose.Types.ObjectId | null | undefined;
48
47
  alertTypeLid?: mongoose.Types.ObjectId | null | undefined;
49
48
  alertMessage?: string | null | undefined;
49
+ documentId?: mongoose.Types.ObjectId | null | undefined;
50
50
  }, {}> & {
51
51
  createdAt: NativeDate;
52
52
  updatedAt: NativeDate;
@@ -54,9 +54,9 @@ declare const AlertModel: mongoose.Model<{
54
54
  isActive: string;
55
55
  applicationId: mongoose.Types.ObjectId;
56
56
  statusLid?: mongoose.Types.ObjectId | null | undefined;
57
- documentId?: mongoose.Types.ObjectId | null | undefined;
58
57
  alertTypeLid?: mongoose.Types.ObjectId | null | undefined;
59
58
  alertMessage?: string | null | undefined;
59
+ documentId?: mongoose.Types.ObjectId | null | undefined;
60
60
  } & {
61
61
  _id: mongoose.Types.ObjectId;
62
62
  } & {
@@ -70,9 +70,9 @@ declare const AlertModel: mongoose.Model<{
70
70
  isActive: string;
71
71
  applicationId: mongoose.Types.ObjectId;
72
72
  statusLid?: mongoose.Types.ObjectId | null | undefined;
73
- documentId?: mongoose.Types.ObjectId | null | undefined;
74
73
  alertTypeLid?: mongoose.Types.ObjectId | null | undefined;
75
74
  alertMessage?: string | null | undefined;
75
+ documentId?: mongoose.Types.ObjectId | null | undefined;
76
76
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
77
77
  createdAt: NativeDate;
78
78
  updatedAt: NativeDate;
@@ -80,9 +80,9 @@ declare const AlertModel: mongoose.Model<{
80
80
  isActive: string;
81
81
  applicationId: mongoose.Types.ObjectId;
82
82
  statusLid?: mongoose.Types.ObjectId | null | undefined;
83
- documentId?: mongoose.Types.ObjectId | null | undefined;
84
83
  alertTypeLid?: mongoose.Types.ObjectId | null | undefined;
85
84
  alertMessage?: string | null | undefined;
85
+ documentId?: mongoose.Types.ObjectId | null | undefined;
86
86
  }>, {}> & mongoose.FlatRecord<{
87
87
  createdAt: NativeDate;
88
88
  updatedAt: NativeDate;
@@ -90,9 +90,9 @@ declare const AlertModel: mongoose.Model<{
90
90
  isActive: string;
91
91
  applicationId: mongoose.Types.ObjectId;
92
92
  statusLid?: mongoose.Types.ObjectId | null | undefined;
93
- documentId?: mongoose.Types.ObjectId | null | undefined;
94
93
  alertTypeLid?: mongoose.Types.ObjectId | null | undefined;
95
94
  alertMessage?: string | null | undefined;
95
+ documentId?: mongoose.Types.ObjectId | null | undefined;
96
96
  }> & {
97
97
  _id: mongoose.Types.ObjectId;
98
98
  } & {
@@ -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.351",
3
+ "version": "2.3.352",
4
4
  "description": "All the schemas for gatehouse bank back-end",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",