@zeeshan60/event-processor 1.0.13 → 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 (146) hide show
  1. package/dist/ActivityEventHandler.d.ts +1 -0
  2. package/dist/ActivityEventHandler.d.ts.map +1 -1
  3. package/dist/ActivityEventHandler.js +14 -1
  4. package/dist/EventProcessorSDK.d.ts +26 -1
  5. package/dist/EventProcessorSDK.d.ts.map +1 -1
  6. package/dist/EventProcessorSDK.js +75 -1
  7. package/dist/FriendEventHandler.d.ts +1 -0
  8. package/dist/FriendEventHandler.d.ts.map +1 -1
  9. package/dist/FriendEventHandler.js +50 -7
  10. package/dist/GroupEventHandler.d.ts +1 -0
  11. package/dist/GroupEventHandler.d.ts.map +1 -1
  12. package/dist/GroupEventHandler.js +86 -14
  13. package/dist/GroupTransactionEventHandler.d.ts +1 -0
  14. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  15. package/dist/GroupTransactionEventHandler.js +47 -9
  16. package/dist/ModelChangeEmitter.d.ts +15 -0
  17. package/dist/ModelChangeEmitter.d.ts.map +1 -0
  18. package/dist/ModelChangeEmitter.js +31 -0
  19. package/dist/TransactionEventHandler.d.ts +1 -0
  20. package/dist/TransactionEventHandler.d.ts.map +1 -1
  21. package/dist/TransactionEventHandler.js +20 -2
  22. package/dist/UserEventHandler.d.ts +1 -0
  23. package/dist/UserEventHandler.d.ts.map +1 -1
  24. package/dist/UserEventHandler.js +26 -3
  25. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +1 -1
  26. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  27. package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +1 -3
  28. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +1 -1
  29. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
  30. package/dist/__tests__/test-helpers/IMActivityLogModelStore.js +1 -3
  31. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +1 -1
  32. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
  33. package/dist/__tests__/test-helpers/IMFriendEventStore.js +1 -3
  34. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +1 -1
  35. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
  36. package/dist/__tests__/test-helpers/IMFriendModelStore.js +1 -3
  37. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +1 -1
  38. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
  39. package/dist/__tests__/test-helpers/IMGroupEventStore.js +1 -3
  40. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +1 -1
  41. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
  42. package/dist/__tests__/test-helpers/IMGroupModelStore.js +1 -3
  43. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +1 -1
  44. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  45. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +1 -3
  46. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +1 -1
  47. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
  48. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +1 -3
  49. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +1 -1
  50. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  51. package/dist/__tests__/test-helpers/IMTransactionEventStore.js +1 -3
  52. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +1 -1
  53. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
  54. package/dist/__tests__/test-helpers/IMTransactionModelStore.js +1 -3
  55. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +1 -1
  56. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
  57. package/dist/__tests__/test-helpers/IMUserEventStore.js +1 -3
  58. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +1 -1
  59. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
  60. package/dist/__tests__/test-helpers/IMUserModelStore.js +1 -3
  61. package/dist/client/controllers/FriendController.d.ts +6 -5
  62. package/dist/client/controllers/FriendController.d.ts.map +1 -1
  63. package/dist/client/controllers/FriendController.js +23 -12
  64. package/dist/client/controllers/UserController.d.ts.map +1 -1
  65. package/dist/client/controllers/UserController.js +3 -23
  66. package/dist/client/handlers/UIEventHandler.d.ts +4 -22
  67. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
  68. package/dist/client/handlers/UIEventHandler.js +59 -40
  69. package/dist/converters/eventConverter.d.ts.map +1 -1
  70. package/dist/converters/eventConverter.js +26 -1
  71. package/dist/index.d.ts +2 -2
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +11 -3
  74. package/dist/store/ActivityLogEventStore.d.ts +2 -2
  75. package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
  76. package/dist/store/ActivityLogEventStore.js +0 -4
  77. package/dist/store/ActivityLogModelStore.d.ts +4 -4
  78. package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
  79. package/dist/store/ActivityLogModelStore.js +0 -5
  80. package/dist/store/FriendEventStore.d.ts +2 -2
  81. package/dist/store/FriendEventStore.d.ts.map +1 -1
  82. package/dist/store/FriendEventStore.js +0 -4
  83. package/dist/store/FriendModelStore.d.ts +9 -9
  84. package/dist/store/FriendModelStore.d.ts.map +1 -1
  85. package/dist/store/FriendModelStore.js +0 -5
  86. package/dist/store/GroupEventStore.d.ts +2 -2
  87. package/dist/store/GroupEventStore.d.ts.map +1 -1
  88. package/dist/store/GroupEventStore.js +0 -4
  89. package/dist/store/GroupModelStore.d.ts +6 -6
  90. package/dist/store/GroupModelStore.d.ts.map +1 -1
  91. package/dist/store/GroupModelStore.js +0 -5
  92. package/dist/store/GroupTransactionEventStore.d.ts +2 -2
  93. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
  94. package/dist/store/GroupTransactionEventStore.js +0 -4
  95. package/dist/store/GroupTransactionModelStore.d.ts +6 -6
  96. package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
  97. package/dist/store/GroupTransactionModelStore.js +0 -5
  98. package/dist/store/ModelStore.d.ts +4 -4
  99. package/dist/store/ModelStore.d.ts.map +1 -1
  100. package/dist/store/ModelStore.js +0 -4
  101. package/dist/store/TransactionEventStore.d.ts +2 -2
  102. package/dist/store/TransactionEventStore.d.ts.map +1 -1
  103. package/dist/store/TransactionEventStore.js +0 -4
  104. package/dist/store/TransactionModelStore.d.ts +6 -6
  105. package/dist/store/TransactionModelStore.d.ts.map +1 -1
  106. package/dist/store/TransactionModelStore.js +0 -5
  107. package/dist/store/UserEventStore.d.ts +2 -2
  108. package/dist/store/UserEventStore.d.ts.map +1 -1
  109. package/dist/store/UserEventStore.js +0 -4
  110. package/dist/store/UserModelStore.d.ts +7 -7
  111. package/dist/store/UserModelStore.d.ts.map +1 -1
  112. package/dist/store/UserModelStore.js +0 -5
  113. package/package.json +1 -1
  114. package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts +0 -3
  115. package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts.map +0 -1
  116. package/dist/__tests__/e2e/setup/firebaseEmulator.js +0 -87
  117. package/dist/__tests__/e2e/setup/firestoreStores.d.ts +0 -28
  118. package/dist/__tests__/e2e/setup/firestoreStores.d.ts.map +0 -1
  119. package/dist/__tests__/e2e/setup/firestoreStores.js +0 -276
  120. package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts +0 -15
  121. package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts.map +0 -1
  122. package/dist/__tests__/e2e/setup/firestoreTestHelpers.js +0 -167
  123. package/dist/adapters/FirebaseAdminAdapter.d.ts +0 -8
  124. package/dist/adapters/FirebaseAdminAdapter.d.ts.map +0 -1
  125. package/dist/adapters/FirebaseAdminAdapter.js +0 -21
  126. package/dist/adapters/FirebaseClientAdapter.d.ts +0 -8
  127. package/dist/adapters/FirebaseClientAdapter.d.ts.map +0 -1
  128. package/dist/adapters/FirebaseClientAdapter.js +0 -22
  129. package/dist/client/handlers/UIActivityEventHandler.d.ts +0 -12
  130. package/dist/client/handlers/UIActivityEventHandler.d.ts.map +0 -1
  131. package/dist/client/handlers/UIActivityEventHandler.js +0 -14
  132. package/dist/common/EventBus.d.ts +0 -12
  133. package/dist/common/EventBus.d.ts.map +0 -1
  134. package/dist/common/EventBus.js +0 -26
  135. package/dist/common/EventBusSingleton.d.ts +0 -4
  136. package/dist/common/EventBusSingleton.d.ts.map +0 -1
  137. package/dist/common/EventBusSingleton.js +0 -18
  138. package/dist/config/environment.d.ts +0 -25
  139. package/dist/config/environment.d.ts.map +0 -1
  140. package/dist/config/environment.js +0 -77
  141. package/dist/controllers/UIEventHandler.d.ts +0 -25
  142. package/dist/controllers/UIEventHandler.d.ts.map +0 -1
  143. package/dist/controllers/UIEventHandler.js +0 -50
  144. package/dist/controllers/UserController.d.ts +0 -9
  145. package/dist/controllers/UserController.d.ts.map +0 -1
  146. package/dist/controllers/UserController.js +0 -36
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventProcessorEnv = exports.EventProcessorSource = void 0;
4
- exports.setEventProcessorSource = setEventProcessorSource;
5
- exports.getEventProcessorSource = getEventProcessorSource;
6
- exports.isGCFun = isGCFun;
7
- exports.isClient = isClient;
8
- exports.isUnknown = isUnknown;
9
- exports.resetEventProcessorSource = resetEventProcessorSource;
10
- var EventProcessorSource;
11
- (function (EventProcessorSource) {
12
- EventProcessorSource["GOOGLE_CLOUD_FUNCTION"] = "GOOGLE_CLOUD_FUNCTION";
13
- EventProcessorSource["CLIENT"] = "CLIENT";
14
- EventProcessorSource["UNKNOWN"] = "UNKNOWN";
15
- })(EventProcessorSource || (exports.EventProcessorSource = EventProcessorSource = {}));
16
- class EventProcessorEnvironment {
17
- constructor() {
18
- this.source = EventProcessorSource.UNKNOWN;
19
- this.initializeFromEnv();
20
- }
21
- initializeFromEnv() {
22
- // Check if running in Node.js environment (not browser)
23
- if (typeof process !== 'undefined' && process.env) {
24
- const envSource = process.env.EVENT_PROCESSOR_SOURCE;
25
- if (envSource === EventProcessorSource.GOOGLE_CLOUD_FUNCTION) {
26
- this.source = EventProcessorSource.GOOGLE_CLOUD_FUNCTION;
27
- }
28
- else if (envSource === EventProcessorSource.CLIENT) {
29
- this.source = EventProcessorSource.CLIENT;
30
- }
31
- else {
32
- this.source = EventProcessorSource.UNKNOWN;
33
- }
34
- }
35
- else {
36
- // Browser environment - default to CLIENT
37
- this.source = EventProcessorSource.CLIENT;
38
- }
39
- }
40
- setSource(source) {
41
- this.source = source;
42
- }
43
- getSource() {
44
- return this.source;
45
- }
46
- isGCFun() {
47
- return this.source === EventProcessorSource.GOOGLE_CLOUD_FUNCTION;
48
- }
49
- isClient() {
50
- return this.source === EventProcessorSource.CLIENT;
51
- }
52
- isUnknown() {
53
- return this.source === EventProcessorSource.UNKNOWN;
54
- }
55
- reset() {
56
- this.initializeFromEnv();
57
- }
58
- }
59
- exports.eventProcessorEnv = new EventProcessorEnvironment();
60
- function setEventProcessorSource(source) {
61
- exports.eventProcessorEnv.setSource(source);
62
- }
63
- function getEventProcessorSource() {
64
- return exports.eventProcessorEnv.getSource();
65
- }
66
- function isGCFun() {
67
- return exports.eventProcessorEnv.isGCFun();
68
- }
69
- function isClient() {
70
- return exports.eventProcessorEnv.isClient();
71
- }
72
- function isUnknown() {
73
- return exports.eventProcessorEnv.isUnknown();
74
- }
75
- function resetEventProcessorSource() {
76
- exports.eventProcessorEnv.reset();
77
- }
@@ -1,25 +0,0 @@
1
- import { UserModelStore } from '../store/UserModelStore';
2
- interface FirestoreTimestamp {
3
- toDate(): Date;
4
- seconds: number;
5
- nanoseconds: number;
6
- }
7
- interface ClientFirestoreEventData {
8
- id: string;
9
- eventType: string;
10
- streamId: string;
11
- version: number;
12
- createdAt: FirestoreTimestamp | Date;
13
- createdBy: string;
14
- systemGenerated?: boolean;
15
- [key: string]: any;
16
- }
17
- export declare class UIEventHandler {
18
- private userModelStore;
19
- constructor(userModelStore: UserModelStore);
20
- handleFirestoreEvent(eventData: ClientFirestoreEventData): Promise<void>;
21
- private firestoreToEvent;
22
- private toDate;
23
- }
24
- export {};
25
- //# sourceMappingURL=UIEventHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../src/controllers/UIEventHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGvD,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,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UIEventHandler = void 0;
4
- const __1 = require("..");
5
- const EventBusSingleton_1 = require("../common/EventBusSingleton");
6
- class UIEventHandler {
7
- constructor(userModelStore) {
8
- this.userModelStore = userModelStore;
9
- }
10
- async handleFirestoreEvent(eventData) {
11
- const event = this.firestoreToEvent(eventData);
12
- if (event instanceof __1.UserCreated) {
13
- const existingModel = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
14
- const updatedModel = event.apply(existingModel);
15
- await this.userModelStore.save(updatedModel);
16
- (0, EventBusSingleton_1.getEventBus)().publish(event);
17
- }
18
- }
19
- firestoreToEvent(data) {
20
- const eventType = data.eventType;
21
- const createdAt = this.toDate(data.createdAt);
22
- if (eventType === 'UserCreated') {
23
- return new __1.UserCreated({
24
- userId: data.userId,
25
- firebaseUid: data.firebaseUid,
26
- displayName: data.displayName,
27
- phoneNumber: data.phoneNumber,
28
- email: data.email,
29
- photoUrl: data.photoUrl,
30
- emailVerified: data.emailVerified,
31
- createdAt,
32
- createdBy: data.createdBy,
33
- streamId: data.streamId,
34
- version: data.version,
35
- systemGenerated: data.systemGenerated ?? false,
36
- });
37
- }
38
- throw new Error(`Unsupported event type: ${eventType}`);
39
- }
40
- toDate(timestamp) {
41
- if (timestamp instanceof Date) {
42
- return timestamp;
43
- }
44
- if (typeof timestamp === 'object' && 'toDate' in timestamp) {
45
- return timestamp.toDate();
46
- }
47
- return new Date(timestamp);
48
- }
49
- }
50
- exports.UIEventHandler = UIEventHandler;
@@ -1,9 +0,0 @@
1
- import { UserModelStore } from '../store/UserModelStore';
2
- import { UserEventStore } from '../store/UserEventStore';
3
- export declare class UserController {
4
- private modelStore;
5
- private eventStore?;
6
- constructor(modelStore: UserModelStore, eventStore?: UserEventStore | undefined);
7
- loginUser(userFSId: string): Promise<string>;
8
- }
9
- //# sourceMappingURL=UserController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGvD,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,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserController = void 0;
4
- const EventBusSingleton_1 = require("../common/EventBusSingleton");
5
- const UserEvents_1 = require("../UserEvents");
6
- const rxjs_1 = require("rxjs");
7
- class UserController {
8
- constructor(modelStore, eventStore) {
9
- this.modelStore = modelStore;
10
- this.eventStore = eventStore;
11
- }
12
- async loginUser(userFSId) {
13
- const existingUser = await this.modelStore.findByFirebaseUid(userFSId);
14
- if (existingUser) {
15
- return existingUser.userId;
16
- }
17
- const eventBus = (0, EventBusSingleton_1.getEventBus)();
18
- const isUserCreatedForFirebaseUid = (event) => {
19
- return event instanceof UserEvents_1.UserCreated && event.firebaseUid === userFSId;
20
- };
21
- try {
22
- const event = await (0, rxjs_1.firstValueFrom)(eventBus.observable(isUserCreatedForFirebaseUid).pipe((0, rxjs_1.timeout)(10000)));
23
- if (!event.userId) {
24
- throw new Error('UserCreated event missing userId');
25
- }
26
- return event.userId;
27
- }
28
- catch (error) {
29
- if (error.name === 'TimeoutError') {
30
- throw new Error(`Timeout waiting for UserCreated event for firebaseUid: ${userFSId}`);
31
- }
32
- throw error;
33
- }
34
- }
35
- }
36
- exports.UserController = UserController;