@zeeshan60/event-processor 1.0.10 → 1.0.11

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 (138) hide show
  1. package/README.md +42 -0
  2. package/dist/ActivityEventHandler.js +1 -1
  3. package/dist/ActivityLogEvents.d.ts +2 -2
  4. package/dist/ActivityLogEvents.d.ts.map +1 -1
  5. package/dist/EventProcessorSDK.d.ts +56 -0
  6. package/dist/EventProcessorSDK.d.ts.map +1 -0
  7. package/dist/EventProcessorSDK.js +80 -0
  8. package/dist/FriendEventHandler.d.ts +2 -2
  9. package/dist/FriendEventHandler.d.ts.map +1 -1
  10. package/dist/FriendEventHandler.js +7 -13
  11. package/dist/FriendEvents.d.ts +14 -21
  12. package/dist/FriendEvents.d.ts.map +1 -1
  13. package/dist/FriendEvents.js +1 -9
  14. package/dist/GroupEventHandler.d.ts +2 -2
  15. package/dist/GroupEventHandler.d.ts.map +1 -1
  16. package/dist/GroupEventHandler.js +10 -17
  17. package/dist/GroupEvents.d.ts +17 -25
  18. package/dist/GroupEvents.d.ts.map +1 -1
  19. package/dist/GroupEvents.js +1 -10
  20. package/dist/GroupTransactionEventHandler.d.ts +2 -2
  21. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  22. package/dist/GroupTransactionEventHandler.js +14 -12
  23. package/dist/GroupTransactionEvents.d.ts +28 -39
  24. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  25. package/dist/GroupTransactionEvents.js +1 -16
  26. package/dist/TransactionEventHandler.d.ts +2 -2
  27. package/dist/TransactionEventHandler.d.ts.map +1 -1
  28. package/dist/TransactionEventHandler.js +9 -30
  29. package/dist/TransactionEvents.d.ts +25 -16
  30. package/dist/TransactionEvents.d.ts.map +1 -1
  31. package/dist/TransactionEvents.js +8 -13
  32. package/dist/UserEventHandler.d.ts.map +1 -1
  33. package/dist/UserEventHandler.js +2 -5
  34. package/dist/UserEvents.d.ts +25 -35
  35. package/dist/UserEvents.d.ts.map +1 -1
  36. package/dist/UserEvents.js +1 -22
  37. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +3 -3
  38. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  39. package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +1 -1
  40. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +3 -3
  41. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
  42. package/dist/__tests__/test-helpers/IMFriendEventStore.js +1 -1
  43. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +3 -3
  44. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
  45. package/dist/__tests__/test-helpers/IMGroupEventStore.js +1 -1
  46. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +3 -3
  47. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  48. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +3 -3
  49. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +4 -4
  50. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  51. package/dist/__tests__/test-helpers/IMTransactionEventStore.js +1 -1
  52. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +4 -4
  53. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
  54. package/dist/__tests__/test-helpers/IMUserEventStore.js +1 -1
  55. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +6 -0
  56. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -0
  57. package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +18 -0
  58. package/dist/adapters/FirebaseAdapter.d.ts +5 -0
  59. package/dist/adapters/FirebaseAdapter.d.ts.map +1 -0
  60. package/dist/adapters/FirebaseAdapter.js +2 -0
  61. package/dist/adapters/FirebaseAdminAdapter.d.ts +8 -0
  62. package/dist/adapters/FirebaseAdminAdapter.d.ts.map +1 -0
  63. package/dist/adapters/FirebaseAdminAdapter.js +21 -0
  64. package/dist/adapters/FirebaseClientAdapter.d.ts +8 -0
  65. package/dist/adapters/FirebaseClientAdapter.d.ts.map +1 -0
  66. package/dist/adapters/FirebaseClientAdapter.js +22 -0
  67. package/dist/client/controllers/UserController.d.ts +9 -0
  68. package/dist/client/controllers/UserController.d.ts.map +1 -0
  69. package/dist/client/controllers/UserController.js +36 -0
  70. package/dist/client/handlers/UIActivityEventHandler.d.ts +12 -0
  71. package/dist/client/handlers/UIActivityEventHandler.d.ts.map +1 -0
  72. package/dist/client/handlers/UIActivityEventHandler.js +14 -0
  73. package/dist/client/handlers/UIEventHandler.d.ts +25 -0
  74. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -0
  75. package/dist/client/handlers/UIEventHandler.js +50 -0
  76. package/dist/client/handlers/UIFriendEventHandler.d.ts +16 -0
  77. package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -0
  78. package/dist/client/handlers/UIFriendEventHandler.js +27 -0
  79. package/dist/client/handlers/UIGroupEventHandler.d.ts +18 -0
  80. package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -0
  81. package/dist/client/handlers/UIGroupEventHandler.js +28 -0
  82. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +18 -0
  83. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -0
  84. package/dist/client/handlers/UIGroupTransactionEventHandler.js +28 -0
  85. package/dist/client/handlers/UITransactionEventHandler.d.ts +14 -0
  86. package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -0
  87. package/dist/client/handlers/UITransactionEventHandler.js +26 -0
  88. package/dist/client/handlers/UIUserEventHandler.d.ts +12 -0
  89. package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -0
  90. package/dist/client/handlers/UIUserEventHandler.js +29 -0
  91. package/dist/common/DomainEvents.d.ts +87 -0
  92. package/dist/common/DomainEvents.d.ts.map +1 -0
  93. package/dist/common/DomainEvents.js +91 -0
  94. package/dist/common/Event.d.ts +1 -0
  95. package/dist/common/Event.d.ts.map +1 -1
  96. package/dist/contracts/common/index.d.ts +7 -0
  97. package/dist/contracts/common/index.d.ts.map +1 -0
  98. package/dist/contracts/common/index.js +2 -0
  99. package/dist/contracts/expenses/index.d.ts +148 -0
  100. package/dist/contracts/expenses/index.d.ts.map +1 -0
  101. package/dist/contracts/expenses/index.js +30 -0
  102. package/dist/contracts/friends/index.d.ts +82 -0
  103. package/dist/contracts/friends/index.d.ts.map +1 -0
  104. package/dist/contracts/friends/index.js +2 -0
  105. package/dist/contracts/groups/index.d.ts +139 -0
  106. package/dist/contracts/groups/index.d.ts.map +1 -0
  107. package/dist/contracts/groups/index.js +2 -0
  108. package/dist/contracts/index.d.ts +7 -0
  109. package/dist/contracts/index.d.ts.map +1 -0
  110. package/dist/contracts/index.js +22 -0
  111. package/dist/contracts/shared/index.d.ts +12 -0
  112. package/dist/contracts/shared/index.d.ts.map +1 -0
  113. package/dist/contracts/shared/index.js +2 -0
  114. package/dist/contracts/transactions/index.d.ts +154 -0
  115. package/dist/contracts/transactions/index.d.ts.map +1 -0
  116. package/dist/contracts/transactions/index.js +19 -0
  117. package/dist/converters/eventConverter.d.ts +17 -0
  118. package/dist/converters/eventConverter.d.ts.map +1 -0
  119. package/dist/converters/eventConverter.js +344 -0
  120. package/dist/events.d.ts +0 -1
  121. package/dist/events.d.ts.map +1 -1
  122. package/dist/events.js +1 -11
  123. package/dist/index.d.ts +12 -2
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +45 -3
  126. package/dist/store/ActivityLogEventStore.d.ts +2 -2
  127. package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
  128. package/dist/store/FriendEventStore.d.ts +2 -2
  129. package/dist/store/FriendEventStore.d.ts.map +1 -1
  130. package/dist/store/GroupEventStore.d.ts +2 -2
  131. package/dist/store/GroupEventStore.d.ts.map +1 -1
  132. package/dist/store/GroupTransactionEventStore.d.ts +2 -2
  133. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
  134. package/dist/store/TransactionEventStore.d.ts +2 -2
  135. package/dist/store/TransactionEventStore.d.ts.map +1 -1
  136. package/dist/store/UserEventStore.d.ts +2 -2
  137. package/dist/store/UserEventStore.d.ts.map +1 -1
  138. package/package.json +1 -1
