@zeeshan60/event-processor 1.0.16 → 1.0.17

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.
Files changed (94) hide show
  1. package/dist/ActivityEventHandler.d.ts +4 -1
  2. package/dist/ActivityEventHandler.d.ts.map +1 -1
  3. package/dist/ActivityEventHandler.js +23 -7
  4. package/dist/ActivityLogEvents.d.ts.map +1 -1
  5. package/dist/ActivityLogEvents.js +1 -0
  6. package/dist/BaseEventHandler.d.ts +7 -0
  7. package/dist/BaseEventHandler.d.ts.map +1 -1
  8. package/dist/BaseEventHandler.js +4 -0
  9. package/dist/EventProcessorSDK.d.ts +4 -0
  10. package/dist/EventProcessorSDK.d.ts.map +1 -1
  11. package/dist/EventProcessorSDK.js +13 -6
  12. package/dist/FriendEventHandler.d.ts +4 -1
  13. package/dist/FriendEventHandler.d.ts.map +1 -1
  14. package/dist/FriendEventHandler.js +25 -13
  15. package/dist/GroupEventHandler.d.ts +4 -1
  16. package/dist/GroupEventHandler.d.ts.map +1 -1
  17. package/dist/GroupEventHandler.js +34 -18
  18. package/dist/GroupTransactionEventHandler.d.ts +4 -6
  19. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  20. package/dist/GroupTransactionEventHandler.js +24 -291
  21. package/dist/TransactionEventHandler.d.ts +4 -1
  22. package/dist/TransactionEventHandler.d.ts.map +1 -1
  23. package/dist/TransactionEventHandler.js +24 -6
  24. package/dist/TransactionEvents.d.ts +10 -9
  25. package/dist/TransactionEvents.d.ts.map +1 -1
  26. package/dist/TransactionEvents.js +10 -12
  27. package/dist/UserEventHandler.d.ts +4 -1
  28. package/dist/UserEventHandler.d.ts.map +1 -1
  29. package/dist/UserEventHandler.js +25 -7
  30. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +1 -0
  31. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  32. package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +3 -0
  33. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +2 -0
  34. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
  35. package/dist/__tests__/test-helpers/IMActivityLogModelStore.js +10 -0
  36. package/dist/__tests__/test-helpers/IMCurrencyStore.d.ts +1 -0
  37. package/dist/__tests__/test-helpers/IMCurrencyStore.d.ts.map +1 -1
  38. package/dist/__tests__/test-helpers/IMCurrencyStore.js +3 -0
  39. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +1 -0
  40. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
  41. package/dist/__tests__/test-helpers/IMFriendModelStore.js +7 -0
  42. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +1 -0
  43. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
  44. package/dist/__tests__/test-helpers/IMGroupModelStore.js +7 -0
  45. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +2 -0
  46. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  47. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +18 -0
  48. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +1 -0
  49. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
  50. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +7 -0
  51. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +2 -0
  52. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  53. package/dist/__tests__/test-helpers/IMTransactionEventStore.js +6 -0
  54. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +1 -0
  55. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
  56. package/dist/__tests__/test-helpers/IMTransactionModelStore.js +7 -0
  57. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +1 -0
  58. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
  59. package/dist/__tests__/test-helpers/IMUserModelStore.js +7 -0
  60. package/dist/client/controllers/FriendController.d.ts.map +1 -1
  61. package/dist/client/controllers/FriendController.js +40 -4
  62. package/dist/client/controllers/TransactionController.d.ts +7 -2
  63. package/dist/client/controllers/TransactionController.d.ts.map +1 -1
  64. package/dist/client/controllers/TransactionController.js +90 -17
  65. package/dist/client/handlers/UIEventHandler.d.ts +3 -0
  66. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
  67. package/dist/client/handlers/UIEventHandler.js +36 -0
  68. package/dist/common/Model.d.ts +1 -0
  69. package/dist/common/Model.d.ts.map +1 -1
  70. package/dist/contracts/friends/index.d.ts +1 -0
  71. package/dist/contracts/friends/index.d.ts.map +1 -1
  72. package/dist/contracts/groups/index.d.ts +1 -1
  73. package/dist/contracts/groups/index.d.ts.map +1 -1
  74. package/dist/contracts/transactions/index.d.ts +33 -23
  75. package/dist/contracts/transactions/index.d.ts.map +1 -1
  76. package/dist/contracts/transactions/index.js +14 -11
  77. package/dist/converters/ActivityLogConverters.d.ts.map +1 -1
  78. package/dist/converters/ActivityLogConverters.js +3 -1
  79. package/dist/index.d.ts +0 -3
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +1 -5
  82. package/dist/store/CurrencyStore.d.ts +1 -0
  83. package/dist/store/CurrencyStore.d.ts.map +1 -1
  84. package/dist/store/ModelStore.d.ts +1 -0
  85. package/dist/store/ModelStore.d.ts.map +1 -1
  86. package/dist/utils/BalanceUtil.d.ts +5 -1
  87. package/dist/utils/BalanceUtil.d.ts.map +1 -1
  88. package/dist/utils/BalanceUtil.js +9 -1
  89. package/dist/utils/splitTypeUtils.d.ts.map +1 -1
  90. package/dist/utils/splitTypeUtils.js +21 -21
  91. package/package.json +1 -1
  92. package/dist/environment.d.ts +0 -12
  93. package/dist/environment.d.ts.map +0 -1
  94. package/dist/environment.js +0 -50
