@zeeshan60/event-processor 1.0.12 → 1.0.14

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 (196) hide show
  1. package/dist/ActivityEventHandler.d.ts +5 -4
  2. package/dist/ActivityEventHandler.d.ts.map +1 -1
  3. package/dist/ActivityEventHandler.js +14 -1
  4. package/dist/ActivityLogEvents.d.ts +4 -2
  5. package/dist/ActivityLogEvents.d.ts.map +1 -1
  6. package/dist/ActivityLogEvents.js +1 -0
  7. package/dist/EventProcessorSDK.d.ts +47 -18
  8. package/dist/EventProcessorSDK.d.ts.map +1 -1
  9. package/dist/EventProcessorSDK.js +90 -5
  10. package/dist/FriendEventHandler.d.ts +5 -12
  11. package/dist/FriendEventHandler.d.ts.map +1 -1
  12. package/dist/FriendEventHandler.js +71 -60
  13. package/dist/FriendEvents.d.ts +13 -3
  14. package/dist/FriendEvents.d.ts.map +1 -1
  15. package/dist/FriendEvents.js +16 -7
  16. package/dist/GroupEventHandler.d.ts +8 -7
  17. package/dist/GroupEventHandler.d.ts.map +1 -1
  18. package/dist/GroupEventHandler.js +107 -26
  19. package/dist/GroupEvents.d.ts +15 -3
  20. package/dist/GroupEvents.d.ts.map +1 -1
  21. package/dist/GroupEvents.js +25 -13
  22. package/dist/GroupTransactionEventHandler.d.ts +8 -7
  23. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  24. package/dist/GroupTransactionEventHandler.js +69 -24
  25. package/dist/GroupTransactionEvents.d.ts +22 -4
  26. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  27. package/dist/GroupTransactionEvents.js +39 -21
  28. package/dist/ModelChangeEmitter.d.ts +15 -0
  29. package/dist/ModelChangeEmitter.d.ts.map +1 -0
  30. package/dist/ModelChangeEmitter.js +31 -0
  31. package/dist/TransactionEventHandler.d.ts +3 -5
  32. package/dist/TransactionEventHandler.d.ts.map +1 -1
  33. package/dist/TransactionEventHandler.js +49 -15
  34. package/dist/TransactionEvents.d.ts +24 -8
  35. package/dist/TransactionEvents.d.ts.map +1 -1
  36. package/dist/TransactionEvents.js +38 -22
  37. package/dist/UserEventHandler.d.ts +4 -11
  38. package/dist/UserEventHandler.d.ts.map +1 -1
  39. package/dist/UserEventHandler.js +86 -61
  40. package/dist/UserEvents.d.ts +20 -3
  41. package/dist/UserEvents.d.ts.map +1 -1
  42. package/dist/UserEvents.js +53 -18
  43. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +3 -3
  44. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  45. package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +1 -3
  46. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +3 -3
  47. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
  48. package/dist/__tests__/test-helpers/IMActivityLogModelStore.js +1 -3
  49. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +3 -3
  50. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
  51. package/dist/__tests__/test-helpers/IMFriendEventStore.js +1 -3
  52. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +4 -3
  53. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
  54. package/dist/__tests__/test-helpers/IMFriendModelStore.js +10 -3
  55. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +3 -3
  56. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
  57. package/dist/__tests__/test-helpers/IMGroupEventStore.js +1 -3
  58. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +3 -3
  59. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
  60. package/dist/__tests__/test-helpers/IMGroupModelStore.js +1 -3
  61. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +3 -3
  62. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  63. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +1 -3
  64. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +3 -3
  65. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
  66. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +1 -3
  67. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +3 -3
  68. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  69. package/dist/__tests__/test-helpers/IMTransactionEventStore.js +1 -3
  70. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +3 -3
  71. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
  72. package/dist/__tests__/test-helpers/IMTransactionModelStore.js +1 -3
  73. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +3 -3
  74. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
  75. package/dist/__tests__/test-helpers/IMUserEventStore.js +1 -3
  76. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +3 -3
  77. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
  78. package/dist/__tests__/test-helpers/IMUserModelStore.js +1 -3
  79. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +2 -1
  80. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -1
  81. package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +5 -1
  82. package/dist/client/controllers/FriendController.d.ts +13 -0
  83. package/dist/client/controllers/FriendController.d.ts.map +1 -0
  84. package/dist/client/controllers/FriendController.js +133 -0
  85. package/dist/client/controllers/UserController.d.ts +6 -5
  86. package/dist/client/controllers/UserController.d.ts.map +1 -1
  87. package/dist/client/controllers/UserController.js +89 -22
  88. package/dist/client/handlers/UIEventHandler.d.ts +4 -22
  89. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
  90. package/dist/client/handlers/UIEventHandler.js +59 -38
  91. package/dist/client/handlers/UIFriendEventHandler.d.ts +6 -6
  92. package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -1
  93. package/dist/client/handlers/UIGroupEventHandler.d.ts +7 -7
  94. package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -1
  95. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +7 -7
  96. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -1
  97. package/dist/client/handlers/UITransactionEventHandler.d.ts +5 -5
  98. package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -1
  99. package/dist/client/handlers/UIUserEventHandler.d.ts +4 -4
  100. package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -1
  101. package/dist/common/DomainEvents.d.ts +1 -1
  102. package/dist/common/DomainEvents.d.ts.map +1 -1
  103. package/dist/common/DomainEvents.js +37 -37
  104. package/dist/common/Event.d.ts +3 -2
  105. package/dist/common/Event.d.ts.map +1 -1
  106. package/dist/common/Model.d.ts.map +1 -1
  107. package/dist/common/index.d.ts +2 -2
  108. package/dist/contracts/common/index.d.ts.map +1 -1
  109. package/dist/contracts/expenses/index.d.ts.map +1 -1
  110. package/dist/contracts/friends/index.d.ts.map +1 -1
  111. package/dist/contracts/groups/index.d.ts.map +1 -1
  112. package/dist/contracts/index.d.ts +1 -0
  113. package/dist/contracts/index.d.ts.map +1 -1
  114. package/dist/contracts/index.js +1 -0
  115. package/dist/contracts/shared/index.d.ts.map +1 -1
  116. package/dist/contracts/transactions/index.d.ts.map +1 -1
  117. package/dist/contracts/users/index.d.ts +15 -0
  118. package/dist/contracts/users/index.d.ts.map +1 -0
  119. package/dist/contracts/users/index.js +2 -0
  120. package/dist/converters/eventConverter.d.ts +3 -3
  121. package/dist/converters/eventConverter.d.ts.map +1 -1
  122. package/dist/converters/eventConverter.js +93 -51
  123. package/dist/events.d.ts +29 -29
  124. package/dist/events.d.ts.map +1 -1
  125. package/dist/index.d.ts +15 -13
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +17 -4
  128. package/dist/store/ActivityLogEventStore.d.ts +3 -3
  129. package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
  130. package/dist/store/ActivityLogEventStore.js +0 -4
  131. package/dist/store/ActivityLogModelStore.d.ts +6 -6
  132. package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
  133. package/dist/store/ActivityLogModelStore.js +0 -5
  134. package/dist/store/FriendEventStore.d.ts +3 -3
  135. package/dist/store/FriendEventStore.d.ts.map +1 -1
  136. package/dist/store/FriendEventStore.js +0 -4
  137. package/dist/store/FriendModelStore.d.ts +11 -10
  138. package/dist/store/FriendModelStore.d.ts.map +1 -1
  139. package/dist/store/FriendModelStore.js +0 -5
  140. package/dist/store/GroupEventStore.d.ts +3 -3
  141. package/dist/store/GroupEventStore.d.ts.map +1 -1
  142. package/dist/store/GroupEventStore.js +0 -4
  143. package/dist/store/GroupModelStore.d.ts +8 -8
  144. package/dist/store/GroupModelStore.d.ts.map +1 -1
  145. package/dist/store/GroupModelStore.js +0 -5
  146. package/dist/store/GroupTransactionEventStore.d.ts +3 -3
  147. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
  148. package/dist/store/GroupTransactionEventStore.js +0 -4
  149. package/dist/store/GroupTransactionModelStore.d.ts +8 -8
  150. package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
  151. package/dist/store/GroupTransactionModelStore.js +0 -5
  152. package/dist/store/ModelStore.d.ts +5 -5
  153. package/dist/store/ModelStore.d.ts.map +1 -1
  154. package/dist/store/ModelStore.js +0 -4
  155. package/dist/store/TransactionEventStore.d.ts +3 -3
  156. package/dist/store/TransactionEventStore.d.ts.map +1 -1
  157. package/dist/store/TransactionEventStore.js +0 -4
  158. package/dist/store/TransactionModelStore.d.ts +8 -8
  159. package/dist/store/TransactionModelStore.d.ts.map +1 -1
  160. package/dist/store/TransactionModelStore.js +0 -5
  161. package/dist/store/UserEventStore.d.ts +3 -3
  162. package/dist/store/UserEventStore.d.ts.map +1 -1
  163. package/dist/store/UserEventStore.js +0 -4
  164. package/dist/store/UserModelStore.d.ts +9 -9
  165. package/dist/store/UserModelStore.d.ts.map +1 -1
  166. package/dist/store/UserModelStore.js +0 -5
  167. package/dist/utils/splitTypeUtils.d.ts +1 -1
  168. package/dist/utils/splitTypeUtils.d.ts.map +1 -1
  169. package/dist/utils/userPathUtils.d.ts +1 -1
  170. package/dist/utils/userPathUtils.d.ts.map +1 -1
  171. package/dist/utils/userPathUtils.js +3 -3
  172. package/package.json +1 -1
  173. package/dist/adapters/FirebaseAdminAdapter.d.ts +0 -8
  174. package/dist/adapters/FirebaseAdminAdapter.d.ts.map +0 -1
  175. package/dist/adapters/FirebaseAdminAdapter.js +0 -21
  176. package/dist/adapters/FirebaseClientAdapter.d.ts +0 -8
  177. package/dist/adapters/FirebaseClientAdapter.d.ts.map +0 -1
  178. package/dist/adapters/FirebaseClientAdapter.js +0 -22
  179. package/dist/client/handlers/UIActivityEventHandler.d.ts +0 -12
  180. package/dist/client/handlers/UIActivityEventHandler.d.ts.map +0 -1
  181. package/dist/client/handlers/UIActivityEventHandler.js +0 -14
  182. package/dist/common/EventBus.d.ts +0 -12
  183. package/dist/common/EventBus.d.ts.map +0 -1
  184. package/dist/common/EventBus.js +0 -26
  185. package/dist/common/EventBusSingleton.d.ts +0 -4
  186. package/dist/common/EventBusSingleton.d.ts.map +0 -1
  187. package/dist/common/EventBusSingleton.js +0 -18
  188. package/dist/config/environment.d.ts +0 -25
  189. package/dist/config/environment.d.ts.map +0 -1
  190. package/dist/config/environment.js +0 -77
  191. package/dist/controllers/UIEventHandler.d.ts +0 -25
  192. package/dist/controllers/UIEventHandler.d.ts.map +0 -1
  193. package/dist/controllers/UIEventHandler.js +0 -50
  194. package/dist/controllers/UserController.d.ts +0 -9
  195. package/dist/controllers/UserController.d.ts.map +0 -1
  196. package/dist/controllers/UserController.js +0 -36