package/README.md CHANGED
@@ -27,6 +27,47 @@ This package is used internally within the monorepo. Reference it in your projec
27
27
 
28
28
  ## Usage
29
29
 
30
+ ### SDK Initialization (Recommended)
31
+
32
+ The event-processor SDK provides a centralized way to initialize all store implementations at once:
33
+
34
+ ```typescript
35
+ import {
36
+ initializeSDK,
37
+ getUserController,
38
+ getUIEventHandler,
39
+ StoreConfig
40
+ } from '@zeeshan60/event-processor';
41
+ import { MyUserModelStore } from './stores/MyUserModelStore';
42
+ import { MyUserEventStore } from './stores/MyUserEventStore';
43
+
44
+ // Initialize SDK once at app startup with ALL required stores
45
+ const sdk = initializeSDK({
46
+ userModelStore: new MyUserModelStore(),
47
+ userEventStore: new MyUserEventStore(),
48
+ friendModelStore: new MyFriendModelStore(),
49
+ friendEventStore: new MyFriendEventStore(),
50
+ transactionModelStore: new MyTransactionModelStore(),
51
+ transactionEventStore: new MyTransactionEventStore(),
52
+ groupModelStore: new MyGroupModelStore(),
53
+ groupEventStore: new MyGroupEventStore(),
54
+ groupTransactionModelStore: new MyGroupTransactionModelStore(),
55
+ groupTransactionEventStore: new MyGroupTransactionEventStore(),
56
+ activityLogModelStore: new MyActivityLogModelStore(),
57
+ activityLogEventStore: new MyActivityLogEventStore(),
58
+ });
59
+
60
+ // Use controllers anywhere in your app
61
+ const userController = getUserController();
62
+ const userId = await userController.loginUser(firebaseUid);
63
+
64
+ // Handle UI events
65
+ const uiEventHandler = getUIEventHandler();
66
+ await uiEventHandler.handleFirestoreEvent(eventData);
67
+ ```
68
+
69
+ For detailed SDK usage, see [SDK_USAGE.md](./SDK_USAGE.md).
70
+
30
71
  ### Basic Event Sourcing
