@brightchain/brightchain-api-lib 0.23.21 → 0.24.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/lib/__tests__/fixtures/mock-backend-brightchain-member.d.ts.map +1 -1
- package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js +11 -0
- package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js.map +1 -1
- package/src/lib/__tests__/fixtures/mocked-model.js +63 -60
- package/src/lib/__tests__/fixtures/mocked-model.js.map +1 -1
- package/src/lib/application.d.ts +1 -1
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +113 -33
- package/src/lib/application.js.map +1 -1
- package/src/lib/auth/aclEnforcedAvailability.js +4 -0
- package/src/lib/auth/aclEnforcedAvailability.js.map +1 -1
- package/src/lib/auth/aclEnforcedBlockStore.js +7 -0
- package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -1
- package/src/lib/auth/ecdsaNodeAuthenticator.js +1 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -1
- package/src/lib/auth/poolAclBootstrap.js +2 -0
- package/src/lib/auth/poolAclBootstrap.js.map +1 -1
- package/src/lib/auth/poolAclStore.js +2 -1
- package/src/lib/auth/poolAclStore.js.map +1 -1
- package/src/lib/auth/poolAclUpdater.js +4 -0
- package/src/lib/auth/poolAclUpdater.js.map +1 -1
- package/src/lib/availability/availabilityMetrics.js +43 -45
- package/src/lib/availability/availabilityMetrics.js.map +1 -1
- package/src/lib/availability/availabilityService.js +26 -20
- package/src/lib/availability/availabilityService.js.map +1 -1
- package/src/lib/availability/blockRegistry.js +46 -25
- package/src/lib/availability/blockRegistry.js.map +1 -1
- package/src/lib/availability/discoveryProtocol.js +10 -8
- package/src/lib/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/availability/gossipService.js +56 -45
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/heartbeatMonitor.js +22 -20
- package/src/lib/availability/heartbeatMonitor.js.map +1 -1
- package/src/lib/availability/poolDiscoveryService.js +7 -1
- package/src/lib/availability/poolDiscoveryService.js.map +1 -1
- package/src/lib/availability/quorumGossipHandler.js +13 -6
- package/src/lib/availability/quorumGossipHandler.js.map +1 -1
- package/src/lib/availability/reconciliationService.js +18 -12
- package/src/lib/availability/reconciliationService.js.map +1 -1
- package/src/lib/blockFetch/blockFetcher.js +14 -8
- package/src/lib/blockFetch/blockFetcher.js.map +1 -1
- package/src/lib/blockFetch/fetchQueue.js +9 -7
- package/src/lib/blockFetch/fetchQueue.js.map +1 -1
- package/src/lib/blockFetch/httpBlockFetchTransport.js +2 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -1
- package/src/lib/browserKeyring.js +5 -2
- package/src/lib/browserKeyring.js.map +1 -1
- package/src/lib/controllers/api/blocks.d.ts.map +1 -1
- package/src/lib/controllers/api/blocks.js +9 -3
- package/src/lib/controllers/api/blocks.js.map +1 -1
- package/src/lib/controllers/api/brighthub/connectionController.d.ts +80 -0
- package/src/lib/controllers/api/brighthub/connectionController.d.ts.map +1 -0
- package/src/lib/controllers/api/brighthub/connectionController.js +890 -0
- package/src/lib/controllers/api/brighthub/connectionController.js.map +1 -0
- package/src/lib/controllers/api/brighthub/index.d.ts +9 -0
- package/src/lib/controllers/api/brighthub/index.d.ts.map +1 -0
- package/src/lib/controllers/api/brighthub/index.js +12 -0
- package/src/lib/controllers/api/brighthub/index.js.map +1 -0
- package/src/lib/controllers/api/brighthub/messagingController.d.ts +84 -0
- package/src/lib/controllers/api/brighthub/messagingController.d.ts.map +1 -0
- package/src/lib/controllers/api/brighthub/messagingController.js +1077 -0
- package/src/lib/controllers/api/brighthub/messagingController.js.map +1 -0
- package/src/lib/controllers/api/brighthub/notificationController.d.ts +89 -0
- package/src/lib/controllers/api/brighthub/notificationController.d.ts.map +1 -0
- package/src/lib/controllers/api/brighthub/notificationController.js +444 -0
- package/src/lib/controllers/api/brighthub/notificationController.js.map +1 -0
- package/src/lib/controllers/api/brighthub/postController.d.ts +75 -0
- package/src/lib/controllers/api/brighthub/postController.d.ts.map +1 -0
- package/src/lib/controllers/api/brighthub/postController.js +388 -0
- package/src/lib/controllers/api/brighthub/postController.js.map +1 -0
- package/src/lib/controllers/api/brighthub/timelineController.d.ts +74 -0
- package/src/lib/controllers/api/brighthub/timelineController.d.ts.map +1 -0
- package/src/lib/controllers/api/brighthub/timelineController.js +418 -0
- package/src/lib/controllers/api/brighthub/timelineController.js.map +1 -0
- package/src/lib/controllers/api/brightpass.d.ts.map +1 -1
- package/src/lib/controllers/api/brightpass.js +46 -4
- package/src/lib/controllers/api/brightpass.js.map +1 -1
- package/src/lib/controllers/api/cbl.js +1 -0
- package/src/lib/controllers/api/cbl.js.map +1 -1
- package/src/lib/controllers/api/channels.js +2 -2
- package/src/lib/controllers/api/channels.js.map +1 -1
- package/src/lib/controllers/api/conversations.js +1 -1
- package/src/lib/controllers/api/conversations.js.map +1 -1
- package/src/lib/controllers/api/docs.js +2 -1
- package/src/lib/controllers/api/docs.js.map +1 -1
- package/src/lib/controllers/api/emails.d.ts.map +1 -1
- package/src/lib/controllers/api/emails.js +16 -2
- package/src/lib/controllers/api/emails.js.map +1 -1
- package/src/lib/controllers/api/explodingMessages.js +2 -4
- package/src/lib/controllers/api/explodingMessages.js.map +1 -1
- package/src/lib/controllers/api/groups.js +2 -2
- package/src/lib/controllers/api/groups.js.map +1 -1
- package/src/lib/controllers/api/health.d.ts +9 -2
- package/src/lib/controllers/api/health.d.ts.map +1 -1
- package/src/lib/controllers/api/health.js +48 -6
- package/src/lib/controllers/api/health.js.map +1 -1
- package/src/lib/controllers/api/index.d.ts +1 -0
- package/src/lib/controllers/api/index.d.ts.map +1 -1
- package/src/lib/controllers/api/index.js +1 -0
- package/src/lib/controllers/api/index.js.map +1 -1
- package/src/lib/controllers/api/introspection.js +2 -0
- package/src/lib/controllers/api/introspection.js.map +1 -1
- package/src/lib/controllers/api/messages.js +1 -1
- package/src/lib/controllers/api/messages.js.map +1 -1
- package/src/lib/controllers/api/nodes.js +6 -6
- package/src/lib/controllers/api/nodes.js.map +1 -1
- package/src/lib/controllers/api/quorum.d.ts +1 -1
- package/src/lib/controllers/api/quorum.d.ts.map +1 -1
- package/src/lib/controllers/api/quorum.js +3 -2
- package/src/lib/controllers/api/quorum.js.map +1 -1
- package/src/lib/controllers/api/scbl.js +3 -0
- package/src/lib/controllers/api/scbl.js.map +1 -1
- package/src/lib/controllers/api/sessions.d.ts +18 -2
- package/src/lib/controllers/api/sessions.d.ts.map +1 -1
- package/src/lib/controllers/api/sessions.js +60 -3
- package/src/lib/controllers/api/sessions.js.map +1 -1
- package/src/lib/controllers/api/sync.js +4 -4
- package/src/lib/controllers/api/sync.js.map +1 -1
- package/src/lib/controllers/api/user.d.ts +2 -0
- package/src/lib/controllers/api/user.d.ts.map +1 -1
- package/src/lib/controllers/api/user.js +95 -3
- package/src/lib/controllers/api/user.js.map +1 -1
- package/src/lib/controllers/identity/deviceController.js +2 -2
- package/src/lib/controllers/identity/deviceController.js.map +1 -1
- package/src/lib/controllers/identity/directoryController.js +1 -1
- package/src/lib/controllers/identity/directoryController.js.map +1 -1
- package/src/lib/controllers/identity/identityProofController.js +4 -6
- package/src/lib/controllers/identity/identityProofController.js.map +1 -1
- package/src/lib/databaseInit.d.ts +3 -3
- package/src/lib/databaseInit.js +5 -5
- package/src/lib/databaseInit.js.map +1 -1
- package/src/lib/datastore/block-document-store.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store.js +18 -6
- package/src/lib/datastore/block-document-store.js.map +1 -1
- package/src/lib/datastore/document-store.d.ts.map +1 -1
- package/src/lib/datastore/memory-document-store.js +5 -2
- package/src/lib/datastore/memory-document-store.js.map +1 -1
- package/src/lib/encryption/encryptedMetadataService.js +2 -0
- package/src/lib/encryption/encryptedMetadataService.js.map +1 -1
- package/src/lib/encryption/encryptionAwareReplication.js +3 -0
- package/src/lib/encryption/encryptionAwareReplication.js.map +1 -1
- package/src/lib/encryption/errors.d.ts.map +1 -1
- package/src/lib/encryption/errors.js +8 -0
- package/src/lib/encryption/errors.js.map +1 -1
- package/src/lib/encryption/poolKeyManager.js +2 -0
- package/src/lib/encryption/poolKeyManager.js.map +1 -1
- package/src/lib/environment.js +10 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/errors/express-validation.js +1 -0
- package/src/lib/errors/express-validation.js.map +1 -1
- package/src/lib/errors/invalid-backup-code-version.js +1 -0
- package/src/lib/errors/invalid-backup-code-version.js.map +1 -1
- package/src/lib/errors/memberIndexSchemaValidationError.js +1 -0
- package/src/lib/errors/memberIndexSchemaValidationError.js.map +1 -1
- package/src/lib/errors/missing-validated-data.js +2 -0
- package/src/lib/errors/missing-validated-data.js.map +1 -1
- package/src/lib/errors/token-not-found.js +1 -0
- package/src/lib/errors/token-not-found.js.map +1 -1
- package/src/lib/errors/typed-error-local.js +3 -0
- package/src/lib/errors/typed-error-local.js.map +1 -1
- package/src/lib/interfaces/brightpass/index.d.ts +103 -0
- package/src/lib/interfaces/brightpass/index.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/index.js +11 -0
- package/src/lib/interfaces/brightpass/index.js.map +1 -0
- package/src/lib/interfaces/environment.d.ts +1 -1
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +1 -0
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/member/memberProfileResponse.d.ts.map +1 -1
- package/src/lib/interfaces/member/operational.d.ts.map +1 -1
- package/src/lib/interfaces/member-init-config.d.ts +1 -1
- package/src/lib/interfaces/member-init-config.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-backup-codes-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-challenge-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-code-count-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-detailed-health-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-discover-block-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-express-validation-error.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-get-block-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-get-node-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-health-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-list-nodes-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-login-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-members-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-mnemonic-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-reconcile-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-register-node-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-registration-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-replicate-block-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-request-user-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-store-block-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-store-cbl-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-sync-request-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/brighthub/api-connection-response.d.ts +21 -0
- package/src/lib/interfaces/responses/brighthub/api-connection-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-connection-response.js +3 -0
- package/src/lib/interfaces/responses/brighthub/api-connection-response.js.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-messaging-response.d.ts +39 -0
- package/src/lib/interfaces/responses/brighthub/api-messaging-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-messaging-response.js +3 -0
- package/src/lib/interfaces/responses/brighthub/api-messaging-response.js.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-notification-response.d.ts +30 -0
- package/src/lib/interfaces/responses/brighthub/api-notification-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-notification-response.js +3 -0
- package/src/lib/interfaces/responses/brighthub/api-notification-response.js.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts +21 -0
- package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-post-response.js +3 -0
- package/src/lib/interfaces/responses/brighthub/api-post-response.js.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-timeline-response.d.ts +14 -0
- package/src/lib/interfaces/responses/brighthub/api-timeline-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-timeline-response.js +3 -0
- package/src/lib/interfaces/responses/brighthub/api-timeline-response.js.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-user-profile-response.d.ts +10 -0
- package/src/lib/interfaces/responses/brighthub/api-user-profile-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/brighthub/api-user-profile-response.js +3 -0
- package/src/lib/interfaces/responses/brighthub/api-user-profile-response.js.map +1 -0
- package/src/lib/interfaces/responses/brighthub/index.d.ts +13 -0
- package/src/lib/interfaces/responses/brighthub/index.d.ts.map +1 -0
- package/src/lib/interfaces/responses/brighthub/index.js +9 -0
- package/src/lib/interfaces/responses/brighthub/index.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +1 -0
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/storedDocumentTypes.d.ts +1 -1
- package/src/lib/interfaces/storage/storedDocumentTypes.js +1 -1
- package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -1
- package/src/lib/interfaces/storage/userRoleSchema.js +1 -3
- package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -1
- package/src/lib/middlewares.js +31 -31
- package/src/lib/middlewares.js.map +1 -1
- package/src/lib/nodeKeyring.js +2 -0
- package/src/lib/nodeKeyring.js.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.d.ts +14 -14
- package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.js +36 -34
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
- package/src/lib/routers/api.d.ts +63 -1
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +126 -2
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/routers/app.d.ts.map +1 -1
- package/src/lib/routers/app.js +10 -1
- package/src/lib/routers/app.js.map +1 -1
- package/src/lib/routers/base.js +2 -0
- package/src/lib/routers/base.js.map +1 -1
- package/src/lib/routers/index.d.ts +1 -0
- package/src/lib/routers/index.d.ts.map +1 -1
- package/src/lib/routers/index.js +1 -0
- package/src/lib/routers/index.js.map +1 -1
- package/src/lib/routers/testEmailRouter.d.ts +15 -0
- package/src/lib/routers/testEmailRouter.d.ts.map +1 -0
- package/src/lib/routers/testEmailRouter.js +34 -0
- package/src/lib/routers/testEmailRouter.js.map +1 -0
- package/src/lib/secureEnclaveKeyring.js +4 -2
- package/src/lib/secureEnclaveKeyring.js.map +1 -1
- package/src/lib/services/auth.d.ts.map +1 -1
- package/src/lib/services/auth.js +11 -2
- package/src/lib/services/auth.js.map +1 -1
- package/src/lib/services/base.js +1 -0
- package/src/lib/services/base.js.map +1 -1
- package/src/lib/services/blockServiceFactory.js +2 -0
- package/src/lib/services/blockServiceFactory.js.map +1 -1
- package/src/lib/services/blockStore.js +3 -2
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/blocks.js +1 -0
- package/src/lib/services/blocks.js.map +1 -1
- package/src/lib/services/brightChainBackupCodeService.d.ts +114 -0
- package/src/lib/services/brightChainBackupCodeService.d.ts.map +1 -0
- package/src/lib/services/brightChainBackupCodeService.js +303 -0
- package/src/lib/services/brightChainBackupCodeService.js.map +1 -0
- package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
- package/src/lib/services/brightchain-authentication-provider.js +40 -9
- package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
- package/src/lib/services/brightchain-member-init.service.d.ts +17 -17
- package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
- package/src/lib/services/brightchain-member-init.service.js +12 -9
- package/src/lib/services/brightchain-member-init.service.js.map +1 -1
- package/src/lib/services/brighthub/connectionService.d.ts +286 -0
- package/src/lib/services/brighthub/connectionService.d.ts.map +1 -0
- package/src/lib/services/brighthub/connectionService.js +1887 -0
- package/src/lib/services/brighthub/connectionService.js.map +1 -0
- package/src/lib/services/brighthub/discoveryService.d.ts +110 -0
- package/src/lib/services/brighthub/discoveryService.d.ts.map +1 -0
- package/src/lib/services/brighthub/discoveryService.js +528 -0
- package/src/lib/services/brighthub/discoveryService.js.map +1 -0
- package/src/lib/services/brighthub/feedService.d.ts +141 -0
- package/src/lib/services/brighthub/feedService.d.ts.map +1 -0
- package/src/lib/services/brighthub/feedService.js +418 -0
- package/src/lib/services/brighthub/feedService.js.map +1 -0
- package/src/lib/services/brighthub/index.d.ts +11 -0
- package/src/lib/services/brighthub/index.d.ts.map +1 -0
- package/src/lib/services/brighthub/index.js +14 -0
- package/src/lib/services/brighthub/index.js.map +1 -0
- package/src/lib/services/brighthub/messagingService.d.ts +109 -0
- package/src/lib/services/brighthub/messagingService.d.ts.map +1 -0
- package/src/lib/services/brighthub/messagingService.js +947 -0
- package/src/lib/services/brighthub/messagingService.js.map +1 -0
- package/src/lib/services/brighthub/messagingService.test-helpers.d.ts +75 -0
- package/src/lib/services/brighthub/messagingService.test-helpers.d.ts.map +1 -0
- package/src/lib/services/brighthub/messagingService.test-helpers.js +237 -0
- package/src/lib/services/brighthub/messagingService.test-helpers.js.map +1 -0
- package/src/lib/services/brighthub/notificationService.d.ts +172 -0
- package/src/lib/services/brighthub/notificationService.d.ts.map +1 -0
- package/src/lib/services/brighthub/notificationService.js +768 -0
- package/src/lib/services/brighthub/notificationService.js.map +1 -0
- package/src/lib/services/brighthub/notificationService.test-helpers.d.ts +75 -0
- package/src/lib/services/brighthub/notificationService.test-helpers.d.ts.map +1 -0
- package/src/lib/services/brighthub/notificationService.test-helpers.js +230 -0
- package/src/lib/services/brighthub/notificationService.test-helpers.js.map +1 -0
- package/src/lib/services/brighthub/postService.d.ts +129 -0
- package/src/lib/services/brighthub/postService.d.ts.map +1 -0
- package/src/lib/services/brighthub/postService.js +470 -0
- package/src/lib/services/brighthub/postService.js.map +1 -0
- package/src/lib/services/brighthub/postService.test-helpers.d.ts +40 -0
- package/src/lib/services/brighthub/postService.test-helpers.d.ts.map +1 -0
- package/src/lib/services/brighthub/postService.test-helpers.js +84 -0
- package/src/lib/services/brighthub/postService.test-helpers.js.map +1 -0
- package/src/lib/services/brighthub/textFormatter.d.ts +64 -0
- package/src/lib/services/brighthub/textFormatter.d.ts.map +1 -0
- package/src/lib/services/brighthub/textFormatter.js +256 -0
- package/src/lib/services/brighthub/textFormatter.js.map +1 -0
- package/src/lib/services/brighthub/threadService.d.ts +79 -0
- package/src/lib/services/brighthub/threadService.d.ts.map +1 -0
- package/src/lib/services/brighthub/threadService.js +246 -0
- package/src/lib/services/brighthub/threadService.js.map +1 -0
- package/src/lib/services/brighthub/userProfileService.d.ts +203 -0
- package/src/lib/services/brighthub/userProfileService.d.ts.map +1 -0
- package/src/lib/services/brighthub/userProfileService.js +868 -0
- package/src/lib/services/brighthub/userProfileService.js.map +1 -0
- package/src/lib/services/brighthub/userProfileService.test-helpers.d.ts +86 -0
- package/src/lib/services/brighthub/userProfileService.test-helpers.d.ts.map +1 -0
- package/src/lib/services/brighthub/userProfileService.test-helpers.js +169 -0
- package/src/lib/services/brighthub/userProfileService.test-helpers.js.map +1 -0
- package/src/lib/services/brighthub/webSocketServer.d.ts +68 -0
- package/src/lib/services/brighthub/webSocketServer.d.ts.map +1 -0
- package/src/lib/services/brighthub/webSocketServer.js +194 -0
- package/src/lib/services/brighthub/webSocketServer.js.map +1 -0
- package/src/lib/services/brightpass/auditLogger.js +10 -5
- package/src/lib/services/brightpass/auditLogger.js.map +1 -1
- package/src/lib/services/brightpass/vaultEncryption.js +8 -8
- package/src/lib/services/brightpass/vaultEncryption.js.map +1 -1
- package/src/lib/services/brightpass.js +16 -8
- package/src/lib/services/brightpass.js.map +1 -1
- package/src/lib/services/cliOperatorPrompt.js +5 -2
- package/src/lib/services/cliOperatorPrompt.js.map +1 -1
- package/src/lib/services/clientWebSocketServer.d.ts +69 -4
- package/src/lib/services/clientWebSocketServer.d.ts.map +1 -1
- package/src/lib/services/clientWebSocketServer.js +188 -10
- package/src/lib/services/clientWebSocketServer.js.map +1 -1
- package/src/lib/services/contentAwareBlocksService.js +2 -0
- package/src/lib/services/contentAwareBlocksService.js.map +1 -1
- package/src/lib/services/contentIngestionService.d.ts.map +1 -1
- package/src/lib/services/contentIngestionService.js +2 -0
- package/src/lib/services/contentIngestionService.js.map +1 -1
- package/src/lib/services/diskQuorumService.js +3 -0
- package/src/lib/services/diskQuorumService.js.map +1 -1
- package/src/lib/services/email.js +5 -0
- package/src/lib/services/email.js.map +1 -1
- package/src/lib/services/eventNotificationSystem.d.ts +51 -10
- package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
- package/src/lib/services/eventNotificationSystem.js +76 -23
- package/src/lib/services/eventNotificationSystem.js.map +1 -1
- package/src/lib/services/expirationScheduler.js +6 -3
- package/src/lib/services/expirationScheduler.js.map +1 -1
- package/src/lib/services/fakeEmailService.d.ts +68 -0
- package/src/lib/services/fakeEmailService.d.ts.map +1 -0
- package/src/lib/services/fakeEmailService.js +110 -0
- package/src/lib/services/fakeEmailService.js.map +1 -0
- package/src/lib/services/fec.js +1 -3
- package/src/lib/services/fec.js.map +1 -1
- package/src/lib/services/fecServiceFactory.js +2 -2
- package/src/lib/services/fecServiceFactory.js.map +1 -1
- package/src/lib/services/fecUsageExample.js +1 -3
- package/src/lib/services/fecUsageExample.js.map +1 -1
- package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -1
- package/src/lib/services/identityExpirationScheduler.js +7 -2
- package/src/lib/services/identityExpirationScheduler.js.map +1 -1
- package/src/lib/services/index.d.ts +3 -1
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +3 -1
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/messageEventsWebSocketHandler.js +1 -0
- package/src/lib/services/messageEventsWebSocketHandler.js.map +1 -1
- package/src/lib/services/messagePassingService.js +5 -0
- package/src/lib/services/messagePassingService.js.map +1 -1
- package/src/lib/services/nativeRsFecService.js +3 -5
- package/src/lib/services/nativeRsFecService.js.map +1 -1
- package/src/lib/services/presenceService.js +5 -4
- package/src/lib/services/presenceService.js.map +1 -1
- package/src/lib/services/quorum.js +3 -2
- package/src/lib/services/quorum.js.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts +5 -5
- package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.js +5 -3
- package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
- package/src/lib/services/rbac-input-builder.js +5 -0
- package/src/lib/services/rbac-input-builder.js.map +1 -1
- package/src/lib/services/secureKeyStorage.js +3 -0
- package/src/lib/services/secureKeyStorage.js.map +1 -1
- package/src/lib/services/sessionAdapter.d.ts +4 -4
- package/src/lib/services/sessionAdapter.d.ts.map +1 -1
- package/src/lib/services/sessionAdapter.js +3 -2
- package/src/lib/services/sessionAdapter.js.map +1 -1
- package/src/lib/services/webSocketMessageServer.js +7 -4
- package/src/lib/services/webSocketMessageServer.js.map +1 -1
- package/src/lib/services/webSocketPeerProvider.js +2 -1
- package/src/lib/services/webSocketPeerProvider.js.map +1 -1
- package/src/lib/services/websocketHandler.js +9 -1
- package/src/lib/services/websocketHandler.js.map +1 -1
- package/src/lib/shared-types.d.ts +1 -2
- package/src/lib/shared-types.d.ts.map +1 -1
- package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.d.ts +63 -0
- package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.d.ts.map +1 -0
- package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.js +160 -0
- package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.js.map +1 -0
- package/src/lib/stores/availabilityAwareBlockStore.js +34 -5
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/cloudBlockStoreBase.d.ts +121 -0
- package/src/lib/stores/cloudBlockStoreBase.d.ts.map +1 -0
- package/src/lib/stores/cloudBlockStoreBase.js +1165 -0
- package/src/lib/stores/cloudBlockStoreBase.js.map +1 -0
- package/src/lib/stores/diskBlockAsyncStore.js +9 -5
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/stores/diskBlockMetadataStore.js +2 -0
- package/src/lib/stores/diskBlockMetadataStore.js.map +1 -1
- package/src/lib/stores/diskBlockStore.js +10 -8
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/stores/diskCBLStore.d.ts.map +1 -1
- package/src/lib/stores/diskCBLStore.js +8 -0
- package/src/lib/stores/diskCBLStore.js.map +1 -1
- package/src/lib/stores/index.d.ts +1 -0
- package/src/lib/stores/index.d.ts.map +1 -1
- package/src/lib/stores/index.js +1 -0
- package/src/lib/stores/index.js.map +1 -1
- package/src/lib/systemKeyring.d.ts.map +1 -1
- package/src/lib/systemKeyring.js +5 -4
- package/src/lib/systemKeyring.js.map +1 -1
- package/src/lib/transforms/checksumTransform.js +1 -0
- package/src/lib/transforms/checksumTransform.js.map +1 -1
- package/src/lib/transforms/memoryWritableStream.js +1 -0
- package/src/lib/transforms/memoryWritableStream.js.map +1 -1
- package/src/lib/transforms/xorMultipleTransform.js +3 -0
- package/src/lib/transforms/xorMultipleTransform.js.map +1 -1
- package/src/lib/utils/rehydration.d.ts +1 -1
- package/src/lib/utils/rehydration.js +1 -1
- package/src/lib/utils/serialization.d.ts +1 -1
- package/src/lib/utils/serialization.js +1 -1
- package/src/lib/services/backupCodeService.d.ts +0 -35
- package/src/lib/services/backupCodeService.d.ts.map +0 -1
- package/src/lib/services/backupCodeService.js +0 -109
- package/src/lib/services/backupCodeService.js.map +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { IFeedService, ITimelineOptions, ITimelineResult } from '@brightchain/brighthub-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Find query interface for chaining
|
|
4
|
+
*/
|
|
5
|
+
interface FindQuery<T> {
|
|
6
|
+
sort?(field: Record<string, 1 | -1>): FindQuery<T>;
|
|
7
|
+
skip?(count: number): FindQuery<T>;
|
|
8
|
+
limit?(count: number): FindQuery<T>;
|
|
9
|
+
exec(): Promise<T[]>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Collection interface for database operations
|
|
13
|
+
*/
|
|
14
|
+
interface Collection<T> {
|
|
15
|
+
create(record: T): Promise<T>;
|
|
16
|
+
findOne(filter: Partial<T>): {
|
|
17
|
+
exec(): Promise<T | null>;
|
|
18
|
+
};
|
|
19
|
+
find(filter: Partial<T>): FindQuery<T>;
|
|
20
|
+
updateOne(filter: Partial<T>, update: Partial<T>): {
|
|
21
|
+
exec(): Promise<{
|
|
22
|
+
modifiedCount: number;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
25
|
+
deleteOne(filter: Partial<T>): {
|
|
26
|
+
exec(): Promise<{
|
|
27
|
+
deletedCount: number;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Application interface for accessing database collections
|
|
33
|
+
*/
|
|
34
|
+
interface IApplicationWithCollections {
|
|
35
|
+
getModel<T>(name: string): Collection<T>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Feed_Service implementation
|
|
39
|
+
* Generates personalized and public timelines with filtering
|
|
40
|
+
* @see Requirements: 5.1-5.5
|
|
41
|
+
*/
|
|
42
|
+
export declare class FeedService implements IFeedService {
|
|
43
|
+
private readonly postsCollection;
|
|
44
|
+
private readonly followsCollection;
|
|
45
|
+
private readonly blocksCollection;
|
|
46
|
+
private readonly mutesCollection;
|
|
47
|
+
private readonly connectionListMembersCollection;
|
|
48
|
+
private readonly connectionMetadataCollection;
|
|
49
|
+
private readonly hubMembersCollection;
|
|
50
|
+
private readonly temporaryMutesCollection;
|
|
51
|
+
constructor(application: IApplicationWithCollections);
|
|
52
|
+
/**
|
|
53
|
+
* Resolve the effective limit from options, clamped to MAX_TIMELINE_POSTS
|
|
54
|
+
*/
|
|
55
|
+
private getLimit;
|
|
56
|
+
/**
|
|
57
|
+
* Convert a database record to the API response format
|
|
58
|
+
*/
|
|
59
|
+
private recordToPost;
|
|
60
|
+
/**
|
|
61
|
+
* Get IDs of users blocked by or blocking the given user
|
|
62
|
+
*/
|
|
63
|
+
private getBlockedUserIds;
|
|
64
|
+
/**
|
|
65
|
+
* Get IDs of users muted by the given user
|
|
66
|
+
*/
|
|
67
|
+
private getMutedUserIds;
|
|
68
|
+
/**
|
|
69
|
+
* Get IDs of users the given user follows
|
|
70
|
+
*/
|
|
71
|
+
private getFollowedUserIds;
|
|
72
|
+
/**
|
|
73
|
+
* Get IDs of users temporarily muted by the given user (active mutes only)
|
|
74
|
+
* @see Requirements: 5.12
|
|
75
|
+
*/
|
|
76
|
+
private getTemporarilyMutedUserIds;
|
|
77
|
+
/**
|
|
78
|
+
* Get IDs of priority connections for the given user
|
|
79
|
+
* @see Requirements: 5.10
|
|
80
|
+
*/
|
|
81
|
+
private getPriorityConnectionIds;
|
|
82
|
+
/**
|
|
83
|
+
* Get IDs of hubs the given user is a member of
|
|
84
|
+
* @see Requirements: 5.11
|
|
85
|
+
*/
|
|
86
|
+
private getUserHubIds;
|
|
87
|
+
/**
|
|
88
|
+
* Get connection IDs assigned to a specific category for the given user
|
|
89
|
+
* @see Requirements: 5.9
|
|
90
|
+
*/
|
|
91
|
+
private getCategoryConnectionIds;
|
|
92
|
+
/**
|
|
93
|
+
* Filter and sort posts, applying cursor pagination, blocked/muted exclusions,
|
|
94
|
+
* hub-restricted post visibility, and priority connection ordering
|
|
95
|
+
*/
|
|
96
|
+
private filterAndPaginate;
|
|
97
|
+
/**
|
|
98
|
+
* Get the home timeline for a user
|
|
99
|
+
* Returns posts from followed users and the user's own posts
|
|
100
|
+
* in reverse chronological order, with priority connections first
|
|
101
|
+
* @see Requirements: 5.1, 5.3, 5.4, 5.6, 5.7, 5.10, 5.11, 5.12
|
|
102
|
+
*/
|
|
103
|
+
getHomeTimeline(userId: string, options?: ITimelineOptions): Promise<ITimelineResult>;
|
|
104
|
+
/**
|
|
105
|
+
* Get the public timeline (recent public posts from all users)
|
|
106
|
+
* Excludes blocked users when a requesting user is provided
|
|
107
|
+
* @see Requirements: 5.2, 5.3, 5.4, 5.6, 5.7
|
|
108
|
+
*/
|
|
109
|
+
getPublicTimeline(options?: ITimelineOptions, requestingUserId?: string): Promise<ITimelineResult>;
|
|
110
|
+
/**
|
|
111
|
+
* Get a specific user's feed (their posts and reposts)
|
|
112
|
+
* Excludes blocked users when a requesting user is provided
|
|
113
|
+
* @see Requirements: 5.4, 5.5, 5.6
|
|
114
|
+
*/
|
|
115
|
+
getUserFeed(targetUserId: string, options?: ITimelineOptions, requestingUserId?: string): Promise<ITimelineResult>;
|
|
116
|
+
/**
|
|
117
|
+
* Get posts containing a specific hashtag
|
|
118
|
+
* Excludes blocked users when a requesting user is provided
|
|
119
|
+
* @see Requirements: 5.4, 5.6, 7.4
|
|
120
|
+
*/
|
|
121
|
+
getHashtagFeed(hashtag: string, options?: ITimelineOptions, requestingUserId?: string): Promise<ITimelineResult>;
|
|
122
|
+
/**
|
|
123
|
+
* Get timeline filtered by connection list members
|
|
124
|
+
* @see Requirements: 5.8, 5.11, 5.12
|
|
125
|
+
*/
|
|
126
|
+
getListTimeline(listId: string, userId: string, options?: ITimelineOptions): Promise<ITimelineResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Get timeline filtered by connection category
|
|
129
|
+
* Returns only posts from connections assigned to the given category
|
|
130
|
+
* @see Requirements: 5.9, 5.11, 5.12
|
|
131
|
+
*/
|
|
132
|
+
getCategoryTimeline(categoryId: string, userId: string, options?: ITimelineOptions): Promise<ITimelineResult>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Factory function to create a FeedService instance
|
|
136
|
+
* @param application The application with database collections
|
|
137
|
+
* @returns A new FeedService instance
|
|
138
|
+
*/
|
|
139
|
+
export declare function createFeedService(application: IApplicationWithCollections): FeedService;
|
|
140
|
+
export {};
|
|
141
|
+
//# sourceMappingURL=feedService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/feedService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FeedService = void 0;
|
|
4
|
+
exports.createFeedService = createFeedService;
|
|
5
|
+
const brighthub_lib_1 = require("@brightchain/brighthub-lib");
|
|
6
|
+
/**
|
|
7
|
+
* Feed_Service implementation
|
|
8
|
+
* Generates personalized and public timelines with filtering
|
|
9
|
+
* @see Requirements: 5.1-5.5
|
|
10
|
+
*/
|
|
11
|
+
class FeedService {
|
|
12
|
+
postsCollection;
|
|
13
|
+
followsCollection;
|
|
14
|
+
blocksCollection;
|
|
15
|
+
mutesCollection;
|
|
16
|
+
connectionListMembersCollection;
|
|
17
|
+
connectionMetadataCollection;
|
|
18
|
+
hubMembersCollection;
|
|
19
|
+
temporaryMutesCollection;
|
|
20
|
+
constructor(application) {
|
|
21
|
+
this.postsCollection = application.getModel('brighthub_posts');
|
|
22
|
+
this.followsCollection =
|
|
23
|
+
application.getModel('brighthub_follows');
|
|
24
|
+
this.blocksCollection =
|
|
25
|
+
application.getModel('brighthub_blocks');
|
|
26
|
+
this.mutesCollection = application.getModel('brighthub_mutes');
|
|
27
|
+
this.connectionListMembersCollection =
|
|
28
|
+
application.getModel('brighthub_connection_list_members');
|
|
29
|
+
this.connectionMetadataCollection =
|
|
30
|
+
application.getModel('brighthub_connection_metadata');
|
|
31
|
+
this.hubMembersCollection = application.getModel('brighthub_hub_members');
|
|
32
|
+
this.temporaryMutesCollection = application.getModel('brighthub_temporary_mutes');
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolve the effective limit from options, clamped to MAX_TIMELINE_POSTS
|
|
36
|
+
*/
|
|
37
|
+
getLimit(options) {
|
|
38
|
+
const requested = options?.limit ?? brighthub_lib_1.DEFAULT_TIMELINE_LIMIT;
|
|
39
|
+
return Math.min(Math.max(1, requested), brighthub_lib_1.MAX_TIMELINE_POSTS);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Convert a database record to the API response format
|
|
43
|
+
*/
|
|
44
|
+
recordToPost(record) {
|
|
45
|
+
return {
|
|
46
|
+
_id: record._id,
|
|
47
|
+
authorId: record.authorId,
|
|
48
|
+
content: record.content,
|
|
49
|
+
formattedContent: record.formattedContent,
|
|
50
|
+
postType: record.postType,
|
|
51
|
+
parentPostId: record.parentPostId,
|
|
52
|
+
quotedPostId: record.quotedPostId,
|
|
53
|
+
mediaAttachments: record.mediaAttachments,
|
|
54
|
+
mentions: record.mentions,
|
|
55
|
+
hashtags: record.hashtags,
|
|
56
|
+
likeCount: record.likeCount,
|
|
57
|
+
repostCount: record.repostCount,
|
|
58
|
+
replyCount: record.replyCount,
|
|
59
|
+
quoteCount: record.quoteCount,
|
|
60
|
+
isEdited: record.isEdited,
|
|
61
|
+
editedAt: record.editedAt,
|
|
62
|
+
hubIds: record.hubIds,
|
|
63
|
+
isDeleted: record.isDeleted,
|
|
64
|
+
createdAt: record.createdAt,
|
|
65
|
+
updatedAt: record.updatedAt,
|
|
66
|
+
createdBy: record.createdBy,
|
|
67
|
+
updatedBy: record.updatedBy,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get IDs of users blocked by or blocking the given user
|
|
72
|
+
*/
|
|
73
|
+
async getBlockedUserIds(userId) {
|
|
74
|
+
const blockedByMe = await this.blocksCollection
|
|
75
|
+
.find({ blockerId: userId })
|
|
76
|
+
.exec();
|
|
77
|
+
const blockedMe = await this.blocksCollection
|
|
78
|
+
.find({ blockedId: userId })
|
|
79
|
+
.exec();
|
|
80
|
+
const blockedIds = new Set();
|
|
81
|
+
for (const b of blockedByMe) {
|
|
82
|
+
blockedIds.add(b.blockedId);
|
|
83
|
+
}
|
|
84
|
+
for (const b of blockedMe) {
|
|
85
|
+
blockedIds.add(b.blockerId);
|
|
86
|
+
}
|
|
87
|
+
return blockedIds;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get IDs of users muted by the given user
|
|
91
|
+
*/
|
|
92
|
+
async getMutedUserIds(userId) {
|
|
93
|
+
const mutes = await this.mutesCollection
|
|
94
|
+
.find({ muterId: userId })
|
|
95
|
+
.exec();
|
|
96
|
+
return new Set(mutes.map((m) => m.mutedId));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get IDs of users the given user follows
|
|
100
|
+
*/
|
|
101
|
+
async getFollowedUserIds(userId) {
|
|
102
|
+
const follows = await this.followsCollection
|
|
103
|
+
.find({ followerId: userId })
|
|
104
|
+
.exec();
|
|
105
|
+
return follows.map((f) => f.followedId);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get IDs of users temporarily muted by the given user (active mutes only)
|
|
109
|
+
* @see Requirements: 5.12
|
|
110
|
+
*/
|
|
111
|
+
async getTemporarilyMutedUserIds(userId) {
|
|
112
|
+
const mutes = await this.temporaryMutesCollection
|
|
113
|
+
.find({ userId })
|
|
114
|
+
.exec();
|
|
115
|
+
const now = new Date().getTime();
|
|
116
|
+
return new Set(mutes
|
|
117
|
+
.filter((m) => new Date(m.expiresAt).getTime() > now)
|
|
118
|
+
.map((m) => m.connectionId));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get IDs of priority connections for the given user
|
|
122
|
+
* @see Requirements: 5.10
|
|
123
|
+
*/
|
|
124
|
+
async getPriorityConnectionIds(userId) {
|
|
125
|
+
const metadata = await this.connectionMetadataCollection
|
|
126
|
+
.find({ userId, isPriority: true })
|
|
127
|
+
.exec();
|
|
128
|
+
return new Set(metadata.map((m) => m.connectionId));
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get IDs of hubs the given user is a member of
|
|
132
|
+
* @see Requirements: 5.11
|
|
133
|
+
*/
|
|
134
|
+
async getUserHubIds(userId) {
|
|
135
|
+
const memberships = await this.hubMembersCollection
|
|
136
|
+
.find({ userId })
|
|
137
|
+
.exec();
|
|
138
|
+
return new Set(memberships.map((m) => m.hubId));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get connection IDs assigned to a specific category for the given user
|
|
142
|
+
* @see Requirements: 5.9
|
|
143
|
+
*/
|
|
144
|
+
async getCategoryConnectionIds(userId, categoryId) {
|
|
145
|
+
const metadata = await this.connectionMetadataCollection
|
|
146
|
+
.find({ userId })
|
|
147
|
+
.exec();
|
|
148
|
+
return new Set(metadata
|
|
149
|
+
.filter((m) => m.categoryIds && m.categoryIds.includes(categoryId))
|
|
150
|
+
.map((m) => m.connectionId));
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Filter and sort posts, applying cursor pagination, blocked/muted exclusions,
|
|
154
|
+
* hub-restricted post visibility, and priority connection ordering
|
|
155
|
+
*/
|
|
156
|
+
filterAndPaginate(posts, options) {
|
|
157
|
+
let filtered = posts.filter((p) => !p.isDeleted);
|
|
158
|
+
// Exclude blocked users
|
|
159
|
+
if (options.blockedIds && options.blockedIds.size > 0) {
|
|
160
|
+
filtered = filtered.filter((p) => !options.blockedIds.has(p.authorId));
|
|
161
|
+
}
|
|
162
|
+
// Exclude muted users
|
|
163
|
+
if (options.mutedIds && options.mutedIds.size > 0) {
|
|
164
|
+
filtered = filtered.filter((p) => !options.mutedIds.has(p.authorId));
|
|
165
|
+
}
|
|
166
|
+
// Filter to allowed authors if specified
|
|
167
|
+
if (options.allowedAuthorIds) {
|
|
168
|
+
filtered = filtered.filter((p) => options.allowedAuthorIds.has(p.authorId));
|
|
169
|
+
}
|
|
170
|
+
// Filter hub-restricted posts: only include if user is a member of at least one hub
|
|
171
|
+
// Posts without hubIds (or empty hubIds) are always visible
|
|
172
|
+
// @see Requirements: 5.11
|
|
173
|
+
if (options.userHubIds) {
|
|
174
|
+
filtered = filtered.filter((p) => {
|
|
175
|
+
if (!p.hubIds || p.hubIds.length === 0) {
|
|
176
|
+
return true; // Public post, always visible
|
|
177
|
+
}
|
|
178
|
+
// Hub-restricted: user must be a member of at least one hub
|
|
179
|
+
return p.hubIds.some((cid) => options.userHubIds.has(cid));
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
// Sort: priority connections first, then reverse chronological within each group
|
|
183
|
+
// @see Requirements: 5.10
|
|
184
|
+
if (options.priorityConnectionIds &&
|
|
185
|
+
options.priorityConnectionIds.size > 0) {
|
|
186
|
+
filtered.sort((a, b) => {
|
|
187
|
+
const aIsPriority = options.priorityConnectionIds.has(a.authorId)
|
|
188
|
+
? 1
|
|
189
|
+
: 0;
|
|
190
|
+
const bIsPriority = options.priorityConnectionIds.has(b.authorId)
|
|
191
|
+
? 1
|
|
192
|
+
: 0;
|
|
193
|
+
// Priority posts first
|
|
194
|
+
if (aIsPriority !== bIsPriority) {
|
|
195
|
+
return bIsPriority - aIsPriority;
|
|
196
|
+
}
|
|
197
|
+
// Within same priority group, reverse chronological
|
|
198
|
+
return (new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
// Sort by createdAt descending (reverse chronological)
|
|
203
|
+
filtered.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
|
204
|
+
}
|
|
205
|
+
// Apply cursor (return posts older than cursor)
|
|
206
|
+
if (options.cursor) {
|
|
207
|
+
const cursorTime = new Date(options.cursor).getTime();
|
|
208
|
+
filtered = filtered.filter((p) => new Date(p.createdAt).getTime() < cursorTime);
|
|
209
|
+
}
|
|
210
|
+
// Take limit + 1 to determine hasMore
|
|
211
|
+
const sliced = filtered.slice(0, options.limit + 1);
|
|
212
|
+
const hasMore = sliced.length > options.limit;
|
|
213
|
+
const resultPosts = sliced.slice(0, options.limit);
|
|
214
|
+
const cursor = resultPosts.length > 0
|
|
215
|
+
? resultPosts[resultPosts.length - 1].createdAt
|
|
216
|
+
: undefined;
|
|
217
|
+
return {
|
|
218
|
+
posts: resultPosts.map((r) => this.recordToPost(r)),
|
|
219
|
+
cursor,
|
|
220
|
+
hasMore,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Get the home timeline for a user
|
|
225
|
+
* Returns posts from followed users and the user's own posts
|
|
226
|
+
* in reverse chronological order, with priority connections first
|
|
227
|
+
* @see Requirements: 5.1, 5.3, 5.4, 5.6, 5.7, 5.10, 5.11, 5.12
|
|
228
|
+
*/
|
|
229
|
+
async getHomeTimeline(userId, options) {
|
|
230
|
+
const limit = this.getLimit(options);
|
|
231
|
+
// Get followed user IDs
|
|
232
|
+
const followedIds = await this.getFollowedUserIds(userId);
|
|
233
|
+
// Include the user's own posts
|
|
234
|
+
const allowedAuthorIds = new Set([userId, ...followedIds]);
|
|
235
|
+
// Get blocked and muted user IDs (permanent + temporary)
|
|
236
|
+
const blockedIds = await this.getBlockedUserIds(userId);
|
|
237
|
+
const permanentMutedIds = options?.excludeMuted !== false
|
|
238
|
+
? await this.getMutedUserIds(userId)
|
|
239
|
+
: new Set();
|
|
240
|
+
const temporaryMutedIds = options?.excludeMuted !== false
|
|
241
|
+
? await this.getTemporarilyMutedUserIds(userId)
|
|
242
|
+
: new Set();
|
|
243
|
+
// Combine permanent and temporary mutes
|
|
244
|
+
const mutedIds = new Set([...permanentMutedIds, ...temporaryMutedIds]);
|
|
245
|
+
// Get priority connections for ordering
|
|
246
|
+
const priorityConnectionIds = await this.getPriorityConnectionIds(userId);
|
|
247
|
+
// Get user's hub memberships for hub-restricted post visibility
|
|
248
|
+
const userHubIds = await this.getUserHubIds(userId);
|
|
249
|
+
// Fetch all posts (in a real system this would be a DB query with filters)
|
|
250
|
+
const allPosts = await this.postsCollection
|
|
251
|
+
.find({})
|
|
252
|
+
.exec();
|
|
253
|
+
return this.filterAndPaginate(allPosts, {
|
|
254
|
+
limit,
|
|
255
|
+
cursor: options?.cursor,
|
|
256
|
+
blockedIds,
|
|
257
|
+
mutedIds,
|
|
258
|
+
allowedAuthorIds,
|
|
259
|
+
userHubIds,
|
|
260
|
+
priorityConnectionIds,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Get the public timeline (recent public posts from all users)
|
|
265
|
+
* Excludes blocked users when a requesting user is provided
|
|
266
|
+
* @see Requirements: 5.2, 5.3, 5.4, 5.6, 5.7
|
|
267
|
+
*/
|
|
268
|
+
async getPublicTimeline(options, requestingUserId) {
|
|
269
|
+
const limit = this.getLimit(options);
|
|
270
|
+
// Get blocked user IDs if a requesting user is provided
|
|
271
|
+
const blockedIds = requestingUserId
|
|
272
|
+
? await this.getBlockedUserIds(requestingUserId)
|
|
273
|
+
: undefined;
|
|
274
|
+
// Fetch all posts
|
|
275
|
+
const allPosts = await this.postsCollection
|
|
276
|
+
.find({})
|
|
277
|
+
.exec();
|
|
278
|
+
return this.filterAndPaginate(allPosts, {
|
|
279
|
+
limit,
|
|
280
|
+
cursor: options?.cursor,
|
|
281
|
+
blockedIds,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Get a specific user's feed (their posts and reposts)
|
|
286
|
+
* Excludes blocked users when a requesting user is provided
|
|
287
|
+
* @see Requirements: 5.4, 5.5, 5.6
|
|
288
|
+
*/
|
|
289
|
+
async getUserFeed(targetUserId, options, requestingUserId) {
|
|
290
|
+
const limit = this.getLimit(options);
|
|
291
|
+
// Get blocked user IDs if a requesting user is provided
|
|
292
|
+
const blockedIds = requestingUserId
|
|
293
|
+
? await this.getBlockedUserIds(requestingUserId)
|
|
294
|
+
: undefined;
|
|
295
|
+
// Fetch posts by the target user
|
|
296
|
+
const userPosts = await this.postsCollection
|
|
297
|
+
.find({ authorId: targetUserId })
|
|
298
|
+
.exec();
|
|
299
|
+
return this.filterAndPaginate(userPosts, {
|
|
300
|
+
limit,
|
|
301
|
+
cursor: options?.cursor,
|
|
302
|
+
blockedIds,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Get posts containing a specific hashtag
|
|
307
|
+
* Excludes blocked users when a requesting user is provided
|
|
308
|
+
* @see Requirements: 5.4, 5.6, 7.4
|
|
309
|
+
*/
|
|
310
|
+
async getHashtagFeed(hashtag, options, requestingUserId) {
|
|
311
|
+
// Validate hashtag
|
|
312
|
+
const normalizedHashtag = hashtag.replace(/^#/, '').trim().toLowerCase();
|
|
313
|
+
if (!normalizedHashtag) {
|
|
314
|
+
throw new brighthub_lib_1.FeedServiceError(brighthub_lib_1.FeedErrorCode.InvalidHashtag, 'Hashtag cannot be empty');
|
|
315
|
+
}
|
|
316
|
+
const limit = this.getLimit(options);
|
|
317
|
+
// Get blocked user IDs if a requesting user is provided
|
|
318
|
+
const blockedIds = requestingUserId
|
|
319
|
+
? await this.getBlockedUserIds(requestingUserId)
|
|
320
|
+
: undefined;
|
|
321
|
+
// Fetch all posts and filter by hashtag
|
|
322
|
+
// (In a real system, this would use a DB index on hashtags)
|
|
323
|
+
const allPosts = await this.postsCollection
|
|
324
|
+
.find({})
|
|
325
|
+
.exec();
|
|
326
|
+
const hashtagPosts = allPosts.filter((p) => !p.isDeleted &&
|
|
327
|
+
p.hashtags.some((h) => h.toLowerCase() === normalizedHashtag));
|
|
328
|
+
return this.filterAndPaginate(hashtagPosts, {
|
|
329
|
+
limit,
|
|
330
|
+
cursor: options?.cursor,
|
|
331
|
+
blockedIds,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Get timeline filtered by connection list members
|
|
336
|
+
* @see Requirements: 5.8, 5.11, 5.12
|
|
337
|
+
*/
|
|
338
|
+
async getListTimeline(listId, userId, options) {
|
|
339
|
+
const limit = this.getLimit(options);
|
|
340
|
+
// Get list members
|
|
341
|
+
const members = await this.connectionListMembersCollection
|
|
342
|
+
.find({ listId })
|
|
343
|
+
.exec();
|
|
344
|
+
if (members.length === 0) {
|
|
345
|
+
return { posts: [], hasMore: false };
|
|
346
|
+
}
|
|
347
|
+
const memberIds = new Set(members.map((m) => m.userId));
|
|
348
|
+
// Get blocked and muted user IDs (permanent + temporary)
|
|
349
|
+
const blockedIds = await this.getBlockedUserIds(userId);
|
|
350
|
+
const permanentMutedIds = options?.excludeMuted !== false
|
|
351
|
+
? await this.getMutedUserIds(userId)
|
|
352
|
+
: new Set();
|
|
353
|
+
const temporaryMutedIds = options?.excludeMuted !== false
|
|
354
|
+
? await this.getTemporarilyMutedUserIds(userId)
|
|
355
|
+
: new Set();
|
|
356
|
+
const mutedIds = new Set([...permanentMutedIds, ...temporaryMutedIds]);
|
|
357
|
+
// Get user's hub memberships for hub-restricted post visibility
|
|
358
|
+
const userHubIds = await this.getUserHubIds(userId);
|
|
359
|
+
// Fetch all posts and filter to list members
|
|
360
|
+
const allPosts = await this.postsCollection
|
|
361
|
+
.find({})
|
|
362
|
+
.exec();
|
|
363
|
+
return this.filterAndPaginate(allPosts, {
|
|
364
|
+
limit,
|
|
365
|
+
cursor: options?.cursor,
|
|
366
|
+
blockedIds,
|
|
367
|
+
mutedIds,
|
|
368
|
+
allowedAuthorIds: memberIds,
|
|
369
|
+
userHubIds,
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Get timeline filtered by connection category
|
|
374
|
+
* Returns only posts from connections assigned to the given category
|
|
375
|
+
* @see Requirements: 5.9, 5.11, 5.12
|
|
376
|
+
*/
|
|
377
|
+
async getCategoryTimeline(categoryId, userId, options) {
|
|
378
|
+
const limit = this.getLimit(options);
|
|
379
|
+
// Get connection IDs assigned to this category
|
|
380
|
+
const categoryConnectionIds = await this.getCategoryConnectionIds(userId, categoryId);
|
|
381
|
+
if (categoryConnectionIds.size === 0) {
|
|
382
|
+
return { posts: [], hasMore: false };
|
|
383
|
+
}
|
|
384
|
+
// Get blocked and muted user IDs (permanent + temporary)
|
|
385
|
+
const blockedIds = await this.getBlockedUserIds(userId);
|
|
386
|
+
const permanentMutedIds = options?.excludeMuted !== false
|
|
387
|
+
? await this.getMutedUserIds(userId)
|
|
388
|
+
: new Set();
|
|
389
|
+
const temporaryMutedIds = options?.excludeMuted !== false
|
|
390
|
+
? await this.getTemporarilyMutedUserIds(userId)
|
|
391
|
+
: new Set();
|
|
392
|
+
const mutedIds = new Set([...permanentMutedIds, ...temporaryMutedIds]);
|
|
393
|
+
// Get user's hub memberships for hub-restricted post visibility
|
|
394
|
+
const userHubIds = await this.getUserHubIds(userId);
|
|
395
|
+
// Fetch all posts and filter to category connections
|
|
396
|
+
const allPosts = await this.postsCollection
|
|
397
|
+
.find({})
|
|
398
|
+
.exec();
|
|
399
|
+
return this.filterAndPaginate(allPosts, {
|
|
400
|
+
limit,
|
|
401
|
+
cursor: options?.cursor,
|
|
402
|
+
blockedIds,
|
|
403
|
+
mutedIds,
|
|
404
|
+
allowedAuthorIds: categoryConnectionIds,
|
|
405
|
+
userHubIds,
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
exports.FeedService = FeedService;
|
|
410
|
+
/**
|
|
411
|
+
* Factory function to create a FeedService instance
|
|
412
|
+
* @param application The application with database collections
|
|
413
|
+
* @returns A new FeedService instance
|
|
414
|
+
*/
|
|
415
|
+
function createFeedService(application) {
|
|
416
|
+
return new FeedService(application);
|
|
417
|
+
}
|
|
418
|
+
//# sourceMappingURL=feedService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedService.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/feedService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './connectionService';
|
|
2
|
+
export * from './discoveryService';
|
|
3
|
+
export * from './feedService';
|
|
4
|
+
export * from './messagingService';
|
|
5
|
+
export * from './notificationService';
|
|
6
|
+
export * from './postService';
|
|
7
|
+
export * from './textFormatter';
|
|
8
|
+
export * from './threadService';
|
|
9
|
+
export * from './userProfileService';
|
|
10
|
+
export * from './webSocketServer';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./connectionService"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./discoveryService"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./feedService"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./messagingService"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./notificationService"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./postService"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./textFormatter"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./threadService"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./userProfileService"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./webSocketServer"), exports);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC;AACnC,wDAA8B;AAC9B,6DAAmC;AACnC,gEAAsC;AACtC,wDAA8B;AAC9B,0DAAgC;AAChC,0DAAgC;AAChC,+DAAqC;AACrC,4DAAkC"}
|