@brightchain/brightchain-api-lib 0.14.0 → 0.15.0
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/package.json +5 -5
- package/src/index.d.ts +3 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +5 -0
- package/src/index.js.map +1 -1
- package/src/lib/application.d.ts +1 -0
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +23 -0
- package/src/lib/application.js.map +1 -1
- package/src/lib/auth/aclEnforcedAvailability.d.ts +57 -0
- package/src/lib/auth/aclEnforcedAvailability.d.ts.map +1 -0
- package/src/lib/auth/aclEnforcedAvailability.js +87 -0
- package/src/lib/auth/aclEnforcedAvailability.js.map +1 -0
- package/src/lib/auth/aclEnforcedBlockStore.d.ts +66 -0
- package/src/lib/auth/aclEnforcedBlockStore.d.ts.map +1 -0
- package/src/lib/auth/aclEnforcedBlockStore.js +83 -0
- package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.d.ts +46 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.d.ts.map +1 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.js +110 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -0
- package/src/lib/auth/index.d.ts +7 -0
- package/src/lib/auth/index.d.ts.map +1 -0
- package/src/lib/auth/index.js +13 -0
- package/src/lib/auth/index.js.map +1 -0
- package/src/lib/auth/poolAclBootstrap.d.ts +36 -0
- package/src/lib/auth/poolAclBootstrap.d.ts.map +1 -0
- package/src/lib/auth/poolAclBootstrap.js +64 -0
- package/src/lib/auth/poolAclBootstrap.js.map +1 -0
- package/src/lib/auth/poolAclStore.d.ts +77 -0
- package/src/lib/auth/poolAclStore.d.ts.map +1 -0
- package/src/lib/auth/poolAclStore.js +189 -0
- package/src/lib/auth/poolAclStore.js.map +1 -0
- package/src/lib/auth/poolAclUpdater.d.ts +79 -0
- package/src/lib/auth/poolAclUpdater.d.ts.map +1 -0
- package/src/lib/auth/poolAclUpdater.js +144 -0
- package/src/lib/auth/poolAclUpdater.js.map +1 -0
- package/src/lib/availability/availabilityService.d.ts +2 -2
- package/src/lib/availability/availabilityService.d.ts.map +1 -1
- package/src/lib/availability/availabilityService.js +12 -5
- package/src/lib/availability/availabilityService.js.map +1 -1
- package/src/lib/availability/blockRegistry.d.ts +45 -3
- package/src/lib/availability/blockRegistry.d.ts.map +1 -1
- package/src/lib/availability/blockRegistry.js +123 -5
- package/src/lib/availability/blockRegistry.js.map +1 -1
- package/src/lib/availability/discoveryProtocol.d.ts +30 -1
- package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/availability/discoveryProtocol.js +76 -0
- package/src/lib/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +45 -6
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +177 -5
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/reconciliationService.d.ts +88 -1
- package/src/lib/availability/reconciliationService.d.ts.map +1 -1
- package/src/lib/availability/reconciliationService.js +246 -48
- package/src/lib/availability/reconciliationService.js.map +1 -1
- package/src/lib/blockFetch/blockFetcher.d.ts +100 -0
- package/src/lib/blockFetch/blockFetcher.d.ts.map +1 -0
- package/src/lib/blockFetch/blockFetcher.js +279 -0
- package/src/lib/blockFetch/blockFetcher.js.map +1 -0
- package/src/lib/blockFetch/fetchQueue.d.ts +88 -0
- package/src/lib/blockFetch/fetchQueue.d.ts.map +1 -0
- package/src/lib/blockFetch/fetchQueue.js +204 -0
- package/src/lib/blockFetch/fetchQueue.js.map +1 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.d.ts +65 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.js +104 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -0
- package/src/lib/blockFetch/index.d.ts +10 -0
- package/src/lib/blockFetch/index.d.ts.map +1 -0
- package/src/lib/blockFetch/index.js +13 -0
- package/src/lib/blockFetch/index.js.map +1 -0
- package/src/lib/controllers/api/brightpass.d.ts +72 -0
- package/src/lib/controllers/api/brightpass.d.ts.map +1 -0
- package/src/lib/controllers/api/brightpass.js +577 -0
- package/src/lib/controllers/api/brightpass.js.map +1 -0
- package/src/lib/controllers/api/channels.d.ts +122 -0
- package/src/lib/controllers/api/channels.d.ts.map +1 -0
- package/src/lib/controllers/api/channels.js +701 -0
- package/src/lib/controllers/api/channels.js.map +1 -0
- package/src/lib/controllers/api/conversations.d.ts +89 -0
- package/src/lib/controllers/api/conversations.d.ts.map +1 -0
- package/src/lib/controllers/api/conversations.js +259 -0
- package/src/lib/controllers/api/conversations.js.map +1 -0
- package/src/lib/controllers/api/emails.d.ts +122 -0
- package/src/lib/controllers/api/emails.d.ts.map +1 -0
- package/src/lib/controllers/api/emails.js +494 -0
- package/src/lib/controllers/api/emails.js.map +1 -0
- package/src/lib/controllers/api/explodingMessages.d.ts +79 -0
- package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -0
- package/src/lib/controllers/api/explodingMessages.js +378 -0
- package/src/lib/controllers/api/explodingMessages.js.map +1 -0
- package/src/lib/controllers/api/groups.d.ts +94 -0
- package/src/lib/controllers/api/groups.d.ts.map +1 -0
- package/src/lib/controllers/api/groups.js +484 -0
- package/src/lib/controllers/api/groups.js.map +1 -0
- package/src/lib/controllers/api/index.d.ts +6 -0
- package/src/lib/controllers/api/index.d.ts.map +1 -1
- package/src/lib/controllers/api/index.js +6 -0
- package/src/lib/controllers/api/index.js.map +1 -1
- package/src/lib/controllers/api/messages.d.ts.map +1 -1
- package/src/lib/controllers/api/messages.js +2 -1
- package/src/lib/controllers/api/messages.js.map +1 -1
- package/src/lib/controllers/api/sync.d.ts +38 -2
- package/src/lib/controllers/api/sync.d.ts.map +1 -1
- package/src/lib/controllers/api/sync.js +89 -0
- package/src/lib/controllers/api/sync.js.map +1 -1
- package/src/lib/controllers/crypto/gitController.d.ts +70 -0
- package/src/lib/controllers/crypto/gitController.d.ts.map +1 -0
- package/src/lib/controllers/crypto/gitController.js +306 -0
- package/src/lib/controllers/crypto/gitController.js.map +1 -0
- package/src/lib/controllers/crypto/index.d.ts +3 -0
- package/src/lib/controllers/crypto/index.d.ts.map +1 -0
- package/src/lib/controllers/crypto/index.js +6 -0
- package/src/lib/controllers/crypto/index.js.map +1 -0
- package/src/lib/controllers/crypto/walletController.d.ts +64 -0
- package/src/lib/controllers/crypto/walletController.d.ts.map +1 -0
- package/src/lib/controllers/crypto/walletController.js +260 -0
- package/src/lib/controllers/crypto/walletController.js.map +1 -0
- package/src/lib/controllers/identity/deviceController.d.ts +96 -0
- package/src/lib/controllers/identity/deviceController.d.ts.map +1 -0
- package/src/lib/controllers/identity/deviceController.js +355 -0
- package/src/lib/controllers/identity/deviceController.js.map +1 -0
- package/src/lib/controllers/identity/directoryController.d.ts +75 -0
- package/src/lib/controllers/identity/directoryController.d.ts.map +1 -0
- package/src/lib/controllers/identity/directoryController.js +288 -0
- package/src/lib/controllers/identity/directoryController.js.map +1 -0
- package/src/lib/controllers/identity/identityProofController.d.ts +94 -0
- package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -0
- package/src/lib/controllers/identity/identityProofController.js +454 -0
- package/src/lib/controllers/identity/identityProofController.js.map +1 -0
- package/src/lib/controllers/identity/index.d.ts +4 -0
- package/src/lib/controllers/identity/index.d.ts.map +1 -0
- package/src/lib/controllers/identity/index.js +7 -0
- package/src/lib/controllers/identity/index.js.map +1 -0
- package/src/lib/controllers/index.d.ts +2 -0
- package/src/lib/controllers/index.d.ts.map +1 -1
- package/src/lib/controllers/index.js +2 -0
- package/src/lib/controllers/index.js.map +1 -1
- package/src/lib/encryption/encryptedMetadataService.d.ts +87 -0
- package/src/lib/encryption/encryptedMetadataService.d.ts.map +1 -0
- package/src/lib/encryption/encryptedMetadataService.js +224 -0
- package/src/lib/encryption/encryptedMetadataService.js.map +1 -0
- package/src/lib/encryption/encryptionAwareReplication.d.ts +76 -0
- package/src/lib/encryption/encryptionAwareReplication.d.ts.map +1 -0
- package/src/lib/encryption/encryptionAwareReplication.js +116 -0
- package/src/lib/encryption/encryptionAwareReplication.js.map +1 -0
- package/src/lib/encryption/errors.d.ts +49 -0
- package/src/lib/encryption/errors.d.ts.map +1 -0
- package/src/lib/encryption/errors.js +80 -0
- package/src/lib/encryption/errors.js.map +1 -0
- package/src/lib/encryption/index.d.ts +6 -0
- package/src/lib/encryption/index.d.ts.map +1 -0
- package/src/lib/encryption/index.js +9 -0
- package/src/lib/encryption/index.js.map +1 -0
- package/src/lib/encryption/poolEncryptionService.d.ts +94 -0
- package/src/lib/encryption/poolEncryptionService.d.ts.map +1 -0
- package/src/lib/encryption/poolEncryptionService.js +252 -0
- package/src/lib/encryption/poolEncryptionService.js.map +1 -0
- package/src/lib/encryption/poolKeyManager.d.ts +82 -0
- package/src/lib/encryption/poolKeyManager.d.ts.map +1 -0
- package/src/lib/encryption/poolKeyManager.js +156 -0
- package/src/lib/encryption/poolKeyManager.js.map +1 -0
- package/src/lib/environment.d.ts +3 -0
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +5 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/interfaces/environment.d.ts +7 -1
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +0 -1
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/requests/getBlockDataRequest.d.ts +12 -0
- package/src/lib/interfaces/requests/getBlockDataRequest.d.ts.map +1 -0
- package/src/lib/interfaces/{blockStore.js → requests/getBlockDataRequest.js} +1 -1
- package/src/lib/interfaces/requests/getBlockDataRequest.js.map +1 -0
- package/src/lib/interfaces/requests/index.d.ts +1 -0
- package/src/lib/interfaces/requests/index.d.ts.map +1 -1
- package/src/lib/routers/api.d.ts +54 -1
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +77 -0
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/services/blockStore.d.ts +5 -2
- package/src/lib/services/blockStore.d.ts.map +1 -1
- package/src/lib/services/blockStore.js +4 -0
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/brightpass/auditLogger.d.ts +77 -0
- package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
- package/src/lib/services/brightpass/auditLogger.js +184 -0
- package/src/lib/services/brightpass/auditLogger.js.map +1 -0
- package/src/lib/services/brightpass/vaultEncryption.d.ts +82 -0
- package/src/lib/services/brightpass/vaultEncryption.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultEncryption.js +144 -0
- package/src/lib/services/brightpass/vaultEncryption.js.map +1 -0
- package/src/lib/services/brightpass.d.ts +294 -0
- package/src/lib/services/brightpass.d.ts.map +1 -0
- package/src/lib/services/brightpass.js +1260 -0
- package/src/lib/services/brightpass.js.map +1 -0
- package/src/lib/services/eventNotificationSystem.d.ts +69 -3
- package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
- package/src/lib/services/eventNotificationSystem.js +200 -0
- package/src/lib/services/eventNotificationSystem.js.map +1 -1
- package/src/lib/services/expirationScheduler.d.ts +90 -0
- package/src/lib/services/expirationScheduler.d.ts.map +1 -0
- package/src/lib/services/expirationScheduler.js +131 -0
- package/src/lib/services/expirationScheduler.js.map +1 -0
- package/src/lib/services/fecUsageExample.d.ts +2 -2
- package/src/lib/services/index.d.ts +2 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +2 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/paginationService.d.ts +18 -0
- package/src/lib/services/paginationService.d.ts.map +1 -0
- package/src/lib/services/paginationService.js +32 -0
- package/src/lib/services/paginationService.js.map +1 -0
- package/src/lib/services/presenceService.d.ts +76 -0
- package/src/lib/services/presenceService.d.ts.map +1 -0
- package/src/lib/services/presenceService.js +143 -0
- package/src/lib/services/presenceService.js.map +1 -0
- package/src/lib/services/wireConversationPromotion.d.ts +23 -0
- package/src/lib/services/wireConversationPromotion.d.ts.map +1 -0
- package/src/lib/services/wireConversationPromotion.js +26 -0
- package/src/lib/services/wireConversationPromotion.js.map +1 -0
- package/src/lib/stores/availabilityAwareBlockStore.d.ts +115 -10
- package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js +267 -23
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +81 -2
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +297 -10
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/utils/communicationValidation.d.ts +44 -0
- package/src/lib/utils/communicationValidation.d.ts.map +1 -0
- package/src/lib/utils/communicationValidation.js +291 -0
- package/src/lib/utils/communicationValidation.js.map +1 -0
- package/src/lib/utils/emailValidation.d.ts +19 -0
- package/src/lib/utils/emailValidation.d.ts.map +1 -0
- package/src/lib/utils/emailValidation.js +232 -0
- package/src/lib/utils/emailValidation.js.map +1 -0
- package/src/lib/interfaces/blockStore.d.ts +0 -7
- package/src/lib/interfaces/blockStore.d.ts.map +0 -1
- package/src/lib/interfaces/blockStore.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brightpass.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/brightpass.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AvailabilityState, IMessageMetadata } from '@brightchain/brightchain-lib';
|
|
1
|
+
import { AvailabilityState, CommunicationContextType, CommunicationEvent, CommunicationEventType, IMessageMetadata, PresenceStatus } from '@brightchain/brightchain-lib';
|
|
2
2
|
import { WebSocket } from 'ws';
|
|
3
3
|
export declare enum MessageEventType {
|
|
4
4
|
MESSAGE_STORED = "message:stored",
|
|
@@ -14,7 +14,7 @@ export declare enum PartitionEventType {
|
|
|
14
14
|
PARTITION_ENTERED = "partition:entered",
|
|
15
15
|
PARTITION_EXITED = "partition:exited"
|
|
16
16
|
}
|
|
17
|
-
export type EventType = MessageEventType | BlockEventType | PartitionEventType;
|
|
17
|
+
export type EventType = MessageEventType | BlockEventType | PartitionEventType | CommunicationEventType;
|
|
18
18
|
export interface IMessageEvent {
|
|
19
19
|
type: MessageEventType;
|
|
20
20
|
timestamp: Date;
|
|
@@ -53,7 +53,7 @@ export interface IPartitionExitedEvent {
|
|
|
53
53
|
reconnectedPeers: string[];
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
export type SystemEvent = IMessageEvent | IBlockAvailabilityEvent | IBlockReplicatedEvent | IPartitionEnteredEvent | IPartitionExitedEvent;
|
|
56
|
+
export type SystemEvent = IMessageEvent | IBlockAvailabilityEvent | IBlockReplicatedEvent | IPartitionEnteredEvent | IPartitionExitedEvent | CommunicationEvent;
|
|
57
57
|
export interface IEventFilter {
|
|
58
58
|
types?: EventType[];
|
|
59
59
|
senderId?: string;
|
|
@@ -115,6 +115,71 @@ export declare class EventNotificationSystem {
|
|
|
115
115
|
* @requirements 5.6
|
|
116
116
|
*/
|
|
117
117
|
emitPartitionExited(reconnectedPeers: string[]): void;
|
|
118
|
+
/**
|
|
119
|
+
* Emit a message sent event.
|
|
120
|
+
* @requirements 7.1
|
|
121
|
+
*/
|
|
122
|
+
emitMessageSent(contextType: CommunicationContextType, contextId: string, messageId: string, senderId: string): void;
|
|
123
|
+
/**
|
|
124
|
+
* Emit a message deleted event.
|
|
125
|
+
* @requirements 7.1
|
|
126
|
+
*/
|
|
127
|
+
emitMessageDeleted(contextType: CommunicationContextType, contextId: string, messageId: string, deletedBy: string): void;
|
|
128
|
+
/**
|
|
129
|
+
* Emit a typing indicator event (start or stop).
|
|
130
|
+
* @requirements 7.2
|
|
131
|
+
*/
|
|
132
|
+
emitTypingEvent(eventType: CommunicationEventType.TYPING_START | CommunicationEventType.TYPING_STOP, contextType: CommunicationContextType, contextId: string, memberId: string): void;
|
|
133
|
+
/**
|
|
134
|
+
* Emit a presence changed event.
|
|
135
|
+
* @requirements 7.3
|
|
136
|
+
*/
|
|
137
|
+
emitPresenceChanged(contextType: CommunicationContextType, contextId: string, memberId: string, status: PresenceStatus): void;
|
|
138
|
+
/**
|
|
139
|
+
* Emit a reaction added or removed event.
|
|
140
|
+
* @requirements 7.5
|
|
141
|
+
*/
|
|
142
|
+
emitReactionEvent(eventType: CommunicationEventType.REACTION_ADDED | CommunicationEventType.REACTION_REMOVED, contextType: CommunicationContextType, contextId: string, messageId: string, memberId: string, emoji: string, reactionId: string): void;
|
|
143
|
+
/**
|
|
144
|
+
* Emit a message edited event.
|
|
145
|
+
* @requirements 7.1
|
|
146
|
+
*/
|
|
147
|
+
emitMessageEdited(contextType: CommunicationContextType, contextId: string, messageId: string, memberId: string): void;
|
|
148
|
+
/**
|
|
149
|
+
* Emit a message pinned or unpinned event.
|
|
150
|
+
* @requirements 7.1
|
|
151
|
+
*/
|
|
152
|
+
emitMessagePinEvent(eventType: CommunicationEventType.MESSAGE_PINNED | CommunicationEventType.MESSAGE_UNPINNED, contextType: CommunicationContextType, contextId: string, messageId: string, memberId: string): void;
|
|
153
|
+
/**
|
|
154
|
+
* Emit a member joined event.
|
|
155
|
+
* @requirements 7.1
|
|
156
|
+
*/
|
|
157
|
+
emitMemberJoined(contextType: CommunicationContextType, contextId: string, memberId: string): void;
|
|
158
|
+
/**
|
|
159
|
+
* Emit a member left event.
|
|
160
|
+
* @requirements 7.1
|
|
161
|
+
*/
|
|
162
|
+
emitMemberLeft(contextType: CommunicationContextType, contextId: string, memberId: string): void;
|
|
163
|
+
/**
|
|
164
|
+
* Emit a member kicked event.
|
|
165
|
+
* @requirements 7.1
|
|
166
|
+
*/
|
|
167
|
+
emitMemberKicked(contextType: CommunicationContextType, contextId: string, memberId: string, kickedBy: string): void;
|
|
168
|
+
/**
|
|
169
|
+
* Emit a member muted event.
|
|
170
|
+
* @requirements 7.1
|
|
171
|
+
*/
|
|
172
|
+
emitMemberMuted(contextType: CommunicationContextType, contextId: string, memberId: string, mutedBy: string, durationMs: number): void;
|
|
173
|
+
/**
|
|
174
|
+
* Emit a group created event.
|
|
175
|
+
* @requirements 7.1
|
|
176
|
+
*/
|
|
177
|
+
emitGroupCreated(contextId: string, groupId: string, creatorId: string, memberIds: string[]): void;
|
|
178
|
+
/**
|
|
179
|
+
* Emit a channel updated event.
|
|
180
|
+
* @requirements 7.1
|
|
181
|
+
*/
|
|
182
|
+
emitChannelUpdated(contextId: string, channelId: string, updatedBy: string): void;
|
|
118
183
|
/**
|
|
119
184
|
* Get event history
|
|
120
185
|
*/
|
|
@@ -124,5 +189,6 @@ export declare class EventNotificationSystem {
|
|
|
124
189
|
private matchesFilter;
|
|
125
190
|
private isMessageEvent;
|
|
126
191
|
private isBlockEvent;
|
|
192
|
+
private isCommunicationEvent;
|
|
127
193
|
}
|
|
128
194
|
//# sourceMappingURL=eventNotificationSystem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventNotificationSystem.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"eventNotificationSystem.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EventNotificationSystem = exports.PartitionEventType = exports.BlockEventType = exports.MessageEventType = void 0;
|
|
4
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
4
5
|
const ws_1 = require("ws");
|
|
5
6
|
var MessageEventType;
|
|
6
7
|
(function (MessageEventType) {
|
|
@@ -140,6 +141,202 @@ class EventNotificationSystem {
|
|
|
140
141
|
this.addToHistory(event);
|
|
141
142
|
this.broadcastEvent(event);
|
|
142
143
|
}
|
|
144
|
+
// ─── Communication event emitters ─────────────────────────────────────
|
|
145
|
+
/**
|
|
146
|
+
* Emit a message sent event.
|
|
147
|
+
* @requirements 7.1
|
|
148
|
+
*/
|
|
149
|
+
emitMessageSent(contextType, contextId, messageId, senderId) {
|
|
150
|
+
const event = {
|
|
151
|
+
type: brightchain_lib_1.CommunicationEventType.MESSAGE_SENT,
|
|
152
|
+
timestamp: new Date(),
|
|
153
|
+
contextType,
|
|
154
|
+
contextId,
|
|
155
|
+
data: { messageId, senderId },
|
|
156
|
+
};
|
|
157
|
+
this.addToHistory(event);
|
|
158
|
+
this.broadcastEvent(event);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Emit a message deleted event.
|
|
162
|
+
* @requirements 7.1
|
|
163
|
+
*/
|
|
164
|
+
emitMessageDeleted(contextType, contextId, messageId, deletedBy) {
|
|
165
|
+
const event = {
|
|
166
|
+
type: brightchain_lib_1.CommunicationEventType.MESSAGE_DELETED,
|
|
167
|
+
timestamp: new Date(),
|
|
168
|
+
contextType,
|
|
169
|
+
contextId,
|
|
170
|
+
data: { messageId, deletedBy },
|
|
171
|
+
};
|
|
172
|
+
this.addToHistory(event);
|
|
173
|
+
this.broadcastEvent(event);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Emit a typing indicator event (start or stop).
|
|
177
|
+
* @requirements 7.2
|
|
178
|
+
*/
|
|
179
|
+
emitTypingEvent(eventType, contextType, contextId, memberId) {
|
|
180
|
+
const event = {
|
|
181
|
+
type: eventType,
|
|
182
|
+
timestamp: new Date(),
|
|
183
|
+
contextType,
|
|
184
|
+
contextId,
|
|
185
|
+
data: { memberId },
|
|
186
|
+
};
|
|
187
|
+
this.addToHistory(event);
|
|
188
|
+
this.broadcastEvent(event);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Emit a presence changed event.
|
|
192
|
+
* @requirements 7.3
|
|
193
|
+
*/
|
|
194
|
+
emitPresenceChanged(contextType, contextId, memberId, status) {
|
|
195
|
+
const event = {
|
|
196
|
+
type: brightchain_lib_1.CommunicationEventType.PRESENCE_CHANGED,
|
|
197
|
+
timestamp: new Date(),
|
|
198
|
+
contextType,
|
|
199
|
+
contextId,
|
|
200
|
+
data: { memberId, status },
|
|
201
|
+
};
|
|
202
|
+
this.addToHistory(event);
|
|
203
|
+
this.broadcastEvent(event);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Emit a reaction added or removed event.
|
|
207
|
+
* @requirements 7.5
|
|
208
|
+
*/
|
|
209
|
+
emitReactionEvent(eventType, contextType, contextId, messageId, memberId, emoji, reactionId) {
|
|
210
|
+
const event = {
|
|
211
|
+
type: eventType,
|
|
212
|
+
timestamp: new Date(),
|
|
213
|
+
contextType,
|
|
214
|
+
contextId,
|
|
215
|
+
data: { messageId, memberId, emoji, reactionId },
|
|
216
|
+
};
|
|
217
|
+
this.addToHistory(event);
|
|
218
|
+
this.broadcastEvent(event);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Emit a message edited event.
|
|
222
|
+
* @requirements 7.1
|
|
223
|
+
*/
|
|
224
|
+
emitMessageEdited(contextType, contextId, messageId, memberId) {
|
|
225
|
+
const event = {
|
|
226
|
+
type: brightchain_lib_1.CommunicationEventType.MESSAGE_EDITED,
|
|
227
|
+
timestamp: new Date(),
|
|
228
|
+
contextType,
|
|
229
|
+
contextId,
|
|
230
|
+
data: { messageId, memberId },
|
|
231
|
+
};
|
|
232
|
+
this.addToHistory(event);
|
|
233
|
+
this.broadcastEvent(event);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Emit a message pinned or unpinned event.
|
|
237
|
+
* @requirements 7.1
|
|
238
|
+
*/
|
|
239
|
+
emitMessagePinEvent(eventType, contextType, contextId, messageId, memberId) {
|
|
240
|
+
const event = {
|
|
241
|
+
type: eventType,
|
|
242
|
+
timestamp: new Date(),
|
|
243
|
+
contextType,
|
|
244
|
+
contextId,
|
|
245
|
+
data: { messageId, memberId },
|
|
246
|
+
};
|
|
247
|
+
this.addToHistory(event);
|
|
248
|
+
this.broadcastEvent(event);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Emit a member joined event.
|
|
252
|
+
* @requirements 7.1
|
|
253
|
+
*/
|
|
254
|
+
emitMemberJoined(contextType, contextId, memberId) {
|
|
255
|
+
const event = {
|
|
256
|
+
type: brightchain_lib_1.CommunicationEventType.MEMBER_JOINED,
|
|
257
|
+
timestamp: new Date(),
|
|
258
|
+
contextType,
|
|
259
|
+
contextId,
|
|
260
|
+
data: { memberId },
|
|
261
|
+
};
|
|
262
|
+
this.addToHistory(event);
|
|
263
|
+
this.broadcastEvent(event);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Emit a member left event.
|
|
267
|
+
* @requirements 7.1
|
|
268
|
+
*/
|
|
269
|
+
emitMemberLeft(contextType, contextId, memberId) {
|
|
270
|
+
const event = {
|
|
271
|
+
type: brightchain_lib_1.CommunicationEventType.MEMBER_LEFT,
|
|
272
|
+
timestamp: new Date(),
|
|
273
|
+
contextType,
|
|
274
|
+
contextId,
|
|
275
|
+
data: { memberId },
|
|
276
|
+
};
|
|
277
|
+
this.addToHistory(event);
|
|
278
|
+
this.broadcastEvent(event);
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Emit a member kicked event.
|
|
282
|
+
* @requirements 7.1
|
|
283
|
+
*/
|
|
284
|
+
emitMemberKicked(contextType, contextId, memberId, kickedBy) {
|
|
285
|
+
const event = {
|
|
286
|
+
type: brightchain_lib_1.CommunicationEventType.MEMBER_KICKED,
|
|
287
|
+
timestamp: new Date(),
|
|
288
|
+
contextType,
|
|
289
|
+
contextId,
|
|
290
|
+
data: { memberId, kickedBy },
|
|
291
|
+
};
|
|
292
|
+
this.addToHistory(event);
|
|
293
|
+
this.broadcastEvent(event);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Emit a member muted event.
|
|
297
|
+
* @requirements 7.1
|
|
298
|
+
*/
|
|
299
|
+
emitMemberMuted(contextType, contextId, memberId, mutedBy, durationMs) {
|
|
300
|
+
const event = {
|
|
301
|
+
type: brightchain_lib_1.CommunicationEventType.MEMBER_MUTED,
|
|
302
|
+
timestamp: new Date(),
|
|
303
|
+
contextType,
|
|
304
|
+
contextId,
|
|
305
|
+
data: { memberId, mutedBy, durationMs },
|
|
306
|
+
};
|
|
307
|
+
this.addToHistory(event);
|
|
308
|
+
this.broadcastEvent(event);
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Emit a group created event.
|
|
312
|
+
* @requirements 7.1
|
|
313
|
+
*/
|
|
314
|
+
emitGroupCreated(contextId, groupId, creatorId, memberIds) {
|
|
315
|
+
const event = {
|
|
316
|
+
type: brightchain_lib_1.CommunicationEventType.GROUP_CREATED,
|
|
317
|
+
timestamp: new Date(),
|
|
318
|
+
contextType: 'group',
|
|
319
|
+
contextId,
|
|
320
|
+
data: { groupId, creatorId, memberIds },
|
|
321
|
+
};
|
|
322
|
+
this.addToHistory(event);
|
|
323
|
+
this.broadcastEvent(event);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Emit a channel updated event.
|
|
327
|
+
* @requirements 7.1
|
|
328
|
+
*/
|
|
329
|
+
emitChannelUpdated(contextId, channelId, updatedBy) {
|
|
330
|
+
const event = {
|
|
331
|
+
type: brightchain_lib_1.CommunicationEventType.CHANNEL_UPDATED,
|
|
332
|
+
timestamp: new Date(),
|
|
333
|
+
contextType: 'channel',
|
|
334
|
+
contextId,
|
|
335
|
+
data: { channelId, updatedBy },
|
|
336
|
+
};
|
|
337
|
+
this.addToHistory(event);
|
|
338
|
+
this.broadcastEvent(event);
|
|
339
|
+
}
|
|
143
340
|
/**
|
|
144
341
|
* Get event history
|
|
145
342
|
*/
|
|
@@ -195,6 +392,9 @@ class EventNotificationSystem {
|
|
|
195
392
|
isBlockEvent(event) {
|
|
196
393
|
return Object.values(BlockEventType).includes(event.type);
|
|
197
394
|
}
|
|
395
|
+
isCommunicationEvent(event) {
|
|
396
|
+
return Object.values(brightchain_lib_1.CommunicationEventType).includes(event.type);
|
|
397
|
+
}
|
|
198
398
|
}
|
|
199
399
|
exports.EventNotificationSystem = EventNotificationSystem;
|
|
200
400
|
//# sourceMappingURL=eventNotificationSystem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventNotificationSystem.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"eventNotificationSystem.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":";;;AAAA,kEAOsC;AACtC,2BAA+B;AAE/B,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,qDAAiC,CAAA;IACjC,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,qDAAiC,CAAA;AACnC,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,iDAA+B,CAAA;AACjC,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,6DAAuC,CAAA;IACvC,2DAAqC,CAAA;AACvC,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAkED;;;;;;;;;GASG;AACH,MAAa,uBAAuB;IAApC;QACU,kBAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;QACnD,iBAAY,GAAkB,EAAE,CAAC;QACxB,mBAAc,GAAG,IAAI,CAAC;QACtB,gBAAW,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IA4ejE,CAAC;IA1eC;;OAEG;IACH,SAAS,CAAC,EAAa,EAAE,MAAqB;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QAEzC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAAa;QACvB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAa;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAsB,EAAE,QAA0B;QACrD,MAAM,KAAK,GAAkB;YAC3B,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,QAAQ;SACT,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,4BAA4B,CAC1B,OAAe,EACf,QAA2B,EAC3B,QAA2B;QAE3B,MAAM,KAAK,GAA4B;YACrC,IAAI,EAAE,cAAc,CAAC,oBAAoB;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,OAAO;gBACP,QAAQ;gBACR,QAAQ;aACT;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,OAAe,EACf,YAAoB,EACpB,OAAgB,EAChB,KAAc;QAEd,MAAM,KAAK,GAA0B;YACnC,IAAI,EAAE,cAAc,CAAC,UAAU;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,OAAO;gBACP,YAAY;gBACZ,OAAO;gBACP,KAAK;aACN;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,iBAA2B;QAC9C,MAAM,KAAK,GAA2B;YACpC,IAAI,EAAE,kBAAkB,CAAC,iBAAiB;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,iBAAiB;aAClB;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,gBAA0B;QAC5C,MAAM,KAAK,GAA0B;YACnC,IAAI,EAAE,kBAAkB,CAAC,gBAAgB;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,gBAAgB;aACjB;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,yEAAyE;IAEzE;;;OAGG;IACH,eAAe,CACb,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,YAAY;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAChB,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,eAAe;YAC5C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,eAAe,CACb,SAEsC,EACtC,WAAqC,EACrC,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,WAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,MAAsB;QAEtB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,gBAAgB;YAC7C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;SAC3B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CACf,SAE2C,EAC3C,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,KAAa,EACb,UAAkB;QAElB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;SACjD,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CACf,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,cAAc;YAC3C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,SAE2C,EAC3C,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,WAAqC,EACrC,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,cAAc,CACZ,WAAqC,EACrC,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,WAAW;YACxC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,WAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAC7B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,eAAe,CACb,WAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,UAAkB;QAElB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,YAAY;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;SACxC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,SAAiB,EACjB,OAAe,EACf,SAAiB,EACjB,SAAmB;QAEnB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,OAAO;YACpB,SAAS;YACT,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE;SACxC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAChB,SAAiB,EACjB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,eAAe;YAC5C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,SAAS;YACtB,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAqB,EAAE,KAAK,GAAG,GAAG;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7C,OAAO,IAAI,CAAC,YAAY;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;aACvD,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEO,YAAY,CAAC,KAAkB;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAkB;QACvC,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,IACE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC;gBACjC,EAAE,CAAC,UAAU,KAAK,cAAS,CAAC,IAAI,EAChC,CAAC;gBACD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAkB,EAAE,MAAoB;QAC5D,0BAA0B;QAC1B,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAiB,CAAC,EAAE,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IACE,MAAM,CAAC,WAAW;gBAClB,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EACxD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,KAAkB;QACvC,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAC7C,KAAK,CAAC,IAAwB,CAC/B,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,KAAkB;QAElB,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAsB,CAAC,CAAC;IAC9E,CAAC;IAEO,oBAAoB,CAC1B,KAAkB;QAElB,OAAO,MAAM,CAAC,MAAM,CAAC,wCAAsB,CAAC,CAAC,QAAQ,CACnD,KAAK,CAAC,IAA8B,CACrC,CAAC;IACJ,CAAC;CACF;AAhfD,0DAgfC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ExpirationScheduler — Background job for cleaning up expired messages.
|
|
3
|
+
*
|
|
4
|
+
* Periodically scans messages for time-based and read-count-based
|
|
5
|
+
* expiration, explodes expired messages, and emits events for
|
|
6
|
+
* downstream consumers (e.g., WebSocket notifications).
|
|
7
|
+
*
|
|
8
|
+
* This is a Node.js-specific service that lives in brightchain-api-lib.
|
|
9
|
+
*
|
|
10
|
+
* Requirements: 8.4, 8.6, 8.9
|
|
11
|
+
*/
|
|
12
|
+
import { ICommunicationMessage } from '@brightchain/brightchain-lib/lib/interfaces/communication';
|
|
13
|
+
import { IExplodingMessageEvent } from '@brightchain/brightchain-lib/lib/services/communication/explodingMessageService';
|
|
14
|
+
import { EventEmitter } from 'events';
|
|
15
|
+
/**
|
|
16
|
+
* Function that returns all messages that may have expiration settings.
|
|
17
|
+
* The scheduler calls this on each tick to get the current message set.
|
|
18
|
+
*/
|
|
19
|
+
export type MessageProvider = () => ICommunicationMessage[] | Promise<ICommunicationMessage[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Configuration for the expiration scheduler.
|
|
22
|
+
*/
|
|
23
|
+
export interface IExpirationSchedulerConfig {
|
|
24
|
+
/** Interval between cleanup runs in milliseconds (default: 10_000) */
|
|
25
|
+
intervalMs?: number;
|
|
26
|
+
/** Whether to auto-explode messages or just emit events (default: true) */
|
|
27
|
+
autoExplode?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare enum ExpirationSchedulerEvent {
|
|
30
|
+
/** Emitted when a message is exploded by the scheduler */
|
|
31
|
+
MESSAGE_EXPLODED = "scheduler:message_exploded",
|
|
32
|
+
/** Emitted when a batch of expired messages is found */
|
|
33
|
+
BATCH_EXPIRED = "scheduler:batch_expired",
|
|
34
|
+
/** Emitted when the scheduler encounters an error */
|
|
35
|
+
ERROR = "scheduler:error",
|
|
36
|
+
/** Emitted when the scheduler starts */
|
|
37
|
+
STARTED = "scheduler:started",
|
|
38
|
+
/** Emitted when the scheduler stops */
|
|
39
|
+
STOPPED = "scheduler:stopped"
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Background scheduler that periodically checks for and cleans up
|
|
43
|
+
* expired exploding messages.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const scheduler = new ExpirationScheduler(
|
|
48
|
+
* () => messageStore.getAllExplodingMessages(),
|
|
49
|
+
* { intervalMs: 5000 },
|
|
50
|
+
* );
|
|
51
|
+
*
|
|
52
|
+
* scheduler.on(ExpirationSchedulerEvent.MESSAGE_EXPLODED, (event) => {
|
|
53
|
+
* console.log(`Message ${event.messageId} exploded`);
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* scheduler.start();
|
|
57
|
+
* // ... later
|
|
58
|
+
* scheduler.stop();
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare class ExpirationScheduler extends EventEmitter {
|
|
62
|
+
private readonly messageProvider;
|
|
63
|
+
private readonly intervalMs;
|
|
64
|
+
private readonly autoExplode;
|
|
65
|
+
private timer;
|
|
66
|
+
private running;
|
|
67
|
+
constructor(messageProvider: MessageProvider, config?: IExpirationSchedulerConfig);
|
|
68
|
+
/**
|
|
69
|
+
* Start the scheduler. Begins periodic cleanup runs.
|
|
70
|
+
*
|
|
71
|
+
* @throws {Error} If the scheduler is already running
|
|
72
|
+
*/
|
|
73
|
+
start(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Stop the scheduler. Cancels the periodic cleanup timer.
|
|
76
|
+
*/
|
|
77
|
+
stop(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Whether the scheduler is currently running.
|
|
80
|
+
*/
|
|
81
|
+
get isRunning(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Run a single cleanup tick manually.
|
|
84
|
+
* Useful for testing or on-demand cleanup.
|
|
85
|
+
*
|
|
86
|
+
* @returns The events generated during this tick
|
|
87
|
+
*/
|
|
88
|
+
tick(): Promise<IExplodingMessageEvent[]>;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=expirationScheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expirationScheduler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/expirationScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAEL,sBAAsB,EACvB,MAAM,iFAAiF,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAC1B,qBAAqB,EAAE,GACvB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID,oBAAY,wBAAwB;IAClC,0DAA0D;IAC1D,gBAAgB,+BAA+B;IAE/C,wDAAwD;IACxD,aAAa,4BAA4B;IAEzC,qDAAqD;IACrD,KAAK,oBAAoB;IAEzB,wCAAwC;IACxC,OAAO,sBAAsB;IAE7B,uCAAuC;IACvC,OAAO,sBAAsB;CAC9B;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAGtB,eAAe,EAAE,eAAe,EAChC,MAAM,GAAE,0BAA+B;IAQzC;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;CAkChD"}
|