@zeeshan60/event-processor 1.0.11 → 1.0.13

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 (156) hide show
  1. package/dist/ActivityEventHandler.d.ts +4 -4
  2. package/dist/ActivityEventHandler.d.ts.map +1 -1
  3. package/dist/ActivityLogEvents.d.ts +4 -2
  4. package/dist/ActivityLogEvents.d.ts.map +1 -1
  5. package/dist/ActivityLogEvents.js +1 -0
  6. package/dist/EventProcessorSDK.d.ts +22 -18
  7. package/dist/EventProcessorSDK.d.ts.map +1 -1
  8. package/dist/EventProcessorSDK.js +15 -4
  9. package/dist/FriendEventHandler.d.ts +4 -12
  10. package/dist/FriendEventHandler.d.ts.map +1 -1
  11. package/dist/FriendEventHandler.js +22 -54
  12. package/dist/FriendEvents.d.ts +13 -3
  13. package/dist/FriendEvents.d.ts.map +1 -1
  14. package/dist/FriendEvents.js +16 -7
  15. package/dist/GroupEventHandler.d.ts +7 -7
  16. package/dist/GroupEventHandler.d.ts.map +1 -1
  17. package/dist/GroupEventHandler.js +21 -12
  18. package/dist/GroupEvents.d.ts +15 -3
  19. package/dist/GroupEvents.d.ts.map +1 -1
  20. package/dist/GroupEvents.js +25 -13
  21. package/dist/GroupTransactionEventHandler.d.ts +7 -7
  22. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  23. package/dist/GroupTransactionEventHandler.js +23 -16
  24. package/dist/GroupTransactionEvents.d.ts +22 -4
  25. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  26. package/dist/GroupTransactionEvents.js +39 -21
  27. package/dist/TransactionEventHandler.d.ts +2 -5
  28. package/dist/TransactionEventHandler.d.ts.map +1 -1
  29. package/dist/TransactionEventHandler.js +29 -13
  30. package/dist/TransactionEvents.d.ts +24 -8
  31. package/dist/TransactionEvents.d.ts.map +1 -1
  32. package/dist/TransactionEvents.js +38 -22
  33. package/dist/UserEventHandler.d.ts +3 -11
  34. package/dist/UserEventHandler.d.ts.map +1 -1
  35. package/dist/UserEventHandler.js +64 -62
  36. package/dist/UserEvents.d.ts +20 -3
  37. package/dist/UserEvents.d.ts.map +1 -1
  38. package/dist/UserEvents.js +53 -18
  39. package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts +3 -0
  40. package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts.map +1 -0
  41. package/dist/__tests__/e2e/setup/firebaseEmulator.js +87 -0
  42. package/dist/__tests__/e2e/setup/firestoreStores.d.ts +28 -0
  43. package/dist/__tests__/e2e/setup/firestoreStores.d.ts.map +1 -0
  44. package/dist/__tests__/e2e/setup/firestoreStores.js +276 -0
  45. package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts +15 -0
  46. package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts.map +1 -0
  47. package/dist/__tests__/e2e/setup/firestoreTestHelpers.js +167 -0
  48. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +2 -2
  49. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  50. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +2 -2
  51. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
  52. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +2 -2
  53. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
  54. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +3 -2
  55. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
  56. package/dist/__tests__/test-helpers/IMFriendModelStore.js +9 -0
  57. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +2 -2
  58. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
  59. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +2 -2
  60. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
  61. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +2 -2
  62. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  63. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +2 -2
  64. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
  65. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +2 -2
  66. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  67. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +2 -2
  68. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
  69. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +2 -2
  70. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
  71. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +2 -2
  72. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
  73. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +2 -1
  74. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -1
  75. package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +5 -1
  76. package/dist/client/controllers/FriendController.d.ts +12 -0
  77. package/dist/client/controllers/FriendController.d.ts.map +1 -0
  78. package/dist/client/controllers/FriendController.js +122 -0
  79. package/dist/client/controllers/UserController.d.ts +6 -5
  80. package/dist/client/controllers/UserController.d.ts.map +1 -1
  81. package/dist/client/controllers/UserController.js +94 -7
  82. package/dist/client/handlers/UIEventHandler.d.ts +1 -1
  83. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
  84. package/dist/client/handlers/UIEventHandler.js +4 -2
  85. package/dist/client/handlers/UIFriendEventHandler.d.ts +6 -6
  86. package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -1
  87. package/dist/client/handlers/UIGroupEventHandler.d.ts +7 -7
  88. package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -1
  89. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +7 -7
  90. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -1
  91. package/dist/client/handlers/UITransactionEventHandler.d.ts +5 -5
  92. package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -1
  93. package/dist/client/handlers/UIUserEventHandler.d.ts +4 -4
  94. package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -1
  95. package/dist/common/DomainEvents.d.ts +1 -1
  96. package/dist/common/DomainEvents.d.ts.map +1 -1
  97. package/dist/common/DomainEvents.js +37 -37
  98. package/dist/common/Event.d.ts +3 -2
  99. package/dist/common/Event.d.ts.map +1 -1
  100. package/dist/common/EventBus.d.ts +2 -2
  101. package/dist/common/EventBus.d.ts.map +1 -1
  102. package/dist/common/EventBusSingleton.d.ts +1 -1
  103. package/dist/common/Model.d.ts.map +1 -1
  104. package/dist/common/index.d.ts +2 -2
  105. package/dist/contracts/common/index.d.ts.map +1 -1
  106. package/dist/contracts/expenses/index.d.ts.map +1 -1
  107. package/dist/contracts/friends/index.d.ts.map +1 -1
  108. package/dist/contracts/groups/index.d.ts.map +1 -1
  109. package/dist/contracts/index.d.ts +1 -0
  110. package/dist/contracts/index.d.ts.map +1 -1
  111. package/dist/contracts/index.js +1 -0
  112. package/dist/contracts/shared/index.d.ts.map +1 -1
  113. package/dist/contracts/transactions/index.d.ts.map +1 -1
  114. package/dist/contracts/users/index.d.ts +15 -0
  115. package/dist/contracts/users/index.d.ts.map +1 -0
  116. package/dist/contracts/users/index.js +2 -0
  117. package/dist/converters/eventConverter.d.ts +3 -3
  118. package/dist/converters/eventConverter.d.ts.map +1 -1
  119. package/dist/converters/eventConverter.js +67 -50
  120. package/dist/events.d.ts +29 -29
  121. package/dist/events.d.ts.map +1 -1
  122. package/dist/index.d.ts +18 -14
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +10 -2
  125. package/dist/store/ActivityLogEventStore.d.ts +1 -1
  126. package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
  127. package/dist/store/ActivityLogModelStore.d.ts +2 -2
  128. package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
  129. package/dist/store/FriendEventStore.d.ts +1 -1
  130. package/dist/store/FriendEventStore.d.ts.map +1 -1
  131. package/dist/store/FriendModelStore.d.ts +3 -2
  132. package/dist/store/FriendModelStore.d.ts.map +1 -1
  133. package/dist/store/GroupEventStore.d.ts +1 -1
  134. package/dist/store/GroupEventStore.d.ts.map +1 -1
  135. package/dist/store/GroupModelStore.d.ts +2 -2
  136. package/dist/store/GroupModelStore.d.ts.map +1 -1
  137. package/dist/store/GroupTransactionEventStore.d.ts +1 -1
  138. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
  139. package/dist/store/GroupTransactionModelStore.d.ts +2 -2
  140. package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
  141. package/dist/store/ModelStore.d.ts +1 -1
  142. package/dist/store/ModelStore.d.ts.map +1 -1
  143. package/dist/store/TransactionEventStore.d.ts +1 -1
  144. package/dist/store/TransactionEventStore.d.ts.map +1 -1
  145. package/dist/store/TransactionModelStore.d.ts +2 -2
  146. package/dist/store/TransactionModelStore.d.ts.map +1 -1
  147. package/dist/store/UserEventStore.d.ts +1 -1
  148. package/dist/store/UserEventStore.d.ts.map +1 -1
  149. package/dist/store/UserModelStore.d.ts +2 -2
  150. package/dist/store/UserModelStore.d.ts.map +1 -1
  151. package/dist/utils/splitTypeUtils.d.ts +1 -1
  152. package/dist/utils/splitTypeUtils.d.ts.map +1 -1
  153. package/dist/utils/userPathUtils.d.ts +1 -1
  154. package/dist/utils/userPathUtils.d.ts.map +1 -1
  155. package/dist/utils/userPathUtils.js +3 -3
  156. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { UserEventStore } from '../..';
