@zeeshan60/event-processor 1.0.14 → 1.0.16
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.
- package/README.md +29 -22
- package/dist/ActivityEventHandler.d.ts +5 -6
- package/dist/ActivityEventHandler.d.ts.map +1 -1
- package/dist/ActivityEventHandler.js +16 -8
- package/dist/ActivityLogEvents.d.ts.map +1 -1
- package/dist/BaseEventHandler.d.ts +8 -0
- package/dist/BaseEventHandler.d.ts.map +1 -0
- package/dist/BaseEventHandler.js +13 -0
- package/dist/EventProcessorSDK.d.ts +10 -2
- package/dist/EventProcessorSDK.d.ts.map +1 -1
- package/dist/EventProcessorSDK.js +21 -5
- package/dist/FriendEventHandler.d.ts +6 -2
- package/dist/FriendEventHandler.d.ts.map +1 -1
- package/dist/FriendEventHandler.js +50 -45
- package/dist/GroupEventHandler.d.ts +5 -8
- package/dist/GroupEventHandler.d.ts.map +1 -1
- package/dist/GroupEventHandler.js +241 -186
- package/dist/GroupEvents.d.ts.map +1 -1
- package/dist/GroupTransactionEventHandler.d.ts +3 -2
- package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
- package/dist/GroupTransactionEventHandler.js +11 -10
- package/dist/GroupTransactionEvents.d.ts.map +1 -1
- package/dist/ModelChangeEmitter.d.ts +1 -1
- package/dist/ModelChangeEmitter.d.ts.map +1 -1
- package/dist/TransactionEventHandler.d.ts +5 -5
- package/dist/TransactionEventHandler.d.ts.map +1 -1
- package/dist/TransactionEventHandler.js +19 -30
- package/dist/TransactionEvents.d.ts.map +1 -1
- package/dist/UserEventHandler.d.ts +4 -3
- package/dist/UserEventHandler.d.ts.map +1 -1
- package/dist/UserEventHandler.js +16 -40
- package/dist/UserEvents.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMCurrencyStore.d.ts +8 -0
- package/dist/__tests__/test-helpers/IMCurrencyStore.d.ts.map +1 -0
- package/dist/__tests__/test-helpers/IMCurrencyStore.js +16 -0
- package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +3 -2
- package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMTransactionModelStore.js +20 -0
- package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +1 -2
- package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +4 -2
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserModelStore.js +10 -0
- package/dist/client/controllers/FriendController.d.ts +4 -0
- package/dist/client/controllers/FriendController.d.ts.map +1 -1
- package/dist/client/controllers/FriendController.js +45 -15
- package/dist/client/controllers/TransactionController.d.ts +18 -0
- package/dist/client/controllers/TransactionController.d.ts.map +1 -0
- package/dist/client/controllers/TransactionController.js +275 -0
- package/dist/client/handlers/UIEventHandler.d.ts +0 -1
- package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIEventHandler.js +4 -62
- package/dist/common/CurrencyRate.d.ts +7 -0
- package/dist/common/CurrencyRate.d.ts.map +1 -0
- package/dist/common/CurrencyRate.js +2 -0
- package/dist/common/DomainEvents.d.ts +0 -70
- package/dist/common/DomainEvents.d.ts.map +1 -1
- package/dist/common/DomainEvents.js +0 -89
- package/dist/contracts/expenses/index.d.ts.map +1 -1
- package/dist/contracts/friends/index.d.ts +1 -9
- package/dist/contracts/friends/index.d.ts.map +1 -1
- package/dist/contracts/groups/index.d.ts.map +1 -1
- package/dist/contracts/transactions/index.d.ts +1 -1
- package/dist/contracts/transactions/index.d.ts.map +1 -1
- package/dist/converters/ActivityLogConverters.d.ts +9 -0
- package/dist/converters/ActivityLogConverters.d.ts.map +1 -0
- package/dist/converters/ActivityLogConverters.js +39 -0
- package/dist/converters/EventConverterCore.d.ts +67 -0
- package/dist/converters/EventConverterCore.d.ts.map +1 -0
- package/dist/converters/EventConverterCore.js +59 -0
- package/dist/converters/FriendConverters.d.ts +33 -0
- package/dist/converters/FriendConverters.d.ts.map +1 -0
- package/dist/converters/FriendConverters.js +142 -0
- package/dist/converters/GroupConverters.d.ts +39 -0
- package/dist/converters/GroupConverters.d.ts.map +1 -0
- package/dist/converters/GroupConverters.js +160 -0
- package/dist/converters/GroupTransactionConverters.d.ts +57 -0
- package/dist/converters/GroupTransactionConverters.d.ts.map +1 -0
- package/dist/converters/GroupTransactionConverters.js +249 -0
- package/dist/converters/TransactionConverters.d.ts +51 -0
- package/dist/converters/TransactionConverters.d.ts.map +1 -0
- package/dist/converters/TransactionConverters.js +234 -0
- package/dist/converters/UserConverters.d.ts +51 -0
- package/dist/converters/UserConverters.d.ts.map +1 -0
- package/dist/converters/UserConverters.js +226 -0
- package/dist/converters/eventConverter.d.ts +10 -15
- package/dist/converters/eventConverter.d.ts.map +1 -1
- package/dist/converters/eventConverter.js +96 -377
- package/dist/environment.d.ts +12 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +50 -0
- package/dist/events.d.ts +2 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +7 -3
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -31
- package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
- package/dist/store/CurrencyStore.d.ts +5 -0
- package/dist/store/CurrencyStore.d.ts.map +1 -0
- package/dist/store/CurrencyStore.js +6 -0
- package/dist/store/FriendModelStore.d.ts.map +1 -1
- package/dist/store/GroupModelStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
- package/dist/store/TransactionModelStore.d.ts +2 -0
- package/dist/store/TransactionModelStore.d.ts.map +1 -1
- package/dist/store/UserModelStore.d.ts +1 -0
- package/dist/store/UserModelStore.d.ts.map +1 -1
- package/dist/utils/BalanceUtil.d.ts +13 -0
- package/dist/utils/BalanceUtil.d.ts.map +1 -0
- package/dist/utils/BalanceUtil.js +97 -0
- package/package.json +1 -1
- package/dist/client/handlers/UIFriendEventHandler.d.ts +0 -16
- package/dist/client/handlers/UIFriendEventHandler.d.ts.map +0 -1
- package/dist/client/handlers/UIFriendEventHandler.js +0 -27
- package/dist/client/handlers/UIGroupEventHandler.d.ts +0 -18
- package/dist/client/handlers/UIGroupEventHandler.d.ts.map +0 -1
- package/dist/client/handlers/UIGroupEventHandler.js +0 -28
- package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +0 -18
- package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +0 -1
- package/dist/client/handlers/UIGroupTransactionEventHandler.js +0 -28
- package/dist/client/handlers/UITransactionEventHandler.d.ts +0 -14
- package/dist/client/handlers/UITransactionEventHandler.d.ts.map +0 -1
- package/dist/client/handlers/UITransactionEventHandler.js +0 -26
- package/dist/client/handlers/UIUserEventHandler.d.ts +0 -12
- package/dist/client/handlers/UIUserEventHandler.d.ts.map +0 -1
- package/dist/client/handlers/UIUserEventHandler.js +0 -29
- package/dist/utils/userPathUtils.d.ts +0 -6
- package/dist/utils/userPathUtils.d.ts.map +0 -1
- package/dist/utils/userPathUtils.js +0 -16
package/dist/index.js
CHANGED
|
@@ -14,53 +14,29 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.residence = exports.__resetSDKForTesting = exports.
|
|
17
|
+
exports.residence = exports.__resetSDKForTesting = exports.EventConverterFactory = exports.CurrencyStore = exports.ModelChangeEmitter = exports.isSDKInitialized = exports.firestoreToEvent = exports.eventToFirestore = exports.getModelChangeObservable = exports.getCurrencyStore = exports.getFirebaseAdapter = exports.getActivityEventHandler = exports.getGroupTransactionEventHandler = exports.getGroupEventHandler = exports.getTransactionEventHandler = exports.getFriendEventHandler = exports.getUserEventHandler = exports.getUIEventHandler = exports.getTransactionController = exports.getFriendController = exports.getUserController = exports.initializeSDK = exports.EventProcessorSDK = exports.UIEventHandler = exports.TransactionController = exports.FriendController = exports.UserController = exports.BaseEventHandler = void 0;
|
|
18
18
|
// Export all backend event definitions here
|
|
19
19
|
__exportStar(require("./events"), exports);
|
|
20
|
-
// Export
|
|
21
|
-
var
|
|
22
|
-
Object.defineProperty(exports, "
|
|
23
|
-
Object.defineProperty(exports, "FriendEventTypes", { enumerable: true, get: function () { return DomainEvents_1.FriendEventTypes; } });
|
|
24
|
-
Object.defineProperty(exports, "TransactionEventTypes", { enumerable: true, get: function () { return DomainEvents_1.TransactionEventTypes; } });
|
|
25
|
-
Object.defineProperty(exports, "GroupEventTypes", { enumerable: true, get: function () { return DomainEvents_1.GroupEventTypes; } });
|
|
26
|
-
Object.defineProperty(exports, "GroupTransactionEventTypes", { enumerable: true, get: function () { return DomainEvents_1.GroupTransactionEventTypes; } });
|
|
27
|
-
Object.defineProperty(exports, "ActivityLogEventTypes", { enumerable: true, get: function () { return DomainEvents_1.ActivityLogEventTypes; } });
|
|
28
|
-
Object.defineProperty(exports, "VALID_USER_EVENT_TYPES", { enumerable: true, get: function () { return DomainEvents_1.VALID_USER_EVENT_TYPES; } });
|
|
29
|
-
Object.defineProperty(exports, "VALID_FRIEND_EVENT_TYPES", { enumerable: true, get: function () { return DomainEvents_1.VALID_FRIEND_EVENT_TYPES; } });
|
|
30
|
-
Object.defineProperty(exports, "VALID_TRANSACTION_EVENT_TYPES", { enumerable: true, get: function () { return DomainEvents_1.VALID_TRANSACTION_EVENT_TYPES; } });
|
|
31
|
-
Object.defineProperty(exports, "VALID_GROUP_EVENT_TYPES", { enumerable: true, get: function () { return DomainEvents_1.VALID_GROUP_EVENT_TYPES; } });
|
|
32
|
-
Object.defineProperty(exports, "VALID_GROUP_TRANSACTION_EVENT_TYPES", { enumerable: true, get: function () { return DomainEvents_1.VALID_GROUP_TRANSACTION_EVENT_TYPES; } });
|
|
33
|
-
Object.defineProperty(exports, "VALID_ACTIVITY_LOG_EVENT_TYPES", { enumerable: true, get: function () { return DomainEvents_1.VALID_ACTIVITY_LOG_EVENT_TYPES; } });
|
|
34
|
-
Object.defineProperty(exports, "isValidUserEventType", { enumerable: true, get: function () { return DomainEvents_1.isValidUserEventType; } });
|
|
35
|
-
Object.defineProperty(exports, "isValidFriendEventType", { enumerable: true, get: function () { return DomainEvents_1.isValidFriendEventType; } });
|
|
36
|
-
Object.defineProperty(exports, "isValidTransactionEventType", { enumerable: true, get: function () { return DomainEvents_1.isValidTransactionEventType; } });
|
|
37
|
-
Object.defineProperty(exports, "isValidGroupEventType", { enumerable: true, get: function () { return DomainEvents_1.isValidGroupEventType; } });
|
|
38
|
-
Object.defineProperty(exports, "isValidGroupTransactionEventType", { enumerable: true, get: function () { return DomainEvents_1.isValidGroupTransactionEventType; } });
|
|
39
|
-
Object.defineProperty(exports, "isValidActivityLogEventType", { enumerable: true, get: function () { return DomainEvents_1.isValidActivityLogEventType; } });
|
|
20
|
+
// Export base event handler interface
|
|
21
|
+
var BaseEventHandler_1 = require("./BaseEventHandler");
|
|
22
|
+
Object.defineProperty(exports, "BaseEventHandler", { enumerable: true, get: function () { return BaseEventHandler_1.BaseEventHandler; } });
|
|
40
23
|
// Export controllers
|
|
41
24
|
var UserController_1 = require("./client/controllers/UserController");
|
|
42
25
|
Object.defineProperty(exports, "UserController", { enumerable: true, get: function () { return UserController_1.UserController; } });
|
|
43
26
|
var FriendController_1 = require("./client/controllers/FriendController");
|
|
44
27
|
Object.defineProperty(exports, "FriendController", { enumerable: true, get: function () { return FriendController_1.FriendController; } });
|
|
28
|
+
var TransactionController_1 = require("./client/controllers/TransactionController");
|
|
29
|
+
Object.defineProperty(exports, "TransactionController", { enumerable: true, get: function () { return TransactionController_1.TransactionController; } });
|
|
45
30
|
// Export client handlers
|
|
46
31
|
var UIEventHandler_1 = require("./client/handlers/UIEventHandler");
|
|
47
32
|
Object.defineProperty(exports, "UIEventHandler", { enumerable: true, get: function () { return UIEventHandler_1.UIEventHandler; } });
|
|
48
|
-
var UIUserEventHandler_1 = require("./client/handlers/UIUserEventHandler");
|
|
49
|
-
Object.defineProperty(exports, "UIUserEventHandler", { enumerable: true, get: function () { return UIUserEventHandler_1.UIUserEventHandler; } });
|
|
50
|
-
var UITransactionEventHandler_1 = require("./client/handlers/UITransactionEventHandler");
|
|
51
|
-
Object.defineProperty(exports, "UITransactionEventHandler", { enumerable: true, get: function () { return UITransactionEventHandler_1.UITransactionEventHandler; } });
|
|
52
|
-
var UIFriendEventHandler_1 = require("./client/handlers/UIFriendEventHandler");
|
|
53
|
-
Object.defineProperty(exports, "UIFriendEventHandler", { enumerable: true, get: function () { return UIFriendEventHandler_1.UIFriendEventHandler; } });
|
|
54
|
-
var UIGroupEventHandler_1 = require("./client/handlers/UIGroupEventHandler");
|
|
55
|
-
Object.defineProperty(exports, "UIGroupEventHandler", { enumerable: true, get: function () { return UIGroupEventHandler_1.UIGroupEventHandler; } });
|
|
56
|
-
var UIGroupTransactionEventHandler_1 = require("./client/handlers/UIGroupTransactionEventHandler");
|
|
57
|
-
Object.defineProperty(exports, "UIGroupTransactionEventHandler", { enumerable: true, get: function () { return UIGroupTransactionEventHandler_1.UIGroupTransactionEventHandler; } });
|
|
58
33
|
// Export SDK initialization
|
|
59
34
|
var EventProcessorSDK_1 = require("./EventProcessorSDK");
|
|
60
35
|
Object.defineProperty(exports, "EventProcessorSDK", { enumerable: true, get: function () { return EventProcessorSDK_1.EventProcessorSDK; } });
|
|
61
36
|
Object.defineProperty(exports, "initializeSDK", { enumerable: true, get: function () { return EventProcessorSDK_1.initializeSDK; } });
|
|
62
37
|
Object.defineProperty(exports, "getUserController", { enumerable: true, get: function () { return EventProcessorSDK_1.getUserController; } });
|
|
63
38
|
Object.defineProperty(exports, "getFriendController", { enumerable: true, get: function () { return EventProcessorSDK_1.getFriendController; } });
|
|
39
|
+
Object.defineProperty(exports, "getTransactionController", { enumerable: true, get: function () { return EventProcessorSDK_1.getTransactionController; } });
|
|
64
40
|
Object.defineProperty(exports, "getUIEventHandler", { enumerable: true, get: function () { return EventProcessorSDK_1.getUIEventHandler; } });
|
|
65
41
|
Object.defineProperty(exports, "getUserEventHandler", { enumerable: true, get: function () { return EventProcessorSDK_1.getUserEventHandler; } });
|
|
66
42
|
Object.defineProperty(exports, "getFriendEventHandler", { enumerable: true, get: function () { return EventProcessorSDK_1.getFriendEventHandler; } });
|
|
@@ -69,6 +45,7 @@ Object.defineProperty(exports, "getGroupEventHandler", { enumerable: true, get:
|
|
|
69
45
|
Object.defineProperty(exports, "getGroupTransactionEventHandler", { enumerable: true, get: function () { return EventProcessorSDK_1.getGroupTransactionEventHandler; } });
|
|
70
46
|
Object.defineProperty(exports, "getActivityEventHandler", { enumerable: true, get: function () { return EventProcessorSDK_1.getActivityEventHandler; } });
|
|
71
47
|
Object.defineProperty(exports, "getFirebaseAdapter", { enumerable: true, get: function () { return EventProcessorSDK_1.getFirebaseAdapter; } });
|
|
48
|
+
Object.defineProperty(exports, "getCurrencyStore", { enumerable: true, get: function () { return EventProcessorSDK_1.getCurrencyStore; } });
|
|
72
49
|
Object.defineProperty(exports, "getModelChangeObservable", { enumerable: true, get: function () { return EventProcessorSDK_1.getModelChangeObservable; } });
|
|
73
50
|
Object.defineProperty(exports, "eventToFirestore", { enumerable: true, get: function () { return EventProcessorSDK_1.eventToFirestore; } });
|
|
74
51
|
Object.defineProperty(exports, "firestoreToEvent", { enumerable: true, get: function () { return EventProcessorSDK_1.firestoreToEvent; } });
|
|
@@ -76,6 +53,11 @@ Object.defineProperty(exports, "isSDKInitialized", { enumerable: true, get: func
|
|
|
76
53
|
// Export ModelChangeEmitter
|
|
77
54
|
var ModelChangeEmitter_1 = require("./ModelChangeEmitter");
|
|
78
55
|
Object.defineProperty(exports, "ModelChangeEmitter", { enumerable: true, get: function () { return ModelChangeEmitter_1.ModelChangeEmitter; } });
|
|
56
|
+
// Export currency store and types
|
|
57
|
+
var CurrencyStore_1 = require("./store/CurrencyStore");
|
|
58
|
+
Object.defineProperty(exports, "CurrencyStore", { enumerable: true, get: function () { return CurrencyStore_1.CurrencyStore; } });
|
|
59
|
+
var eventConverter_1 = require("./converters/eventConverter");
|
|
60
|
+
Object.defineProperty(exports, "EventConverterFactory", { enumerable: true, get: function () { return eventConverter_1.EventConverterFactory; } });
|
|
79
61
|
// Export singleton utilities for testing
|
|
80
62
|
var EventProcessorSDK_2 = require("./EventProcessorSDK");
|
|
81
63
|
Object.defineProperty(exports, "__resetSDKForTesting", { enumerable: true, get: function () { return EventProcessorSDK_2.__resetSDKForTesting; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityLogModelStore.d.ts","sourceRoot":"","sources":["../../src/store/ActivityLogModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,aAAa,
|
|
1
|
+
{"version":3,"file":"ActivityLogModelStore.d.ts","sourceRoot":"","sources":["../../src/store/ActivityLogModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACvE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurrencyStore.d.ts","sourceRoot":"","sources":["../../src/store/CurrencyStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,8BAAsB,aAAa;IAC/B,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CACjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FriendModelStore.d.ts","sourceRoot":"","sources":["../../src/store/FriendModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAChD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAElE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,wCAAwC,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,wCAAwC,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,2CAA2C,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,iDAAiD,CAC7C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,kCAAkC,
|
|
1
|
+
{"version":3,"file":"FriendModelStore.d.ts","sourceRoot":"","sources":["../../src/store/FriendModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAChD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAElE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,wCAAwC,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,wCAAwC,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,2CAA2C,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,iDAAiD,CAC7C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEpC,kCAAkC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupModelStore.d.ts","sourceRoot":"","sources":["../../src/store/GroupModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEjE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,uCAAuC,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEnC,iCAAiC,
|
|
1
|
+
{"version":3,"file":"GroupModelStore.d.ts","sourceRoot":"","sources":["../../src/store/GroupModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEjE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,uCAAuC,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEnC,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTransactionModelStore.d.ts","sourceRoot":"","sources":["../../src/store/GroupTransactionModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,0BAA2B,SAAQ,UAAU;IAC1D,aAAa,
|
|
1
|
+
{"version":3,"file":"GroupTransactionModelStore.d.ts","sourceRoot":"","sources":["../../src/store/GroupTransactionModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,0BAA2B,SAAQ,UAAU;IAC1D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAE5E,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAE9C,iDAAiD,CAC7C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAEpC,4BAA4B,CACxB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAE9C,IAAI,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD"}
|
|
@@ -5,6 +5,8 @@ export interface TransactionModelStore extends ModelStore {
|
|
|
5
5
|
getByStreamIdWhereDeletedIsFalse(streamId: string): Promise<TransactionModel | undefined>;
|
|
6
6
|
findByUserAndLogicalTransactionId(userId: string, recipientUserId: string, logicalTransactionId: string): Promise<TransactionModel | undefined>;
|
|
7
7
|
findByGroupTransactionId(userId: string, groupTransactionId: string): Promise<TransactionModel[]>;
|
|
8
|
+
findByUserIdAndRecipientUserIdWhereDeletedIsFalse(userId: string, recipientUserId: string): Promise<TransactionModel[]>;
|
|
9
|
+
findAllByUserIdWhereDeletedIsFalse(userId: string): Promise<TransactionModel[]>;
|
|
8
10
|
save(model: TransactionModel): Promise<void>;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=TransactionModelStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionModelStore.d.ts","sourceRoot":"","sources":["../../src/store/TransactionModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,aAAa,
|
|
1
|
+
{"version":3,"file":"TransactionModelStore.d.ts","sourceRoot":"","sources":["../../src/store/TransactionModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEvE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEzC,iCAAiC,CAC7B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,GAC7B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEzC,wBAAwB,CACpB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,GAC3B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE/B,iDAAiD,CAC7C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE/B,kCAAkC,CAC9B,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE/B,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
|
|
@@ -7,5 +7,6 @@ export interface UserModelStore extends ModelStore {
|
|
|
7
7
|
findByEmail(email: string): Promise<UserModel | undefined>;
|
|
8
8
|
findByPhone(phone: string): Promise<UserModel | undefined>;
|
|
9
9
|
findByFirebaseUid(uid: string): Promise<UserModel | undefined>;
|
|
10
|
+
appUser(): Promise<UserModel>;
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=UserModelStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserModelStore.d.ts","sourceRoot":"","sources":["../../src/store/UserModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAEhE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE3D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE3D,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"UserModelStore.d.ts","sourceRoot":"","sources":["../../src/store/UserModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAEhE,gCAAgC,CAC5B,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE3D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE3D,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE/D,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CACjC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TransactionModel } from "../TransactionEvents";
|
|
2
|
+
import { UserModelStore } from "../store/UserModelStore";
|
|
3
|
+
import { CurrencyStore } from "../store/CurrencyStore";
|
|
4
|
+
import { BalanceResponse } from "../contracts/shared";
|
|
5
|
+
export declare class BalanceUtil {
|
|
6
|
+
private userModelStore;
|
|
7
|
+
private currencyStore;
|
|
8
|
+
constructor(userModelStore: UserModelStore, currencyStore: CurrencyStore);
|
|
9
|
+
calculateBalance(transactions: TransactionModel[], userId: string): Promise<BalanceResponse>;
|
|
10
|
+
private calculateCurrencyBalances;
|
|
11
|
+
private convertCurrency;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=BalanceUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BalanceUtil.d.ts","sourceRoot":"","sources":["../../src/utils/BalanceUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAEH,eAAe,EAElB,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,WAAW;IAEhB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBADb,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa;IAGlC,gBAAgB,CAClB,YAAY,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC;IAmE3B,OAAO,CAAC,yBAAyB;IAwCjC,OAAO,CAAC,eAAe;CAmB1B"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BalanceUtil = void 0;
|
|
4
|
+
class BalanceUtil {
|
|
5
|
+
constructor(userModelStore, currencyStore) {
|
|
6
|
+
this.userModelStore = userModelStore;
|
|
7
|
+
this.currencyStore = currencyStore;
|
|
8
|
+
}
|
|
9
|
+
async calculateBalance(transactions, userId) {
|
|
10
|
+
if (transactions.length === 0) {
|
|
11
|
+
return {
|
|
12
|
+
main: undefined,
|
|
13
|
+
other: [],
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
|
|
17
|
+
const baseCurrency = user?.currency;
|
|
18
|
+
const currencyBalances = this.calculateCurrencyBalances(transactions);
|
|
19
|
+
if (!baseCurrency || currencyBalances.size === 0) {
|
|
20
|
+
return {
|
|
21
|
+
main: undefined,
|
|
22
|
+
other: [],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const currencyRates = await this.currencyStore.getCurrencyRates();
|
|
26
|
+
const other = [];
|
|
27
|
+
let totalConvertedAmount = 0;
|
|
28
|
+
let mainIsOwed = false;
|
|
29
|
+
for (const [currency, balance] of currencyBalances.entries()) {
|
|
30
|
+
const convertedAmount = this.convertCurrency(balance.amount, currency, baseCurrency, currencyRates?.rates);
|
|
31
|
+
other.push({
|
|
32
|
+
amount: {
|
|
33
|
+
amount: Math.abs(balance.amount),
|
|
34
|
+
currency: currency,
|
|
35
|
+
isOwed: balance.amount < 0,
|
|
36
|
+
},
|
|
37
|
+
convertedAmount: {
|
|
38
|
+
amount: Math.abs(convertedAmount),
|
|
39
|
+
currency: baseCurrency,
|
|
40
|
+
isOwed: convertedAmount < 0,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
totalConvertedAmount += convertedAmount;
|
|
44
|
+
}
|
|
45
|
+
if (totalConvertedAmount < 0) {
|
|
46
|
+
mainIsOwed = true;
|
|
47
|
+
}
|
|
48
|
+
const main = {
|
|
49
|
+
amount: Math.abs(totalConvertedAmount),
|
|
50
|
+
currency: baseCurrency,
|
|
51
|
+
isOwed: mainIsOwed,
|
|
52
|
+
};
|
|
53
|
+
return {
|
|
54
|
+
main,
|
|
55
|
+
other,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
calculateCurrencyBalances(transactions) {
|
|
59
|
+
const balances = new Map();
|
|
60
|
+
for (const transaction of transactions) {
|
|
61
|
+
if (transaction.deleted) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
const existingBalance = balances.get(transaction.currency) || {
|
|
65
|
+
amount: 0,
|
|
66
|
+
isOwed: false,
|
|
67
|
+
};
|
|
68
|
+
const signedAmount = transaction.isOwed
|
|
69
|
+
? -transaction.amount
|
|
70
|
+
: transaction.amount;
|
|
71
|
+
const newAmount = existingBalance.amount + signedAmount;
|
|
72
|
+
balances.set(transaction.currency, {
|
|
73
|
+
amount: newAmount,
|
|
74
|
+
isOwed: newAmount < 0,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const nonZeroBalances = new Map();
|
|
78
|
+
for (const [currency, balance] of balances.entries()) {
|
|
79
|
+
if (balance.amount !== 0) {
|
|
80
|
+
nonZeroBalances.set(currency, balance);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return nonZeroBalances;
|
|
84
|
+
}
|
|
85
|
+
convertCurrency(amount, fromCurrency, toCurrency, rates) {
|
|
86
|
+
if (fromCurrency === toCurrency) {
|
|
87
|
+
return amount;
|
|
88
|
+
}
|
|
89
|
+
if (!rates || !rates[fromCurrency] || !rates[toCurrency]) {
|
|
90
|
+
return amount;
|
|
91
|
+
}
|
|
92
|
+
const amountInBase = amount / rates[fromCurrency];
|
|
93
|
+
const convertedAmount = amountInBase * rates[toCurrency];
|
|
94
|
+
return convertedAmount;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.BalanceUtil = BalanceUtil;
|
package/package.json
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FriendModel, FriendEvent } from "../..";
|
|
2
|
-
import { FriendModelStore } from "../..";
|
|
3
|
-
import { UserModelStore } from "../..";
|
|
4
|
-
import { FriendEventStore } from "../..";
|
|
5
|
-
import { UserEventStore } from "../..";
|
|
6
|
-
import { ActivityEventHandler } from "../../ActivityEventHandler";
|
|
7
|
-
export declare class UIFriendEventHandler {
|
|
8
|
-
private modelStore;
|
|
9
|
-
private userModelStore;
|
|
10
|
-
private friendEventStore;
|
|
11
|
-
private userEventStore;
|
|
12
|
-
private activityEventHandler?;
|
|
13
|
-
constructor(modelStore: FriendModelStore, userModelStore: UserModelStore, friendEventStore: FriendEventStore, userEventStore: UserEventStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
14
|
-
handleEvent(event: FriendEvent): Promise<FriendModel>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=UIFriendEventHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UIFriendEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIFriendEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,oBAAoB;IAEzB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB,CAAC;gBAJrB,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAsB9D"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UIFriendEventHandler = void 0;
|
|
4
|
-
const DomainEvents_1 = require("../../common/DomainEvents");
|
|
5
|
-
class UIFriendEventHandler {
|
|
6
|
-
constructor(modelStore, userModelStore, friendEventStore, userEventStore, activityEventHandler) {
|
|
7
|
-
this.modelStore = modelStore;
|
|
8
|
-
this.userModelStore = userModelStore;
|
|
9
|
-
this.friendEventStore = friendEventStore;
|
|
10
|
-
this.userEventStore = userEventStore;
|
|
11
|
-
this.activityEventHandler = activityEventHandler;
|
|
12
|
-
}
|
|
13
|
-
async handleEvent(event) {
|
|
14
|
-
const eventType = event.constructor.name;
|
|
15
|
-
if (!(0, DomainEvents_1.isValidFriendEventType)(eventType)) {
|
|
16
|
-
throw new Error(`Unknown friend event type: ${eventType}`);
|
|
17
|
-
}
|
|
18
|
-
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
19
|
-
const updatedModel = event.apply(existingModel);
|
|
20
|
-
await this.modelStore.save(updatedModel);
|
|
21
|
-
if (this.activityEventHandler) {
|
|
22
|
-
await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
|
|
23
|
-
}
|
|
24
|
-
return updatedModel;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.UIFriendEventHandler = UIFriendEventHandler;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { GroupModel, GroupEvent } from "../..";
|
|
2
|
-
import { GroupModelStore } from "../..";
|
|
3
|
-
import { FriendModelStore } from "../..";
|
|
4
|
-
import { UserModelStore } from "../..";
|
|
5
|
-
import { GroupEventStore } from "../..";
|
|
6
|
-
import { FriendEventStore } from "../..";
|
|
7
|
-
import { ActivityEventHandler } from "../../ActivityEventHandler";
|
|
8
|
-
export declare class UIGroupEventHandler {
|
|
9
|
-
private modelStore;
|
|
10
|
-
private friendModelStore;
|
|
11
|
-
private userModelStore;
|
|
12
|
-
private groupEventStore;
|
|
13
|
-
private friendEventStore;
|
|
14
|
-
private activityEventHandler?;
|
|
15
|
-
constructor(modelStore: GroupModelStore, friendModelStore: FriendModelStore, userModelStore: UserModelStore, groupEventStore: GroupEventStore, friendEventStore: FriendEventStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
16
|
-
handleEvent(event: GroupEvent): Promise<GroupModel>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=UIGroupEventHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UIGroupEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIGroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,mBAAmB;IAExB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,eAAe,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAsB5D"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UIGroupEventHandler = void 0;
|
|
4
|
-
const DomainEvents_1 = require("../../common/DomainEvents");
|
|
5
|
-
class UIGroupEventHandler {
|
|
6
|
-
constructor(modelStore, friendModelStore, userModelStore, groupEventStore, friendEventStore, activityEventHandler) {
|
|
7
|
-
this.modelStore = modelStore;
|
|
8
|
-
this.friendModelStore = friendModelStore;
|
|
9
|
-
this.userModelStore = userModelStore;
|
|
10
|
-
this.groupEventStore = groupEventStore;
|
|
11
|
-
this.friendEventStore = friendEventStore;
|
|
12
|
-
this.activityEventHandler = activityEventHandler;
|
|
13
|
-
}
|
|
14
|
-
async handleEvent(event) {
|
|
15
|
-
const eventType = event.constructor.name;
|
|
16
|
-
if (!(0, DomainEvents_1.isValidGroupEventType)(eventType)) {
|
|
17
|
-
throw new Error(`Unknown group event type: ${eventType}`);
|
|
18
|
-
}
|
|
19
|
-
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
20
|
-
const updatedModel = event.apply(existingModel);
|
|
21
|
-
await this.modelStore.save(updatedModel);
|
|
22
|
-
if (this.activityEventHandler) {
|
|
23
|
-
await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
|
|
24
|
-
}
|
|
25
|
-
return updatedModel;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.UIGroupEventHandler = UIGroupEventHandler;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { GroupTransactionModel, GroupTransactionEvent } from "../..";
|
|
2
|
-
import { GroupTransactionModelStore } from "../..";
|
|
3
|
-
import { GroupTransactionEventStore } from "../..";
|
|
4
|
-
import { GroupModelStore } from "../..";
|
|
5
|
-
import { TransactionEventStore } from "../..";
|
|
6
|
-
import { TransactionModelStore } from "../..";
|
|
7
|
-
import { ActivityEventHandler } from "../../ActivityEventHandler";
|
|
8
|
-
export declare class UIGroupTransactionEventHandler {
|
|
9
|
-
private modelStore;
|
|
10
|
-
private eventStore;
|
|
11
|
-
private groupModelStore;
|
|
12
|
-
private transactionEventStore;
|
|
13
|
-
private transactionModelStore;
|
|
14
|
-
private activityEventHandler?;
|
|
15
|
-
constructor(modelStore: GroupTransactionModelStore, eventStore: GroupTransactionEventStore, groupModelStore: GroupModelStore, transactionEventStore: TransactionEventStore, transactionModelStore: TransactionModelStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
16
|
-
handleEvent(event: GroupTransactionEvent): Promise<GroupTransactionModel>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=UIGroupTransactionEventHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UIGroupTransactionEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIGroupTransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,8BAA8B;IAEnC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,0BAA0B,EACtC,UAAU,EAAE,0BAA0B,EACtC,eAAe,EAAE,eAAe,EAChC,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CACb,KAAK,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;CA0BpC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UIGroupTransactionEventHandler = void 0;
|
|
4
|
-
const DomainEvents_1 = require("../../common/DomainEvents");
|
|
5
|
-
class UIGroupTransactionEventHandler {
|
|
6
|
-
constructor(modelStore, eventStore, groupModelStore, transactionEventStore, transactionModelStore, activityEventHandler) {
|
|
7
|
-
this.modelStore = modelStore;
|
|
8
|
-
this.eventStore = eventStore;
|
|
9
|
-
this.groupModelStore = groupModelStore;
|
|
10
|
-
this.transactionEventStore = transactionEventStore;
|
|
11
|
-
this.transactionModelStore = transactionModelStore;
|
|
12
|
-
this.activityEventHandler = activityEventHandler;
|
|
13
|
-
}
|
|
14
|
-
async handleEvent(event) {
|
|
15
|
-
const eventType = event.constructor.name;
|
|
16
|
-
if (!(0, DomainEvents_1.isValidGroupTransactionEventType)(eventType)) {
|
|
17
|
-
throw new Error(`Unknown group transaction event type: ${eventType}`);
|
|
18
|
-
}
|
|
19
|
-
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
20
|
-
const updatedModel = event.apply(existingModel);
|
|
21
|
-
await this.modelStore.save(updatedModel);
|
|
22
|
-
if (this.activityEventHandler) {
|
|
23
|
-
await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
|
|
24
|
-
}
|
|
25
|
-
return updatedModel;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.UIGroupTransactionEventHandler = UIGroupTransactionEventHandler;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TransactionModel, TransactionEvent } from "../..";
|
|
2
|
-
import { TransactionModelStore } from "../..";
|
|
3
|
-
import { TransactionEventStore } from "../..";
|
|
4
|
-
import { UserModelStore } from "../..";
|
|
5
|
-
import { ActivityEventHandler } from "../../ActivityEventHandler";
|
|
6
|
-
export declare class UITransactionEventHandler {
|
|
7
|
-
private modelStore;
|
|
8
|
-
private eventStore;
|
|
9
|
-
private txUserModelStore;
|
|
10
|
-
private activityEventHandler?;
|
|
11
|
-
constructor(modelStore: TransactionModelStore, eventStore: TransactionEventStore, txUserModelStore: UserModelStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
12
|
-
handleEvent(event: TransactionEvent): Promise<TransactionModel>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=UITransactionEventHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UITransactionEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UITransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,yBAAyB;IAE9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,oBAAoB,CAAC;gBAHrB,UAAU,EAAE,qBAAqB,EACjC,UAAU,EAAE,qBAAqB,EACjC,gBAAgB,EAAE,cAAc,EAChC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsBxE"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UITransactionEventHandler = void 0;
|
|
4
|
-
const DomainEvents_1 = require("../../common/DomainEvents");
|
|
5
|
-
class UITransactionEventHandler {
|
|
6
|
-
constructor(modelStore, eventStore, txUserModelStore, activityEventHandler) {
|
|
7
|
-
this.modelStore = modelStore;
|
|
8
|
-
this.eventStore = eventStore;
|
|
9
|
-
this.txUserModelStore = txUserModelStore;
|
|
10
|
-
this.activityEventHandler = activityEventHandler;
|
|
11
|
-
}
|
|
12
|
-
async handleEvent(event) {
|
|
13
|
-
const eventType = event.constructor.name;
|
|
14
|
-
if (!(0, DomainEvents_1.isValidTransactionEventType)(eventType)) {
|
|
15
|
-
throw new Error(`Unknown transaction event type: ${eventType}`);
|
|
16
|
-
}
|
|
17
|
-
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
18
|
-
const model = event.apply(existingModel);
|
|
19
|
-
await this.modelStore.save(model);
|
|
20
|
-
if (this.activityEventHandler) {
|
|
21
|
-
await this.activityEventHandler.createActivityLog(event, existingModel, model);
|
|
22
|
-
}
|
|
23
|
-
return model;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.UITransactionEventHandler = UITransactionEventHandler;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { UserModel, UserEvent } from "../..";
|
|
2
|
-
import { UserModelStore } from "../..";
|
|
3
|
-
import { UserEventStore } from "../..";
|
|
4
|
-
import { ActivityEventHandler } from "../../ActivityEventHandler";
|
|
5
|
-
export declare class UIUserEventHandler {
|
|
6
|
-
private modelStore;
|
|
7
|
-
private eventStore;
|
|
8
|
-
private activityEventHandler?;
|
|
9
|
-
constructor(modelStore: UserModelStore, eventStore: UserEventStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
10
|
-
handleEvent(event: UserEvent): Promise<UserModel>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=UIUserEventHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UIUserEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIUserEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,qBAAa,kBAAkB;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,oBAAoB,CAAC;gBAFrB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CA8B1D"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UIUserEventHandler = void 0;
|
|
4
|
-
const DomainEvents_1 = require("../../common/DomainEvents");
|
|
5
|
-
class UIUserEventHandler {
|
|
6
|
-
constructor(modelStore, eventStore, activityEventHandler) {
|
|
7
|
-
this.modelStore = modelStore;
|
|
8
|
-
this.eventStore = eventStore;
|
|
9
|
-
this.activityEventHandler = activityEventHandler;
|
|
10
|
-
}
|
|
11
|
-
async handleEvent(event) {
|
|
12
|
-
const eventType = event.constructor.name;
|
|
13
|
-
if (!(0, DomainEvents_1.isValidUserEventType)(eventType)) {
|
|
14
|
-
throw new Error(`Unknown user event type: ${eventType}`);
|
|
15
|
-
}
|
|
16
|
-
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
17
|
-
if (!existingModel?.uid) {
|
|
18
|
-
throw new Error(`User model not found or missing uid for streamId: ${event.streamId}`);
|
|
19
|
-
}
|
|
20
|
-
await this.eventStore.addEvent(event);
|
|
21
|
-
const updatedModel = event.apply(existingModel);
|
|
22
|
-
await this.modelStore.save(updatedModel);
|
|
23
|
-
if (this.activityEventHandler) {
|
|
24
|
-
await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
|
|
25
|
-
}
|
|
26
|
-
return updatedModel;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.UIUserEventHandler = UIUserEventHandler;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"userPathUtils.d.ts","sourceRoot":"","sources":["../../src/utils/userPathUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,iBAAiB,EAAE,MAAM,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAUlC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUserEventPath = getUserEventPath;
|
|
4
|
-
function getUserEventPath(userModel, recipientStreamId) {
|
|
5
|
-
if (userModel) {
|
|
6
|
-
if (userModel.uid) {
|
|
7
|
-
return { path: "users", userId: userModel.uid };
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
return { path: "placeholders", userId: userModel.streamId };
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
return { path: "placeholders", userId: recipientStreamId };
|
|
15
|
-
}
|
|
16
|
-
}
|