@@ -1,6 +1,6 @@
1
- import { FriendEvent } from './common/DomainEvents';
2
- import { Model } from './common/Model';
3
- import { ActivityLogCreatedProps } from './ActivityLogEvents';
1
+ import { FriendEvent } from "./common/DomainEvents";
2
+ import { Model } from "./common/Model";
3
+ import { ActivityLogCreatedProps } from "./ActivityLogEvents";
4
4
  export interface FriendModel extends Model {
5
5
  friendId?: string;
6
6
  friendEmail?: string;
@@ -11,6 +11,7 @@ export interface FriendModel extends Model {
11
11
  updatedAt: Date;
12
12
  }
13
13
  export interface FriendCreatedProps {
14
+ eventId: string;
14
15
  userId: string;
15
16
  friendEmail?: string;
16
17
  friendPhoneNumber?: string;
@@ -24,6 +25,7 @@ export interface FriendCreatedProps {
24
25
  systemGenerated: boolean;
25
26
  }
26
27
  export declare class FriendCreated implements FriendEvent {
28
+ eventId: string;
27
29
  userId: string;
28
30
  friendEmail?: string;
29
31
  friendPhoneNumber?: string;
@@ -40,6 +42,7 @@ export declare class FriendCreated implements FriendEvent {
40
42
  activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
41
43
  }
42
44
  export interface FriendUpdatedProps {
45
+ eventId: string;
43
46
  userId: string;
44
47
  friendEmail?: string;
45
48
  friendPhoneNumber?: string;
@@ -51,6 +54,7 @@ export interface FriendUpdatedProps {
51
54
  systemGenerated: boolean;
52
55
  }
53
56
  export declare class FriendUpdated implements FriendEvent {
57
+ eventId: string;
54
58
  userId: string;
55
59
  friendEmail?: string;
56
60
  friendPhoneNumber?: string;
@@ -65,6 +69,7 @@ export declare class FriendUpdated implements FriendEvent {
65
69
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
66
70
  }
67
71
  export interface FriendDeletedProps {
72
+ eventId: string;
68
73
  userId: string;
69
74
  createdAt: Date;
70
75
  createdBy: string;
@@ -73,6 +78,7 @@ export interface FriendDeletedProps {
73
78
  systemGenerated: boolean;
74
79
  }
75
80
  export declare class FriendDeleted implements FriendEvent {
81
+ eventId: string;
76
82
  userId: string;
77
83
  createdAt: Date;
78
84
  createdBy: string;
@@ -84,6 +90,7 @@ export declare class FriendDeleted implements FriendEvent {
84
90
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
85
91
  }
86
92
  export interface FriendIdAddedProps {
93
+ eventId: string;
87
94
  userId: string;
88
95
  friendId: string;
89
96
  createdAt: Date;
@@ -93,6 +100,7 @@ export interface FriendIdAddedProps {
93
100
  systemGenerated: boolean;
94
101
  }
95
102
  export declare class FriendIdAdded implements FriendEvent {
103
+ eventId: string;
96
104
  userId: string;
97
105
  friendId: string;
98
106
  createdAt: Date;
@@ -105,6 +113,7 @@ export declare class FriendIdAdded implements FriendEvent {
105
113
  activityLog(existing?: Model, _actorName?: string): ActivityLogCreatedProps | undefined;
106
114
  }
107
115
  export interface FriendIdRemovedProps {
116
+ eventId: string;
108
117
  userId: string;
109
118
  createdAt: Date;
110
119
  createdBy: string;
@@ -113,6 +122,7 @@ export interface FriendIdRemovedProps {
113
122
  systemGenerated: boolean;
114
123
  }
115
124
  export declare class FriendIdRemoved implements FriendEvent {
125
+ eventId: string;
116
126
  userId: string;
117
127
  createdAt: Date;
118
128
  createdBy: 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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAc,MAAM,qBAAqB,CAAC;AAG1E,MAAM,WAAW,WAAY,SAAQ,KAAK;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,WAAW;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,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,kBAAkB;IAerC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,WAAW;IAgBrC,WAAW,CACP,SAAS,CAAC,EAAE,KAAK,EACjB,SAAS,CAAC,EAAE,MAAM,GACnB,uBAAuB,GAAG,SAAS;CAmBzC;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,WAAW;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,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,kBAAkB;IAarC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,WAAW;IAiBpC,WAAW,CACP,QAAQ,CAAC,EAAE,KAAK,EAChB,SAAS,CAAC,EAAE,MAAM,GACnB,uBAAuB,GAAG,SAAS;CA0BzC;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,WAAW;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,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,kBAAkB;IAUrC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,WAAW;IAapC,WAAW,CACP,QAAQ,CAAC,EAAE,KAAK,EAChB,SAAS,CAAC,EAAE,MAAM,GACnB,uBAAuB,GAAG,SAAS;CAwBzC;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,WAAW;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,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,kBAAkB;IAWrC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,WAAW;IAapC,WAAW,CACP,QAAQ,CAAC,EAAE,KAAK,EAChB,UAAU,CAAC,EAAE,MAAM,GACpB,uBAAuB,GAAG,SAAS;CAuBzC;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,eAAgB,YAAW,WAAW;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,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,oBAAoB;IAUvC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,WAAW;CAYvC"}
@@ -5,6 +5,7 @@ const ActivityLogEvents_1 = require("./ActivityLogEvents");
5
5
  const uuid_1 = require("uuid");
6
6
  class FriendCreated {
7
7
  constructor(props) {
8
+ this.eventId = props.eventId;
8
9
  this.userId = props.userId;
9
10
  this.friendEmail = props.friendEmail;
10
11
  this.friendPhoneNumber = props.friendPhoneNumber;
@@ -33,9 +34,10 @@ class FriendCreated {
33
34
  };
34
35
  }
35
36
  activityLog(_existing, actorName) {
36
- const actor = actorName ?? 'You';
37
+ const actor = actorName ?? "You";
37
38
  const logMessage = `${actor} added friend "${this.friendDisplayName}"`;
38
39
  return {
40
+ eventId: (0, uuid_1.v4)(),
39
41
  userId: this.userId,
40
42
  activityByUid: this.createdBy,
41
43
  sourceStreamId: this.streamId,
@@ -53,6 +55,7 @@ class FriendCreated {
53
55
  exports.FriendCreated = FriendCreated;
54
56
  class FriendUpdated {
55
57
  constructor(props) {
58
+ this.eventId = props.eventId;
56
59
  this.userId = props.userId;
57
60
  this.friendEmail = props.friendEmail;
58
61
  this.friendPhoneNumber = props.friendPhoneNumber;
@@ -65,7 +68,7 @@ class FriendUpdated {
65
68
  }
66
69
  apply(existing) {
67
70
  if (!existing) {
68
- throw new Error('Friend must exist to update');
71
+ throw new Error("Friend must exist to update");
69
72
  }
70
73
  const existingFriend = existing;
71
74
  return {
@@ -82,10 +85,11 @@ class FriendUpdated {
82
85
  return undefined;
83
86
  }
84
87
  const existingFriend = existing;
85
- const actor = actorName ?? 'You';
88
+ const actor = actorName ?? "You";
86
89
  const friendName = this.friendDisplayName ?? existingFriend.friendDisplayName;
87
90
  const logMessage = `${actor} updated friend "${friendName}"`;
88
91
  return {
92
+ eventId: (0, uuid_1.v4)(),
89
93
  userId: existingFriend.userId,
90
94
  activityByUid: this.createdBy,
91
95
  sourceStreamId: this.streamId,
@@ -103,6 +107,7 @@ class FriendUpdated {
103
107
  exports.FriendUpdated = FriendUpdated;
104
108
  class FriendDeleted {
105
109
  constructor(props) {
110
+ this.eventId = props.eventId;
106
111
  this.userId = props.userId;
107
112
  this.createdAt = props.createdAt;
108
113
  this.createdBy = props.createdBy;
@@ -112,7 +117,7 @@ class FriendDeleted {
112
117
  }
113
118
  apply(existing) {
114
119
  if (!existing) {
115
- throw new Error('Friend must exist to delete');
120
+ throw new Error("Friend must exist to delete");
116
121
  }
117
122
  const existingFriend = existing;
118
123
  return {
@@ -127,9 +132,10 @@ class FriendDeleted {
127
132
  return undefined;
128
133
  }
129
134
  const existingFriend = existing;
130
- const actor = actorName ?? 'You';
135
+ const actor = actorName ?? "You";
131
136
  const logMessage = `${actor} removed friend "${existingFriend.friendDisplayName}"`;
132
137
  return {
138
+ eventId: (0, uuid_1.v4)(),
133
139
  userId: existingFriend.userId,
134
140
  activityByUid: this.createdBy,
135
141
  sourceStreamId: this.streamId,
@@ -147,6 +153,7 @@ class FriendDeleted {
147
153
  exports.FriendDeleted = FriendDeleted;
148
154
  class FriendIdAdded {
149
155
  constructor(props) {
156
+ this.eventId = props.eventId;
150
157
  this.userId = props.userId;
151
158
  this.friendId = props.friendId;
152
159
  this.createdAt = props.createdAt;
@@ -157,7 +164,7 @@ class FriendIdAdded {
157
164
  }
158
165
  apply(existing) {
159
166
  if (!existing) {
160
- throw new Error('Friend must exist to add friend ID');
167
+ throw new Error("Friend must exist to add friend ID");
161
168
  }
162
169
  const existingFriend = existing;
163
170
  return {
@@ -174,6 +181,7 @@ class FriendIdAdded {
174
181
  const existingFriend = existing;
175
182
  const logMessage = `Friend "${existingFriend.friendDisplayName}" was linked to their account`;
176
183
  return {
184
+ eventId: (0, uuid_1.v4)(),
177
185
  userId: existingFriend.userId,
178
186
  activityByUid: this.createdBy,
179
187
  sourceStreamId: this.streamId,
@@ -191,6 +199,7 @@ class FriendIdAdded {
191
199
  exports.FriendIdAdded = FriendIdAdded;
192
200
  class FriendIdRemoved {
193
201
  constructor(props) {
202
+ this.eventId = props.eventId;
194
203
  this.userId = props.userId;
195
204
  this.createdAt = props.createdAt;
196
205
  this.createdBy = props.createdBy;
@@ -200,7 +209,7 @@ class FriendIdRemoved {
200
209
  }
201
210
  apply(existing) {
202
211
  if (!existing) {
203
- throw new Error('Friend must exist to remove friend ID');
212
+ throw new Error("Friend must exist to remove friend ID");
204
213
  }
205
214
  const existingFriend = existing;
206
215
  return {
@@ -1,10 +1,10 @@
1
- import { GroupCreated, GroupNameChanged, GroupDescriptionChanged, GroupMembersAdded, GroupMembersRemoved, GroupDeleted, 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 { GroupCreated, GroupNameChanged, GroupDescriptionChanged, GroupMembersAdded, GroupMembersRemoved, GroupDeleted, 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 GroupEventHandler {
9
9
  private modelStore;
10
10
  private friendModelStore;
@@ -13,6 +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
+ private shouldSkipSave;
16
17
  handleEvent(event: GroupEvent): Promise<GroupModel>;
17
18
  private ensureBidirectionalFriendship;
18
19
  handleGroupCreated(event: GroupCreated): 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,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"}
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,EAEb,MAAM,GAAG,CAAC;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,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;IAGvD,OAAO,CAAC,cAAc;IAahB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YAgC3C,6BAA6B;IA4ErC,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAgF5D,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4DpE,6BAA6B,CAC/B,KAAK,EAAE,uBAAuB,GAC/B,OAAO,CAAC,UAAU,CAAC;IA4DhB,uBAAuB,CACzB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC;IA0HhB,yBAAyB,CAC3B,KAAK,EAAE,mBAAmB,GAC3B,OAAO,CAAC,UAAU,CAAC;IA4DhB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;CA0BrE"}
@@ -4,6 +4,7 @@ exports.GroupEventHandler = void 0;
4
4
  const _1 = require(".");
5
5
  const DomainEvents_1 = require("./common/DomainEvents");
6
6
  const uuid_1 = require("uuid");
7
+ const EventProcessorSDK_1 = require("./EventProcessorSDK");
7
8
  class GroupEventHandler {
8
9
  constructor(modelStore, friendModelStore, userModelStore, groupEventStore, friendEventStore, activityEventHandler) {
9
10
  this.modelStore = modelStore;
@@ -13,23 +14,30 @@ class GroupEventHandler {
13
14
  this.friendEventStore = friendEventStore;
14
15
  this.activityEventHandler = activityEventHandler;
15
16
  }
17
+ shouldSkipSave(existingModel, updatedModel) {
18
+ if (!existingModel) {
19
+ return false;
20
+ }
21
+ return (existingModel.streamId === updatedModel.streamId &&
22
+ existingModel.version === updatedModel.version);
23
+ }
16
24
  async handleEvent(event) {
17
25
  const eventType = event.constructor.name;
18
26
  if (!(0, DomainEvents_1.isValidGroupEventType)(eventType)) {
19
27
  throw new Error(`Unknown group event type: ${eventType}`);
20
28
  }
21
29
  switch (eventType) {
22
- case 'GroupCreated':
30
+ case "GroupCreated":
23
31
  return await this.handleGroupCreated(event);
24
- case 'GroupNameChanged':
32
+ case "GroupNameChanged":
25
33
  return await this.handleGroupNameChanged(event);
26
- case 'GroupDescriptionChanged':
34
+ case "GroupDescriptionChanged":
27
35
  return await this.handleGroupDescriptionChanged(event);
28
- case 'GroupMembersAdded':
36
+ case "GroupMembersAdded":
29
37
  return await this.handleGroupMembersAdded(event);
30
- case 'GroupMembersRemoved':
38
+ case "GroupMembersRemoved":
31
39
  return await this.handleGroupMembersRemoved(event);
32
- case 'GroupDeleted':
40
+ case "GroupDeleted":
33
41
  return await this.handleGroupDeleted(event);
34
42
  default:
35
43
  throw new Error(`Unknown group event type: ${eventType}`);
@@ -44,8 +52,9 @@ class GroupEventHandler {
44
52
  }
45
53
  const existingFriend1to2 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId1, userId2);
46
54
  if (!existingFriend1to2) {
47
- const friendStreamId = `stream-${(0, uuid_1.v4)()}`;
55
+ const friendStreamId = (0, uuid_1.v4)();
48
56
  const friendCreatedEvent = new _1.FriendCreated({
57
+ eventId: (0, uuid_1.v4)(),
49
58
  userId: userId1,
50
59
  friendEmail: user2.email,
51
60
  friendPhoneNumber: user2.phoneNumber,
@@ -60,12 +69,15 @@ class GroupEventHandler {
60
69
  });
61
70
  await this.friendEventStore.addEvent(friendCreatedEvent);
62
71
  const friendModel = friendCreatedEvent.apply(undefined);
63
- await this.friendModelStore.save(friendModel);
72
+ if (!this.shouldSkipSave(undefined, friendModel)) {
73
+ await this.friendModelStore.save(friendModel);
74
+ }
64
75
  }
65
76
  const existingFriend2to1 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId2, userId1);
66
77
  if (!existingFriend2to1) {
67
- const friendStreamId = `stream-${(0, uuid_1.v4)()}`;
78
+ const friendStreamId = (0, uuid_1.v4)();
68
79
  const friendCreatedEvent = new _1.FriendCreated({
80
+ eventId: (0, uuid_1.v4)(),
69
81
  userId: userId2,
70
82
  friendEmail: user1.email,
71
83
  friendPhoneNumber: user1.phoneNumber,
@@ -80,15 +92,22 @@ class GroupEventHandler {
80
92
  });
81
93
  await this.friendEventStore.addEvent(friendCreatedEvent);
82
94
  const friendModel = friendCreatedEvent.apply(undefined);
83
- await this.friendModelStore.save(friendModel);
95
+ if (!this.shouldSkipSave(undefined, friendModel)) {
96
+ await this.friendModelStore.save(friendModel);
97
+ }
84
98
  }
85
99
  }
86
100
  async handleGroupCreated(event) {
87
101
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
88
102
  const updatedModel = event.apply(existingModel);
89
- await this.modelStore.save(updatedModel);
103
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
104
+ await this.modelStore.save(updatedModel);
105
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
106
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
107
+ }
108
+ }
90
109
  const allMemberIds = event.members ?? [];
91
- const otherMembers = allMemberIds.filter(id => id !== event.userId);
110
+ const otherMembers = allMemberIds.filter((id) => id !== event.userId);
92
111
  for (const memberId of otherMembers) {
93
112
  const memberUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
94
113
  if (!memberUser) {
@@ -100,8 +119,9 @@ class GroupEventHandler {
100
119
  await this.ensureBidirectionalFriendship(memberId, otherMemberId, event.groupId);
101
120
  }
102
121
  }
103
- const perspectiveGroupStreamId = `stream-${(0, uuid_1.v4)()}`;
122
+ const perspectiveGroupStreamId = (0, uuid_1.v4)();
104
123
  const perspectiveGroupCreated = new _1.GroupCreated({
124
+ eventId: (0, uuid_1.v4)(),
105
125
  userId: memberId,
106
126
  groupId: event.groupId,
107
127
  name: event.name,
@@ -115,7 +135,12 @@ class GroupEventHandler {
115
135
  });
116
136
  await this.groupEventStore.addEvent(perspectiveGroupCreated);
117
137
  const perspectiveModel = perspectiveGroupCreated.apply(undefined);
118
- await this.modelStore.save(perspectiveModel);
138
+ if (!this.shouldSkipSave(undefined, perspectiveModel)) {
139
+ await this.modelStore.save(perspectiveModel);
140
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
141
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", perspectiveModel);
142
+ }
143
+ }
119
144
  }
120
145
  if (this.activityEventHandler) {
121
146
  await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
@@ -125,11 +150,17 @@ class GroupEventHandler {
125
150
  async handleGroupNameChanged(event) {
126
151
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
127
152
  const updatedModel = event.apply(existingModel);
128
- await this.modelStore.save(updatedModel);
153
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
154
+ await this.modelStore.save(updatedModel);
155
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
156
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
157
+ }
158
+ }
129
159
  const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
130
160
  for (const perspective of allPerspectives) {
131
161
  if (perspective.streamId !== event.streamId) {
132
162
  const perspectiveEvent = new _1.GroupNameChanged({
163
+ eventId: (0, uuid_1.v4)(),
133
164
  userId: perspective.userId,
134
165
  name: event.name,
135
166
  createdAt: new Date(),
@@ -140,7 +171,12 @@ class GroupEventHandler {
140
171
  });
141
172
  await this.groupEventStore.addEvent(perspectiveEvent);
142
173
  const updatedPerspective = perspectiveEvent.apply(perspective);
143
- await this.modelStore.save(updatedPerspective);
174
+ if (!this.shouldSkipSave(perspective, updatedPerspective)) {
175
+ await this.modelStore.save(updatedPerspective);
176
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
177
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
178
+ }
179
+ }
144
180
  }
145
181
  }
146
182
  if (this.activityEventHandler) {
@@ -151,11 +187,17 @@ class GroupEventHandler {
151
187
  async handleGroupDescriptionChanged(event) {
152
188
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
153
189
  const updatedModel = event.apply(existingModel);
154
- await this.modelStore.save(updatedModel);
190
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
191
+ await this.modelStore.save(updatedModel);
192
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
193
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
194
+ }
195
+ }
155
196
  const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
156
197
  for (const perspective of allPerspectives) {
157
198
  if (perspective.streamId !== event.streamId) {
158
199
  const perspectiveEvent = new _1.GroupDescriptionChanged({
200
+ eventId: (0, uuid_1.v4)(),
159
201
  userId: perspective.userId,
160
202
  description: event.description,
161
203
  createdAt: new Date(),
@@ -166,7 +208,12 @@ class GroupEventHandler {
166
208
  });
167
209
  await this.groupEventStore.addEvent(perspectiveEvent);
168
210
  const updatedPerspective = perspectiveEvent.apply(perspective);
169
- await this.modelStore.save(updatedPerspective);
211
+ if (!this.shouldSkipSave(perspective, updatedPerspective)) {
212
+ await this.modelStore.save(updatedPerspective);
213
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
214
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
215
+ }
216
+ }
170
217
  }
171
218
  }
172
219
  if (this.activityEventHandler) {
@@ -180,7 +227,12 @@ class GroupEventHandler {
180
227
  throw new Error(`Group model not found for streamId ${event.streamId}`);
181
228
  }
182
229
  const updatedModel = event.apply(existingModel);
183
- await this.modelStore.save(updatedModel);
230
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
231
+ await this.modelStore.save(updatedModel);
232
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
233
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
234
+ }
235
+ }
184
236
  const allMemberIds = updatedModel.members ?? [];
185
237
  for (const memberId of event.members) {
186
238
  const memberUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
@@ -193,8 +245,9 @@ class GroupEventHandler {
193
245
  await this.ensureBidirectionalFriendship(memberId, otherMemberId, existingModel.groupId);
194
246
  }
195
247
  }
196
- const perspectiveGroupStreamId = `stream-${(0, uuid_1.v4)()}`;
248
+ const perspectiveGroupStreamId = (0, uuid_1.v4)();
197
249
  const perspectiveGroupCreated = new _1.GroupCreated({
250
+ eventId: (0, uuid_1.v4)(),
198
251
  userId: memberId,
199
252
  groupId: existingModel.groupId,
200
253
  name: existingModel.name,
@@ -208,12 +261,19 @@ class GroupEventHandler {
208
261
  });
209
262
  await this.groupEventStore.addEvent(perspectiveGroupCreated);
210
263
  const perspectiveModel = perspectiveGroupCreated.apply(undefined);
211
- await this.modelStore.save(perspectiveModel);
264
+ if (!this.shouldSkipSave(undefined, perspectiveModel)) {
265
+ await this.modelStore.save(perspectiveModel);
266
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
267
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", perspectiveModel);
268
+ }
269
+ }
212
270
  }
213
271
  const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
214
272
  for (const perspective of allPerspectives) {
215
- if (perspective.streamId !== event.streamId && !event.members.includes(perspective.userId)) {
273
+ if (perspective.streamId !== event.streamId &&
274
+ !event.members.includes(perspective.userId)) {
216
275
  const perspectiveEvent = new _1.GroupMembersAdded({
276
+ eventId: (0, uuid_1.v4)(),
217
277
  userId: perspective.userId,
218
278
  members: event.members,
219
279
  createdAt: new Date(),
@@ -224,7 +284,12 @@ class GroupEventHandler {
224
284
  });
225
285
  await this.groupEventStore.addEvent(perspectiveEvent);
226
286
  const updatedPerspective = perspectiveEvent.apply(perspective);
227
- await this.modelStore.save(updatedPerspective);
287
+ if (!this.shouldSkipSave(perspective, updatedPerspective)) {
288
+ await this.modelStore.save(updatedPerspective);
289
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
290
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
291
+ }
292
+ }
228
293
  }
229
294
  }
230
295
  if (this.activityEventHandler) {
@@ -235,11 +300,17 @@ class GroupEventHandler {
235
300
  async handleGroupMembersRemoved(event) {
236
301
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
237
302
  const updatedModel = event.apply(existingModel);
238
- await this.modelStore.save(updatedModel);
303
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
304
+ await this.modelStore.save(updatedModel);
305
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
306
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
307
+ }
308
+ }
239
309
  const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
240
310
  for (const perspective of allPerspectives) {
241
311
  if (perspective.streamId !== event.streamId) {
242
312
  const perspectiveEvent = new _1.GroupMembersRemoved({
313
+ eventId: (0, uuid_1.v4)(),
243
314
  userId: perspective.userId,
244
315
  members: event.members,
245
316
  createdAt: new Date(),
@@ -250,7 +321,12 @@ class GroupEventHandler {
250
321
  });
251
322
  await this.groupEventStore.addEvent(perspectiveEvent);
252
323
  const updatedPerspective = perspectiveEvent.apply(perspective);
253
- await this.modelStore.save(updatedPerspective);
324
+ if (!this.shouldSkipSave(perspective, updatedPerspective)) {
325
+ await this.modelStore.save(updatedPerspective);
326
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
327
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
328
+ }
329
+ }
254
330
  }
255
331
  }
256
332
  if (this.activityEventHandler) {
@@ -261,7 +337,12 @@ class GroupEventHandler {
261
337
  async handleGroupDeleted(event) {
262
338
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
263
339
  const updatedModel = event.apply(existingModel);
264
- await this.modelStore.save(updatedModel);
340
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
341
+ await this.modelStore.save(updatedModel);
342
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
343
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
344
+ }
345
+ }
265
346
  if (this.activityEventHandler) {
266
347
  await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
267
348
  }
@@ -1,6 +1,6 @@
1
- import { GroupEvent } from './common/DomainEvents';
2
- import { Model } from './common/Model';
3
- import { ActivityLogCreatedProps } from './ActivityLogEvents';
1
+ import { GroupEvent } from "./common/DomainEvents";
2
+ import { Model } from "./common/Model";
3
+ import { ActivityLogCreatedProps } from "./ActivityLogEvents";
4
4
  export interface GroupModel extends Model {
5
5
  groupId: string;
6
6
  name: string;
@@ -12,6 +12,7 @@ export interface GroupModel extends Model {
12
12
  updatedBy: string;
13
13
  }
14
14
  export interface GroupCreatedProps {
15
+ eventId: string;
15
16
  userId: string;
16
17
  groupId: string;
17
18
  name: string;
@@ -24,6 +25,7 @@ export interface GroupCreatedProps {
24
25
  systemGenerated: boolean;
25
26
  }
26
27
  export declare class GroupCreated implements GroupEvent {
28
+ eventId: string;
27
29
  userId: string;
28
30
  groupId: string;
29
31
  name: string;
@@ -39,6 +41,7 @@ export declare class GroupCreated implements GroupEvent {
39
41
  activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
40
42
  }
41
43
  export interface GroupNameChangedProps {
44
+ eventId: string;
42
45
  userId: string;
43
46
  name: string;
44
47
  createdAt: Date;
@@ -48,6 +51,7 @@ export interface GroupNameChangedProps {
48
51
  systemGenerated: boolean;
49
52
  }
50
53
  export declare class GroupNameChanged implements GroupEvent {
54
+ eventId: string;
51
55
  userId: string;
52
56
  name: string;
53
57
  createdAt: Date;
@@ -60,6 +64,7 @@ export declare class GroupNameChanged implements GroupEvent {
60
64
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
61
65
  }
62
66
  export interface GroupDescriptionChangedProps {
67
+ eventId: string;
63
68
  userId: string;
64
69
  description?: string;
65
70
  createdAt: Date;
@@ -69,6 +74,7 @@ export interface GroupDescriptionChangedProps {
69
74
  systemGenerated: boolean;
70
75
  }
71
76
  export declare class GroupDescriptionChanged implements GroupEvent {
77
+ eventId: string;
72
78
  userId: string;
73
79
  description?: string;
74
80
  createdAt: Date;
@@ -81,6 +87,7 @@ export declare class GroupDescriptionChanged implements GroupEvent {
81
87
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
82
88
  }
83
89
  export interface GroupMembersAddedProps {
90
+ eventId: string;
84
91
  userId: string;
85
92
  members: string[];
86
93
  createdAt: Date;
@@ -90,6 +97,7 @@ export interface GroupMembersAddedProps {
90
97
  systemGenerated: boolean;
91
98
  }
92
99
  export declare class GroupMembersAdded implements GroupEvent {
100
+ eventId: string;
93
101
  userId: string;
94
102
  members: string[];
95
103
  createdAt: Date;
@@ -102,6 +110,7 @@ export declare class GroupMembersAdded implements GroupEvent {
102
110
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
103
111
  }
104
112
  export interface GroupMembersRemovedProps {
113
+ eventId: string;
105
114
  userId: string;
106
115
  members: string[];
107
116
  createdAt: Date;
@@ -111,6 +120,7 @@ export interface GroupMembersRemovedProps {
111
120
  systemGenerated: boolean;
112
121
  }
113
122
  export declare class GroupMembersRemoved implements GroupEvent {
123
+ eventId: string;
114
124
  userId: string;
115
125
  members: string[];
116
126
  createdAt: Date;
@@ -123,6 +133,7 @@ export declare class GroupMembersRemoved implements GroupEvent {
123
133
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
124
134
  }
125
135
  export interface GroupDeletedProps {
136
+ eventId: string;
126
137
  userId: string;
127
138
  createdAt: Date;
128
139
  createdBy: string;
@@ -131,6 +142,7 @@ export interface GroupDeletedProps {
131
142
  systemGenerated: boolean;
132
143
  }
133
144
  export declare class GroupDeleted implements GroupEvent {
145
+ eventId: string;
134
146
  userId: string;
135
147
  createdAt: Date;
136
148
  createdBy: string;