@zeeshan60/event-processor 1.0.25 → 1.0.26
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionEventHandler.d.ts","sourceRoot":"","sources":["../src/TransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EASH,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACxB,MAAM,GAAG,CAAC;AACX,OAAO,
|
|
1
|
+
{"version":3,"file":"TransactionEventHandler.d.ts","sourceRoot":"","sources":["../src/TransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EASH,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACxB,MAAM,GAAG,CAAC;AACX,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAM5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEvD,qBAAa,uBAAwB,SAAQ,gBAAgB,CAAC,gBAAgB,CAAC;IAEvE,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,oBAAoB,CAAC;gBAJrB,UAAU,EAAE,qBAAqB,EACjC,UAAU,EAAE,qBAAqB,EACzC,QAAQ,EAAE,OAAO,EACjB,kBAAkB,CAAC,EAAE,kBAAkB,EAC/B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAKhD,aAAa,IAAI,qBAAqB;IAIhC,mCAAmC,CAC5C,KAAK,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAYH,wCAAwC,CACjD,MAAM,EAAE,gBAAgB,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CACpB,KAAK,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC;IA4BtB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;YA+BjF,iBAAiB;CAgLlC"}
|
|
@@ -42,97 +42,32 @@ class TransactionEventHandler extends BaseEventHandler_1.BaseEventHandler {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
async handleBackendEvent(event, context) {
|
|
45
|
-
const logData = {
|
|
46
|
-
requestId: context?.requestId,
|
|
47
|
-
streamId: event.streamId,
|
|
48
|
-
triggerEventVersion: event.version,
|
|
49
|
-
};
|
|
50
|
-
context?.logger?.info("[TransactionEventHandler] handleBackendEvent started", logData);
|
|
51
45
|
const events = await this.eventStore.getAllEventsByStreamId(event.streamId);
|
|
52
46
|
events.sort((a, b) => a.version - b.version);
|
|
53
|
-
context?.logger?.info("[TransactionEventHandler] Retrieved and sorted events", {
|
|
54
|
-
...logData,
|
|
55
|
-
totalEvents: events.length,
|
|
56
|
-
});
|
|
57
47
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
58
48
|
const currentVersion = existingModel?.version ?? 0;
|
|
59
|
-
context?.logger?.info("[TransactionEventHandler] Current model state", {
|
|
60
|
-
...logData,
|
|
61
|
-
currentVersion,
|
|
62
|
-
modelExists: !!existingModel,
|
|
63
|
-
});
|
|
64
49
|
const eventsToProcess = events.filter(e => e.version > currentVersion);
|
|
65
50
|
if (eventsToProcess.length === 0) {
|
|
66
|
-
context?.logger?.info("[TransactionEventHandler] No new events to process", {
|
|
67
|
-
...logData,
|
|
68
|
-
currentVersion,
|
|
69
|
-
});
|
|
70
51
|
return existingModel;
|
|
71
52
|
}
|
|
72
53
|
let lastProcessedVersion = currentVersion;
|
|
73
54
|
let finalModel = existingModel;
|
|
74
55
|
for (const evt of eventsToProcess) {
|
|
75
56
|
if (evt.version !== lastProcessedVersion + 1) {
|
|
76
|
-
context?.logger?.warn("[TransactionEventHandler] Version gap detected, stopping", {
|
|
77
|
-
...logData,
|
|
78
|
-
expectedVersion: lastProcessedVersion + 1,
|
|
79
|
-
actualVersion: evt.version,
|
|
80
|
-
lastProcessedVersion,
|
|
81
|
-
});
|
|
82
57
|
break;
|
|
83
58
|
}
|
|
84
|
-
context?.logger?.info("[TransactionEventHandler] Processing event", {
|
|
85
|
-
...logData,
|
|
86
|
-
eventVersion: evt.version,
|
|
87
|
-
eventType: evt.constructor.name,
|
|
88
|
-
});
|
|
89
59
|
finalModel = await this.handleEvent(evt, context);
|
|
90
60
|
lastProcessedVersion = evt.version;
|
|
91
61
|
}
|
|
92
|
-
context?.logger?.info("[TransactionEventHandler] handleBackendEvent completed", {
|
|
93
|
-
...logData,
|
|
94
|
-
finalVersion: lastProcessedVersion,
|
|
95
|
-
eventsProcessed: lastProcessedVersion - currentVersion,
|
|
96
|
-
});
|
|
97
62
|
return finalModel ?? existingModel;
|
|
98
63
|
}
|
|
99
64
|
async handleEvent(event, context) {
|
|
100
|
-
const eventType = event.constructor.name;
|
|
101
|
-
const logData = {
|
|
102
|
-
requestId: context?.requestId,
|
|
103
|
-
eventType,
|
|
104
|
-
streamId: event.streamId,
|
|
105
|
-
version: event.version,
|
|
106
|
-
eventId: event.eventId,
|
|
107
|
-
userId: event.userId,
|
|
108
|
-
};
|
|
109
|
-
context?.logger?.info("[TransactionEventHandler] Starting event processing", logData);
|
|
110
65
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
111
|
-
context?.logger?.info("[TransactionEventHandler] Existing model loaded", {
|
|
112
|
-
...logData,
|
|
113
|
-
existingModelFound: !!existingModel,
|
|
114
|
-
existingModelVersion: existingModel?.version,
|
|
115
|
-
});
|
|
116
66
|
if (this.shouldSkipSave(existingModel, event)) {
|
|
117
|
-
context?.logger?.warn("[TransactionEventHandler] Skipping save due to version conflict", {
|
|
118
|
-
...logData,
|
|
119
|
-
existingVersion: existingModel?.version,
|
|
120
|
-
eventVersion: event.version,
|
|
121
|
-
});
|
|
122
|
-
context?.logger?.info("[TransactionEventHandler] Event processing completed", logData);
|
|
123
67
|
return existingModel;
|
|
124
68
|
}
|
|
125
69
|
const model = event.apply(existingModel);
|
|
126
|
-
context?.logger?.info("[TransactionEventHandler] Event applied to model", {
|
|
127
|
-
...logData,
|
|
128
|
-
newModelVersion: model.version,
|
|
129
|
-
});
|
|
130
70
|
await this.modelStore.save(model);
|
|
131
|
-
context?.logger?.info("[TransactionEventHandler] Model saved successfully", {
|
|
132
|
-
...logData,
|
|
133
|
-
modelVersion: model.version,
|
|
134
|
-
isClient: this.isClient,
|
|
135
|
-
});
|
|
136
71
|
if (this.isClient) {
|
|
137
72
|
await this.eventStore.addEvent(event);
|
|
138
73
|
this.modelChangeEmitter?.emit("TransactionModel", model);
|
|
@@ -141,13 +76,8 @@ class TransactionEventHandler extends BaseEventHandler_1.BaseEventHandler {
|
|
|
141
76
|
}
|
|
142
77
|
}
|
|
143
78
|
else {
|
|
144
|
-
context?.logger?.info("[TransactionEventHandler] Creating mirror event", {
|
|
145
|
-
...logData,
|
|
146
|
-
recipientUserId: model.recipientUserId,
|
|
147
|
-
});
|
|
148
79
|
await this.createMirrorEvent(event, model, context);
|
|
149
80
|
}
|
|
150
|
-
context?.logger?.info("[TransactionEventHandler] Event processing completed", logData);
|
|
151
81
|
return model;
|
|
152
82
|
}
|
|
153
83
|
async createMirrorEvent(originalEvent, transactionModel, context) {
|
|
@@ -274,38 +204,14 @@ class TransactionEventHandler extends BaseEventHandler_1.BaseEventHandler {
|
|
|
274
204
|
break;
|
|
275
205
|
}
|
|
276
206
|
default:
|
|
277
|
-
context?.logger?.warn("[TransactionEventHandler] Unknown event type for mirror creation", {
|
|
278
|
-
requestId: context?.requestId,
|
|
279
|
-
eventType,
|
|
280
|
-
streamId: originalEvent.streamId,
|
|
281
|
-
});
|
|
282
207
|
return;
|
|
283
208
|
}
|
|
284
|
-
context?.logger?.info("[TransactionEventHandler] Mirror event created", {
|
|
285
|
-
requestId: context?.requestId,
|
|
286
|
-
originalEventType: eventType,
|
|
287
|
-
originalStreamId: originalEvent.streamId,
|
|
288
|
-
mirrorStreamId,
|
|
289
|
-
mirrorVersion,
|
|
290
|
-
recipientUserId: transactionModel.recipientUserId,
|
|
291
|
-
});
|
|
292
209
|
await this.eventStore.addEvent(mirrorEvent);
|
|
293
210
|
if (this.shouldSkipSave(existingMirrorModel, mirrorEvent)) {
|
|
294
|
-
context?.logger?.warn("[TransactionEventHandler] Skipping mirror save due to version conflict", {
|
|
295
|
-
requestId: context?.requestId,
|
|
296
|
-
mirrorStreamId,
|
|
297
|
-
existingVersion: existingMirrorModel?.version,
|
|
298
|
-
eventVersion: mirrorEvent.version,
|
|
299
|
-
});
|
|
300
211
|
return;
|
|
301
212
|
}
|
|
302
213
|
const updatedModel = mirrorEvent.apply(existingMirrorModel);
|
|
303
214
|
await this.modelStore.save(updatedModel);
|
|
304
|
-
context?.logger?.info("[TransactionEventHandler] Mirror model saved successfully", {
|
|
305
|
-
requestId: context?.requestId,
|
|
306
|
-
mirrorStreamId,
|
|
307
|
-
mirrorVersion: updatedModel.version,
|
|
308
|
-
});
|
|
309
215
|
if (this.activityEventHandler) {
|
|
310
216
|
await this.activityEventHandler.createActivityLog(mirrorEvent, existingMirrorModel, updatedModel);
|
|
311
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionEventHandler.js","sourceRoot":"","sources":["../src/TransactionEventHandler.ts"],"names":[],"mappings":";;;AAAA,wBAaW;AACX,
|
|
1
|
+
{"version":3,"file":"TransactionEventHandler.js","sourceRoot":"","sources":["../src/TransactionEventHandler.ts"],"names":[],"mappings":"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"}
|