@dynamatix/gb-schemas 2.3.237 → 2.3.239
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 +309 -0
- package/dist/applicants/applicant-additional-income.model.d.ts +13 -12
- package/dist/applicants/applicant-additional-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-additional-income.model.js +3 -0
- package/dist/applicants/applicant-commitment-creditCard.model.d.ts +19 -18
- package/dist/applicants/applicant-commitment-creditCard.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-creditCard.model.js +3 -0
- package/dist/applicants/applicant-commitment-loan.model.d.ts +19 -18
- package/dist/applicants/applicant-commitment-loan.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-loan.model.js +3 -0
- package/dist/applicants/applicant-commitment-mortgage.model.d.ts +19 -18
- package/dist/applicants/applicant-commitment-mortgage.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-mortgage.model.js +3 -0
- package/dist/applicants/applicant-commitment-residence.model.d.ts +31 -30
- package/dist/applicants/applicant-commitment-residence.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-residence.model.js +3 -0
- package/dist/applicants/applicant-commitment-secureLoan.model.d.ts +19 -18
- package/dist/applicants/applicant-commitment-secureLoan.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-secureLoan.model.js +3 -0
- package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts +19 -18
- package/dist/applicants/applicant-commitment-unsecuredLoan.model.d.ts.map +1 -1
- package/dist/applicants/applicant-commitment-unsecuredLoan.model.js +3 -0
- package/dist/applicants/applicant-credit-data.model.d.ts +3 -3
- package/dist/applicants/applicant-credit-report.model.d.ts +3754 -0
- package/dist/applicants/{applicant-income.model.d.ts.map → applicant-credit-report.model.d.ts.map} +1 -1
- package/dist/applicants/applicant-credit-report.model.js +116 -0
- package/dist/applicants/applicant-credit-report.type.d.ts +140 -0
- package/dist/applicants/applicant-credit-report.type.d.ts.map +1 -0
- package/dist/applicants/applicant-credit-report.type.js +1 -0
- package/dist/applicants/applicant-employment-income.model.d.ts +7 -6
- package/dist/applicants/applicant-employment-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-employment-income.model.js +3 -0
- package/dist/applicants/applicant-employment.model.d.ts +88 -87
- package/dist/applicants/applicant-employment.model.d.ts.map +1 -1
- package/dist/applicants/applicant-employment.model.js +19 -19
- package/dist/applicants/applicant-expenditure.model.d.ts +7 -0
- package/dist/applicants/applicant-expenditure.model.d.ts.map +1 -1
- package/dist/applicants/applicant-expenditure.model.js +77 -0
- package/dist/applicants/applicant-expenditure.type.d.ts +42 -0
- package/dist/applicants/applicant-expenditure.type.d.ts.map +1 -0
- package/dist/applicants/applicant-expenditure.type.js +1 -0
- package/dist/applicants/applicant-income-settings.model.d.ts.map +1 -1
- package/dist/applicants/applicant-income-settings.model.js +3 -0
- package/dist/applicants/applicant-income-settings.type.d.ts +40 -0
- package/dist/applicants/applicant-income-settings.type.d.ts.map +1 -0
- package/dist/applicants/applicant-income-settings.type.js +1 -0
- package/dist/applicants/applicant-income-summary.model.d.ts +73 -72
- package/dist/applicants/applicant-income-summary.model.d.ts.map +1 -1
- package/dist/applicants/applicant-income-summary.model.js +3 -0
- package/dist/applicants/applicant-income-summary.type.d.ts +60 -0
- package/dist/applicants/applicant-income-summary.type.d.ts.map +1 -0
- package/dist/applicants/applicant-income-summary.type.js +1 -0
- package/dist/applicants/applicant-pension-income.model.d.ts +19 -18
- package/dist/applicants/applicant-pension-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-pension-income.model.js +3 -0
- package/dist/applicants/applicant-pension-income.type.d.ts +40 -0
- package/dist/applicants/applicant-pension-income.type.d.ts.map +1 -0
- package/dist/applicants/applicant-pension-income.type.js +1 -0
- package/dist/applicants/applicant-property-income.model.d.ts +37 -36
- package/dist/applicants/applicant-property-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-property-income.model.js +3 -0
- package/dist/applicants/applicant-self-employed-income.model.d.ts +7 -6
- package/dist/applicants/applicant-self-employed-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-self-employed-income.model.js +3 -0
- package/dist/applicants/applicant-self-employed-income.type.d.ts +37 -0
- package/dist/applicants/applicant-self-employed-income.type.d.ts.map +1 -0
- package/dist/applicants/applicant-self-employed-income.type.js +1 -0
- package/dist/applicants/applicant-self-employment.model.d.ts +6 -6
- package/dist/applicants/applicant-self-employment.model.d.ts.map +1 -1
- package/dist/applicants/applicant-self-employment.model.js +4 -1
- package/dist/applicants/applicant-sole-trader-income.model.d.ts +7 -6
- package/dist/applicants/applicant-sole-trader-income.model.d.ts.map +1 -1
- package/dist/applicants/applicant-sole-trader-income.model.js +3 -0
- package/dist/applicants/applicant-sole-trader-income.type.d.ts +37 -0
- package/dist/applicants/applicant-sole-trader-income.type.d.ts.map +1 -0
- package/dist/applicants/applicant-sole-trader-income.type.js +1 -0
- package/dist/applicants/applicant-uk-tax-credits.model.d.ts +19 -18
- package/dist/applicants/applicant-uk-tax-credits.model.d.ts.map +1 -1
- package/dist/applicants/applicant-uk-tax-credits.model.js +3 -0
- package/dist/applicants/applicant-uk-tax-credits.type.d.ts +39 -0
- package/dist/applicants/applicant-uk-tax-credits.type.d.ts.map +1 -0
- package/dist/applicants/applicant-uk-tax-credits.type.js +1 -0
- package/dist/applicants/applicant-welcome-call.model.d.ts +288 -0
- package/dist/applicants/applicant-welcome-call.model.d.ts.map +1 -0
- package/dist/applicants/applicant-welcome-call.model.js +263 -0
- package/dist/applicants/applicant-welcome-call.type.d.ts +66 -0
- package/dist/applicants/applicant-welcome-call.type.d.ts.map +1 -0
- package/dist/applicants/applicant-welcome-call.type.js +1 -0
- package/dist/applicants/applicant.model.d.ts +49 -42
- package/dist/applicants/applicant.model.d.ts.map +1 -1
- package/dist/applicants/applicant.model.js +5 -1
- package/dist/applicants/applicant.type.d.ts +158 -0
- package/dist/applicants/applicant.type.d.ts.map +1 -0
- package/dist/applicants/applicant.type.js +1 -0
- package/dist/applicants/index.d.ts +14 -0
- package/dist/applicants/index.d.ts.map +1 -1
- package/dist/applicants/index.js +2 -0
- package/dist/applications/application-audit.model.d.ts +6 -6
- package/dist/applications/application-audit.model.d.ts.map +1 -1
- package/dist/applications/application-audit.model.js +3 -0
- package/dist/applications/application-checklist-Item.model.d.ts +6 -0
- package/dist/applications/application-checklist-Item.model.d.ts.map +1 -1
- package/dist/applications/application-checklist-Item.model.js +4 -0
- package/dist/applications/application-company-model.d.ts +64 -57
- package/dist/applications/application-company-model.d.ts.map +1 -1
- package/dist/applications/application-company-model.js +1 -0
- package/dist/applications/application-direct-debit.model.d.ts +29 -27
- package/dist/applications/application-direct-debit.model.d.ts.map +1 -1
- package/dist/applications/application-direct-debit.model.js +3 -0
- package/dist/applications/application-euc.model.d.ts.map +1 -1
- package/dist/applications/application-euc.model.js +3 -0
- package/dist/applications/application-fieldconfig.model.d.ts.map +1 -1
- package/dist/applications/application-fieldconfig.model.js +3 -0
- package/dist/applications/application-legal.model.d.ts.map +1 -1
- package/dist/applications/application-legal.model.js +3 -0
- package/dist/applications/application-mortgage.model.d.ts +1 -0
- package/dist/applications/application-mortgage.model.d.ts.map +1 -1
- package/dist/applications/application-mortgage.model.js +3 -0
- package/dist/applications/application-mortgage.type.d.ts +76 -0
- package/dist/applications/application-mortgage.type.d.ts.map +1 -0
- package/dist/applications/application-mortgage.type.js +1 -0
- package/dist/applications/application-note.model.d.ts +36 -24
- package/dist/applications/application-note.model.d.ts.map +1 -1
- package/dist/applications/application-note.model.js +12 -3
- package/dist/applications/application-note.type.d.ts +55 -0
- package/dist/applications/application-note.type.d.ts.map +1 -0
- package/dist/applications/application-note.type.js +1 -0
- package/dist/applications/application-offer.model.d.ts.map +1 -1
- package/dist/applications/application-offer.model.js +3 -0
- package/dist/applications/application-onboarding.model.d.ts.map +1 -1
- package/dist/applications/application-onboarding.model.js +3 -0
- package/dist/applications/application-product.model.d.ts +77 -13
- package/dist/applications/application-product.model.d.ts.map +1 -1
- package/dist/applications/application-product.model.js +16 -3
- package/dist/applications/application-product.type.d.ts +58 -0
- package/dist/applications/application-product.type.d.ts.map +1 -0
- package/dist/applications/application-product.type.js +1 -0
- package/dist/applications/application-productfeatures.model.d.ts +12 -6
- package/dist/applications/application-productfeatures.model.d.ts.map +1 -1
- package/dist/applications/application-productfeatures.model.js +5 -1
- package/dist/applications/application-productfeatures.type.d.ts +125 -0
- package/dist/applications/application-productfeatures.type.d.ts.map +1 -0
- package/dist/applications/application-productfeatures.type.js +1 -0
- package/dist/applications/application-rationale.model.d.ts +6 -12
- package/dist/applications/application-rationale.model.d.ts.map +1 -1
- package/dist/applications/application-rationale.model.js +11 -20
- package/dist/applications/application-rationale.type.d.ts +7 -7
- package/dist/applications/application-rationale.type.d.ts.map +1 -1
- package/dist/applications/application-risk-narrative.model.d.ts.map +1 -1
- package/dist/applications/application-risk-narrative.model.js +3 -0
- package/dist/applications/application-valuation-report.model.d.ts +1246 -0
- package/dist/applications/application-valuation-report.model.d.ts.map +1 -0
- package/dist/applications/application-valuation-report.model.js +269 -0
- package/dist/applications/application-valuation-report.type.d.ts +108 -0
- package/dist/applications/application-valuation-report.type.d.ts.map +1 -0
- package/dist/applications/application-valuation-report.type.js +1 -0
- package/dist/applications/application-valuation.model.d.ts +695 -18
- package/dist/applications/application-valuation.model.d.ts.map +1 -1
- package/dist/applications/application-valuation.model.js +33 -7
- package/dist/applications/application-valuation.type.d.ts +54 -0
- package/dist/applications/application-valuation.type.d.ts.map +1 -0
- package/dist/applications/application-valuation.type.js +1 -0
- package/dist/applications/application.model.d.ts +36 -30
- package/dist/applications/application.model.d.ts.map +1 -1
- package/dist/applications/application.model.js +17 -4
- package/dist/applications/applications-task.model.d.ts +171 -67
- package/dist/applications/applications-task.model.d.ts.map +1 -1
- package/dist/applications/applications-task.model.js +36 -45
- package/dist/applications/applications-task.type.d.ts +57 -0
- package/dist/applications/applications-task.type.d.ts.map +1 -0
- package/dist/applications/applications-task.type.js +1 -0
- package/dist/applications/broker.model.d.ts.map +1 -1
- package/dist/applications/broker.model.js +3 -0
- package/dist/applications/index.d.ts +10 -3
- package/dist/applications/index.d.ts.map +1 -1
- package/dist/applications/index.js +2 -3
- package/dist/applications/solicitor.model.d.ts +2 -0
- package/dist/applications/solicitor.model.d.ts.map +1 -1
- package/dist/applications/solicitor.model.js +3 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/product-catalogues/index.d.ts +3 -0
- package/dist/product-catalogues/index.d.ts.map +1 -1
- package/dist/product-catalogues/product-catalogue.type.d.ts +15 -0
- package/dist/product-catalogues/product-catalogue.type.d.ts.map +1 -0
- package/dist/product-catalogues/product-catalogue.type.js +1 -0
- package/dist/product-catalogues/product-definitions.type.d.ts +53 -0
- package/dist/product-catalogues/product-definitions.type.d.ts.map +1 -0
- package/dist/product-catalogues/product-definitions.type.js +1 -0
- package/dist/product-catalogues/product-variant.type.d.ts +38 -0
- package/dist/product-catalogues/product-variant.type.d.ts.map +1 -0
- package/dist/product-catalogues/product-variant.type.js +1 -0
- package/dist/properties/property.model.d.ts +52 -51
- package/dist/properties/property.model.d.ts.map +1 -1
- package/dist/properties/property.model.js +1 -2
- package/dist/properties/security.model.d.ts +6 -0
- package/dist/properties/security.model.d.ts.map +1 -1
- package/dist/properties/security.model.js +1 -0
- package/dist/shared/alert.model.d.ts +12 -12
- package/dist/shared/api-log.model.d.ts +118 -0
- package/dist/shared/api-log.model.d.ts.map +1 -0
- package/dist/shared/api-log.model.js +21 -0
- package/dist/shared/apprivo-sync-journey.model.d.ts +6 -6
- package/dist/shared/checklist.model.d.ts +6 -6
- package/dist/shared/index.d.ts +5 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -1
- package/dist/shared/job-setting.model.d.ts +6 -6
- package/dist/shared/lookup-group.model.d.ts +25 -25
- package/dist/shared/lookup-group.model.d.ts.map +1 -1
- package/dist/shared/lookup-group.model.js +3 -0
- package/dist/shared/schema-doc.model.d.ts +6 -6
- package/dist/shared/system-parameter.model.d.ts +6 -6
- package/dist/shared/task-document.model.d.ts +6 -6
- package/dist/shared/task.model.d.ts +6 -6
- package/dist/shared/{document-type-model.d.ts → webhook-event.model.d.ts} +6 -45
- package/dist/shared/webhook-event.model.d.ts.map +1 -0
- package/dist/shared/webhook-event.model.js +53 -0
- package/dist/shared/webhook-event.type.d.ts +15 -0
- package/dist/shared/webhook-event.type.d.ts.map +1 -0
- package/dist/shared/webhook-event.type.js +1 -0
- package/dist/shared/workflow-trigger.model.d.ts +32 -0
- package/dist/shared/workflow-trigger.model.d.ts.map +1 -0
- package/dist/shared/workflow-trigger.model.js +45 -0
- package/dist/shared/workflow-trigger.type.d.ts +59 -0
- package/dist/shared/workflow-trigger.type.d.ts.map +1 -0
- package/dist/shared/workflow-trigger.type.js +1 -0
- package/dist/shared/workflow.init.d.ts +21 -0
- package/dist/shared/workflow.init.d.ts.map +1 -0
- package/dist/shared/workflow.init.js +41 -0
- package/dist/shared/workflow.middleware.d.ts +107 -0
- package/dist/shared/workflow.middleware.d.ts.map +1 -0
- package/dist/shared/workflow.middleware.js +230 -0
- package/dist/shared/workflow.plugin.d.ts +46 -0
- package/dist/shared/workflow.plugin.d.ts.map +1 -0
- package/dist/shared/workflow.plugin.js +102 -0
- package/dist/shared/workflow.service.d.ts +39 -0
- package/dist/shared/workflow.service.d.ts.map +1 -0
- package/dist/shared/workflow.service.js +115 -0
- package/dist/value-objects/pound.d.ts.map +1 -1
- package/package.json +14 -3
- package/dist/applicants/applicant-income.model.d.ts +0 -2558
- package/dist/applicants/applicant-income.model.js +0 -82
- package/dist/applications/application-document.model.d.ts +0 -186
- package/dist/applications/application-document.model.d.ts.map +0 -1
- package/dist/applications/application-document.model.js +0 -35
- package/dist/applications/document.model.d.ts +0 -186
- package/dist/applications/document.model.d.ts.map +0 -1
- package/dist/applications/document.model.js +0 -35
- package/dist/shared/document-type-model.d.ts.map +0 -1
- package/dist/shared/document-type-model.js +0 -10
|
@@ -26,51 +26,12 @@
|
|
|
26
26
|
/// <reference types="mongoose/types/schematypes" />
|
|
27
27
|
/// <reference types="mongoose/types/inferschematype" />
|
|
28
28
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
29
|
-
import mongoose from
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
source: string;
|
|
33
|
-
parentDocumentTypeId: mongoose.Types.ObjectId;
|
|
34
|
-
label?: string | null | undefined;
|
|
35
|
-
matchRules?: any;
|
|
36
|
-
}, {}, {}, {}, mongoose.Document<unknown, {}, {
|
|
37
|
-
name: string;
|
|
38
|
-
source: string;
|
|
39
|
-
parentDocumentTypeId: mongoose.Types.ObjectId;
|
|
40
|
-
label?: string | null | undefined;
|
|
41
|
-
matchRules?: any;
|
|
42
|
-
}, {}> & {
|
|
43
|
-
name: string;
|
|
44
|
-
source: string;
|
|
45
|
-
parentDocumentTypeId: mongoose.Types.ObjectId;
|
|
46
|
-
label?: string | null | undefined;
|
|
47
|
-
matchRules?: any;
|
|
48
|
-
} & {
|
|
49
|
-
_id: mongoose.Types.ObjectId;
|
|
50
|
-
} & {
|
|
51
|
-
__v: number;
|
|
52
|
-
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
|
|
53
|
-
name: string;
|
|
54
|
-
source: string;
|
|
55
|
-
parentDocumentTypeId: mongoose.Types.ObjectId;
|
|
56
|
-
label?: string | null | undefined;
|
|
57
|
-
matchRules?: any;
|
|
58
|
-
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
59
|
-
name: string;
|
|
60
|
-
source: string;
|
|
61
|
-
parentDocumentTypeId: mongoose.Types.ObjectId;
|
|
62
|
-
label?: string | null | undefined;
|
|
63
|
-
matchRules?: any;
|
|
64
|
-
}>, {}> & mongoose.FlatRecord<{
|
|
65
|
-
name: string;
|
|
66
|
-
source: string;
|
|
67
|
-
parentDocumentTypeId: mongoose.Types.ObjectId;
|
|
68
|
-
label?: string | null | undefined;
|
|
69
|
-
matchRules?: any;
|
|
70
|
-
}> & {
|
|
29
|
+
import mongoose from 'mongoose';
|
|
30
|
+
import IWebhookEvent from './webhook-event.type';
|
|
31
|
+
declare const _default: mongoose.Model<IWebhookEvent, {}, {}, {}, mongoose.Document<unknown, {}, IWebhookEvent, {}> & IWebhookEvent & {
|
|
71
32
|
_id: mongoose.Types.ObjectId;
|
|
72
33
|
} & {
|
|
73
34
|
__v: number;
|
|
74
|
-
}
|
|
75
|
-
export default
|
|
76
|
-
//# sourceMappingURL=
|
|
35
|
+
}, any>;
|
|
36
|
+
export default _default;
|
|
37
|
+
//# sourceMappingURL=webhook-event.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-event.model.d.ts","sourceRoot":"","sources":["../../shared/webhook-event.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAoB,MAAM,UAAU,CAAC;AAC5C,OAAO,aAAa,MAAM,sBAAsB,CAAC;;;;;;AAuDjD,wBAAiF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import mongoose, { Schema } from 'mongoose';
|
|
2
|
+
const webhookEventSchema = new Schema({
|
|
3
|
+
eventId: {
|
|
4
|
+
type: String,
|
|
5
|
+
required: true,
|
|
6
|
+
unique: true,
|
|
7
|
+
index: true
|
|
8
|
+
},
|
|
9
|
+
eventType: {
|
|
10
|
+
type: String,
|
|
11
|
+
required: true,
|
|
12
|
+
index: true
|
|
13
|
+
},
|
|
14
|
+
source: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: true,
|
|
17
|
+
default: 'apprivo'
|
|
18
|
+
},
|
|
19
|
+
applicationId: {
|
|
20
|
+
type: String,
|
|
21
|
+
index: true
|
|
22
|
+
},
|
|
23
|
+
payload: {
|
|
24
|
+
type: Schema.Types.Mixed,
|
|
25
|
+
required: true
|
|
26
|
+
},
|
|
27
|
+
status: {
|
|
28
|
+
type: String,
|
|
29
|
+
enum: ['pending', 'processing', 'completed', 'failed'],
|
|
30
|
+
default: 'pending',
|
|
31
|
+
index: true
|
|
32
|
+
},
|
|
33
|
+
retryCount: {
|
|
34
|
+
type: Number,
|
|
35
|
+
default: 0
|
|
36
|
+
},
|
|
37
|
+
maxRetries: {
|
|
38
|
+
type: Number,
|
|
39
|
+
default: 3
|
|
40
|
+
},
|
|
41
|
+
processedAt: {
|
|
42
|
+
type: Date
|
|
43
|
+
},
|
|
44
|
+
errorMessage: {
|
|
45
|
+
type: String
|
|
46
|
+
}
|
|
47
|
+
}, {
|
|
48
|
+
timestamps: true
|
|
49
|
+
});
|
|
50
|
+
// Index for efficient querying
|
|
51
|
+
webhookEventSchema.index({ createdAt: -1 });
|
|
52
|
+
webhookEventSchema.index({ status: 1, retryCount: 1 });
|
|
53
|
+
export default mongoose.model('WebhookEvent', webhookEventSchema);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default interface IWebhookEvent extends Document {
|
|
2
|
+
eventId: string;
|
|
3
|
+
eventType: string;
|
|
4
|
+
source: string;
|
|
5
|
+
applicationId?: string;
|
|
6
|
+
payload: any;
|
|
7
|
+
status: 'pending' | 'processing' | 'completed' | 'failed';
|
|
8
|
+
retryCount: number;
|
|
9
|
+
maxRetries: number;
|
|
10
|
+
processedAt?: Date;
|
|
11
|
+
errorMessage?: string;
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
updatedAt: Date;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=webhook-event.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-event.type.d.ts","sourceRoot":"","sources":["../../shared/webhook-event.type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,aAAc,SAAQ,QAAQ;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
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 _default: mongoose.Model<any, {}, {}, {}, any, any>;
|
|
31
|
+
export default _default;
|
|
32
|
+
//# sourceMappingURL=workflow-trigger.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-trigger.model.d.ts","sourceRoot":"","sources":["../../shared/workflow-trigger.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAoB,MAAM,UAAU,CAAC;;AAmD5C,wBAA6H"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import mongoose, { Schema } from 'mongoose';
|
|
2
|
+
const WorkflowTriggerSchema = new Schema({
|
|
3
|
+
triggerKey: {
|
|
4
|
+
type: String,
|
|
5
|
+
required: true,
|
|
6
|
+
unique: true,
|
|
7
|
+
index: true
|
|
8
|
+
},
|
|
9
|
+
description: {
|
|
10
|
+
type: String,
|
|
11
|
+
required: true
|
|
12
|
+
},
|
|
13
|
+
isActive: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: true,
|
|
16
|
+
index: true
|
|
17
|
+
},
|
|
18
|
+
condition: {
|
|
19
|
+
type: String,
|
|
20
|
+
required: true
|
|
21
|
+
},
|
|
22
|
+
workflowKey: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: true,
|
|
25
|
+
index: true
|
|
26
|
+
},
|
|
27
|
+
requiredVariables: [{
|
|
28
|
+
type: String,
|
|
29
|
+
required: true
|
|
30
|
+
}],
|
|
31
|
+
optionalVariables: [{
|
|
32
|
+
type: String
|
|
33
|
+
}],
|
|
34
|
+
validationRules: {
|
|
35
|
+
type: Schema.Types.Mixed
|
|
36
|
+
},
|
|
37
|
+
metadata: {
|
|
38
|
+
type: Schema.Types.Mixed
|
|
39
|
+
}
|
|
40
|
+
}, { timestamps: true });
|
|
41
|
+
// Index for efficient querying
|
|
42
|
+
WorkflowTriggerSchema.index({ triggerKey: 1, isActive: 1 });
|
|
43
|
+
WorkflowTriggerSchema.index({ workflowKey: 1, isActive: 1 });
|
|
44
|
+
// Conditional model registration to avoid "Cannot overwrite model" errors
|
|
45
|
+
export default mongoose.models.WorkflowTrigger || mongoose.model('WorkflowTrigger', WorkflowTriggerSchema);
|
|
@@ -0,0 +1,59 @@
|
|
|
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 { Document } from 'mongoose';
|
|
30
|
+
export default interface IWorkflowTrigger extends Document {
|
|
31
|
+
triggerKey: string;
|
|
32
|
+
description: string;
|
|
33
|
+
isActive: boolean;
|
|
34
|
+
condition: string;
|
|
35
|
+
workflowKey: string;
|
|
36
|
+
requiredVariables: string[];
|
|
37
|
+
optionalVariables?: string[];
|
|
38
|
+
validationRules?: any;
|
|
39
|
+
metadata?: any;
|
|
40
|
+
createdAt: Date;
|
|
41
|
+
updatedAt: Date;
|
|
42
|
+
}
|
|
43
|
+
export interface WorkflowTriggerEvent {
|
|
44
|
+
recordType: string;
|
|
45
|
+
action: string;
|
|
46
|
+
triggerKey: string;
|
|
47
|
+
}
|
|
48
|
+
export interface WorkflowApiPayload {
|
|
49
|
+
workflowKey: string;
|
|
50
|
+
version: number;
|
|
51
|
+
variables: Record<string, any>;
|
|
52
|
+
}
|
|
53
|
+
export interface WorkflowMiddlewareOptions {
|
|
54
|
+
workflowApiUrl: string;
|
|
55
|
+
timeout?: number;
|
|
56
|
+
retryAttempts?: number;
|
|
57
|
+
retryDelay?: number;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=workflow-trigger.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-trigger.type.d.ts","sourceRoot":"","sources":["../../shared/workflow-trigger.type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAC,OAAO,WAAW,gBAAiB,SAAQ,QAAQ;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialize workflow middleware for all schemas
|
|
3
|
+
* Call this function once in your application startup to enable workflow middleware globally
|
|
4
|
+
*
|
|
5
|
+
* This will automatically apply workflow middleware to all Mongoose schemas
|
|
6
|
+
* The record type will be inferred from the model name (e.g., 'Application' -> 'applications')
|
|
7
|
+
*/
|
|
8
|
+
export declare function initializeWorkflowMiddleware(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Check if workflow middleware is properly configured
|
|
11
|
+
* @returns true if all required environment variables are set
|
|
12
|
+
*/
|
|
13
|
+
export declare function isWorkflowMiddlewareConfigured(): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Initialize workflow middleware with configuration check
|
|
16
|
+
* @param options - Optional configuration options
|
|
17
|
+
*/
|
|
18
|
+
export declare function initializeWorkflowMiddlewareWithCheck(options?: {
|
|
19
|
+
skipConfigCheck?: boolean;
|
|
20
|
+
}): boolean;
|
|
21
|
+
//# sourceMappingURL=workflow.init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.init.d.ts","sourceRoot":"","sources":["../../shared/workflow.init.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAgB,4BAA4B,SAI3C;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAUxD;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CAAC,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,WAQ5F"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import dotenv from 'dotenv';
|
|
2
|
+
import { registerWorkflowPlugin } from './workflow.plugin.js';
|
|
3
|
+
// Load environment variables from .env file
|
|
4
|
+
dotenv.config();
|
|
5
|
+
/**
|
|
6
|
+
* Initialize workflow middleware for all schemas
|
|
7
|
+
* Call this function once in your application startup to enable workflow middleware globally
|
|
8
|
+
*
|
|
9
|
+
* This will automatically apply workflow middleware to all Mongoose schemas
|
|
10
|
+
* The record type will be inferred from the model name (e.g., 'Application' -> 'applications')
|
|
11
|
+
*/
|
|
12
|
+
export function initializeWorkflowMiddleware() {
|
|
13
|
+
console.log('Initializing workflow middleware for all schemas...');
|
|
14
|
+
registerWorkflowPlugin();
|
|
15
|
+
console.log('Workflow middleware initialized successfully');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check if workflow middleware is properly configured
|
|
19
|
+
* @returns true if all required environment variables are set
|
|
20
|
+
*/
|
|
21
|
+
export function isWorkflowMiddlewareConfigured() {
|
|
22
|
+
const requiredEnvVars = ['WORKFLOW_API_KEY'];
|
|
23
|
+
const missingVars = requiredEnvVars.filter(varName => !process.env[varName]);
|
|
24
|
+
if (missingVars.length > 0) {
|
|
25
|
+
console.warn(`Missing required environment variables for workflow middleware: ${missingVars.join(', ')}`);
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Initialize workflow middleware with configuration check
|
|
32
|
+
* @param options - Optional configuration options
|
|
33
|
+
*/
|
|
34
|
+
export function initializeWorkflowMiddlewareWithCheck(options) {
|
|
35
|
+
if (!options?.skipConfigCheck && !isWorkflowMiddlewareConfigured()) {
|
|
36
|
+
console.warn('Workflow middleware configuration incomplete. Middleware will be disabled.');
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
initializeWorkflowMiddleware();
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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.js" />
|
|
5
|
+
/// <reference types="mongoose/types/callback.js" />
|
|
6
|
+
/// <reference types="mongoose/types/collection.js" />
|
|
7
|
+
/// <reference types="mongoose/types/connection.js" />
|
|
8
|
+
/// <reference types="mongoose/types/cursor.js" />
|
|
9
|
+
/// <reference types="mongoose/types/document.js" />
|
|
10
|
+
/// <reference types="mongoose/types/error.js" />
|
|
11
|
+
/// <reference types="mongoose/types/expressions.js" />
|
|
12
|
+
/// <reference types="mongoose/types/helpers.js" />
|
|
13
|
+
/// <reference types="mongoose/types/middlewares.js" />
|
|
14
|
+
/// <reference types="mongoose/types/indexes.js" />
|
|
15
|
+
/// <reference types="mongoose/types/models.js" />
|
|
16
|
+
/// <reference types="mongoose/types/mongooseoptions.js" />
|
|
17
|
+
/// <reference types="mongoose/types/pipelinestage.js" />
|
|
18
|
+
/// <reference types="mongoose/types/populate.js" />
|
|
19
|
+
/// <reference types="mongoose/types/query.js" />
|
|
20
|
+
/// <reference types="mongoose/types/schemaoptions.js" />
|
|
21
|
+
/// <reference types="mongoose/types/session.js" />
|
|
22
|
+
/// <reference types="mongoose/types/types.js" />
|
|
23
|
+
/// <reference types="mongoose/types/utility.js" />
|
|
24
|
+
/// <reference types="mongoose/types/validation.js" />
|
|
25
|
+
/// <reference types="mongoose/types/virtuals.js" />
|
|
26
|
+
/// <reference types="mongoose/types/schematypes.js" />
|
|
27
|
+
/// <reference types="mongoose/types/inferschematype.js" />
|
|
28
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
29
|
+
import mongoose from 'mongoose';
|
|
30
|
+
import { WorkflowTriggerEvent, WorkflowMiddlewareOptions } from './workflow-trigger.type.js';
|
|
31
|
+
export declare class WorkflowMiddleware {
|
|
32
|
+
private workflowService;
|
|
33
|
+
private options;
|
|
34
|
+
constructor(options?: Partial<WorkflowMiddlewareOptions>);
|
|
35
|
+
/**
|
|
36
|
+
* Safely gets the WorkflowTrigger model, handling potential registration issues
|
|
37
|
+
*/
|
|
38
|
+
private getWorkflowTriggerModel;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the current request context including application_id
|
|
41
|
+
* @returns The current context object or null if not available
|
|
42
|
+
*/
|
|
43
|
+
getContext(): {
|
|
44
|
+
contextId: any;
|
|
45
|
+
} | null;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a Mongoose middleware function for a specific model
|
|
48
|
+
* @param recordType - The type of record (e.g., 'applications', 'products', 'tasks')
|
|
49
|
+
* @returns Mongoose middleware function
|
|
50
|
+
*/
|
|
51
|
+
createMiddleware(recordType: string): {
|
|
52
|
+
postSave: (this: any, doc: any, next: Function) => Promise<void>;
|
|
53
|
+
postRemove: (this: any, doc: any, next: Function) => Promise<void>;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Handles a workflow trigger event
|
|
57
|
+
* @param event - The workflow trigger event
|
|
58
|
+
* @param document - The document that triggered the event
|
|
59
|
+
*/
|
|
60
|
+
handleEvent(event: WorkflowTriggerEvent, document: any): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Processes a single workflow trigger
|
|
63
|
+
* @param trigger - The workflow trigger configuration
|
|
64
|
+
* @param document - The document that triggered the event
|
|
65
|
+
* @param event - The workflow trigger event
|
|
66
|
+
*/
|
|
67
|
+
private processTrigger;
|
|
68
|
+
/**
|
|
69
|
+
* Evaluates a condition against a document
|
|
70
|
+
* @param condition - The condition string to evaluate
|
|
71
|
+
* @param document - The document to evaluate against
|
|
72
|
+
* @returns true if condition is met
|
|
73
|
+
*/
|
|
74
|
+
private evaluateCondition;
|
|
75
|
+
/**
|
|
76
|
+
* Extracts metadata from document and event
|
|
77
|
+
* @param document - The document
|
|
78
|
+
* @param event - The event
|
|
79
|
+
* @returns Metadata object
|
|
80
|
+
*/
|
|
81
|
+
private extractMetadata;
|
|
82
|
+
/**
|
|
83
|
+
* Manually trigger a workflow for a specific document
|
|
84
|
+
* @param triggerKey - The trigger key to use
|
|
85
|
+
* @param document - The document to process
|
|
86
|
+
* @param recordType - The record type
|
|
87
|
+
*/
|
|
88
|
+
manualTrigger(triggerKey: string, document: any, recordType: string): Promise<void>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Factory function to create workflow middleware for a model
|
|
92
|
+
* @param recordType - The type of record (e.g., 'applications', 'products', 'tasks')
|
|
93
|
+
* @param options - Optional workflow middleware options (overrides env vars)
|
|
94
|
+
* @returns Mongoose middleware functions
|
|
95
|
+
*/
|
|
96
|
+
export declare function createWorkflowMiddleware(recordType: string, options?: Partial<WorkflowMiddlewareOptions>): {
|
|
97
|
+
postSave: (this: any, doc: any, next: Function) => Promise<void>;
|
|
98
|
+
postRemove: (this: any, doc: any, next: Function) => Promise<void>;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Utility function to apply workflow middleware to a Mongoose schema
|
|
102
|
+
* @param schema - The Mongoose schema
|
|
103
|
+
* @param recordType - The type of record
|
|
104
|
+
* @param options - Optional workflow middleware options (overrides env vars)
|
|
105
|
+
*/
|
|
106
|
+
export declare function applyWorkflowMiddleware(schema: mongoose.Schema, recordType: string, options?: Partial<WorkflowMiddlewareOptions>): void;
|
|
107
|
+
//# sourceMappingURL=workflow.middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.middleware.d.ts","sourceRoot":"","sources":["../../shared/workflow.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,EACH,oBAAoB,EAEpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AAIpC,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAA4B;gBAE/B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAYxD;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,UAAU;;;IAMV;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM;yBAGK,GAAG,OAAO,GAAG,QAAQ,QAAQ;2BAiB3B,GAAG,OAAO,GAAG,QAAQ,QAAQ;;IAkBvE;;;;OAIG;IACG,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5E;;;;;OAKG;YACW,cAAc;IA8C5B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;OAKG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS5F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;;;EAGxG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,QAShI"}
|