31
72
 
32
73
  ```typescript
@@ -101,6 +142,7 @@ For detailed environment configuration, see [ENVIRONMENT_CONFIG.md](./ENVIRONMEN
101
142
 
102
143
  ### 📚 Essential Reading
103
144
 
145
+ - **[SDK_USAGE.md](./SDK_USAGE.md)** - 📦 Complete SDK initialization guide with examples and best practices
104
146
  - **[DUAL_CONTEXT_FLOW.md](./DUAL_CONTEXT_FLOW.md)** - 🎯 **START HERE!** Comprehensive guide explaining how the package operates in client vs Google Cloud Functions contexts, complete with diagrams and examples
105
147
  - **[QUICK_REFERENCE.md](./QUICK_REFERENCE.md)** - Quick reference cheat sheet for common patterns, troubleshooting, and best practices
106
148
  - **[ENVIRONMENT_CONFIG.md](./ENVIRONMENT_CONFIG.md)** - Environment configuration details
@@ -28,7 +28,7 @@ class ActivityEventHandler {
28
28
  }
29
29
  const activityLogEvent = new _1.ActivityLogCreated(activityLogProps);
30
30
  const activityLogModel = activityLogEvent.apply();
31
- await this.activityLogEventStore.addEvent(updatedModel.userId, activityLogEvent);
31
+ await this.activityLogEventStore.addEvent(activityLogEvent);
32
32
  await this.activityLogModelStore.save(activityLogModel);
33
33
  }
34
34
  }
@@ -1,4 +1,4 @@
1
- import { Event } from './common/Event';
1
+ import { ActivityLogEvent } from './common/DomainEvents';
2
2
  import { Model } from './common/Model';
3
3
  export declare enum SourceType {
4
4
  Transaction = "Transaction",
@@ -27,7 +27,7 @@ export interface ActivityLogCreatedProps {
27
27
  version: number;
28
28
  systemGenerated: boolean;
29
29
  }
30
- export declare class ActivityLogCreated implements Event {
30
+ export declare class ActivityLogCreated implements ActivityLogEvent {
31
31
  userId: string;
32
32
  activityByUid: string;
33
33
  sourceStreamId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityLogEvents.d.ts","sourceRoot":"","sources":["../src/ActivityLogEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,oBAAY,UAAU;IACpB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,gBAAgB,qBAAqB;CACtC;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,kBAAmB,YAAW,KAAK;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;gBAEpB,KAAK,EAAE,uBAAuB;IAc1C,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,gBAAgB;CAa3C"}
1
+ {"version":3,"file":"ActivityLogEvents.d.ts","sourceRoot":"","sources":["../src/ActivityLogEvents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,oBAAY,UAAU;IACpB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,gBAAgB,qBAAqB;CACtC;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;gBAEpB,KAAK,EAAE,uBAAuB;IAc1C,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,gBAAgB;CAa3C"}
@@ -0,0 +1,56 @@
1
+ import { UserModelStore } from './store/UserModelStore';
2
+ import { UserEventStore } from './store/UserEventStore';
3
+ import { FriendModelStore } from './store/FriendModelStore';
4
+ import { FriendEventStore } from './store/FriendEventStore';
5
+ import { TransactionModelStore } from './store/TransactionModelStore';
6
+ import { TransactionEventStore } from './store/TransactionEventStore';
7
+ import { GroupModelStore } from './store/GroupModelStore';
8
+ import { GroupEventStore } from './store/GroupEventStore';
9
+ import { GroupTransactionModelStore } from './store/GroupTransactionModelStore';
10
+ import { GroupTransactionEventStore } from './store/GroupTransactionEventStore';
11
+ import { ActivityLogModelStore } from './store/ActivityLogModelStore';
12
+ import { ActivityLogEventStore } from './store/ActivityLogEventStore';
13
+ import { UserController } from './client/controllers/UserController';
14
+ import { UIEventHandler } from './client/handlers/UIEventHandler';
15
+ import { FirebaseAdapter } from './adapters/FirebaseAdapter';
16
+ import type { Event } from './events';
17
+ import type { FirestoreEventData } from './converters/eventConverter';
18
+ export type StoreConfig = {
19
+ firebaseAdapter: FirebaseAdapter;
20
+ userModelStore: UserModelStore;
21
+ userEventStore: UserEventStore;
22
+ friendModelStore: FriendModelStore;
23
+ friendEventStore: FriendEventStore;
24
+ transactionModelStore: TransactionModelStore;
25
+ transactionEventStore: TransactionEventStore;
26
+ groupModelStore: GroupModelStore;
27
+ groupEventStore: GroupEventStore;
28
+ groupTransactionModelStore: GroupTransactionModelStore;
29
+ groupTransactionEventStore: GroupTransactionEventStore;
30
+ activityLogModelStore: ActivityLogModelStore;
31
+ activityLogEventStore: ActivityLogEventStore;
32
+ };
33
+ export declare class EventProcessorSDK {
34
+ private static instance;
35
+ private readonly storeConfig;
36
+ private userControllerInstance;
37
+ private uiEventHandlerInstance;
38
+ private constructor();
39
+ static initialize(config: StoreConfig): EventProcessorSDK;
40
+ static getInstance(): EventProcessorSDK;
41
+ static isInitialized(): boolean;
42
+ static __resetForTesting(): void;
43
+ getStoreConfig(): StoreConfig;
44
+ getUserController(): UserController;
45
+ getUIEventHandler(): UIEventHandler;
46
+ getFirebaseAdapter(): FirebaseAdapter;
47
+ }
48
+ export declare function initializeSDK(config: StoreConfig): EventProcessorSDK;
49
+ export declare function getUserController(): UserController;
50
+ export declare function getUIEventHandler(): UIEventHandler;
51
+ export declare function getFirebaseAdapter(): FirebaseAdapter;
52
+ export declare function eventToFirestore(event: Event, eventId: string): FirestoreEventData;
53
+ export declare function firestoreToEvent(data: FirestoreEventData): Event;
54
+ export declare function isSDKInitialized(): boolean;
55
+ export declare function __resetSDKForTesting(): void;
56
+ //# sourceMappingURL=EventProcessorSDK.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventProcessorSDK.d.ts","sourceRoot":"","sources":["../src/EventProcessorSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,0BAA0B,EAAC,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAC,0BAA0B,EAAC,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAK3D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAEpE,MAAM,MAAM,WAAW,GAAG;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,qBAAqB,EAAE,qBAAqB,CAAC;CAChD,CAAC;AAEF,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,sBAAsB,CAA6B;IAE3D,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB;IAKzD,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC,MAAM,CAAC,aAAa,IAAI,OAAO;IAI/B,MAAM,CAAC,iBAAiB,IAAI,IAAI;IAIhC,cAAc,IAAI,WAAW;IAI7B,iBAAiB,IAAI,cAAc;IAWnC,iBAAiB,IAAI,cAAc;IAUnC,kBAAkB,IAAI,eAAe;CAGxC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAEpE;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAGlF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,KAAK,CAGhE;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventProcessorSDK = void 0;
4
+ exports.initializeSDK = initializeSDK;
5
+ exports.getUserController = getUserController;
6
+ exports.getUIEventHandler = getUIEventHandler;
7
+ exports.getFirebaseAdapter = getFirebaseAdapter;
8
+ exports.eventToFirestore = eventToFirestore;
9
+ exports.firestoreToEvent = firestoreToEvent;
10
+ exports.isSDKInitialized = isSDKInitialized;
11
+ exports.__resetSDKForTesting = __resetSDKForTesting;
12
+ const UserController_1 = require("./client/controllers/UserController");
13
+ const UIEventHandler_1 = require("./client/handlers/UIEventHandler");
14
+ const eventConverter_1 = require("./converters/eventConverter");
15
+ class EventProcessorSDK {
16
+ constructor(config) {
17
+ this.storeConfig = config;
18
+ }
19
+ static initialize(config) {
20
+ EventProcessorSDK.instance = new EventProcessorSDK(config);
21
+ return EventProcessorSDK.instance;
22
+ }
23
+ static getInstance() {
24
+ if (!EventProcessorSDK.instance) {
25
+ throw new Error('EventProcessorSDK not initialized. Call EventProcessorSDK.initialize() first.');
26
+ }
27
+ return EventProcessorSDK.instance;
28
+ }
29
+ static isInitialized() {
30
+ return EventProcessorSDK.instance !== undefined;
31
+ }
32
+ static __resetForTesting() {
33
+ EventProcessorSDK.instance = undefined;
34
+ }
35
+ getStoreConfig() {
36
+ return this.storeConfig;
37
+ }
38
+ getUserController() {
39
+ if (!this.userControllerInstance) {
40
+ this.userControllerInstance = new UserController_1.UserController(this.storeConfig.userModelStore, this.storeConfig.userEventStore);
41
+ }
42
+ return this.userControllerInstance;
43
+ }
44
+ getUIEventHandler() {
45
+ if (!this.uiEventHandlerInstance) {
46
+ this.uiEventHandlerInstance = new UIEventHandler_1.UIEventHandler(this.storeConfig.userModelStore);
47
+ }
48
+ return this.uiEventHandlerInstance;
49
+ }
50
+ getFirebaseAdapter() {
51
+ return this.storeConfig.firebaseAdapter;
52
+ }
53
+ }
54
+ exports.EventProcessorSDK = EventProcessorSDK;
55
+ function initializeSDK(config) {
56
+ return EventProcessorSDK.initialize(config);
57
+ }
58
+ function getUserController() {
59
+ return EventProcessorSDK.getInstance().getUserController();
60
+ }
61
+ function getUIEventHandler() {
62
+ return EventProcessorSDK.getInstance().getUIEventHandler();
63
+ }
64
+ function getFirebaseAdapter() {
65
+ return EventProcessorSDK.getInstance().getFirebaseAdapter();
66
+ }
67
+ function eventToFirestore(event, eventId) {
68
+ const adapter = getFirebaseAdapter();
69
+ return (0, eventConverter_1.eventToFirestore)(event, eventId, adapter);
70
+ }
71
+ function firestoreToEvent(data) {
72
+ const adapter = getFirebaseAdapter();
73
+ return (0, eventConverter_1.firestoreToEvent)(data, adapter);
74
+ }
75
+ function isSDKInitialized() {
76
+ return EventProcessorSDK.isInitialized();
77
+ }
78
+ function __resetSDKForTesting() {
79
+ EventProcessorSDK.__resetForTesting();
80
+ }
@@ -1,4 +1,4 @@
1
- import { FriendCreated, FriendDeleted, FriendIdAdded, FriendIdRemoved, FriendModel, FriendUpdated, Event } from '.';
1
+ import { FriendCreated, FriendDeleted, FriendIdAdded, FriendIdRemoved, FriendModel, FriendUpdated, FriendEvent } from '.';
2
2
  import { FriendModelStore } from '.';
3
3
  import { UserModelStore } from '.';
4
4
  import { FriendEventStore } from '.';
@@ -11,7 +11,7 @@ export declare class FriendEventHandler {
11
11
  private userEventStore;
12
12
  private activityEventHandler?;
13
13
  constructor(modelStore: FriendModelStore, userModelStore: UserModelStore, friendEventStore: FriendEventStore, userEventStore: UserEventStore, activityEventHandler?: ActivityEventHandler | undefined);
14
- handleEvent(event: Event): Promise<FriendModel>;
14
+ handleEvent(event: FriendEvent): Promise<FriendModel>;
15
15
  handleFriendCreated(event: FriendCreated): Promise<FriendModel>;
16
16
  handleFriendUpdated(event: FriendUpdated): Promise<FriendModel>;
17
17
  handleFriendDeleted(event: FriendDeleted): Promise<FriendModel>;
@@ -1 +1 @@
1
- {"version":3,"file":"FriendEventHandler.d.ts","sourceRoot":"","sources":["../src/FriendEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EAGb,KAAK,EACR,MAAM,GAAG,CAAC;AACX,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D,qBAAa,kBAAkB;IAEvB,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,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;IA8B/C,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA6G/D,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAU/D,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAU/D,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAU/D,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAS5E"}
1
+ {"version":3,"file":"FriendEventHandler.d.ts","sourceRoot":"","sources":["../src/FriendEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EAGb,WAAW,EACd,MAAM,GAAG,CAAC;AACX,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAI5D,qBAAa,kBAAkB;IAEvB,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;IAsBrD,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA6G/D,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAU/D,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAU/D,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAU/D,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAS5E"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FriendEventHandler = void 0;
4
4
  const _1 = require(".");
5
+ const DomainEvents_1 = require("./common/DomainEvents");
5
6
  const uuid_1 = require("uuid");
6
7
  class FriendEventHandler {
7
8
  constructor(modelStore, userModelStore, friendEventStore, userEventStore, activityEventHandler) {
@@ -12,15 +13,8 @@ class FriendEventHandler {
12
13
  this.activityEventHandler = activityEventHandler;
13
14
  }
14
15
  async handleEvent(event) {
15
- const validEventTypes = [
16
- 'FriendCreated',
17
- 'FriendUpdated',
18
- 'FriendDeleted',
19
- 'FriendIdAdded',
20
- 'FriendIdRemoved'
21
- ];
22
16
  const eventType = event.constructor.name;
23
- if (!validEventTypes.includes(eventType)) {
17
+ if (!(0, DomainEvents_1.isValidFriendEventType)(eventType)) {
24
18
  throw new Error(`Unknown friend event type: ${eventType}`);
25
19
  }
26
20
  switch (eventType) {
@@ -62,7 +56,7 @@ class FriendEventHandler {
62
56
  version: updatedModel.version + 1,
63
57
  systemGenerated: true,
64
58
  });
65
- await this.friendEventStore.addEvent(event.userId, friendIdAddedEvent);
59
+ await this.friendEventStore.addEvent(friendIdAddedEvent);
66
60
  const modelWithFriendId = friendIdAddedEvent.apply(updatedModel);
67
61
  await this.modelStore.save(modelWithFriendId);
68
62
  const primaryUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(event.userId);
@@ -80,7 +74,7 @@ class FriendEventHandler {
80
74
  version: 1,
81
75
  systemGenerated: true,
82
76
  });
83
- await this.friendEventStore.addEvent(friendUser.userId, reciprocalFriendCreated);
77
+ await this.friendEventStore.addEvent(reciprocalFriendCreated);
84
78
  const reciprocalModel = reciprocalFriendCreated.apply(undefined);
85
79
  await this.modelStore.save(reciprocalModel);
86
80
  }
@@ -100,7 +94,7 @@ class FriendEventHandler {
100
94
  version: 1,
101
95
  systemGenerated: true,
102
96
  });
103
- await this.userEventStore.addEvent(placeholderStreamId, placeholderUserCreated);
97
+ await this.userEventStore.addEvent(placeholderUserCreated);
104
98
  const placeholderUser = placeholderUserCreated.apply(undefined);
105
99
  await this.userModelStore.save(placeholderUser);
106
100
  // Link primary user to placeholder
@@ -113,7 +107,7 @@ class FriendEventHandler {
113
107
  version: updatedModel.version + 1,
114
108
  systemGenerated: true,
115
109
  });
116
- await this.friendEventStore.addEvent(event.userId, friendIdAddedEvent);
110
+ await this.friendEventStore.addEvent(friendIdAddedEvent);
117
111
  const modelWithPlaceholderId = friendIdAddedEvent.apply(updatedModel);
118
112
  await this.modelStore.save(modelWithPlaceholderId);
119
113
  // Create reciprocal friendship for placeholder user
@@ -133,7 +127,7 @@ class FriendEventHandler {
133
127
  version: 1,
134
128
  systemGenerated: true,
135
129
  });
136
- await this.friendEventStore.addEvent(placeholderStreamId, reciprocalFriendCreated);
130
+ await this.friendEventStore.addEvent(reciprocalFriendCreated);
137
131
  const reciprocalModel = reciprocalFriendCreated.apply(undefined);
138
132
  await this.modelStore.save(reciprocalModel);
139
133
  }
@@ -1,13 +1,6 @@
1
- import { Event } from './common/Event';
1
+ import { FriendEvent } from './common/DomainEvents';
2
2
  import { Model } from './common/Model';
3
3
  import { ActivityLogCreatedProps } from './ActivityLogEvents';
4
- export declare enum FriendEventType {
5
- FRIEND_CREATED = "FRIEND_CREATED",
6
- FRIEND_UPDATED = "FRIEND_UPDATED",
7
- FRIEND_DELETED = "FRIEND_DELETED",
8
- FRIEND_ID_ADDED = "FRIEND_ID_ADDED",
9
- FRIEND_ID_REMOVED = "FRIEND_ID_REMOVED"
10
- }
11
4
  export interface FriendModel extends Model {
12
5
  friendId?: string;
13
6
  friendEmail?: string;
@@ -30,7 +23,7 @@ export interface FriendCreatedProps {
30
23
  version: number;
31
24
  systemGenerated: boolean;
32
25
  }
33
- export declare class FriendCreated implements Event {
26
+ export declare class FriendCreated implements FriendEvent {
34
27
  userId: string;
35
28
  friendEmail?: string;
36
29
  friendPhoneNumber?: string;
@@ -47,7 +40,7 @@ export declare class FriendCreated implements Event {
47
40
  activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
48
41
  }
49
42
  export interface FriendUpdatedProps {
50
- userId?: string;
43
+ userId: string;
51
44
  friendEmail?: string;
52
45
  friendPhoneNumber?: string;
53
46
  friendDisplayName?: string;
@@ -57,8 +50,8 @@ export interface FriendUpdatedProps {
57
50
  version: number;
58
51
  systemGenerated: boolean;
59
52
  }
60
- export declare class FriendUpdated implements Event {
61
- userId?: string;
53
+ export declare class FriendUpdated implements FriendEvent {
54
+ userId: string;
62
55
  friendEmail?: string;
63
56
  friendPhoneNumber?: string;
64
57
  friendDisplayName?: string;
@@ -72,15 +65,15 @@ export declare class FriendUpdated implements Event {
72
65
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
73
66
  }
74
67
  export interface FriendDeletedProps {
75
- userId?: string;
68
+ userId: string;
76
69
  createdAt: Date;
77
70
  createdBy: string;
78
71
  streamId: string;
79
72
  version: number;
80
73
  systemGenerated: boolean;
81
74
  }
82
- export declare class FriendDeleted implements Event {
83
- userId?: string;
75
+ export declare class FriendDeleted implements FriendEvent {
76
+ userId: string;
84
77
  createdAt: Date;
85
78
  createdBy: string;
86
79
  streamId: string;
@@ -91,7 +84,7 @@ export declare class FriendDeleted implements Event {
91
84
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
92
85
  }
93
86
  export interface FriendIdAddedProps {
94
- userId?: string;
87
+ userId: string;
95
88
  friendId: string;
96
89
  createdAt: Date;
97
90
  createdBy: string;
@@ -99,8 +92,8 @@ export interface FriendIdAddedProps {
99
92
  version: number;
100
93
  systemGenerated: boolean;
101
94
  }
102
- export declare class FriendIdAdded implements Event {
103
- userId?: string;
95
+ export declare class FriendIdAdded implements FriendEvent {
96
+ userId: string;
104
97
  friendId: string;
105
98
  createdAt: Date;
106
99
  createdBy: string;
@@ -112,15 +105,15 @@ export declare class FriendIdAdded implements Event {
112
105
  activityLog(existing?: Model, _actorName?: string): ActivityLogCreatedProps | undefined;
113
106
  }
114
107
  export interface FriendIdRemovedProps {
115
- userId?: string;
108
+ userId: string;
116
109
  createdAt: Date;
117
110
  createdBy: string;
118
111
  streamId: string;
119
112
  version: number;
120
113
  systemGenerated: boolean;
121
114
  }
122
- export declare class FriendIdRemoved implements Event {
123
- userId?: string;
115
+ export declare class FriendIdRemoved implements FriendEvent {
116
+ userId: string;
124
117
  createdAt: Date;
125
118
  createdBy: string;
126
119
  streamId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FriendEvents.d.ts","sourceRoot":"","sources":["../src/FriendEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FriendEvents.d.ts","sourceRoot":"","sources":["../src/FriendEvents.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FriendIdRemoved = exports.FriendIdAdded = exports.FriendDeleted = exports.FriendUpdated = exports.FriendCreated = exports.FriendEventType = void 0;
3
+ exports.FriendIdRemoved = exports.FriendIdAdded = exports.FriendDeleted = exports.FriendUpdated = exports.FriendCreated = void 0;
4
4
  const ActivityLogEvents_1 = require("./ActivityLogEvents");
5
5
  const uuid_1 = require("uuid");
6
- var FriendEventType;
7
- (function (FriendEventType) {
8
- FriendEventType["FRIEND_CREATED"] = "FRIEND_CREATED";
9
- FriendEventType["FRIEND_UPDATED"] = "FRIEND_UPDATED";
10
- FriendEventType["FRIEND_DELETED"] = "FRIEND_DELETED";
11
- FriendEventType["FRIEND_ID_ADDED"] = "FRIEND_ID_ADDED";
12
- FriendEventType["FRIEND_ID_REMOVED"] = "FRIEND_ID_REMOVED";
13
- })(FriendEventType || (exports.FriendEventType = FriendEventType = {}));
14
6
  class FriendCreated {
15
7
  constructor(props) {
16
8
  this.userId = props.userId;
@@ -1,4 +1,4 @@
1
- import { GroupCreated, GroupNameChanged, GroupDescriptionChanged, GroupMembersAdded, GroupMembersRemoved, GroupDeleted, GroupModel, Event } from '.';
1
+ import { GroupCreated, GroupNameChanged, GroupDescriptionChanged, GroupMembersAdded, GroupMembersRemoved, GroupDeleted, GroupModel, GroupEvent } from '.';
2
2
  import { GroupModelStore } from '.';
3
3
  import { FriendModelStore } from '.';
4
4
  import { UserModelStore } from '.';
@@ -13,7 +13,7 @@ export declare class GroupEventHandler {
13
13
  private friendEventStore;
14
14
  private activityEventHandler?;
15
15
  constructor(modelStore: GroupModelStore, friendModelStore: FriendModelStore, userModelStore: UserModelStore, groupEventStore: GroupEventStore, friendEventStore: FriendEventStore, activityEventHandler?: ActivityEventHandler | undefined);
16
- handleEvent(event: Event): Promise<GroupModel>;
16
+ handleEvent(event: GroupEvent): Promise<GroupModel>;
17
17
  private ensureBidirectionalFriendship;
18
18
  handleGroupCreated(event: GroupCreated): Promise<GroupModel>;
19
19
  handleGroupNameChanged(event: GroupNameChanged): Promise<GroupModel>;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAEV,KAAK,EACR,MAAM,GAAG,CAAC;AACX,OAAO,EAAC,eAAe,EAAC,MAAM,GAAG,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,eAAe,EAAC,MAAM,GAAG,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D,qBAAa,iBAAiB;IAEtB,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,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;YAiCtC,6BAA6B;IAgErC,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IA+C5D,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+BpE,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+BlF,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEtE,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+B1E,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;CAWrE"}
1
+ {"version":3,"file":"GroupEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAEV,UAAU,EACb,MAAM,GAAG,CAAC;AACX,OAAO,EAAC,eAAe,EAAC,MAAM,GAAG,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AACjC,OAAO,EAAC,eAAe,EAAC,MAAM,GAAG,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,GAAG,CAAC;AACnC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAI5D,qBAAa,iBAAiB;IAEtB,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;YAwB3C,6BAA6B;IAgErC,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IA+C5D,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+BpE,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+BlF,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEtE,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IA+B1E,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;CAWrE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GroupEventHandler = void 0;
4
4
  const _1 = require(".");
5
+ const DomainEvents_1 = require("./common/DomainEvents");
5
6
  const uuid_1 = require("uuid");
6
7
  class GroupEventHandler {
7
8
  constructor(modelStore, friendModelStore, userModelStore, groupEventStore, friendEventStore, activityEventHandler) {
@@ -13,16 +14,8 @@ class GroupEventHandler {
13
14
  this.activityEventHandler = activityEventHandler;
14
15
  }
15
16
  async handleEvent(event) {
16
- const validEventTypes = [
17
- 'GroupCreated',
18
- 'GroupNameChanged',
19
- 'GroupDescriptionChanged',
20
- 'GroupMembersAdded',
21
- 'GroupMembersRemoved',
22
- 'GroupDeleted'
23
- ];
24
17
  const eventType = event.constructor.name;
25
- if (!validEventTypes.includes(eventType)) {
18
+ if (!(0, DomainEvents_1.isValidGroupEventType)(eventType)) {
26
19
  throw new Error(`Unknown group event type: ${eventType}`);
27
20
  }
28
21
  switch (eventType) {
@@ -65,7 +58,7 @@ class GroupEventHandler {
65
58
  version: 1,
66
59
  systemGenerated: true,
67
60
  });
68
- await this.friendEventStore.addEvent(userId1, friendCreatedEvent);
61
+ await this.friendEventStore.addEvent(friendCreatedEvent);
69
62
  const friendModel = friendCreatedEvent.apply(undefined);
70
63
  await this.friendModelStore.save(friendModel);
71
64
  }
@@ -85,7 +78,7 @@ class GroupEventHandler {
85
78
  version: 1,
86
79
  systemGenerated: true,
87
80
  });
88
- await this.friendEventStore.addEvent(userId2, friendCreatedEvent);
81
+ await this.friendEventStore.addEvent(friendCreatedEvent);
89
82
  const friendModel = friendCreatedEvent.apply(undefined);
90
83
  await this.friendModelStore.save(friendModel);
91
84
  }
@@ -120,7 +113,7 @@ class GroupEventHandler {
120
113
  version: 1,
121
114
  systemGenerated: true,
122
115
  });
123
- await this.groupEventStore.addEvent(memberId, perspectiveGroupCreated);
116
+ await this.groupEventStore.addEvent(perspectiveGroupCreated);
124
117
  const perspectiveModel = perspectiveGroupCreated.apply(undefined);
125
118
  await this.modelStore.save(perspectiveModel);
126
119
  }
@@ -145,7 +138,7 @@ class GroupEventHandler {
145
138
  version: perspective.version + 1,
146
139
  systemGenerated: true,
147
140
  });
148
- await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
141
+ await this.groupEventStore.addEvent(perspectiveEvent);
149
142
  const updatedPerspective = perspectiveEvent.apply(perspective);
150
143
  await this.modelStore.save(updatedPerspective);
151
144
  }
@@ -171,7 +164,7 @@ class GroupEventHandler {
171
164
  version: perspective.version + 1,
172
165
  systemGenerated: true,
173
166
  });
174
- await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
167
+ await this.groupEventStore.addEvent(perspectiveEvent);
175
168
  const updatedPerspective = perspectiveEvent.apply(perspective);
176
169
  await this.modelStore.save(updatedPerspective);
177
170
  }
@@ -213,7 +206,7 @@ class GroupEventHandler {
213
206
  version: 1,
214
207
  systemGenerated: true,
215
208
  });
216
- await this.groupEventStore.addEvent(memberId, perspectiveGroupCreated);
209
+ await this.groupEventStore.addEvent(perspectiveGroupCreated);
217
210
  const perspectiveModel = perspectiveGroupCreated.apply(undefined);
218
211
  await this.modelStore.save(perspectiveModel);
219
212
  }
@@ -229,7 +222,7 @@ class GroupEventHandler {
229
222
  version: perspective.version + 1,
230
223
  systemGenerated: true,
231
224
  });
232
- await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
225
+ await this.groupEventStore.addEvent(perspectiveEvent);
233
226
  const updatedPerspective = perspectiveEvent.apply(perspective);
234
227
  await this.modelStore.save(updatedPerspective);
235
228
  }
@@ -255,7 +248,7 @@ class GroupEventHandler {
255
248
  version: perspective.version + 1,
256
249
  systemGenerated: true,
257
250
  });
258
- await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
251
+ await this.groupEventStore.addEvent(perspectiveEvent);
259
252
  const updatedPerspective = perspectiveEvent.apply(perspective);
260
253
  await this.modelStore.save(updatedPerspective);
261
254
  }