@zeeshan60/event-processor 1.0.28 → 1.0.29

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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionDetailsChanged = exports.TransactionDateChanged = exports.CurrencyChanged = exports.SplitTypeChanged = exports.TotalAmountChanged = exports.DescriptionChanged = exports.TransactionDeleted = exports.TransactionCreated = exports.ChangeHistory = exports.SplitTypeEnum = void 0;
3
+ exports.TransactionUpdated = exports.TransactionDeleted = exports.TransactionCreated = exports.ChangeHistory = exports.SplitTypeEnum = void 0;
4
4
  const ActivityLogEvents_1 = require("./ActivityLogEvents");
5
5
  const uuid_1 = require("uuid");
6
6
  const EventTypes_1 = require("./common/EventTypes");
@@ -137,367 +137,96 @@ class TransactionDeleted {
137
137
  }
138
138
  }
139
139
  exports.TransactionDeleted = TransactionDeleted;
140
- class DescriptionChanged {
140
+ class TransactionUpdated {
141
141
  constructor(props) {
142
142
  this.eventMainType = EventTypes_1.EventMainType.TRANSACTION;
143
- this.eventType = EventTypes_1.EventType.DESCRIPTION_CHANGED;
143
+ this.eventType = EventTypes_1.EventType.TRANSACTION_UPDATED;
144
144
  this.eventId = props.eventId;
145
145
  this.userId = props.userId;
146
146
  this.description = props.description;
147
- this.streamId = props.streamId;
148
- this.version = props.version;
149
- this.createdAt = props.createdAt;
150
- this.createdBy = props.createdBy;
151
- this.systemGenerated = props.systemGenerated;
152
- }
153
- apply(existing) {
154
- if (!existing) {
155
- throw new Error("TransactionModel is required");
156
- }
157
- const existingTx = existing;
158
- const descriptionChange = {
159
- type: "DESCRIPTION_UPDATED",
160
- changedAt: this.createdAt,
161
- changedBy: this.createdBy,
162
- oldValue: existingTx.description,
163
- newValue: this.description,
164
- };
165
- return {
166
- ...existingTx,
167
- description: this.description,
168
- version: this.version,
169
- updatedBy: this.createdBy,
170
- updatedAt: this.createdAt,
171
- history: {
172
- changes: [descriptionChange, ...existingTx.history.changes],
173
- },
174
- };
175
- }
176
- activityLog(existing, actorName) {
177
- if (!existing) {
178
- return undefined;
179
- }
180
- const existingTx = existing;
181
- const actor = actorName ?? "You";
182
- const logMessage = `${actor} changed description from "${existingTx.description}" to "${this.description}"`;
183
- return {
184
- eventId: (0, uuid_1.v4)(),
185
- userId: existingTx.userId,
186
- activityByUid: this.createdBy,
187
- sourceStreamId: this.streamId,
188
- sourceType: ActivityLogEvents_1.SourceType.Transaction,
189
- logMessage,
190
- date: this.createdAt,
191
- createdAt: this.createdAt,
192
- createdBy: this.createdBy,
193
- streamId: (0, uuid_1.v4)(),
194
- systemGenerated: true,
195
- version: 1,
196
- };
197
- }
198
- }
199
- exports.DescriptionChanged = DescriptionChanged;
200
- class TotalAmountChanged {
201
- constructor(props) {
202
- this.eventMainType = EventTypes_1.EventMainType.TRANSACTION;
203
- this.eventType = EventTypes_1.EventType.TOTAL_AMOUNT_CHANGED;
204
- this.eventId = props.eventId;
205
- this.userId = props.userId;
206
- this.totalAmount = props.totalAmount;
207
- this.amount = props.amount;
208
- this.isOwed = props.isOwed;
209
- this.streamId = props.streamId;
210
- this.version = props.version;
211
- this.createdAt = props.createdAt;
212
- this.createdBy = props.createdBy;
213
- this.systemGenerated = props.systemGenerated;
214
- }
215
- apply(existing) {
216
- if (!existing) {
217
- throw new Error("TransactionModel is required");
218
- }
219
- const existingTx = existing;
220
- const amountChange = {
221
- type: "AMOUNT_UPDATED",
222
- changedAt: this.createdAt,
223
- changedBy: this.createdBy,
224
- oldValue: existingTx.totalAmount,
225
- newValue: this.totalAmount,
226
- };
227
- return {
228
- ...existingTx,
229
- totalAmount: this.totalAmount,
230
- amount: this.amount,
231
- isOwed: this.isOwed,
232
- version: this.version,
233
- updatedBy: this.createdBy,
234
- updatedAt: this.createdAt,
235
- history: {
236
- changes: [amountChange, ...existingTx.history.changes],
237
- },
238
- };
239
- }
240
- activityLog(existing, actorName) {
241
- if (!existing) {
242
- return undefined;
243
- }
244
- const existingTx = existing;
245
- const actor = actorName ?? "You";
246
- const logMessage = `${actor} changed amount from ${existingTx.totalAmount} ${existingTx.currency} to ${this.totalAmount} ${existingTx.currency}`;
247
- return {
248
- eventId: (0, uuid_1.v4)(),
249
- userId: existingTx.userId,
250
- activityByUid: this.createdBy,
251
- sourceStreamId: this.streamId,
252
- sourceType: ActivityLogEvents_1.SourceType.Transaction,
253
- logMessage,
254
- date: this.createdAt,
255
- createdAt: this.createdAt,
256
- createdBy: this.createdBy,
257
- streamId: (0, uuid_1.v4)(),
258
- systemGenerated: true,
259
- version: 1,
260
- };
261
- }
262
- }
263
- exports.TotalAmountChanged = TotalAmountChanged;
264
- class SplitTypeChanged {
265
- constructor(props) {
266
- this.eventMainType = EventTypes_1.EventMainType.TRANSACTION;
267
- this.eventType = EventTypes_1.EventType.SPLIT_TYPE_CHANGED;
268
- this.eventId = props.eventId;
269
- this.userId = props.userId;
147
+ this.currency = props.currency;
270
148
  this.splitType = props.splitType;
271
149
  this.totalAmount = props.totalAmount;
272
150
  this.amount = props.amount;
273
151
  this.isOwed = props.isOwed;
274
- this.streamId = props.streamId;
275
- this.version = props.version;
276
- this.createdAt = props.createdAt;
277
- this.createdBy = props.createdBy;
278
- this.systemGenerated = props.systemGenerated;
279
- }
280
- apply(existing) {
281
- if (!existing) {
282
- throw new Error("TransactionModel is required");
283
- }
284
- const existingTx = existing;
285
- const splitTypeChange = {
286
- type: "SPLIT_TYPE_UPDATED",
287
- changedAt: this.createdAt,
288
- changedBy: this.createdBy,
289
- oldValue: existingTx.splitType,
290
- newValue: this.splitType,
291
- };
292
- return {
293
- ...existingTx,
294
- splitType: this.splitType,
295
- amount: this.amount,
296
- isOwed: this.isOwed,
297
- version: this.version,
298
- updatedBy: this.createdBy,
299
- updatedAt: this.createdAt,
300
- history: {
301
- changes: [splitTypeChange, ...existingTx.history.changes],
302
- },
303
- };
304
- }
305
- activityLog(existing, actorName) {
306
- if (!existing) {
307
- return undefined;
308
- }
309
- const existingTx = existing;
310
- const actor = actorName ?? "You";
311
- const logMessage = `${actor} changed split type from ${existingTx.splitType} to ${this.splitType}`;
312
- return {
313
- eventId: (0, uuid_1.v4)(),
314
- userId: existingTx.userId,
315
- activityByUid: this.createdBy,
316
- sourceStreamId: this.streamId,
317
- sourceType: ActivityLogEvents_1.SourceType.Transaction,
318
- logMessage,
319
- date: this.createdAt,
320
- createdAt: this.createdAt,
321
- createdBy: this.createdBy,
322
- streamId: (0, uuid_1.v4)(),
323
- systemGenerated: true,
324
- version: 1,
325
- };
326
- }
327
- }
328
- exports.SplitTypeChanged = SplitTypeChanged;
329
- class CurrencyChanged {
330
- constructor(props) {
331
- this.eventMainType = EventTypes_1.EventMainType.TRANSACTION;
332
- this.eventType = EventTypes_1.EventType.CURRENCY_CHANGED;
333
- this.eventId = props.eventId;
334
- this.userId = props.userId;
335
- this.currency = props.currency;
336
- this.streamId = props.streamId;
337
- this.version = props.version;
338
- this.createdAt = props.createdAt;
339
- this.createdBy = props.createdBy;
340
- this.systemGenerated = props.systemGenerated;
341
- }
342
- apply(existing) {
343
- if (!existing) {
344
- throw new Error("TransactionModel is required");
345
- }
346
- const existingTx = existing;
347
- const currencyChange = {
348
- type: "CURRENCY_UPDATED",
349
- changedAt: this.createdAt,
350
- changedBy: this.createdBy,
351
- oldValue: existingTx.currency,
352
- newValue: this.currency,
353
- };
354
- return {
355
- ...existingTx,
356
- currency: this.currency,
357
- version: this.version,
358
- updatedBy: this.createdBy,
359
- updatedAt: this.createdAt,
360
- history: {
361
- changes: [currencyChange, ...existingTx.history.changes],
362
- },
363
- };
364
- }
365
- activityLog(existing, actorName) {
366
- if (!existing) {
367
- return undefined;
368
- }
369
- const existingTx = existing;
370
- const actor = actorName ?? "You";
371
- const logMessage = `${actor} changed currency from ${existingTx.currency} to ${this.currency}`;
372
- return {
373
- eventId: (0, uuid_1.v4)(),
374
- userId: existingTx.userId,
375
- activityByUid: this.createdBy,
376
- sourceStreamId: this.streamId,
377
- sourceType: ActivityLogEvents_1.SourceType.Transaction,
378
- logMessage,
379
- date: this.createdAt,
380
- createdAt: this.createdAt,
381
- createdBy: this.createdBy,
382
- streamId: (0, uuid_1.v4)(),
383
- systemGenerated: true,
384
- version: 1,
385
- };
386
- }
387
- }
388
- exports.CurrencyChanged = CurrencyChanged;
389
- class TransactionDateChanged {
390
- constructor(props) {
391
- this.eventMainType = EventTypes_1.EventMainType.TRANSACTION;
392
- this.eventType = EventTypes_1.EventType.TRANSACTION_DATE_CHANGED;
393
- this.eventId = props.eventId;
394
- this.userId = props.userId;
395
152
  this.transactionDate = props.transactionDate;
396
- this.streamId = props.streamId;
397
- this.version = props.version;
398
153
  this.createdAt = props.createdAt;
399
154
  this.createdBy = props.createdBy;
400
- this.systemGenerated = props.systemGenerated;
401
- }
402
- apply(existing) {
403
- if (!existing) {
404
- throw new Error("TransactionModel is required");
405
- }
406
- const existingTx = existing;
407
- const dateChange = {
408
- type: "TRANSACTION_DATE_UPDATED",
409
- changedAt: this.createdAt,
410
- changedBy: this.createdBy,
411
- oldValue: existingTx.transactionDate,
412
- newValue: this.transactionDate,
413
- };
414
- return {
415
- ...existingTx,
416
- transactionDate: this.transactionDate,
417
- version: this.version,
418
- updatedBy: this.createdBy,
419
- updatedAt: this.createdAt,
420
- history: {
421
- changes: [dateChange, ...existingTx.history.changes],
422
- },
423
- };
424
- }
425
- activityLog(existing, actorName) {
426
- if (!existing) {
427
- return undefined;
428
- }
429
- const existingTx = existing;
430
- const actor = actorName ?? "You";
431
- const logMessage = `${actor} changed transaction date from ${existingTx.transactionDate.toLocaleDateString()} to ${this.transactionDate.toLocaleDateString()}`;
432
- return {
433
- eventId: (0, uuid_1.v4)(),
434
- userId: existingTx.userId,
435
- activityByUid: this.createdBy,
436
- sourceStreamId: this.streamId,
437
- sourceType: ActivityLogEvents_1.SourceType.Transaction,
438
- logMessage,
439
- date: this.createdAt,
440
- createdAt: this.createdAt,
441
- createdBy: this.createdBy,
442
- streamId: (0, uuid_1.v4)(),
443
- systemGenerated: true,
444
- version: 1,
445
- };
446
- }
447
- }
448
- exports.TransactionDateChanged = TransactionDateChanged;
449
- class TransactionDetailsChanged {
450
- constructor(props) {
451
- this.eventMainType = EventTypes_1.EventMainType.TRANSACTION;
452
- this.eventType = EventTypes_1.EventType.TRANSACTION_DETAILS_CHANGED;
453
- this.eventId = props.eventId;
454
- this.userId = props.userId;
455
- this.totalAmount = props.totalAmount;
456
- this.amount = props.amount;
457
- this.isOwed = props.isOwed;
155
+ this.createdByName = props.createdByName;
156
+ this.createdByPhoto = props.createdByPhoto;
458
157
  this.streamId = props.streamId;
459
158
  this.version = props.version;
460
- this.createdAt = props.createdAt;
461
- this.createdBy = props.createdBy;
462
159
  this.systemGenerated = props.systemGenerated;
463
160
  }
464
161
  apply(existing) {
465
162
  if (!existing) {
466
- throw new Error("TransactionModel is required");
163
+ throw new Error("TransactionModel is required for update");
467
164
  }
468
165
  const existingTx = existing;
469
166
  const changes = [];
167
+ if (existingTx.description !== this.description) {
168
+ changes.push({
169
+ type: "DESCRIPTION_UPDATED",
170
+ changedAt: this.createdAt,
171
+ changedBy: this.createdBy,
172
+ oldValue: existingTx.description,
173
+ newValue: this.description,
174
+ });
175
+ }
470
176
  if (existingTx.totalAmount !== this.totalAmount) {
471
- const totalAmountChange = {
177
+ changes.push({
472
178
  type: "AMOUNT_UPDATED",
473
179
  changedAt: this.createdAt,
474
180
  changedBy: this.createdBy,
475
181
  oldValue: existingTx.totalAmount,
476
182
  newValue: this.totalAmount,
477
- };
478
- changes.push(totalAmountChange);
183
+ });
479
184
  }
480
- if (existingTx.amount !== this.amount) {
481
- const amountChange = {
482
- type: "AMOUNT_UPDATED",
185
+ if (existingTx.currency !== this.currency) {
186
+ changes.push({
187
+ type: "CURRENCY_UPDATED",
188
+ changedAt: this.createdAt,
189
+ changedBy: this.createdBy,
190
+ oldValue: existingTx.currency,
191
+ newValue: this.currency,
192
+ });
193
+ }
194
+ if (existingTx.splitType !== this.splitType) {
195
+ changes.push({
196
+ type: "SPLIT_TYPE_UPDATED",
483
197
  changedAt: this.createdAt,
484
198
  changedBy: this.createdBy,
485
- oldValue: existingTx.amount,
486
- newValue: this.amount,
487
- };
488
- changes.push(amountChange);
199
+ oldValue: existingTx.splitType,
200
+ newValue: this.splitType,
201
+ });
489
202
  }
203
+ if (existingTx.transactionDate.getTime() !== this.transactionDate.getTime()) {
204
+ changes.push({
205
+ type: "TRANSACTION_DATE_UPDATED",
206
+ changedAt: this.createdAt,
207
+ changedBy: this.createdBy,
208
+ oldValue: existingTx.transactionDate,
209
+ newValue: this.transactionDate,
210
+ });
211
+ }
212
+ const updatedHistory = {
213
+ changes: changes.length > 0
214
+ ? [...changes, ...existingTx.history.changes]
215
+ : existingTx.history.changes,
216
+ };
490
217
  return {
491
218
  ...existingTx,
219
+ description: this.description,
220
+ currency: this.currency,
221
+ splitType: this.splitType,
492
222
  totalAmount: this.totalAmount,
493
223
  amount: this.amount,
494
224
  isOwed: this.isOwed,
495
- version: this.version,
496
- updatedBy: this.createdBy,
225
+ transactionDate: this.transactionDate,
226
+ history: updatedHistory,
497
227
  updatedAt: this.createdAt,
498
- history: {
499
- changes: [...changes, ...existingTx.history.changes],
500
- },
228
+ updatedBy: this.createdBy,
229
+ version: this.version,
501
230
  };
502
231
  }
503
232
  activityLog(existing, actorName) {
@@ -506,7 +235,7 @@ class TransactionDetailsChanged {
506
235
  }
507
236
  const existingTx = existing;
508
237
  const actor = actorName ?? "You";
509
- const logMessage = `${actor} updated transaction details`;
238
+ const logMessage = `${actor} updated transaction "${existingTx.description}"`;
510
239
  return {
511
240
  eventId: (0, uuid_1.v4)(),
512
241
  userId: existingTx.userId,
@@ -523,5 +252,5 @@ class TransactionDetailsChanged {
523
252
  };
524
253
  }
525
254
  }
526
- exports.TransactionDetailsChanged = TransactionDetailsChanged;
255
+ exports.TransactionUpdated = TransactionUpdated;
527
256
  //# sourceMappingURL=TransactionEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionEvents.js","sourceRoot":"","sources":["../src/TransactionEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionEvents.js","sourceRoot":"","sources":["../src/TransactionEvents.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/TransactionController.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EAMrB,MAAM,8BAA8B,CAAC;AAOtC,qBAAa,qBAAqB;IAChC,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,CAAC,eAAe;YAYT,gBAAgB;IAiBxB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IA+BZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;IAwHV,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAyBV,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IA8CjB,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC;IAsEhC,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,qBAAqB;IA8D7B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,oCAAoC;CAkB7C"}
1
+ {"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/TransactionController.ts"],"names":[],"mappings":"AASA,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EAMrB,MAAM,8BAA8B,CAAC;AAOtC,qBAAa,qBAAqB;IAChC,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,CAAC,eAAe;YAYT,gBAAgB;IAiBxB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IA+BZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;IAiEV,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAyBV,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IA8CjB,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC;IAuEhC,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,qBAAqB;IA8D7B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,oCAAoC;CAkB7C"}
@@ -85,92 +85,45 @@ class TransactionController {
85
85
  if (transactionModel.userId !== userId) {
86
86
  throw new Error(`Unauthorized to update transaction: ${transactionId}`);
87
87
  }
88
- let currentVersion = transactionModel.version;
89
- const createdAt = new Date();
90
- if (request.description !== undefined &&
91
- request.description.trim() !== "" &&
92
- request.description !== transactionModel.description) {
93
- currentVersion++;
94
- const event = new TransactionEvents_1.DescriptionChanged({
95
- eventId: (0, uuid_1.v4)(),
96
- userId,
97
- description: request.description.trim(),
98
- createdAt,
99
- createdBy: userId,
100
- streamId: transactionModel.streamId,
101
- version: currentVersion,
102
- systemGenerated: false,
103
- });
104
- await this.transactionEventHandler.handleEvent(event);
105
- }
106
- if (request.amount !== undefined &&
107
- request.amount !== transactionModel.totalAmount) {
108
- currentVersion++;
109
- const { amount, isOwed } = (0, splitTypeUtils_1.calculateAmountAndIsOwed)(request.amount, transactionModel.amount, transactionModel.splitType, transactionModel.isOwed);
110
- const event = new TransactionEvents_1.TotalAmountChanged({
111
- eventId: (0, uuid_1.v4)(),
112
- userId,
113
- totalAmount: request.amount,
114
- amount,
115
- isOwed,
116
- createdAt,
117
- createdBy: userId,
118
- streamId: transactionModel.streamId,
119
- version: currentVersion,
120
- systemGenerated: false,
121
- });
122
- await this.transactionEventHandler.handleEvent(event);
123
- }
124
- if (request.currency !== undefined &&
125
- request.currency !== transactionModel.currency) {
126
- currentVersion++;
127
- const event = new TransactionEvents_1.CurrencyChanged({
128
- eventId: (0, uuid_1.v4)(),
129
- userId,
130
- currency: request.currency,
131
- createdAt,
132
- createdBy: userId,
133
- streamId: transactionModel.streamId,
134
- version: currentVersion,
135
- systemGenerated: false,
136
- });
137
- await this.transactionEventHandler.handleEvent(event);
138
- }
139
- if (request.type !== undefined &&
140
- request.type !== transactionModel.splitType) {
141
- currentVersion++;
142
- const calculatedAmount = request.amount ?? transactionModel.totalAmount;
143
- const event = new TransactionEvents_1.SplitTypeChanged({
144
- eventId: (0, uuid_1.v4)(),
145
- userId,
146
- splitType: request.type,
147
- totalAmount: calculatedAmount,
148
- amount: this.calculateAmount(request.type, calculatedAmount),
149
- isOwed: request.type.includes("YouPaid") || request.type === "TheyOweYouAll",
150
- createdAt,
151
- createdBy: userId,
152
- streamId: transactionModel.streamId,
153
- version: currentVersion,
154
- systemGenerated: false,
155
- });
156
- await this.transactionEventHandler.handleEvent(event);
157
- }
158
- if (request.transactionDate !== undefined &&
159
- request.transactionDate !== transactionModel.transactionDate.toISOString()) {
160
- currentVersion++;
161
- const transactionDate = new Date(request.transactionDate);
162
- const event = new TransactionEvents_1.TransactionDateChanged({
163
- eventId: (0, uuid_1.v4)(),
164
- userId,
165
- transactionDate,
166
- createdAt,
167
- createdBy: userId,
168
- streamId: transactionModel.streamId,
169
- version: currentVersion,
170
- systemGenerated: false,
171
- });
172
- await this.transactionEventHandler.handleEvent(event);
88
+ const description = request.description !== undefined && request.description.trim() !== ""
89
+ ? request.description.trim()
90
+ : transactionModel.description;
91
+ const currency = request.currency ?? transactionModel.currency;
92
+ const splitType = request.type ?? transactionModel.splitType;
93
+ const totalAmount = request.amount ?? transactionModel.totalAmount;
94
+ const transactionDate = request.transactionDate !== undefined
95
+ ? new Date(request.transactionDate)
96
+ : transactionModel.transactionDate;
97
+ const { amount, isOwed } = (0, splitTypeUtils_1.calculateAmountAndIsOwed)(totalAmount, transactionModel.amount, splitType, transactionModel.isOwed);
98
+ const hasChanges = description !== transactionModel.description ||
99
+ currency !== transactionModel.currency ||
100
+ splitType !== transactionModel.splitType ||
101
+ totalAmount !== transactionModel.totalAmount ||
102
+ amount !== transactionModel.amount ||
103
+ isOwed !== transactionModel.isOwed ||
104
+ transactionDate.toISOString() !==
105
+ transactionModel.transactionDate.toISOString();
106
+ if (!hasChanges) {
107
+ return;
173
108
  }
109
+ const createdAt = new Date();
110
+ const event = new TransactionEvents_1.TransactionUpdated({
111
+ eventId: (0, uuid_1.v4)(),
112
+ userId,
113
+ description,
114
+ currency,
115
+ splitType,
116
+ totalAmount,
117
+ amount,
118
+ isOwed,
119
+ transactionDate,
120
+ createdAt,
121
+ createdBy: userId,
122
+ streamId: transactionModel.streamId,
123
+ version: transactionModel.version + 1,
124
+ systemGenerated: false,
125
+ });
126
+ await this.transactionEventHandler.handleEvent(event);
174
127
  }
175
128
  async deleteTransaction(userId, transactionId) {
176
129
  const transactionModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(transactionId);
@@ -243,6 +196,7 @@ class TransactionController {
243
196
  const userNameMap = await this.buildUserNameMap(userId);
244
197
  const sortedTransactions = (0, sortingUtils_1.sortByTransactionDateAndCreatedAt)(transactions).map((t) => this.toTransactionResponse(t, userId, toCurrency, currencyRates, userNameMap));
245
198
  const groupedByMonth = this.groupTransactionsByMonth(sortedTransactions, timeZone);
199
+ console.log("transaction response: ", groupedByMonth);
246
200
  return {
247
201
  balance,
248
202
  perMonth: groupedByMonth,