@@ -1 +1 @@
1
- {"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAyB,MAAM,aAAa,CAAC;AAE3D,qBAAa,cAAc;;IAGjB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1D"}
1
+ {"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAyB,MAAM,aAAa,CAAC;AAI3D,qBAAa,cAAc;;IAGjB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD,yBAAyB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAQhB,OAAO,CAAC,iBAAiB;CAa5B"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UIEventHandler = void 0;
4
4
  const index_1 = require("../../index");
5
+ const EventProcessorSDK_1 = require("../../EventProcessorSDK");
5
6
  class UIEventHandler {
6
7
  constructor() { }
7
8
  async handleFirestoreEvent(event) {
@@ -9,5 +10,40 @@ class UIEventHandler {
9
10
  .getEventHandler()
10
11
  .handleClientEventFromRemoteListener(event);
11
12
  }
13
+ async handleFirestoreEvents(events) {
14
+ if (events.length === 0) {
15
+ return;
16
+ }
17
+ const eventsByType = this.groupEventsByType(events);
18
+ for (const [eventType, eventsOfType] of eventsByType.entries()) {
19
+ const handler = index_1.EventConverterFactory.getConverter(eventType).getEventHandler();
20
+ const latestModel = await handler
21
+ .getModelStore()
22
+ .getLatestByUpdatedAt();
23
+ const filteredEvents = latestModel
24
+ ? eventsOfType.filter((event) => event.createdAt >= latestModel.updatedAt)
25
+ : eventsOfType;
26
+ if (filteredEvents.length > 0) {
27
+ await handler.handleClientEventsFromRemoteListenerBulk(filteredEvents);
28
+ }
29
+ }
30
+ }
31
+ async handleSystemSettingUpdate(settingType, payload) {
32
+ if (settingType === "currencyRates") {
33
+ const currencyStore = EventProcessorSDK_1.EventProcessorSDK.getInstance().getCurrencyStore();
34
+ await currencyStore.saveCurrencyRates(payload);
35
+ }
36
+ }
37
+ groupEventsByType(events) {
38
+ const eventsByType = new Map();
39
+ for (const event of events) {
40
+ const eventType = event.constructor.name;
41
+ if (!eventsByType.has(eventType)) {
42
+ eventsByType.set(eventType, []);
43
+ }
44
+ eventsByType.get(eventType).push(event);
45
+ }
46
+ return eventsByType;
47
+ }
12
48
  }
13
49
  exports.UIEventHandler = UIEventHandler;
@@ -3,5 +3,6 @@ export interface Model {
3
3
  streamId: string;
4
4
  version: number;
5
5
  deleted: boolean;
6
+ updatedAt: Date;
6
7
  }
7
8
  //# sourceMappingURL=Model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/common/Model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/common/Model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACnB"}
@@ -66,6 +66,7 @@ export interface FriendResponse {
66
66
  email?: string;
67
67
  phone?: string;
68
68
  balance: BalanceResponse;
69
+ createdAt: Date;
69
70
  }
70
71
  export interface FriendsResponse {
71
72
  friends: FriendResponse[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/friends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAET,eAAe,EAElB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,eAAe,CAAC;CAC5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/friends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAET,eAAe,EAElB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,eAAe,CAAC;CAC5B"}
@@ -1,5 +1,5 @@
1
- import { SplitType } from "../transactions";
2
1
  import { BalanceResponse } from "../shared";
2
+ import { SplitType } from "../../TransactionEvents";
3
3
  export interface GroupCreateRequest {
4
4
  name: string;
5
5
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/groups/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/groups/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,0CAA0C;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,2CAA2C;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sCAAsC;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,2BAA2B,EAAE,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB,CAAC,EAAE,eAAe,CAAC;CAC/C;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,qBAAqB,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;IACzE,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,sCACb,SAAQ,2BAA2B;IACnC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,uCACb,SAAQ,2BAA2B;IACnC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kCACb,SAAQ,2BAA2B;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,4BAA4B,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,uBAAuB,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,2BAA2B,CAAC;IACvC,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,gCAAgC;IAC7C,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B"}
@@ -1,20 +1,22 @@
1
1
  import { FriendSummaryDto } from "../friends";
2
2
  import { AmountDto, AmountResponse, BalanceResponse } from "../shared";
3
- import { SplitType as EventSplitType } from "../../TransactionEvents";
4
- export type SplitType = EventSplitType;
5
- export { EventSplitType as SplitTypeEnum };
3
+ import { SplitType, SplitTypeEnum } from "../../TransactionEvents";
4
+ export { SplitType, SplitTypeEnum } from "../../TransactionEvents";
6
5
  export declare enum ActivityType {
7
6
  CREATED = "CREATED",
8
7
  UPDATED = "UPDATED",
9
8
  DELETED = "DELETED"
10
9
  }
11
- export declare enum TransactionChangeType {
12
- DESCRIPTION = "DESCRIPTION",
13
- AMOUNT = "AMOUNT",
14
- CURRENCY = "CURRENCY",
15
- SPLIT_TYPE = "SPLIT_TYPE",
16
- DATE = "DATE"
17
- }
10
+ export type TransactionChangeType = (typeof TransactionChangeTypeEnum)[keyof typeof TransactionChangeTypeEnum];
11
+ export declare const TransactionChangeTypeEnum: {
12
+ readonly DESCRIPTION: "DESCRIPTION";
13
+ readonly AMOUNT: "AMOUNT";
14
+ readonly CURRENCY: "CURRENCY";
15
+ readonly SPLIT_TYPE: "SPLIT_TYPE";
16
+ readonly DATE: "DATE";
17
+ readonly DELETED: "DELETED";
18
+ readonly TRANSACTION_DATE: "TRANSACTION_DATE";
19
+ };
18
20
  export interface UserAmount {
19
21
  userId: string;
20
22
  paidAmount: number;
@@ -78,28 +80,36 @@ export interface ChangeSummaryResponse {
78
80
  changedByPhoto?: string;
79
81
  changes: ChangeSummaryDto[];
80
82
  }
81
- export interface TransactionResponse {
83
+ interface BaseTransaction {
82
84
  date: string;
85
+ createdAt: string;
86
+ updatedAt: string;
87
+ createdBy: TransactionUserResponse;
88
+ updatedBy?: TransactionUserResponse;
83
89
  description: string;
84
90
  transactionId: string;
85
- groupTransactionId?: string;
86
- groupId?: string;
87
- groupName?: string;
88
91
  totalAmount: number;
89
- splitType: SplitType;
90
92
  amount: AmountResponse;
91
- friend: FriendSummaryDto;
92
- defaultCurrencyAmount?: AmountResponse;
93
+ defaultCurrencyAmount: AmountResponse;
93
94
  history: ChangeSummaryResponse[];
94
- createdAt: string;
95
- updatedAt?: string;
96
- createdBy: TransactionUserResponse;
97
- updatedBy?: TransactionUserResponse;
98
95
  deleted: boolean;
99
96
  }
97
+ export interface FriendTransaction extends BaseTransaction {
98
+ splitType: SplitType;
99
+ groupId?: string;
100
+ groupTransactionId?: string;
101
+ groupName?: string;
102
+ }
103
+ export interface GroupTransaction extends BaseTransaction {
104
+ groupId: string;
105
+ groupTransactionId: string;
106
+ groupName: string;
107
+ splitType: (typeof SplitTypeEnum)["SpecificAmounts"];
108
+ }
109
+ export type Transaction = FriendTransaction | GroupTransaction;
100
110
  export interface TransactionsPerMonth {
101
111
  date: string;
102
- transactions: TransactionResponse[];
112
+ transactions: Transaction[];
103
113
  }
104
114
  export interface TransactionsResponse {
105
115
  balance: BalanceResponse;
@@ -149,6 +159,6 @@ export interface ActivityLogResponse {
149
159
  currency: string;
150
160
  isOwed: boolean;
151
161
  date: string;
152
- transactionResponse: TransactionResponse;
162
+ transactionResponse: Transaction;
153
163
  }
154
164
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/transactions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/transactions/index.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionChangeType = exports.ActivityType = exports.SplitTypeEnum = void 0;
4
- const TransactionEvents_1 = require("../../TransactionEvents");
5
- Object.defineProperty(exports, "SplitTypeEnum", { enumerable: true, get: function () { return TransactionEvents_1.SplitType; } });
3
+ exports.TransactionChangeTypeEnum = exports.ActivityType = exports.SplitTypeEnum = void 0;
4
+ var TransactionEvents_1 = require("../../TransactionEvents");
5
+ Object.defineProperty(exports, "SplitTypeEnum", { enumerable: true, get: function () { return TransactionEvents_1.SplitTypeEnum; } });
6
+ // export type SplitType = EventSplitType;
7
+ // export { EventSplitType as SplitTypeEnum };
6
8
  var ActivityType;
7
9
  (function (ActivityType) {
8
10
  ActivityType["CREATED"] = "CREATED";
9
11
  ActivityType["UPDATED"] = "UPDATED";
10
12
  ActivityType["DELETED"] = "DELETED";
11
13
  })(ActivityType || (exports.ActivityType = ActivityType = {}));
12
- var TransactionChangeType;
13
- (function (TransactionChangeType) {
14
- TransactionChangeType["DESCRIPTION"] = "DESCRIPTION";
15
- TransactionChangeType["AMOUNT"] = "AMOUNT";
16
- TransactionChangeType["CURRENCY"] = "CURRENCY";
17
- TransactionChangeType["SPLIT_TYPE"] = "SPLIT_TYPE";
18
- TransactionChangeType["DATE"] = "DATE";
19
- })(TransactionChangeType || (exports.TransactionChangeType = TransactionChangeType = {}));
14
+ exports.TransactionChangeTypeEnum = {
15
+ DESCRIPTION: "DESCRIPTION",
16
+ AMOUNT: "AMOUNT",
17
+ CURRENCY: "CURRENCY",
18
+ SPLIT_TYPE: "SPLIT_TYPE",
19
+ DATE: "DATE",
20
+ DELETED: "DELETED",
21
+ TRANSACTION_DATE: "TRANSACTION_DATE",
22
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityLogConverters.d.ts","sourceRoot":"","sources":["../../src/converters/ActivityLogConverters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACH,yBAAyB,EAEzB,kBAAkB,EACrB,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,2BAA4B,SAAQ,yBAAyB;IACtE,OAAO,CAAC,eAAe,CAAkB;;IAOzC,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB;IAW9D,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,kBAAkB;CAgBlE"}
1
+ {"version":3,"file":"ActivityLogConverters.d.ts","sourceRoot":"","sources":["../../src/converters/ActivityLogConverters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACH,yBAAyB,EAEzB,kBAAkB,EACrB,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,2BAA4B,SAAQ,yBAAyB;IACtE,OAAO,CAAC,eAAe,CAAkB;;IAOzC,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB;IAW9D,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,kBAAkB;CAkBlE"}
@@ -27,7 +27,9 @@ class ActivityLogCreatedConverter extends EventConverterCore_1.ActivityLogEventC
27
27
  sourceStreamId: data.sourceStreamId,
28
28
  sourceType: data.sourceType,
29
29
  logMessage: data.logMessage,
30
- date: this.firebaseAdapter.toDate(data.date),
30
+ date: data.date
31
+ ? this.firebaseAdapter.toDate(data.date)
32
+ : new Date(), // todo: zeeshan: fix this fallback date
31
33
  createdAt: this.firebaseAdapter.toDate(data.createdAt),
32
34
  createdBy: data.createdBy,
33
35
  streamId: data.streamId,
package/dist/index.d.ts CHANGED
@@ -13,7 +13,4 @@ export type { CurrencyRate } from "./common/CurrencyRate";
13
13
  export type { FirestoreEventData } from "./converters/eventConverter";
14
14
  export { EventConverterFactory } from "./converters/eventConverter";
15
15
  export { __resetSDKForTesting } from "./EventProcessorSDK";
16
- export declare const residence: {
17
- isClient: boolean;
18
- };
19
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACH,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EACH,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,eAAO,MAAM,SAAS;;CAErB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACH,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,gBAAgB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EACH,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.residence = exports.__resetSDKForTesting = exports.EventConverterFactory = exports.CurrencyStore = exports.ModelChangeEmitter = exports.isSDKInitialized = exports.firestoreToEvent = exports.eventToFirestore = exports.getModelChangeObservable = exports.getCurrencyStore = exports.getFirebaseAdapter = exports.getActivityEventHandler = exports.getGroupTransactionEventHandler = exports.getGroupEventHandler = exports.getTransactionEventHandler = exports.getFriendEventHandler = exports.getUserEventHandler = exports.getUIEventHandler = exports.getTransactionController = exports.getFriendController = exports.getUserController = exports.initializeSDK = exports.EventProcessorSDK = exports.UIEventHandler = exports.TransactionController = exports.FriendController = exports.UserController = exports.BaseEventHandler = void 0;
17
+ exports.__resetSDKForTesting = exports.EventConverterFactory = exports.CurrencyStore = exports.ModelChangeEmitter = exports.isSDKInitialized = exports.firestoreToEvent = exports.eventToFirestore = exports.getModelChangeObservable = exports.getCurrencyStore = exports.getFirebaseAdapter = exports.getActivityEventHandler = exports.getGroupTransactionEventHandler = exports.getGroupEventHandler = exports.getTransactionEventHandler = exports.getFriendEventHandler = exports.getUserEventHandler = exports.getUIEventHandler = exports.getTransactionController = exports.getFriendController = exports.getUserController = exports.initializeSDK = exports.EventProcessorSDK = exports.UIEventHandler = exports.TransactionController = exports.FriendController = exports.UserController = exports.BaseEventHandler = void 0;
18
18
  // Export all backend event definitions here
19
19
  __exportStar(require("./events"), exports);
20
20
  // Export base event handler interface
@@ -61,7 +61,3 @@ Object.defineProperty(exports, "EventConverterFactory", { enumerable: true, get:
61
61
  // Export singleton utilities for testing
62
62
  var EventProcessorSDK_2 = require("./EventProcessorSDK");
63
63
  Object.defineProperty(exports, "__resetSDKForTesting", { enumerable: true, get: function () { return EventProcessorSDK_2.__resetSDKForTesting; } });
64
- // Export environment context
65
- exports.residence = {
66
- isClient: true,
67
- };
@@ -1,5 +1,6 @@
1
1
  import { CurrencyRate } from "../common/CurrencyRate";
2
2
  export declare abstract class CurrencyStore {
3
3
  abstract getCurrencyRates(): Promise<CurrencyRate | undefined>;
4
+ abstract saveCurrencyRates(rates: CurrencyRate): Promise<void>;
4
5
  }
5
6
  //# sourceMappingURL=CurrencyStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyStore.d.ts","sourceRoot":"","sources":["../../src/store/CurrencyStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,8BAAsB,aAAa;IAC/B,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CACjE"}
1
+ {"version":3,"file":"CurrencyStore.d.ts","sourceRoot":"","sources":["../../src/store/CurrencyStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,8BAAsB,aAAa;IAC/B,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CACjE"}
@@ -2,6 +2,7 @@ import { Model } from "..";
2
2
  export interface ModelStore {
3
3
  getByStreamId(streamId: string): Promise<Model | undefined>;
4
4
  getByStreamIdWhereDeletedIsFalse(streamId: string): Promise<Model | undefined>;
5
+ getLatestByUpdatedAt(): Promise<Model | undefined>;
5
6
  save(model: Model): Promise<void>;
6
7
  }
7
8
  //# sourceMappingURL=ModelStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelStore.d.ts","sourceRoot":"","sources":["../../src/store/ModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B,MAAM,WAAW,UAAU;IACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC5D,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
1
+ {"version":3,"file":"ModelStore.d.ts","sourceRoot":"","sources":["../../src/store/ModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B,MAAM,WAAW,UAAU;IACvB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC5D,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
@@ -1,13 +1,17 @@
1
1
  import { TransactionModel } from "../TransactionEvents";
2
2
  import { UserModelStore } from "../store/UserModelStore";
3
3
  import { CurrencyStore } from "../store/CurrencyStore";
4
- import { BalanceResponse } from "../contracts/shared";
4
+ import { BalanceResponse } from "../contracts";
5
5
  export declare class BalanceUtil {
6
6
  private userModelStore;
7
7
  private currencyStore;
8
8
  constructor(userModelStore: UserModelStore, currencyStore: CurrencyStore);
9
9
  calculateBalance(transactions: TransactionModel[], userId: string): Promise<BalanceResponse>;
10
10
  private calculateCurrencyBalances;
11
+ convertAmount(amount: number, fromCurrency: string, toCurrency: string, rates: Record<string, number>): {
12
+ amount: number;
13
+ currency: string;
14
+ };
11
15
  private convertCurrency;
12
16
  }
13
17
  //# sourceMappingURL=BalanceUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceUtil.d.ts","sourceRoot":"","sources":["../../src/utils/BalanceUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAEH,eAAe,EAElB,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,WAAW;IAEhB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBADb,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa;IAGlC,gBAAgB,CAClB,YAAY,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC;IAmE3B,OAAO,CAAC,yBAAyB;IAwCjC,OAAO,CAAC,eAAe;CAmB1B"}
1
+ {"version":3,"file":"BalanceUtil.d.ts","sourceRoot":"","sources":["../../src/utils/BalanceUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAEH,eAAe,EAElB,MAAM,cAAc,CAAC;AAEtB,qBAAa,WAAW;IAEhB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBADb,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa;IAGlC,gBAAgB,CAClB,YAAY,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC;IAmE3B,OAAO,CAAC,yBAAyB;IAwCjC,aAAa,CACT,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAevC,OAAO,CAAC,eAAe;CAmB1B"}
@@ -14,7 +14,7 @@ class BalanceUtil {
14
14
  };
15
15
  }
16
16
  const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
17
- const baseCurrency = user?.currency;
17
+ const baseCurrency = user?.currency ?? "USD";
18
18
  const currencyBalances = this.calculateCurrencyBalances(transactions);
19
19
  if (!baseCurrency || currencyBalances.size === 0) {
20
20
  return {
@@ -22,6 +22,7 @@ class BalanceUtil {
22
22
  other: [],
23
23
  };
24
24
  }
25
+ ``;
25
26
  const currencyRates = await this.currencyStore.getCurrencyRates();
26
27
  const other = [];
27
28
  let totalConvertedAmount = 0;
@@ -82,6 +83,13 @@ class BalanceUtil {
82
83
  }
83
84
  return nonZeroBalances;
84
85
  }
86
+ convertAmount(amount, fromCurrency, toCurrency, rates) {
87
+ if (fromCurrency === toCurrency) {
88
+ return { amount, currency: toCurrency };
89
+ }
90
+ const convertedAmount = this.convertCurrency(amount, fromCurrency, toCurrency, rates);
91
+ return { amount: convertedAmount, currency: toCurrency };
92
+ }
85
93
  convertCurrency(amount, fromCurrency, toCurrency, rates) {
86
94
  if (fromCurrency === toCurrency) {
87
95
  return amount;
@@ -1 +1 @@
1
- {"version":3,"file":"splitTypeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/splitTypeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAmBhE;AAED,wBAAgB,8BAA8B,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAmBrC"}
1
+ {"version":3,"file":"splitTypeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/splitTypeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,IAAI,CAAC;AAE9C,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAmBhE;AAED,wBAAgB,8BAA8B,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAmBrC"}
@@ -5,39 +5,39 @@ exports.calculateMirrorAmountAndIsOwed = calculateMirrorAmountAndIsOwed;
5
5
  const __1 = require("..");
6
6
  function reverseSplitType(splitType) {
7
7
  switch (splitType) {
8
- case __1.SplitType.YouPaidSplitEqually:
9
- return __1.SplitType.TheyPaidSplitEqually;
10
- case __1.SplitType.TheyPaidSplitEqually:
11
- return __1.SplitType.YouPaidSplitEqually;
12
- case __1.SplitType.TheyOweYouAll:
13
- return __1.SplitType.YouOweThemAll;
14
- case __1.SplitType.YouOweThemAll:
15
- return __1.SplitType.TheyOweYouAll;
16
- case __1.SplitType.TheyPaidToSettle:
17
- return __1.SplitType.YouPaidToSettle;
18
- case __1.SplitType.YouPaidToSettle:
19
- return __1.SplitType.TheyPaidToSettle;
20
- case __1.SplitType.SpecificAmounts:
21
- return __1.SplitType.SpecificAmounts;
8
+ case __1.SplitTypeEnum.YouPaidSplitEqually:
9
+ return __1.SplitTypeEnum.TheyPaidSplitEqually;
10
+ case __1.SplitTypeEnum.TheyPaidSplitEqually:
11
+ return __1.SplitTypeEnum.YouPaidSplitEqually;
12
+ case __1.SplitTypeEnum.TheyOweYouAll:
13
+ return __1.SplitTypeEnum.YouOweThemAll;
14
+ case __1.SplitTypeEnum.YouOweThemAll:
15
+ return __1.SplitTypeEnum.TheyOweYouAll;
16
+ case __1.SplitTypeEnum.TheyPaidToSettle:
17
+ return __1.SplitTypeEnum.YouPaidToSettle;
18
+ case __1.SplitTypeEnum.YouPaidToSettle:
19
+ return __1.SplitTypeEnum.TheyPaidToSettle;
20
+ case __1.SplitTypeEnum.SpecificAmounts:
21
+ return __1.SplitTypeEnum.SpecificAmounts;
22
22
  default:
23
23
  throw new Error(`Unknown split type: ${splitType}`);
24
24
  }
25
25
  }
26
26
  function calculateMirrorAmountAndIsOwed(totalAmount, amount, splitType, isOwed) {
27
27
  switch (splitType) {
28
- case __1.SplitType.YouPaidSplitEqually:
28
+ case __1.SplitTypeEnum.YouPaidSplitEqually:
29
29
  return { amount: totalAmount / 2, isOwed: false };
30
- case __1.SplitType.TheyPaidSplitEqually:
30
+ case __1.SplitTypeEnum.TheyPaidSplitEqually:
31
31
  return { amount: totalAmount / 2, isOwed: true };
32
- case __1.SplitType.TheyOweYouAll:
32
+ case __1.SplitTypeEnum.TheyOweYouAll:
33
33
  return { amount: totalAmount, isOwed: false };
34
- case __1.SplitType.YouOweThemAll:
34
+ case __1.SplitTypeEnum.YouOweThemAll:
35
35
  return { amount: totalAmount, isOwed: true };
36
- case __1.SplitType.TheyPaidToSettle:
36
+ case __1.SplitTypeEnum.TheyPaidToSettle:
37
37
  return { amount: totalAmount, isOwed: true };
38
- case __1.SplitType.YouPaidToSettle:
38
+ case __1.SplitTypeEnum.YouPaidToSettle:
39
39
  return { amount: totalAmount, isOwed: false };
40
- case __1.SplitType.SpecificAmounts:
40
+ case __1.SplitTypeEnum.SpecificAmounts:
41
41
  return { amount: amount, isOwed: !isOwed };
42
42
  default:
43
43
  throw new Error(`Unknown split type: ${splitType}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeeshan60/event-processor",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "Shared event sourcing infrastructure for Loan Tracker projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,12 +0,0 @@
1
- export declare enum EventProcessorSource {
2
- GOOGLE_CLOUD_FUNCTION = "GOOGLE_CLOUD_FUNCTION",
3
- CLIENT = "CLIENT",
4
- UNKNOWN = "UNKNOWN"
5
- }
6
- export declare function setEventProcessorSource(source: EventProcessorSource): void;
7
- export declare function getEventProcessorSource(): EventProcessorSource;
8
- export declare function isGCFun(): boolean;
9
- export declare function isClient(): boolean;
10
- export declare function isUnknown(): boolean;
11
- export declare function resetEventProcessorSource(): void;
12
- //# sourceMappingURL=environment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC5B,qBAAqB,0BAA0B;IAC/C,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB;AAWD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAE1E;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAE9D;AAED,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAShD"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventProcessorSource = void 0;
4
- exports.setEventProcessorSource = setEventProcessorSource;
5
- exports.getEventProcessorSource = getEventProcessorSource;
6
- exports.isGCFun = isGCFun;
7
- exports.isClient = isClient;
8
- exports.isUnknown = isUnknown;
9
- exports.resetEventProcessorSource = resetEventProcessorSource;
10
- var EventProcessorSource;
11
- (function (EventProcessorSource) {
12
- EventProcessorSource["GOOGLE_CLOUD_FUNCTION"] = "GOOGLE_CLOUD_FUNCTION";
13
- EventProcessorSource["CLIENT"] = "CLIENT";
14
- EventProcessorSource["UNKNOWN"] = "UNKNOWN";
15
- })(EventProcessorSource || (exports.EventProcessorSource = EventProcessorSource = {}));
16
- let currentSource = EventProcessorSource.UNKNOWN;
17
- const envSource = process.env.EVENT_PROCESSOR_SOURCE;
18
- if (envSource === "GOOGLE_CLOUD_FUNCTION") {
19
- currentSource = EventProcessorSource.GOOGLE_CLOUD_FUNCTION;
20
- }
21
- else if (envSource === "CLIENT") {
22
- currentSource = EventProcessorSource.CLIENT;
23
- }
24
- function setEventProcessorSource(source) {
25
- currentSource = source;
26
- }
27
- function getEventProcessorSource() {
28
- return currentSource;
29
- }
30
- function isGCFun() {
31
- return currentSource === EventProcessorSource.GOOGLE_CLOUD_FUNCTION;
32
- }
33
- function isClient() {
34
- return currentSource === EventProcessorSource.CLIENT;
35
- }
36
- function isUnknown() {
37
- return currentSource === EventProcessorSource.UNKNOWN;
38
- }
39
- function resetEventProcessorSource() {
40
- const envSource = process.env.EVENT_PROCESSOR_SOURCE;
41
- if (envSource === "GOOGLE_CLOUD_FUNCTION") {
42
- currentSource = EventProcessorSource.GOOGLE_CLOUD_FUNCTION;
43
- }
44
- else if (envSource === "CLIENT") {
45
- currentSource = EventProcessorSource.CLIENT;
46
- }
47
- else {
48
- currentSource = EventProcessorSource.UNKNOWN;
49
- }
50
- }