2
- import { UserEvent } from '../..';
1
+ import { UserEventStore } from "../..";
2
+ import { UserEvent } from "../..";
3
3
  export declare class IMUserEventStore extends UserEventStore {
4
4
  private events;
5
5
  addEvent(event: UserEvent): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"IMUserEventStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserEventStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,OAAO,CAAC,MAAM,CAAmB;IAE3B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,IAAI,SAAS,EAAE;IAIxB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAIlD,KAAK,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"IMUserEventStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserEventStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,OAAO,CAAC,MAAM,CAAmB;IAE3B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,IAAI,SAAS,EAAE;IAIxB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAIlD,KAAK,IAAI,IAAI;CAGhB"}
@@ -1,5 +1,5 @@
1
- import { UserModelStore } from '../..';
2
- import { UserModel } from '../..';
1
+ import { UserModelStore } from "../..";
2
+ import { UserModel } from "../..";
3
3
  export declare class IMUserModelStore extends UserModelStore {
4
4
  private models;
5
5
  getByStreamId(streamId: string): Promise<UserModel | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"IMUserModelStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,OAAO,CAAC,MAAM,CAAqC;IAE7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAK/D,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAQlF,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS1D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS1D,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IASpE,MAAM,IAAI,SAAS,EAAE;IAIrB,yBAAyB,IAAI,SAAS,EAAE;IAIxC,KAAK,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"IMUserModelStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,OAAO,CAAC,MAAM,CAAqC;IAE7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAK/D,gCAAgC,CAClC,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAQ3B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS1D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS1D,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IASpE,MAAM,IAAI,SAAS,EAAE;IAIrB,yBAAyB,IAAI,SAAS,EAAE;IAMxC,KAAK,IAAI,IAAI;CAGhB"}
@@ -1,6 +1,7 @@
1
- import { FirebaseAdapter } from '../../adapters/FirebaseAdapter';
1
+ import { FirebaseAdapter } from "../../adapters/FirebaseAdapter";
2
2
  export declare class MockFirebaseAdapter implements FirebaseAdapter {
3
3
  fromDate(date: Date): any;
4
4
  toDate(timestamp: any): Date;
5
+ generateEventId(): string;
5
6
  }
6
7
  //# sourceMappingURL=MockFirebaseAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MockFirebaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/MockFirebaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAE/D,qBAAa,mBAAoB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;IAIzB,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;CAS/B"}
1
+ {"version":3,"file":"MockFirebaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/MockFirebaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,qBAAa,mBAAoB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;IAIzB,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;IAU5B,eAAe,IAAI,MAAM;CAG5B"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MockFirebaseAdapter = void 0;
4
+ const uuid_1 = require("uuid");
4
5
  class MockFirebaseAdapter {
5
6
  fromDate(date) {
6
7
  return { seconds: Math.floor(date.getTime() / 1000), nanoseconds: 0 };
@@ -9,10 +10,13 @@ class MockFirebaseAdapter {
9
10
  if (timestamp instanceof Date) {
10
11
  return timestamp;
11
12
  }
12
- if (timestamp && typeof timestamp.seconds === 'number') {
13
+ if (timestamp && typeof timestamp.seconds === "number") {
13
14
  return new Date(timestamp.seconds * 1000);
14
15
  }
15
16
  return new Date(timestamp);
16
17
  }
18
+ generateEventId() {
19
+ return (0, uuid_1.v4)();
20
+ }
17
21
  }
18
22
  exports.MockFirebaseAdapter = MockFirebaseAdapter;
@@ -0,0 +1,12 @@
1
+ import { FriendRequest, FriendResponse, UpdateFriendRequest } from "../../contracts/friends";
2
+ export declare class FriendController {
3
+ private get modelStore();
4
+ private get eventStore();
5
+ addFriend(userId: string, request: FriendRequest): Promise<FriendResponse>;
6
+ updateFriend(userId: string, friendId: string, request: UpdateFriendRequest): Promise<FriendResponse>;
7
+ deleteFriend(userId: string, friendId: string): Promise<void>;
8
+ getFriend(userId: string, friendId: string): Promise<FriendResponse>;
9
+ getAllFriends(userId: string): Promise<FriendResponse[]>;
10
+ private toFriendResponse;
11
+ }
12
+ //# sourceMappingURL=FriendController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FriendController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/FriendController.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,aAAa,EACb,cAAc,EACd,mBAAmB,EACtB,MAAM,yBAAyB,CAAC;AAKjC,qBAAa,gBAAgB;IACzB,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,KAAK,UAAU,GAGrB;IAEK,SAAS,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACvB,OAAO,CAAC,cAAc,CAAC;IA6BpB,YAAY,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,cAAc,CAAC;IAkDpB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAapE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAS9D,OAAO,CAAC,gBAAgB;CAkB3B"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FriendController = void 0;
4
+ const FriendEvents_1 = require("../../FriendEvents");
5
+ const uuid_1 = require("uuid");
6
+ const EventProcessorSDK_1 = require("../../EventProcessorSDK");
7
+ class FriendController {
8
+ get modelStore() {
9
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig()
10
+ .friendModelStore;
11
+ }
12
+ get eventStore() {
13
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig()
14
+ .friendEventStore;
15
+ }
16
+ async addFriend(userId, request) {
17
+ if (!request.email && !request.phoneNumber) {
18
+ throw new Error("Either email or phoneNumber must be provided");
19
+ }
20
+ const streamId = (0, uuid_1.v4)();
21
+ const createdAt = new Date();
22
+ const event = new FriendEvents_1.FriendCreated({
23
+ eventId: (0, uuid_1.v4)(),
24
+ userId,
25
+ friendEmail: request.email?.trim(),
26
+ friendPhoneNumber: request.phoneNumber?.trim(),
27
+ friendDisplayName: request.name.trim(),
28
+ friendId: undefined,
29
+ groupId: undefined,
30
+ createdAt,
31
+ createdBy: userId,
32
+ streamId,
33
+ version: 1,
34
+ systemGenerated: false,
35
+ });
36
+ await this.eventStore.addEvent(event);
37
+ const friendModel = event.apply(undefined);
38
+ return this.toFriendResponse(friendModel);
39
+ }
40
+ async updateFriend(userId, friendId, request) {
41
+ const friendModel = await this.modelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId, friendId);
42
+ if (!friendModel) {
43
+ throw new Error(`Friend not found: ${friendId}`);
44
+ }
45
+ const hasChanges = (request.email !== undefined &&
46
+ request.email.trim() !== "" &&
47
+ request.email !== friendModel.friendEmail) ||
48
+ (request.phoneNumber !== undefined &&
49
+ request.phoneNumber.trim() !== "" &&
50
+ request.phoneNumber !== friendModel.friendPhoneNumber) ||
51
+ (request.name !== undefined &&
52
+ request.name.trim() !== "" &&
53
+ request.name !== friendModel.friendDisplayName);
54
+ if (!hasChanges) {
55
+ return this.toFriendResponse(friendModel);
56
+ }
57
+ const createdAt = new Date();
58
+ const event = new FriendEvents_1.FriendUpdated({
59
+ eventId: (0, uuid_1.v4)(),
60
+ userId,
61
+ friendEmail: request.email !== undefined ? request.email.trim() : undefined,
62
+ friendPhoneNumber: request.phoneNumber !== undefined
63
+ ? request.phoneNumber.trim()
64
+ : undefined,
65
+ friendDisplayName: request.name !== undefined ? request.name.trim() : undefined,
66
+ createdAt,
67
+ createdBy: userId,
68
+ streamId: friendModel.streamId,
69
+ version: friendModel.version + 1,
70
+ systemGenerated: false,
71
+ });
72
+ await this.eventStore.addEvent(event);
73
+ const updatedModel = event.apply(friendModel);
74
+ return this.toFriendResponse(updatedModel);
75
+ }
76
+ async deleteFriend(userId, friendId) {
77
+ const friendModel = await this.modelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId, friendId);
78
+ if (!friendModel) {
79
+ throw new Error(`Friend not found: ${friendId}`);
80
+ }
81
+ const createdAt = new Date();
82
+ const event = new FriendEvents_1.FriendDeleted({
83
+ eventId: (0, uuid_1.v4)(),
84
+ userId,
85
+ createdAt,
86
+ createdBy: userId,
87
+ streamId: friendModel.streamId,
88
+ version: friendModel.version + 1,
89
+ systemGenerated: false,
90
+ });
91
+ await this.eventStore.addEvent(event);
92
+ }
93
+ async getFriend(userId, friendId) {
94
+ const friendModel = await this.modelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId, friendId);
95
+ if (!friendModel) {
96
+ throw new Error(`Friend not found: ${friendId}`);
97
+ }
98
+ return this.toFriendResponse(friendModel);
99
+ }
100
+ async getAllFriends(userId) {
101
+ const friendModels = await this.modelStore.findAllByUserIdWhereDeletedIsFalse(userId);
102
+ return friendModels.map((friendModel) => this.toFriendResponse(friendModel));
103
+ }
104
+ toFriendResponse(friendModel) {
105
+ const emptyBalance = {
106
+ main: undefined,
107
+ other: [],
108
+ };
109
+ return {
110
+ photoUrl: undefined,
111
+ name: friendModel.friendDisplayName,
112
+ friendId: friendModel.friendId ?? friendModel.streamId,
113
+ settled: false,
114
+ email: friendModel.friendEmail,
115
+ phone: friendModel.friendPhoneNumber,
116
+ mainBalance: undefined,
117
+ otherBalances: [],
118
+ balance: emptyBalance,
119
+ };
120
+ }
121
+ }
122
+ exports.FriendController = FriendController;
@@ -1,9 +1,10 @@
1
- import { UserModelStore } from '../../store/UserModelStore';
2
- import { UserEventStore } from '../../store/UserEventStore';
1
+ import { UpdateUserRequest, UserResponse } from "../../contracts/users";
3
2
  export declare class UserController {
4
- private modelStore;
5
- private eventStore?;
6
- constructor(modelStore: UserModelStore, eventStore?: UserEventStore | undefined);
3
+ private get modelStore();
4
+ private get eventStore();
7
5
  loginUser(userFSId: string): Promise<string>;
6
+ getUser(userId: string): Promise<UserResponse>;
7
+ updateUser(userId: string, request: UpdateUserRequest): Promise<UserResponse>;
8
+ private toUserResponse;
8
9
  }
9
10
  //# sourceMappingURL=UserController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/UserController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAG1D,qBAAa,cAAc;IAEnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU,CAAC;gBADX,UAAU,EAAE,cAAc,EAC1B,UAAU,CAAC,EAAE,cAAc,YAAA;IAGjC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA+BrD"}
1
+ {"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/UserController.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKxE,qBAAa,cAAc;IACvB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,UAAU,GAErB;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsC5C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAU9C,UAAU,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,YAAY,CAAC;IAyExB,OAAO,CAAC,cAAc;CAiBzB"}
@@ -4,10 +4,14 @@ exports.UserController = void 0;
4
4
  const EventBusSingleton_1 = require("../../common/EventBusSingleton");
5
5
  const UserEvents_1 = require("../../UserEvents");
6
6
  const rxjs_1 = require("rxjs");
7
+ const EventProcessorSDK_1 = require("../../EventProcessorSDK");
8
+ const uuid_1 = require("uuid");
7
9
  class UserController {
8
- constructor(modelStore, eventStore) {
9
- this.modelStore = modelStore;
10
- this.eventStore = eventStore;
10
+ get modelStore() {
11
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().userModelStore;
12
+ }
13
+ get eventStore() {
14
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().userEventStore;
11
15
  }
12
16
  async loginUser(userFSId) {
13
17
  const existingUser = await this.modelStore.findByFirebaseUid(userFSId);
@@ -16,21 +20,104 @@ class UserController {
16
20
  }
17
21
  const eventBus = (0, EventBusSingleton_1.getEventBus)();
18
22
  const isUserCreatedForFirebaseUid = (event) => {
19
- return event instanceof UserEvents_1.UserCreated && event.firebaseUid === userFSId;
23
+ return (event instanceof UserEvents_1.UserCreated && event.firebaseUid === userFSId);
20
24
  };
21
25
  try {
22
- const event = await (0, rxjs_1.firstValueFrom)(eventBus.observable(isUserCreatedForFirebaseUid).pipe((0, rxjs_1.timeout)(10000)));
26
+ const event = await (0, rxjs_1.firstValueFrom)(eventBus
27
+ .observable(isUserCreatedForFirebaseUid)
28
+ .pipe((0, rxjs_1.timeout)(10000)));
23
29
  if (!event.userId) {
24
- throw new Error('UserCreated event missing userId');
30
+ throw new Error("UserCreated event missing userId");
25
31
  }
26
32
  return event.userId;
27
33
  }
28
34
  catch (error) {
29
- if (error.name === 'TimeoutError') {
35
+ if (error.name === "TimeoutError") {
30
36
  throw new Error(`Timeout waiting for UserCreated event for firebaseUid: ${userFSId}`);
31
37
  }
32
38
  throw error;
33
39
  }
34
40
  }
41
+ async getUser(userId) {
42
+ const userModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(userId);
43
+ if (!userModel) {
44
+ throw new Error(`User not found: ${userId}`);
45
+ }
46
+ return this.toUserResponse(userModel);
47
+ }
48
+ async updateUser(userId, request) {
49
+ let userModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(userId);
50
+ if (!userModel) {
51
+ throw new Error(`User not found: ${userId}`);
52
+ }
53
+ let currentVersion = userModel.version;
54
+ const createdAt = new Date();
55
+ if (request.displayName !== undefined &&
56
+ request.displayName.trim() !== "" &&
57
+ request.displayName !== userModel.displayName) {
58
+ currentVersion++;
59
+ const event = new UserEvents_1.UserDisplayNameChanged({
60
+ eventId: (0, uuid_1.v4)(),
61
+ userId: userModel.userId,
62
+ displayName: request.displayName.trim(),
63
+ createdAt,
64
+ createdBy: userModel.userId,
65
+ streamId: userModel.streamId,
66
+ version: currentVersion,
67
+ systemGenerated: false,
68
+ });
69
+ await this.eventStore.addEvent(event);
70
+ userModel = event.apply(userModel);
71
+ }
72
+ if (request.phoneNumber !== undefined &&
73
+ request.phoneNumber.trim() !== "" &&
74
+ request.phoneNumber !== userModel.phoneNumber) {
75
+ currentVersion++;
76
+ const event = new UserEvents_1.UserPhoneNumberChanged({
77
+ eventId: (0, uuid_1.v4)(),
78
+ userId: userModel.userId,
79
+ phoneNumber: request.phoneNumber.trim(),
80
+ createdAt,
81
+ createdBy: userModel.userId,
82
+ streamId: userModel.streamId,
83
+ version: currentVersion,
84
+ systemGenerated: false,
85
+ });
86
+ await this.eventStore.addEvent(event);
87
+ userModel = event.apply(userModel);
88
+ }
89
+ if (request.currency !== undefined &&
90
+ request.currency.trim() !== "" &&
91
+ request.currency !== userModel.currency) {
92
+ currentVersion++;
93
+ const event = new UserEvents_1.UserCurrencyChanged({
94
+ eventId: (0, uuid_1.v4)(),
95
+ userId: userModel.userId,
96
+ currency: request.currency.trim(),
97
+ createdAt,
98
+ createdBy: userModel.userId,
99
+ streamId: userModel.streamId,
100
+ version: currentVersion,
101
+ systemGenerated: false,
102
+ });
103
+ await this.eventStore.addEvent(event);
104
+ userModel = event.apply(userModel);
105
+ }
106
+ return this.toUserResponse(userModel);
107
+ }
108
+ toUserResponse(userModel) {
109
+ if (!userModel.uid) {
110
+ throw new Error("Cannot create UserResponse for placeholder user without uid");
111
+ }
112
+ return {
113
+ uid: userModel.uid,
114
+ email: userModel.email,
115
+ phoneNumber: userModel.phoneNumber,
116
+ displayName: userModel.displayName,
117
+ currency: userModel.currency,
118
+ photoUrl: userModel.photoUrl,
119
+ emailVerified: userModel.emailVerified,
120
+ };
121
+ }
35
122
  }
36
123
  exports.UserController = UserController;
@@ -1,4 +1,4 @@
1
- import { UserModelStore } from '../../store/UserModelStore';
1
+ import { UserModelStore } from "../../store/UserModelStore";
2
2
  interface FirestoreTimestamp {
3
3
  toDate(): Date;
4
4
  seconds: number;
@@ -1 +1 @@
1
- {"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIEventHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAG1D,UAAU,kBAAkB;IACxB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,wBAAwB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,qBAAa,cAAc;IAEnB,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAGpC,oBAAoB,CAAC,SAAS,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9E,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,MAAM;CASjB"}
1
+ {"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIEventHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D,UAAU,kBAAkB;IACxB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,wBAAwB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,qBAAa,cAAc;IACX,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAE5C,oBAAoB,CACtB,SAAS,EAAE,wBAAwB,GACpC,OAAO,CAAC,IAAI,CAAC;IAchB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,MAAM;CASjB"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UIEventHandler = void 0;
4
4
  const index_1 = require("../../index");
5
5
  const EventBusSingleton_1 = require("../../common/EventBusSingleton");
6
+ const uuid_1 = require("uuid");
6
7
  class UIEventHandler {
7
8
  constructor(userModelStore) {
8
9
  this.userModelStore = userModelStore;
@@ -19,8 +20,9 @@ class UIEventHandler {
19
20
  firestoreToEvent(data) {
20
21
  const eventType = data.eventType;
21
22
  const createdAt = this.toDate(data.createdAt);
22
- if (eventType === 'UserCreated') {
23
+ if (eventType === "UserCreated") {
23
24
  return new index_1.UserCreated({
25
+ eventId: (0, uuid_1.v4)(),
24
26
  userId: data.userId,
25
27
  firebaseUid: data.firebaseUid,
26
28
  displayName: data.displayName,
@@ -41,7 +43,7 @@ class UIEventHandler {
41
43
  if (timestamp instanceof Date) {
42
44
  return timestamp;
43
45
  }
44
- if (typeof timestamp === 'object' && 'toDate' in timestamp) {
46
+ if (typeof timestamp === "object" && "toDate" in timestamp) {
45
47
  return timestamp.toDate();
46
48
  }
47
49
  return new Date(timestamp);
@@ -1,9 +1,9 @@
1
- import { FriendModel, FriendEvent } from '../..';
2
- import { FriendModelStore } from '../..';
3
- import { UserModelStore } from '../..';
4
- import { FriendEventStore } from '../..';
5
- import { UserEventStore } from '../..';
6
- import { ActivityEventHandler } from '../../ActivityEventHandler';
1
+ import { FriendModel, FriendEvent } from "../..";
2
+ import { FriendModelStore } from "../..";
3
+ import { UserModelStore } from "../..";
4
+ import { FriendEventStore } from "../..";
5
+ import { UserEventStore } from "../..";
6
+ import { ActivityEventHandler } from "../../ActivityEventHandler";
7
7
  export declare class UIFriendEventHandler {
8
8
  private modelStore;
9
9
  private userModelStore;
@@ -1 +1 @@
1
- {"version":3,"file":"UIFriendEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIFriendEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,WAAW,EACd,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,gBAAgB,EAAC,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAGhE,qBAAa,oBAAoB;IAEzB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB,CAAC;gBAJrB,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAe9D"}
1
+ {"version":3,"file":"UIFriendEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIFriendEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,oBAAoB;IAEzB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB,CAAC;gBAJrB,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAsB9D"}
@@ -1,10 +1,10 @@
1
- import { GroupModel, GroupEvent } from '../..';
2
- import { GroupModelStore } from '../..';
3
- import { FriendModelStore } from '../..';
4
- import { UserModelStore } from '../..';
5
- import { GroupEventStore } from '../..';
6
- import { FriendEventStore } from '../..';
7
- import { ActivityEventHandler } from '../../ActivityEventHandler';
1
+ import { GroupModel, GroupEvent } from "../..";
2
+ import { GroupModelStore } from "../..";
3
+ import { FriendModelStore } from "../..";
4
+ import { UserModelStore } from "../..";
5
+ import { GroupEventStore } from "../..";
6
+ import { FriendEventStore } from "../..";
7
+ import { ActivityEventHandler } from "../../ActivityEventHandler";
8
8
  export declare class UIGroupEventHandler {
9
9
  private modelStore;
10
10
  private friendModelStore;
@@ -1 +1 @@
1
- {"version":3,"file":"UIGroupEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIGroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,UAAU,EACb,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,eAAe,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAGhE,qBAAa,mBAAmB;IAExB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,eAAe,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAe5D"}
1
+ {"version":3,"file":"UIGroupEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIGroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,mBAAmB;IAExB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,eAAe,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAsB5D"}
@@ -1,10 +1,10 @@
1
- import { GroupTransactionModel, GroupTransactionEvent } from '../..';
2
- import { GroupTransactionModelStore } from '../..';
3
- import { GroupTransactionEventStore } from '../..';
4
- import { GroupModelStore } from '../..';
5
- import { TransactionEventStore } from '../..';
6
- import { TransactionModelStore } from '../..';
7
- import { ActivityEventHandler } from '../../ActivityEventHandler';
1
+ import { GroupTransactionModel, GroupTransactionEvent } from "../..";
2
+ import { GroupTransactionModelStore } from "../..";
3
+ import { GroupTransactionEventStore } from "../..";
4
+ import { GroupModelStore } from "../..";
5
+ import { TransactionEventStore } from "../..";
6
+ import { TransactionModelStore } from "../..";
7
+ import { ActivityEventHandler } from "../../ActivityEventHandler";
8
8
  export declare class UIGroupTransactionEventHandler {
9
9
  private modelStore;
10
10
  private eventStore;
@@ -1 +1 @@
1
- {"version":3,"file":"UIGroupTransactionEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIGroupTransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,0BAA0B,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,qBAAqB,EAAC,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAGhE,qBAAa,8BAA8B;IAEnC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,0BAA0B,EACtC,UAAU,EAAE,0BAA0B,EACtC,eAAe,EAAE,eAAe,EAChC,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAelF"}
1
+ {"version":3,"file":"UIGroupTransactionEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIGroupTransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,8BAA8B;IAEnC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,0BAA0B,EACtC,UAAU,EAAE,0BAA0B,EACtC,eAAe,EAAE,eAAe,EAChC,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CACb,KAAK,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;CA0BpC"}
@@ -1,8 +1,8 @@
1
- import { TransactionModel, TransactionEvent } from '../..';
2
- import { TransactionModelStore } from '../..';
3
- import { TransactionEventStore } from '../..';
4
- import { UserModelStore } from '../..';
5
- import { ActivityEventHandler } from '../../ActivityEventHandler';
1
+ import { TransactionModel, TransactionEvent } from "../..";
2
+ import { TransactionModelStore } from "../..";
3
+ import { TransactionEventStore } from "../..";
4
+ import { UserModelStore } from "../..";
5
+ import { ActivityEventHandler } from "../../ActivityEventHandler";
6
6
  export declare class UITransactionEventHandler {
7
7
  private modelStore;
8
8
  private eventStore;
@@ -1 +1 @@
1
- {"version":3,"file":"UITransactionEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UITransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,qBAAqB,EAAC,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAGhE,qBAAa,yBAAyB;IAE9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,oBAAoB,CAAC;gBAHrB,UAAU,EAAE,qBAAqB,EACjC,UAAU,EAAE,qBAAqB,EACjC,gBAAgB,EAAE,cAAc,EAChC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAexE"}
1
+ {"version":3,"file":"UITransactionEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UITransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,yBAAyB;IAE9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,oBAAoB,CAAC;gBAHrB,UAAU,EAAE,qBAAqB,EACjC,UAAU,EAAE,qBAAqB,EACjC,gBAAgB,EAAE,cAAc,EAChC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsBxE"}
@@ -1,7 +1,7 @@
1
- import { UserModel, UserEvent } from '../..';
2
- import { UserModelStore } from '../..';
3
- import { UserEventStore } from '../..';
4
- import { ActivityEventHandler } from '../../ActivityEventHandler';
1
+ import { UserModel, UserEvent } from "../..";
2
+ import { UserModelStore } from "../..";
3
+ import { UserEventStore } from "../..";
4
+ import { ActivityEventHandler } from "../../ActivityEventHandler";
5
5
  export declare class UIUserEventHandler {
6
6
  private modelStore;
7
7
  private eventStore;
@@ -1 +1 @@
1
- {"version":3,"file":"UIUserEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIUserEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,SAAS,EACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAGhE,qBAAa,kBAAkB;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,oBAAoB,CAAC;gBAFrB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CAqB1D"}
1
+ {"version":3,"file":"UIUserEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIUserEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,kBAAkB;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,oBAAoB,CAAC;gBAFrB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CA8B1D"}
@@ -1,4 +1,4 @@
1
- import { Event } from './Event';
1
+ import { Event } from "./Event";
2
2
  /**
3
3
  * Domain-specific event interfaces for grouping related events
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomainEvents.d.ts","sourceRoot":"","sources":["../../src/common/DomainEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAE9B;;GAEG;AAEH,MAAM,WAAW,gBAAiB,SAAQ,KAAK;CAE9C;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK;CAEvC;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;CAEzC;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK;CAExC;AAED,MAAM,WAAW,qBAAsB,SAAQ,KAAK;CAEnD;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;CAE9C;AAED;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;CASxB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;CAU7B,CAAC;AAEX,eAAO,MAAM,qBAAqB;;CAExB,CAAC;AAEX;;GAEG;AAEH,eAAO,MAAM,sBAAsB,qMAAgC,CAAC;AACpE,eAAO,MAAM,wBAAwB,+FAAkC,CAAC;AACxE,eAAO,MAAM,6BAA6B,iMAAuC,CAAC;AAClF,eAAO,MAAM,uBAAuB,oIAAiC,CAAC;AACtE,eAAO,MAAM,mCAAmC,2TAA4C,CAAC;AAC7F,eAAO,MAAM,8BAA8B,wBAAuC,CAAC;AAEnF;;GAEG;AAEH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEtE"}
1
+ {"version":3,"file":"DomainEvents.d.ts","sourceRoot":"","sources":["../../src/common/DomainEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;GAEG;AAEH,MAAM,WAAW,gBAAiB,SAAQ,KAAK;CAE9C;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK;CAEvC;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;CAEzC;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK;CAExC;AAED,MAAM,WAAW,qBAAsB,SAAQ,KAAK;CAEnD;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;CAE9C;AAED;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;CASxB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;CAU7B,CAAC;AAEX,eAAO,MAAM,qBAAqB;;CAExB,CAAC;AAEX;;GAEG;AAEH,eAAO,MAAM,sBAAsB,qMAAgC,CAAC;AACpE,eAAO,MAAM,wBAAwB,+FAAkC,CAAC;AACxE,eAAO,MAAM,6BAA6B,iMAEzC,CAAC;AACF,eAAO,MAAM,uBAAuB,oIAAiC,CAAC;AACtE,eAAO,MAAM,mCAAmC,2TAE/C,CAAC;AACF,eAAO,MAAM,8BAA8B,wBAE1C,CAAC;AAEF;;GAEG;AAEH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAItE;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAI3E;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAItE"}