@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.
Files changed (452) hide show
  1. package/package.json +5 -5
  2. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.d.ts.map +1 -1
  3. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js +11 -0
  4. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js.map +1 -1
  5. package/src/lib/__tests__/fixtures/mocked-model.js +63 -60
  6. package/src/lib/__tests__/fixtures/mocked-model.js.map +1 -1
  7. package/src/lib/application.d.ts +1 -1
  8. package/src/lib/application.d.ts.map +1 -1
  9. package/src/lib/application.js +113 -33
  10. package/src/lib/application.js.map +1 -1
  11. package/src/lib/auth/aclEnforcedAvailability.js +4 -0
  12. package/src/lib/auth/aclEnforcedAvailability.js.map +1 -1
  13. package/src/lib/auth/aclEnforcedBlockStore.js +7 -0
  14. package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -1
  15. package/src/lib/auth/ecdsaNodeAuthenticator.js +1 -0
  16. package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -1
  17. package/src/lib/auth/poolAclBootstrap.js +2 -0
  18. package/src/lib/auth/poolAclBootstrap.js.map +1 -1
  19. package/src/lib/auth/poolAclStore.js +2 -1
  20. package/src/lib/auth/poolAclStore.js.map +1 -1
  21. package/src/lib/auth/poolAclUpdater.js +4 -0
  22. package/src/lib/auth/poolAclUpdater.js.map +1 -1
  23. package/src/lib/availability/availabilityMetrics.js +43 -45
  24. package/src/lib/availability/availabilityMetrics.js.map +1 -1
  25. package/src/lib/availability/availabilityService.js +26 -20
  26. package/src/lib/availability/availabilityService.js.map +1 -1
  27. package/src/lib/availability/blockRegistry.js +46 -25
  28. package/src/lib/availability/blockRegistry.js.map +1 -1
  29. package/src/lib/availability/discoveryProtocol.js +10 -8
  30. package/src/lib/availability/discoveryProtocol.js.map +1 -1
  31. package/src/lib/availability/gossipService.js +56 -45
  32. package/src/lib/availability/gossipService.js.map +1 -1
  33. package/src/lib/availability/heartbeatMonitor.js +22 -20
  34. package/src/lib/availability/heartbeatMonitor.js.map +1 -1
  35. package/src/lib/availability/poolDiscoveryService.js +7 -1
  36. package/src/lib/availability/poolDiscoveryService.js.map +1 -1
  37. package/src/lib/availability/quorumGossipHandler.js +13 -6
  38. package/src/lib/availability/quorumGossipHandler.js.map +1 -1
  39. package/src/lib/availability/reconciliationService.js +18 -12
  40. package/src/lib/availability/reconciliationService.js.map +1 -1
  41. package/src/lib/blockFetch/blockFetcher.js +14 -8
  42. package/src/lib/blockFetch/blockFetcher.js.map +1 -1
  43. package/src/lib/blockFetch/fetchQueue.js +9 -7
  44. package/src/lib/blockFetch/fetchQueue.js.map +1 -1
  45. package/src/lib/blockFetch/httpBlockFetchTransport.js +2 -0
  46. package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -1
  47. package/src/lib/browserKeyring.js +5 -2
  48. package/src/lib/browserKeyring.js.map +1 -1
  49. package/src/lib/controllers/api/blocks.d.ts.map +1 -1
  50. package/src/lib/controllers/api/blocks.js +9 -3
  51. package/src/lib/controllers/api/blocks.js.map +1 -1
  52. package/src/lib/controllers/api/brighthub/connectionController.d.ts +80 -0
  53. package/src/lib/controllers/api/brighthub/connectionController.d.ts.map +1 -0
  54. package/src/lib/controllers/api/brighthub/connectionController.js +890 -0
  55. package/src/lib/controllers/api/brighthub/connectionController.js.map +1 -0
  56. package/src/lib/controllers/api/brighthub/index.d.ts +9 -0
  57. package/src/lib/controllers/api/brighthub/index.d.ts.map +1 -0
  58. package/src/lib/controllers/api/brighthub/index.js +12 -0
  59. package/src/lib/controllers/api/brighthub/index.js.map +1 -0
  60. package/src/lib/controllers/api/brighthub/messagingController.d.ts +84 -0
  61. package/src/lib/controllers/api/brighthub/messagingController.d.ts.map +1 -0
  62. package/src/lib/controllers/api/brighthub/messagingController.js +1077 -0
  63. package/src/lib/controllers/api/brighthub/messagingController.js.map +1 -0
  64. package/src/lib/controllers/api/brighthub/notificationController.d.ts +89 -0
  65. package/src/lib/controllers/api/brighthub/notificationController.d.ts.map +1 -0
  66. package/src/lib/controllers/api/brighthub/notificationController.js +444 -0
  67. package/src/lib/controllers/api/brighthub/notificationController.js.map +1 -0
  68. package/src/lib/controllers/api/brighthub/postController.d.ts +75 -0
  69. package/src/lib/controllers/api/brighthub/postController.d.ts.map +1 -0
  70. package/src/lib/controllers/api/brighthub/postController.js +388 -0
  71. package/src/lib/controllers/api/brighthub/postController.js.map +1 -0
  72. package/src/lib/controllers/api/brighthub/timelineController.d.ts +74 -0
  73. package/src/lib/controllers/api/brighthub/timelineController.d.ts.map +1 -0
  74. package/src/lib/controllers/api/brighthub/timelineController.js +418 -0
  75. package/src/lib/controllers/api/brighthub/timelineController.js.map +1 -0
  76. package/src/lib/controllers/api/brightpass.d.ts.map +1 -1
  77. package/src/lib/controllers/api/brightpass.js +46 -4
  78. package/src/lib/controllers/api/brightpass.js.map +1 -1
  79. package/src/lib/controllers/api/cbl.js +1 -0
  80. package/src/lib/controllers/api/cbl.js.map +1 -1
  81. package/src/lib/controllers/api/channels.js +2 -2
  82. package/src/lib/controllers/api/channels.js.map +1 -1
  83. package/src/lib/controllers/api/conversations.js +1 -1
  84. package/src/lib/controllers/api/conversations.js.map +1 -1
  85. package/src/lib/controllers/api/docs.js +2 -1
  86. package/src/lib/controllers/api/docs.js.map +1 -1
  87. package/src/lib/controllers/api/emails.d.ts.map +1 -1
  88. package/src/lib/controllers/api/emails.js +16 -2
  89. package/src/lib/controllers/api/emails.js.map +1 -1
  90. package/src/lib/controllers/api/explodingMessages.js +2 -4
  91. package/src/lib/controllers/api/explodingMessages.js.map +1 -1
  92. package/src/lib/controllers/api/groups.js +2 -2
  93. package/src/lib/controllers/api/groups.js.map +1 -1
  94. package/src/lib/controllers/api/health.d.ts +9 -2
  95. package/src/lib/controllers/api/health.d.ts.map +1 -1
  96. package/src/lib/controllers/api/health.js +48 -6
  97. package/src/lib/controllers/api/health.js.map +1 -1
  98. package/src/lib/controllers/api/index.d.ts +1 -0
  99. package/src/lib/controllers/api/index.d.ts.map +1 -1
  100. package/src/lib/controllers/api/index.js +1 -0
  101. package/src/lib/controllers/api/index.js.map +1 -1
  102. package/src/lib/controllers/api/introspection.js +2 -0
  103. package/src/lib/controllers/api/introspection.js.map +1 -1
  104. package/src/lib/controllers/api/messages.js +1 -1
  105. package/src/lib/controllers/api/messages.js.map +1 -1
  106. package/src/lib/controllers/api/nodes.js +6 -6
  107. package/src/lib/controllers/api/nodes.js.map +1 -1
  108. package/src/lib/controllers/api/quorum.d.ts +1 -1
  109. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  110. package/src/lib/controllers/api/quorum.js +3 -2
  111. package/src/lib/controllers/api/quorum.js.map +1 -1
  112. package/src/lib/controllers/api/scbl.js +3 -0
  113. package/src/lib/controllers/api/scbl.js.map +1 -1
  114. package/src/lib/controllers/api/sessions.d.ts +18 -2
  115. package/src/lib/controllers/api/sessions.d.ts.map +1 -1
  116. package/src/lib/controllers/api/sessions.js +60 -3
  117. package/src/lib/controllers/api/sessions.js.map +1 -1
  118. package/src/lib/controllers/api/sync.js +4 -4
  119. package/src/lib/controllers/api/sync.js.map +1 -1
  120. package/src/lib/controllers/api/user.d.ts +2 -0
  121. package/src/lib/controllers/api/user.d.ts.map +1 -1
  122. package/src/lib/controllers/api/user.js +95 -3
  123. package/src/lib/controllers/api/user.js.map +1 -1
  124. package/src/lib/controllers/identity/deviceController.js +2 -2
  125. package/src/lib/controllers/identity/deviceController.js.map +1 -1
  126. package/src/lib/controllers/identity/directoryController.js +1 -1
  127. package/src/lib/controllers/identity/directoryController.js.map +1 -1
  128. package/src/lib/controllers/identity/identityProofController.js +4 -6
  129. package/src/lib/controllers/identity/identityProofController.js.map +1 -1
  130. package/src/lib/databaseInit.d.ts +3 -3
  131. package/src/lib/databaseInit.js +5 -5
  132. package/src/lib/databaseInit.js.map +1 -1
  133. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  134. package/src/lib/datastore/block-document-store.js +18 -6
  135. package/src/lib/datastore/block-document-store.js.map +1 -1
  136. package/src/lib/datastore/document-store.d.ts.map +1 -1
  137. package/src/lib/datastore/memory-document-store.js +5 -2
  138. package/src/lib/datastore/memory-document-store.js.map +1 -1
  139. package/src/lib/encryption/encryptedMetadataService.js +2 -0
  140. package/src/lib/encryption/encryptedMetadataService.js.map +1 -1
  141. package/src/lib/encryption/encryptionAwareReplication.js +3 -0
  142. package/src/lib/encryption/encryptionAwareReplication.js.map +1 -1
  143. package/src/lib/encryption/errors.d.ts.map +1 -1
  144. package/src/lib/encryption/errors.js +8 -0
  145. package/src/lib/encryption/errors.js.map +1 -1
  146. package/src/lib/encryption/poolKeyManager.js +2 -0
  147. package/src/lib/encryption/poolKeyManager.js.map +1 -1
  148. package/src/lib/environment.js +10 -0
  149. package/src/lib/environment.js.map +1 -1
  150. package/src/lib/errors/express-validation.js +1 -0
  151. package/src/lib/errors/express-validation.js.map +1 -1
  152. package/src/lib/errors/invalid-backup-code-version.js +1 -0
  153. package/src/lib/errors/invalid-backup-code-version.js.map +1 -1
  154. package/src/lib/errors/memberIndexSchemaValidationError.js +1 -0
  155. package/src/lib/errors/memberIndexSchemaValidationError.js.map +1 -1
  156. package/src/lib/errors/missing-validated-data.js +2 -0
  157. package/src/lib/errors/missing-validated-data.js.map +1 -1
  158. package/src/lib/errors/token-not-found.js +1 -0
  159. package/src/lib/errors/token-not-found.js.map +1 -1
  160. package/src/lib/errors/typed-error-local.js +3 -0
  161. package/src/lib/errors/typed-error-local.js.map +1 -1
  162. package/src/lib/interfaces/brightpass/index.d.ts +103 -0
  163. package/src/lib/interfaces/brightpass/index.d.ts.map +1 -0
  164. package/src/lib/interfaces/brightpass/index.js +11 -0
  165. package/src/lib/interfaces/brightpass/index.js.map +1 -0
  166. package/src/lib/interfaces/environment.d.ts +1 -1
  167. package/src/lib/interfaces/environment.d.ts.map +1 -1
  168. package/src/lib/interfaces/index.d.ts +1 -0
  169. package/src/lib/interfaces/index.d.ts.map +1 -1
  170. package/src/lib/interfaces/member/memberProfileResponse.d.ts.map +1 -1
  171. package/src/lib/interfaces/member/operational.d.ts.map +1 -1
  172. package/src/lib/interfaces/member-init-config.d.ts +1 -1
  173. package/src/lib/interfaces/member-init-config.d.ts.map +1 -1
  174. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts.map +1 -1
  175. package/src/lib/interfaces/responses/api-challenge-response.d.ts.map +1 -1
  176. package/src/lib/interfaces/responses/api-code-count-response.d.ts.map +1 -1
  177. package/src/lib/interfaces/responses/api-detailed-health-response.d.ts.map +1 -1
  178. package/src/lib/interfaces/responses/api-discover-block-response.d.ts.map +1 -1
  179. package/src/lib/interfaces/responses/api-express-validation-error.d.ts.map +1 -1
  180. package/src/lib/interfaces/responses/api-get-block-response.d.ts.map +1 -1
  181. package/src/lib/interfaces/responses/api-get-node-response.d.ts.map +1 -1
  182. package/src/lib/interfaces/responses/api-health-response.d.ts.map +1 -1
  183. package/src/lib/interfaces/responses/api-list-nodes-response.d.ts.map +1 -1
  184. package/src/lib/interfaces/responses/api-login-response.d.ts.map +1 -1
  185. package/src/lib/interfaces/responses/api-members-response.d.ts.map +1 -1
  186. package/src/lib/interfaces/responses/api-mnemonic-response.d.ts.map +1 -1
  187. package/src/lib/interfaces/responses/api-reconcile-response.d.ts.map +1 -1
  188. package/src/lib/interfaces/responses/api-register-node-response.d.ts.map +1 -1
  189. package/src/lib/interfaces/responses/api-registration-response.d.ts.map +1 -1
  190. package/src/lib/interfaces/responses/api-replicate-block-response.d.ts.map +1 -1
  191. package/src/lib/interfaces/responses/api-request-user-response.d.ts.map +1 -1
  192. package/src/lib/interfaces/responses/api-store-block-response.d.ts.map +1 -1
  193. package/src/lib/interfaces/responses/api-store-cbl-response.d.ts.map +1 -1
  194. package/src/lib/interfaces/responses/api-sync-request-response.d.ts.map +1 -1
  195. package/src/lib/interfaces/responses/brighthub/api-connection-response.d.ts +21 -0
  196. package/src/lib/interfaces/responses/brighthub/api-connection-response.d.ts.map +1 -0
  197. package/src/lib/interfaces/responses/brighthub/api-connection-response.js +3 -0
  198. package/src/lib/interfaces/responses/brighthub/api-connection-response.js.map +1 -0
  199. package/src/lib/interfaces/responses/brighthub/api-messaging-response.d.ts +39 -0
  200. package/src/lib/interfaces/responses/brighthub/api-messaging-response.d.ts.map +1 -0
  201. package/src/lib/interfaces/responses/brighthub/api-messaging-response.js +3 -0
  202. package/src/lib/interfaces/responses/brighthub/api-messaging-response.js.map +1 -0
  203. package/src/lib/interfaces/responses/brighthub/api-notification-response.d.ts +30 -0
  204. package/src/lib/interfaces/responses/brighthub/api-notification-response.d.ts.map +1 -0
  205. package/src/lib/interfaces/responses/brighthub/api-notification-response.js +3 -0
  206. package/src/lib/interfaces/responses/brighthub/api-notification-response.js.map +1 -0
  207. package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts +21 -0
  208. package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts.map +1 -0
  209. package/src/lib/interfaces/responses/brighthub/api-post-response.js +3 -0
  210. package/src/lib/interfaces/responses/brighthub/api-post-response.js.map +1 -0
  211. package/src/lib/interfaces/responses/brighthub/api-timeline-response.d.ts +14 -0
  212. package/src/lib/interfaces/responses/brighthub/api-timeline-response.d.ts.map +1 -0
  213. package/src/lib/interfaces/responses/brighthub/api-timeline-response.js +3 -0
  214. package/src/lib/interfaces/responses/brighthub/api-timeline-response.js.map +1 -0
  215. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.d.ts +10 -0
  216. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.d.ts.map +1 -0
  217. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.js +3 -0
  218. package/src/lib/interfaces/responses/brighthub/api-user-profile-response.js.map +1 -0
  219. package/src/lib/interfaces/responses/brighthub/index.d.ts +13 -0
  220. package/src/lib/interfaces/responses/brighthub/index.d.ts.map +1 -0
  221. package/src/lib/interfaces/responses/brighthub/index.js +9 -0
  222. package/src/lib/interfaces/responses/brighthub/index.js.map +1 -0
  223. package/src/lib/interfaces/responses/index.d.ts +1 -0
  224. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  225. package/src/lib/interfaces/storage/storedDocumentTypes.d.ts +1 -1
  226. package/src/lib/interfaces/storage/storedDocumentTypes.js +1 -1
  227. package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -1
  228. package/src/lib/interfaces/storage/userRoleSchema.js +1 -3
  229. package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -1
  230. package/src/lib/middlewares.js +31 -31
  231. package/src/lib/middlewares.js.map +1 -1
  232. package/src/lib/nodeKeyring.js +2 -0
  233. package/src/lib/nodeKeyring.js.map +1 -1
  234. package/src/lib/plugins/brightchain-database-plugin.d.ts +14 -14
  235. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
  236. package/src/lib/plugins/brightchain-database-plugin.js +36 -34
  237. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
  238. package/src/lib/routers/api.d.ts +63 -1
  239. package/src/lib/routers/api.d.ts.map +1 -1
  240. package/src/lib/routers/api.js +126 -2
  241. package/src/lib/routers/api.js.map +1 -1
  242. package/src/lib/routers/app.d.ts.map +1 -1
  243. package/src/lib/routers/app.js +10 -1
  244. package/src/lib/routers/app.js.map +1 -1
  245. package/src/lib/routers/base.js +2 -0
  246. package/src/lib/routers/base.js.map +1 -1
  247. package/src/lib/routers/index.d.ts +1 -0
  248. package/src/lib/routers/index.d.ts.map +1 -1
  249. package/src/lib/routers/index.js +1 -0
  250. package/src/lib/routers/index.js.map +1 -1
  251. package/src/lib/routers/testEmailRouter.d.ts +15 -0
  252. package/src/lib/routers/testEmailRouter.d.ts.map +1 -0
  253. package/src/lib/routers/testEmailRouter.js +34 -0
  254. package/src/lib/routers/testEmailRouter.js.map +1 -0
  255. package/src/lib/secureEnclaveKeyring.js +4 -2
  256. package/src/lib/secureEnclaveKeyring.js.map +1 -1
  257. package/src/lib/services/auth.d.ts.map +1 -1
  258. package/src/lib/services/auth.js +11 -2
  259. package/src/lib/services/auth.js.map +1 -1
  260. package/src/lib/services/base.js +1 -0
  261. package/src/lib/services/base.js.map +1 -1
  262. package/src/lib/services/blockServiceFactory.js +2 -0
  263. package/src/lib/services/blockServiceFactory.js.map +1 -1
  264. package/src/lib/services/blockStore.js +3 -2
  265. package/src/lib/services/blockStore.js.map +1 -1
  266. package/src/lib/services/blocks.js +1 -0
  267. package/src/lib/services/blocks.js.map +1 -1
  268. package/src/lib/services/brightChainBackupCodeService.d.ts +114 -0
  269. package/src/lib/services/brightChainBackupCodeService.d.ts.map +1 -0
  270. package/src/lib/services/brightChainBackupCodeService.js +303 -0
  271. package/src/lib/services/brightChainBackupCodeService.js.map +1 -0
  272. package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
  273. package/src/lib/services/brightchain-authentication-provider.js +40 -9
  274. package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
  275. package/src/lib/services/brightchain-member-init.service.d.ts +17 -17
  276. package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
  277. package/src/lib/services/brightchain-member-init.service.js +12 -9
  278. package/src/lib/services/brightchain-member-init.service.js.map +1 -1
  279. package/src/lib/services/brighthub/connectionService.d.ts +286 -0
  280. package/src/lib/services/brighthub/connectionService.d.ts.map +1 -0
  281. package/src/lib/services/brighthub/connectionService.js +1887 -0
  282. package/src/lib/services/brighthub/connectionService.js.map +1 -0
  283. package/src/lib/services/brighthub/discoveryService.d.ts +110 -0
  284. package/src/lib/services/brighthub/discoveryService.d.ts.map +1 -0
  285. package/src/lib/services/brighthub/discoveryService.js +528 -0
  286. package/src/lib/services/brighthub/discoveryService.js.map +1 -0
  287. package/src/lib/services/brighthub/feedService.d.ts +141 -0
  288. package/src/lib/services/brighthub/feedService.d.ts.map +1 -0
  289. package/src/lib/services/brighthub/feedService.js +418 -0
  290. package/src/lib/services/brighthub/feedService.js.map +1 -0
  291. package/src/lib/services/brighthub/index.d.ts +11 -0
  292. package/src/lib/services/brighthub/index.d.ts.map +1 -0
  293. package/src/lib/services/brighthub/index.js +14 -0
  294. package/src/lib/services/brighthub/index.js.map +1 -0
  295. package/src/lib/services/brighthub/messagingService.d.ts +109 -0
  296. package/src/lib/services/brighthub/messagingService.d.ts.map +1 -0
  297. package/src/lib/services/brighthub/messagingService.js +947 -0
  298. package/src/lib/services/brighthub/messagingService.js.map +1 -0
  299. package/src/lib/services/brighthub/messagingService.test-helpers.d.ts +75 -0
  300. package/src/lib/services/brighthub/messagingService.test-helpers.d.ts.map +1 -0
  301. package/src/lib/services/brighthub/messagingService.test-helpers.js +237 -0
  302. package/src/lib/services/brighthub/messagingService.test-helpers.js.map +1 -0
  303. package/src/lib/services/brighthub/notificationService.d.ts +172 -0
  304. package/src/lib/services/brighthub/notificationService.d.ts.map +1 -0
  305. package/src/lib/services/brighthub/notificationService.js +768 -0
  306. package/src/lib/services/brighthub/notificationService.js.map +1 -0
  307. package/src/lib/services/brighthub/notificationService.test-helpers.d.ts +75 -0
  308. package/src/lib/services/brighthub/notificationService.test-helpers.d.ts.map +1 -0
  309. package/src/lib/services/brighthub/notificationService.test-helpers.js +230 -0
  310. package/src/lib/services/brighthub/notificationService.test-helpers.js.map +1 -0
  311. package/src/lib/services/brighthub/postService.d.ts +129 -0
  312. package/src/lib/services/brighthub/postService.d.ts.map +1 -0
  313. package/src/lib/services/brighthub/postService.js +470 -0
  314. package/src/lib/services/brighthub/postService.js.map +1 -0
  315. package/src/lib/services/brighthub/postService.test-helpers.d.ts +40 -0
  316. package/src/lib/services/brighthub/postService.test-helpers.d.ts.map +1 -0
  317. package/src/lib/services/brighthub/postService.test-helpers.js +84 -0
  318. package/src/lib/services/brighthub/postService.test-helpers.js.map +1 -0
  319. package/src/lib/services/brighthub/textFormatter.d.ts +64 -0
  320. package/src/lib/services/brighthub/textFormatter.d.ts.map +1 -0
  321. package/src/lib/services/brighthub/textFormatter.js +256 -0
  322. package/src/lib/services/brighthub/textFormatter.js.map +1 -0
  323. package/src/lib/services/brighthub/threadService.d.ts +79 -0
  324. package/src/lib/services/brighthub/threadService.d.ts.map +1 -0
  325. package/src/lib/services/brighthub/threadService.js +246 -0
  326. package/src/lib/services/brighthub/threadService.js.map +1 -0
  327. package/src/lib/services/brighthub/userProfileService.d.ts +203 -0
  328. package/src/lib/services/brighthub/userProfileService.d.ts.map +1 -0
  329. package/src/lib/services/brighthub/userProfileService.js +868 -0
  330. package/src/lib/services/brighthub/userProfileService.js.map +1 -0
  331. package/src/lib/services/brighthub/userProfileService.test-helpers.d.ts +86 -0
  332. package/src/lib/services/brighthub/userProfileService.test-helpers.d.ts.map +1 -0
  333. package/src/lib/services/brighthub/userProfileService.test-helpers.js +169 -0
  334. package/src/lib/services/brighthub/userProfileService.test-helpers.js.map +1 -0
  335. package/src/lib/services/brighthub/webSocketServer.d.ts +68 -0
  336. package/src/lib/services/brighthub/webSocketServer.d.ts.map +1 -0
  337. package/src/lib/services/brighthub/webSocketServer.js +194 -0
  338. package/src/lib/services/brighthub/webSocketServer.js.map +1 -0
  339. package/src/lib/services/brightpass/auditLogger.js +10 -5
  340. package/src/lib/services/brightpass/auditLogger.js.map +1 -1
  341. package/src/lib/services/brightpass/vaultEncryption.js +8 -8
  342. package/src/lib/services/brightpass/vaultEncryption.js.map +1 -1
  343. package/src/lib/services/brightpass.js +16 -8
  344. package/src/lib/services/brightpass.js.map +1 -1
  345. package/src/lib/services/cliOperatorPrompt.js +5 -2
  346. package/src/lib/services/cliOperatorPrompt.js.map +1 -1
  347. package/src/lib/services/clientWebSocketServer.d.ts +69 -4
  348. package/src/lib/services/clientWebSocketServer.d.ts.map +1 -1
  349. package/src/lib/services/clientWebSocketServer.js +188 -10
  350. package/src/lib/services/clientWebSocketServer.js.map +1 -1
  351. package/src/lib/services/contentAwareBlocksService.js +2 -0
  352. package/src/lib/services/contentAwareBlocksService.js.map +1 -1
  353. package/src/lib/services/contentIngestionService.d.ts.map +1 -1
  354. package/src/lib/services/contentIngestionService.js +2 -0
  355. package/src/lib/services/contentIngestionService.js.map +1 -1
  356. package/src/lib/services/diskQuorumService.js +3 -0
  357. package/src/lib/services/diskQuorumService.js.map +1 -1
  358. package/src/lib/services/email.js +5 -0
  359. package/src/lib/services/email.js.map +1 -1
  360. package/src/lib/services/eventNotificationSystem.d.ts +51 -10
  361. package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
  362. package/src/lib/services/eventNotificationSystem.js +76 -23
  363. package/src/lib/services/eventNotificationSystem.js.map +1 -1
  364. package/src/lib/services/expirationScheduler.js +6 -3
  365. package/src/lib/services/expirationScheduler.js.map +1 -1
  366. package/src/lib/services/fakeEmailService.d.ts +68 -0
  367. package/src/lib/services/fakeEmailService.d.ts.map +1 -0
  368. package/src/lib/services/fakeEmailService.js +110 -0
  369. package/src/lib/services/fakeEmailService.js.map +1 -0
  370. package/src/lib/services/fec.js +1 -3
  371. package/src/lib/services/fec.js.map +1 -1
  372. package/src/lib/services/fecServiceFactory.js +2 -2
  373. package/src/lib/services/fecServiceFactory.js.map +1 -1
  374. package/src/lib/services/fecUsageExample.js +1 -3
  375. package/src/lib/services/fecUsageExample.js.map +1 -1
  376. package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -1
  377. package/src/lib/services/identityExpirationScheduler.js +7 -2
  378. package/src/lib/services/identityExpirationScheduler.js.map +1 -1
  379. package/src/lib/services/index.d.ts +3 -1
  380. package/src/lib/services/index.d.ts.map +1 -1
  381. package/src/lib/services/index.js +3 -1
  382. package/src/lib/services/index.js.map +1 -1
  383. package/src/lib/services/messageEventsWebSocketHandler.js +1 -0
  384. package/src/lib/services/messageEventsWebSocketHandler.js.map +1 -1
  385. package/src/lib/services/messagePassingService.js +5 -0
  386. package/src/lib/services/messagePassingService.js.map +1 -1
  387. package/src/lib/services/nativeRsFecService.js +3 -5
  388. package/src/lib/services/nativeRsFecService.js.map +1 -1
  389. package/src/lib/services/presenceService.js +5 -4
  390. package/src/lib/services/presenceService.js.map +1 -1
  391. package/src/lib/services/quorum.js +3 -2
  392. package/src/lib/services/quorum.js.map +1 -1
  393. package/src/lib/services/quorumDatabaseAdapter.d.ts +5 -5
  394. package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
  395. package/src/lib/services/quorumDatabaseAdapter.js +5 -3
  396. package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
  397. package/src/lib/services/rbac-input-builder.js +5 -0
  398. package/src/lib/services/rbac-input-builder.js.map +1 -1
  399. package/src/lib/services/secureKeyStorage.js +3 -0
  400. package/src/lib/services/secureKeyStorage.js.map +1 -1
  401. package/src/lib/services/sessionAdapter.d.ts +4 -4
  402. package/src/lib/services/sessionAdapter.d.ts.map +1 -1
  403. package/src/lib/services/sessionAdapter.js +3 -2
  404. package/src/lib/services/sessionAdapter.js.map +1 -1
  405. package/src/lib/services/webSocketMessageServer.js +7 -4
  406. package/src/lib/services/webSocketMessageServer.js.map +1 -1
  407. package/src/lib/services/webSocketPeerProvider.js +2 -1
  408. package/src/lib/services/webSocketPeerProvider.js.map +1 -1
  409. package/src/lib/services/websocketHandler.js +9 -1
  410. package/src/lib/services/websocketHandler.js.map +1 -1
  411. package/src/lib/shared-types.d.ts +1 -2
  412. package/src/lib/shared-types.d.ts.map +1 -1
  413. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.d.ts +63 -0
  414. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.d.ts.map +1 -0
  415. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.js +160 -0
  416. package/src/lib/stores/__tests__/helpers/mockCloudBlockStore.js.map +1 -0
  417. package/src/lib/stores/availabilityAwareBlockStore.js +34 -5
  418. package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
  419. package/src/lib/stores/cloudBlockStoreBase.d.ts +121 -0
  420. package/src/lib/stores/cloudBlockStoreBase.d.ts.map +1 -0
  421. package/src/lib/stores/cloudBlockStoreBase.js +1165 -0
  422. package/src/lib/stores/cloudBlockStoreBase.js.map +1 -0
  423. package/src/lib/stores/diskBlockAsyncStore.js +9 -5
  424. package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
  425. package/src/lib/stores/diskBlockMetadataStore.js +2 -0
  426. package/src/lib/stores/diskBlockMetadataStore.js.map +1 -1
  427. package/src/lib/stores/diskBlockStore.js +10 -8
  428. package/src/lib/stores/diskBlockStore.js.map +1 -1
  429. package/src/lib/stores/diskCBLStore.d.ts.map +1 -1
  430. package/src/lib/stores/diskCBLStore.js +8 -0
  431. package/src/lib/stores/diskCBLStore.js.map +1 -1
  432. package/src/lib/stores/index.d.ts +1 -0
  433. package/src/lib/stores/index.d.ts.map +1 -1
  434. package/src/lib/stores/index.js +1 -0
  435. package/src/lib/stores/index.js.map +1 -1
  436. package/src/lib/systemKeyring.d.ts.map +1 -1
  437. package/src/lib/systemKeyring.js +5 -4
  438. package/src/lib/systemKeyring.js.map +1 -1
  439. package/src/lib/transforms/checksumTransform.js +1 -0
  440. package/src/lib/transforms/checksumTransform.js.map +1 -1
  441. package/src/lib/transforms/memoryWritableStream.js +1 -0
  442. package/src/lib/transforms/memoryWritableStream.js.map +1 -1
  443. package/src/lib/transforms/xorMultipleTransform.js +3 -0
  444. package/src/lib/transforms/xorMultipleTransform.js.map +1 -1
  445. package/src/lib/utils/rehydration.d.ts +1 -1
  446. package/src/lib/utils/rehydration.js +1 -1
  447. package/src/lib/utils/serialization.d.ts +1 -1
  448. package/src/lib/utils/serialization.js +1 -1
  449. package/src/lib/services/backupCodeService.d.ts +0 -35
  450. package/src/lib/services/backupCodeService.d.ts.map +0 -1
  451. package/src/lib/services/backupCodeService.js +0 -109
  452. 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"}