@amityco/ts-sdk 6.35.3-fa3d4ac.0 → 7.0.1-54f1ba3.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 (366) hide show
  1. package/dist/@types/core/events.d.ts +6 -6
  2. package/dist/@types/core/events.d.ts.map +1 -1
  3. package/dist/@types/core/linkPreview.d.ts +12 -0
  4. package/dist/@types/core/linkPreview.d.ts.map +1 -0
  5. package/dist/@types/domains/analytics.d.ts +0 -3
  6. package/dist/@types/domains/analytics.d.ts.map +1 -1
  7. package/dist/@types/domains/channel.d.ts +9 -33
  8. package/dist/@types/domains/channel.d.ts.map +1 -1
  9. package/dist/@types/domains/client.d.ts +0 -5
  10. package/dist/@types/domains/client.d.ts.map +1 -1
  11. package/dist/@types/domains/community.d.ts +2 -10
  12. package/dist/@types/domains/community.d.ts.map +1 -1
  13. package/dist/@types/domains/feed.d.ts +0 -11
  14. package/dist/@types/domains/feed.d.ts.map +1 -1
  15. package/dist/@types/domains/message.d.ts +0 -12
  16. package/dist/@types/domains/message.d.ts.map +1 -1
  17. package/dist/@types/domains/subChannel.d.ts +0 -4
  18. package/dist/@types/domains/subChannel.d.ts.map +1 -1
  19. package/dist/@types/domains/user.d.ts +1 -5
  20. package/dist/@types/domains/user.d.ts.map +1 -1
  21. package/dist/channelRepository/api/deleteChannel.d.ts.map +1 -1
  22. package/dist/channelRepository/api/index.d.ts +0 -1
  23. package/dist/channelRepository/api/index.d.ts.map +1 -1
  24. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
  25. package/dist/channelRepository/channelMembership/observers/getMembers/getMembers.d.ts.map +1 -1
  26. package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.d.ts.map +1 -1
  27. package/dist/channelRepository/channelMembership/observers/searchMembers/searchMembers.d.ts.map +1 -1
  28. package/dist/channelRepository/{api → internalApi}/getChannel.d.ts +2 -2
  29. package/dist/channelRepository/internalApi/getChannel.d.ts.map +1 -0
  30. package/dist/channelRepository/internalApi/getChannelByIds.d.ts +32 -0
  31. package/dist/channelRepository/internalApi/getChannelByIds.d.ts.map +1 -0
  32. package/dist/channelRepository/{api → internalApi}/markAsRead.d.ts +0 -3
  33. package/dist/channelRepository/internalApi/markAsRead.d.ts.map +1 -0
  34. package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
  35. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  36. package/dist/channelRepository/observers/index.d.ts +0 -2
  37. package/dist/channelRepository/observers/index.d.ts.map +1 -1
  38. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -1
  39. package/dist/channelRepository/utils/constructChannelObject.d.ts +2 -0
  40. package/dist/channelRepository/utils/constructChannelObject.d.ts.map +1 -0
  41. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts +1 -1
  42. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts.map +1 -1
  43. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts +1 -1
  44. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts.map +1 -1
  45. package/dist/channelRepository/utils/resolveChannels.d.ts.map +1 -1
  46. package/dist/channelRepository/utils/updateChannelCache.d.ts +1 -1
  47. package/dist/channelRepository/utils/updateChannelCache.d.ts.map +1 -1
  48. package/dist/client/api/createClient.d.ts.map +1 -1
  49. package/dist/client/api/fetchLinkPreview.d.ts +14 -0
  50. package/dist/client/api/fetchLinkPreview.d.ts.map +1 -0
  51. package/dist/client/api/index.d.ts +1 -0
  52. package/dist/client/api/index.d.ts.map +1 -1
  53. package/dist/client/observers/index.d.ts +0 -1
  54. package/dist/client/observers/index.d.ts.map +1 -1
  55. package/dist/client/utils/endpoints.d.ts +1 -1
  56. package/dist/client/utils/markerSyncEngine.d.ts +0 -4
  57. package/dist/client/utils/markerSyncEngine.d.ts.map +1 -1
  58. package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -1
  59. package/dist/commentRepository/observers/index.d.ts +0 -2
  60. package/dist/commentRepository/observers/index.d.ts.map +1 -1
  61. package/dist/communityRepository/api/index.d.ts +0 -1
  62. package/dist/communityRepository/api/index.d.ts.map +1 -1
  63. package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
  64. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.d.ts.map +1 -1
  65. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.d.ts.map +1 -1
  66. package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
  67. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts +1 -1
  68. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts.map +1 -1
  69. package/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.d.ts.map +1 -1
  70. package/dist/communityRepository/observers/getCommunities/CommunitiesPaginationController.d.ts.map +1 -1
  71. package/dist/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.d.ts.map +1 -1
  72. package/dist/communityRepository/observers/index.d.ts +0 -1
  73. package/dist/communityRepository/observers/index.d.ts.map +1 -1
  74. package/dist/communityRepository/observers/searchCommunities.d.ts +1 -1
  75. package/dist/communityRepository/observers/searchCommunities.d.ts.map +1 -1
  76. package/dist/communityRepository/utils/communityQueryFilter.d.ts.map +1 -1
  77. package/dist/core/events.d.ts +3 -3
  78. package/dist/core/events.d.ts.map +1 -1
  79. package/dist/core/model/index.d.ts +0 -1
  80. package/dist/core/model/index.d.ts.map +1 -1
  81. package/dist/core/subscription.d.ts +1 -0
  82. package/dist/core/subscription.d.ts.map +1 -1
  83. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +2 -35
  84. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
  85. package/dist/feedRepository/api/queryGlobalFeed.d.ts +2 -24
  86. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  87. package/dist/fileRepository/api/index.d.ts +0 -3
  88. package/dist/fileRepository/api/index.d.ts.map +1 -1
  89. package/dist/fileRepository/index.d.ts +0 -1
  90. package/dist/fileRepository/index.d.ts.map +1 -1
  91. package/dist/index.cjs.js +1242 -2743
  92. package/dist/index.esm.js +1241 -2743
  93. package/dist/index.umd.js +2 -2
  94. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -5
  95. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
  96. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +0 -1
  97. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts.map +1 -1
  98. package/dist/messageRepository/api/createMessage.d.ts.map +1 -1
  99. package/dist/messageRepository/api/index.d.ts +0 -1
  100. package/dist/messageRepository/api/index.d.ts.map +1 -1
  101. package/dist/messageRepository/internalApi/getMessage.d.ts.map +1 -1
  102. package/dist/messageRepository/observers/getMessages/MessageLiveCollectionController.d.ts.map +1 -1
  103. package/dist/messageRepository/observers/getMessages/MessageQueryStreamController.d.ts.map +1 -1
  104. package/dist/messageRepository/observers/getMessages/getMessages.d.ts +0 -1
  105. package/dist/messageRepository/observers/getMessages/getMessages.d.ts.map +1 -1
  106. package/dist/messageRepository/observers/index.d.ts +0 -2
  107. package/dist/messageRepository/observers/index.d.ts.map +1 -1
  108. package/dist/messageRepository/utils/getMessageFromMainDB.d.ts.map +1 -1
  109. package/dist/messageRepository/utils/index.d.ts +0 -1
  110. package/dist/messageRepository/utils/index.d.ts.map +1 -1
  111. package/dist/messageRepository/utils/prepareMessagePayload.d.ts +1 -1
  112. package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
  113. package/dist/pollRepository/observers/index.d.ts +0 -1
  114. package/dist/pollRepository/observers/index.d.ts.map +1 -1
  115. package/dist/postRepository/api/index.d.ts +0 -1
  116. package/dist/postRepository/api/index.d.ts.map +1 -1
  117. package/dist/postRepository/observers/index.d.ts +0 -2
  118. package/dist/postRepository/observers/index.d.ts.map +1 -1
  119. package/dist/role/api/queryRoles.d.ts +0 -7
  120. package/dist/role/api/queryRoles.d.ts.map +1 -1
  121. package/dist/streamRepository/api/index.d.ts +0 -2
  122. package/dist/streamRepository/api/index.d.ts.map +1 -1
  123. package/dist/streamRepository/events/onStreamFlagged.d.ts.map +1 -1
  124. package/dist/streamRepository/internalApi/getStream.d.ts.map +1 -0
  125. package/dist/subChannelRepository/utils/markReadEngine.d.ts +0 -34
  126. package/dist/subChannelRepository/utils/markReadEngine.d.ts.map +1 -1
  127. package/dist/userRepository/internalApi/queryUsers.d.ts.map +1 -1
  128. package/dist/userRepository/observers/getUsers/UserLiveCollectionController.d.ts.map +1 -1
  129. package/dist/userRepository/observers/getUsers/UserPaginationController.d.ts.map +1 -1
  130. package/dist/userRepository/observers/index.d.ts +0 -2
  131. package/dist/userRepository/observers/index.d.ts.map +1 -1
  132. package/dist/userRepository/relationship/block/index.d.ts +0 -1
  133. package/dist/userRepository/relationship/block/index.d.ts.map +1 -1
  134. package/dist/userRepository/relationship/follow/api/index.d.ts +0 -2
  135. package/dist/userRepository/relationship/follow/api/index.d.ts.map +1 -1
  136. package/dist/userRepository/relationship/follow/observers/index.d.ts +0 -3
  137. package/dist/userRepository/relationship/follow/observers/index.d.ts.map +1 -1
  138. package/dist/utils/event.d.ts.map +1 -1
  139. package/dist/utils/liveObject.d.ts +1 -1
  140. package/package.json +1 -1
  141. package/src/@types/core/events.ts +8 -9
  142. package/src/@types/core/linkPreview.ts +12 -0
  143. package/src/@types/domains/analytics.ts +0 -7
  144. package/src/@types/domains/channel.ts +15 -46
  145. package/src/@types/domains/client.ts +0 -6
  146. package/src/@types/domains/community.ts +0 -8
  147. package/src/@types/domains/feed.ts +0 -11
  148. package/src/@types/domains/message.ts +0 -12
  149. package/src/@types/domains/subChannel.ts +0 -4
  150. package/src/@types/domains/user.ts +0 -4
  151. package/src/analytic/api/queryReachUser.ts +1 -1
  152. package/src/channelRepository/api/deleteChannel.ts +3 -2
  153. package/src/channelRepository/api/getChannelByIds.ts +5 -5
  154. package/src/channelRepository/api/index.ts +0 -2
  155. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +0 -8
  156. package/src/channelRepository/channelMembership/observers/getMembers/getMembers.ts +0 -8
  157. package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.ts +0 -8
  158. package/src/channelRepository/channelMembership/observers/searchMembers/searchMembers.ts +0 -8
  159. package/src/channelRepository/{api → internalApi}/getChannel.ts +4 -4
  160. package/src/channelRepository/internalApi/getChannelByIds.ts +105 -0
  161. package/src/channelRepository/{api → internalApi}/markAsRead.ts +0 -3
  162. package/src/channelRepository/observers/getChannel.ts +36 -15
  163. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -12
  164. package/src/channelRepository/observers/index.ts +0 -2
  165. package/src/channelRepository/utils/constructChannelDynamicValue.ts +4 -9
  166. package/src/channelRepository/utils/constructChannelObject.ts +16 -0
  167. package/src/channelRepository/utils/getChannelIsMentioned.ts +4 -1
  168. package/src/channelRepository/utils/getSubChannelsUnreadCount.ts +1 -1
  169. package/src/channelRepository/utils/resolveChannels.ts +7 -2
  170. package/src/channelRepository/utils/updateChannelCache.ts +4 -1
  171. package/src/client/api/createClient.ts +0 -26
  172. package/src/client/api/fetchLinkPreview.ts +30 -0
  173. package/src/client/api/index.ts +2 -0
  174. package/src/client/observers/getUserUnread.ts +1 -1
  175. package/src/client/observers/index.ts +0 -1
  176. package/src/client/utils/endpoints.ts +1 -1
  177. package/src/client/utils/markerSyncEngine.ts +0 -9
  178. package/src/client/utils/subscribeGlobalTopic.ts +3 -0
  179. package/src/commentRepository/observers/index.ts +0 -2
  180. package/src/communityRepository/api/index.ts +0 -3
  181. package/src/communityRepository/api/queryCommunities.ts +1 -2
  182. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.ts +0 -12
  183. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.ts +0 -7
  184. package/src/communityRepository/communityMembership/observers/getMembers.ts +0 -4
  185. package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.ts +1 -1
  186. package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +0 -1
  187. package/src/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.ts +12 -16
  188. package/src/communityRepository/observers/getCommunities/CommunitiesPaginationController.ts +0 -1
  189. package/src/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.ts +0 -4
  190. package/src/communityRepository/observers/index.ts +0 -2
  191. package/src/communityRepository/observers/searchCommunities.ts +1 -1
  192. package/src/communityRepository/observers/tests/getCommunities.test.ts +0 -1
  193. package/src/communityRepository/utils/communityQueryFilter.ts +1 -8
  194. package/src/core/events.ts +7 -5
  195. package/src/core/model/index.ts +0 -1
  196. package/src/core/subscription.ts +6 -0
  197. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +8 -55
  198. package/src/feedRepository/api/queryGlobalFeed.ts +6 -58
  199. package/src/feedRepository/api/test/getCustomRankingGlobalFeed.test.ts +1 -1
  200. package/src/feedRepository/api/test/queryGlobalFeed.test.ts +1 -1
  201. package/src/fileRepository/api/index.ts +0 -5
  202. package/src/fileRepository/index.ts +0 -1
  203. package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
  204. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +2 -2
  205. package/src/messageRepository/api/createMessage.ts +5 -8
  206. package/src/messageRepository/api/index.ts +0 -2
  207. package/src/messageRepository/api/tests/createMessage.test.ts +6 -1
  208. package/src/messageRepository/api/tests/deleteMessage.test.ts +5 -1
  209. package/src/messageRepository/internalApi/getMessage.ts +0 -6
  210. package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +0 -20
  211. package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +4 -14
  212. package/src/messageRepository/observers/getMessages/getMessages.ts +0 -54
  213. package/src/messageRepository/observers/index.ts +0 -3
  214. package/src/messageRepository/utils/getMessageFromMainDB.ts +5 -9
  215. package/src/messageRepository/utils/index.ts +0 -1
  216. package/src/messageRepository/utils/prepareMessagePayload.ts +18 -29
  217. package/src/pollRepository/observers/index.ts +0 -1
  218. package/src/postRepository/api/index.ts +0 -1
  219. package/src/postRepository/observers/index.ts +0 -2
  220. package/src/role/api/queryRoles.ts +1 -13
  221. package/src/streamRepository/api/deleteStream.ts +1 -1
  222. package/src/streamRepository/api/index.ts +0 -4
  223. package/src/streamRepository/api/tests/getStream.test.ts +1 -1
  224. package/src/streamRepository/events/onStreamFlagged.ts +1 -6
  225. package/src/streamRepository/events/onStreamRecorded.ts +1 -1
  226. package/src/streamRepository/events/onStreamStarted.ts +1 -1
  227. package/src/streamRepository/events/onStreamStopped.ts +1 -1
  228. package/src/streamRepository/events/onStreamTerminated.ts +1 -1
  229. package/src/streamRepository/observers/getStreamById.ts +1 -1
  230. package/src/subChannelRepository/utils/markReadEngine.ts +0 -106
  231. package/src/userRepository/internalApi/queryUsers.ts +1 -9
  232. package/src/userRepository/observers/getUsers/UserLiveCollectionController.ts +12 -16
  233. package/src/userRepository/observers/getUsers/UserPaginationController.ts +1 -2
  234. package/src/userRepository/observers/index.ts +0 -2
  235. package/src/userRepository/observers/tests/getUsers.test.ts +1 -43
  236. package/src/userRepository/relationship/block/index.ts +0 -1
  237. package/src/userRepository/relationship/follow/api/index.ts +0 -4
  238. package/src/userRepository/relationship/follow/observers/index.ts +0 -4
  239. package/src/utils/event.ts +2 -19
  240. package/src/utils/linkedObject/channelLinkedObject.ts +1 -1
  241. package/src/utils/liveObject.ts +2 -2
  242. package/dist/channelRepository/api/getChannel.d.ts.map +0 -1
  243. package/dist/channelRepository/api/markAsRead.d.ts.map +0 -1
  244. package/dist/channelRepository/observers/observeChannel.d.ts +0 -18
  245. package/dist/channelRepository/observers/observeChannel.d.ts.map +0 -1
  246. package/dist/channelRepository/observers/observeChannels.d.ts +0 -17
  247. package/dist/channelRepository/observers/observeChannels.d.ts.map +0 -1
  248. package/dist/client/observers/getTotalUnreadCount.d.ts +0 -20
  249. package/dist/client/observers/getTotalUnreadCount.d.ts.map +0 -1
  250. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts +0 -2
  251. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts.map +0 -1
  252. package/dist/commentRepository/observers/observeComment.d.ts +0 -18
  253. package/dist/commentRepository/observers/observeComment.d.ts.map +0 -1
  254. package/dist/commentRepository/observers/observeComments.d.ts +0 -26
  255. package/dist/commentRepository/observers/observeComments.d.ts.map +0 -1
  256. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts +0 -35
  257. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts.map +0 -1
  258. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts +0 -2
  259. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts.map +0 -1
  260. package/dist/communityRepository/observers/observeCommunity.d.ts +0 -18
  261. package/dist/communityRepository/observers/observeCommunity.d.ts.map +0 -1
  262. package/dist/core/model/localReferenceId.d.ts +0 -2
  263. package/dist/core/model/localReferenceId.d.ts.map +0 -1
  264. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts +0 -8
  265. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts.map +0 -1
  266. package/dist/feedRepository/internalApi/index.d.ts +0 -3
  267. package/dist/feedRepository/internalApi/index.d.ts.map +0 -1
  268. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts +0 -9
  269. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts.map +0 -1
  270. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts +0 -2
  271. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts.map +0 -1
  272. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts +0 -2
  273. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts.map +0 -1
  274. package/dist/fileRepository/api/createFile.d.ts +0 -17
  275. package/dist/fileRepository/api/createFile.d.ts.map +0 -1
  276. package/dist/fileRepository/api/createImage.d.ts +0 -17
  277. package/dist/fileRepository/api/createImage.d.ts.map +0 -1
  278. package/dist/fileRepository/api/createVideo.d.ts +0 -18
  279. package/dist/fileRepository/api/createVideo.d.ts.map +0 -1
  280. package/dist/fileRepository/observers/index.d.ts +0 -2
  281. package/dist/fileRepository/observers/index.d.ts.map +0 -1
  282. package/dist/fileRepository/observers/observeFile.d.ts +0 -18
  283. package/dist/fileRepository/observers/observeFile.d.ts.map +0 -1
  284. package/dist/messageRepository/api/getMessage.d.ts +0 -32
  285. package/dist/messageRepository/api/getMessage.d.ts.map +0 -1
  286. package/dist/messageRepository/api/getMessages.d.ts +0 -32
  287. package/dist/messageRepository/api/getMessages.d.ts.map +0 -1
  288. package/dist/messageRepository/observers/observeMessage.d.ts +0 -21
  289. package/dist/messageRepository/observers/observeMessage.d.ts.map +0 -1
  290. package/dist/messageRepository/observers/observeMessages.d.ts +0 -23
  291. package/dist/messageRepository/observers/observeMessages.d.ts.map +0 -1
  292. package/dist/messageRepository/utils/getMessageIdentifierIds.d.ts +0 -2
  293. package/dist/messageRepository/utils/getMessageIdentifierIds.d.ts.map +0 -1
  294. package/dist/pollRepository/observers/observePoll.d.ts +0 -18
  295. package/dist/pollRepository/observers/observePoll.d.ts.map +0 -1
  296. package/dist/postRepository/api/updatePost.d.ts +0 -24
  297. package/dist/postRepository/api/updatePost.d.ts.map +0 -1
  298. package/dist/postRepository/observers/observePost.d.ts +0 -18
  299. package/dist/postRepository/observers/observePost.d.ts.map +0 -1
  300. package/dist/postRepository/observers/observePosts.d.ts +0 -34
  301. package/dist/postRepository/observers/observePosts.d.ts.map +0 -1
  302. package/dist/streamRepository/api/getStream.d.ts.map +0 -1
  303. package/dist/streamRepository/api/queryStreams.d.ts +0 -25
  304. package/dist/streamRepository/api/queryStreams.d.ts.map +0 -1
  305. package/dist/userRepository/observers/getViewedUsers.d.ts +0 -7
  306. package/dist/userRepository/observers/getViewedUsers.d.ts.map +0 -1
  307. package/dist/userRepository/observers/observeUser.d.ts +0 -17
  308. package/dist/userRepository/observers/observeUser.d.ts.map +0 -1
  309. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts +0 -2
  310. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts.map +0 -1
  311. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +0 -2
  312. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +0 -1
  313. package/dist/userRepository/relationship/block/observers/index.d.ts +0 -2
  314. package/dist/userRepository/relationship/block/observers/index.d.ts.map +0 -1
  315. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +0 -19
  316. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +0 -1
  317. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +0 -19
  318. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +0 -1
  319. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +0 -18
  320. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +0 -1
  321. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +0 -18
  322. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +0 -1
  323. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +0 -18
  324. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +0 -1
  325. package/src/channelRepository/observers/observeChannel.ts +0 -109
  326. package/src/channelRepository/observers/observeChannels.ts +0 -74
  327. package/src/client/observers/getTotalUnreadCount.ts +0 -53
  328. package/src/client/observers/tests/getTotalUnreadCount.test.ts +0 -101
  329. package/src/commentRepository/observers/observeComment.ts +0 -102
  330. package/src/commentRepository/observers/observeComments.ts +0 -77
  331. package/src/communityRepository/api/getTopTrendingCommunities.ts +0 -97
  332. package/src/communityRepository/api/test/getTopTrendingCommunities.test.ts +0 -102
  333. package/src/communityRepository/observers/observeCommunity.ts +0 -103
  334. package/src/core/model/localReferenceId.ts +0 -12
  335. package/src/feedRepository/internalApi/getCustomRankingGlobalFeed.ts +0 -87
  336. package/src/feedRepository/internalApi/index.ts +0 -2
  337. package/src/feedRepository/internalApi/queryGlobalFeed.ts +0 -95
  338. package/src/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.ts +0 -138
  339. package/src/feedRepository/internalApi/test/queryGlobalFeed.test.ts +0 -130
  340. package/src/fileRepository/api/createFile.ts +0 -59
  341. package/src/fileRepository/api/createImage.ts +0 -59
  342. package/src/fileRepository/api/createVideo.ts +0 -69
  343. package/src/fileRepository/observers/index.ts +0 -1
  344. package/src/fileRepository/observers/observeFile.ts +0 -49
  345. package/src/messageRepository/api/getMessage.ts +0 -102
  346. package/src/messageRepository/api/getMessages.ts +0 -83
  347. package/src/messageRepository/observers/observeMessage.ts +0 -94
  348. package/src/messageRepository/observers/observeMessages.ts +0 -89
  349. package/src/messageRepository/utils/getMessageIdentifierIds.ts +0 -37
  350. package/src/pollRepository/observers/observePoll.ts +0 -67
  351. package/src/postRepository/api/updatePost.ts +0 -63
  352. package/src/postRepository/observers/observePost.ts +0 -115
  353. package/src/postRepository/observers/observePosts.ts +0 -86
  354. package/src/streamRepository/api/queryStreams.ts +0 -63
  355. package/src/userRepository/observers/getViewedUsers.ts +0 -99
  356. package/src/userRepository/observers/observeUser.ts +0 -71
  357. package/src/userRepository/observers/tests/getViewedUsers.test.ts +0 -39
  358. package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +0 -13
  359. package/src/userRepository/relationship/block/observers/index.ts +0 -1
  360. package/src/userRepository/relationship/follow/api/acceptFollower.ts +0 -40
  361. package/src/userRepository/relationship/follow/api/declineFollower.ts +0 -40
  362. package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +0 -64
  363. package/src/userRepository/relationship/follow/observers/observeFollowers.ts +0 -74
  364. package/src/userRepository/relationship/follow/observers/observeFollowings.ts +0 -74
  365. /package/dist/streamRepository/{api → internalApi}/getStream.d.ts +0 -0
  366. /package/src/streamRepository/{api → internalApi}/getStream.ts +0 -0
@@ -1,109 +0,0 @@
1
- import { createQuery, runQuery } from '~/core/query/query';
2
-
3
- import { getActiveClient } from '~/client/api';
4
- import { onChannelMarkerFetched } from '~/marker/events';
5
- import { convertEventPayload } from '~/utils/event';
6
-
7
- import { getChannel } from '../api/getChannel';
8
-
9
- import {
10
- onChannelUpdated,
11
- onChannelDeleted,
12
- onChannelJoined,
13
- onChannelLeft,
14
- onChannelMuted,
15
- onChannelMemberAdded,
16
- onChannelMemberRemoved,
17
- } from '../events';
18
- import { LinkedObject } from '~/utils/linkedObject';
19
- import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
20
-
21
- /**
22
- * ```js
23
- * import { observeChannel } from '@amityco/ts-sdk'
24
- *
25
- * let channel = {}
26
- * const dispose = observeChannel(channelId, ({ data }) => channel = data)
27
- * ```
28
- *
29
- * Observe all mutation on a given {@link Amity.Channel}
30
- *
31
- * @param channelId the ID of the channel to observe
32
- * @param callback the function to call when new data are available
33
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the channel
34
- *
35
- * @category Channel Observer
36
- */
37
- export const observeChannel = <Events extends [Exclude<Amity.ChannelActionType, 'onCreate'>]>(
38
- channelId: string,
39
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.Channel>, Events>,
40
- ): Amity.Unsubscriber => {
41
- const { log } = getActiveClient();
42
-
43
- const timestamp = Date.now();
44
- log(`observeChannel(tmpid: ${timestamp}) > listen`);
45
-
46
- // wrapper function to make sure
47
- const router = (result: Amity.Snapshot<Amity.StaticInternalChannel>, action: Events[number]) => {
48
- // filter function
49
- if (result.data?.channelId !== channelId) return;
50
-
51
- if (callback instanceof Function)
52
- return callback({
53
- ...result,
54
- data: LinkedObject.channel(constructChannelDynamicValue(result.data)),
55
- });
56
-
57
- if (action !== 'onFetch')
58
- callback.onEvent?.(action, {
59
- ...result,
60
- data: LinkedObject.channel(constructChannelDynamicValue(result.data)),
61
- });
62
-
63
- callback[action]?.({
64
- ...result,
65
- data: LinkedObject.channel(constructChannelDynamicValue(result.data)),
66
- });
67
- };
68
-
69
- const disposers: Amity.Unsubscriber[] = [];
70
-
71
- disposers.push(
72
- onChannelUpdated(data =>
73
- router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnUpdate),
74
- ),
75
- onChannelDeleted(data =>
76
- router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnDelete),
77
- ),
78
- onChannelJoined(data =>
79
- router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnJoin),
80
- ),
81
- onChannelLeft(data =>
82
- router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnLeft),
83
- ),
84
- onChannelMuted(data =>
85
- router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnMute),
86
- ),
87
- onChannelMemberAdded(data =>
88
- router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnMemberAdded),
89
- ),
90
- onChannelMemberRemoved(data =>
91
- router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnMemberRemoved),
92
- ),
93
- convertEventPayload(
94
- onChannelMarkerFetched,
95
- 'entityId',
96
- 'channel',
97
- )(data => router({ data, loading: false, origin: 'event' }, Amity.ChannelActionType.OnUpdate)),
98
- );
99
-
100
- runQuery(
101
- createQuery(getChannel, channelId),
102
- result => result.data && router(result, Amity.ChannelActionType.OnFetch),
103
- );
104
-
105
- return () => {
106
- log(`observeChannel(tmpid: ${timestamp}) > dispose`);
107
- disposers.forEach(fn => fn());
108
- };
109
- };
@@ -1,74 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
- import { onChannelMarkerFetched } from '~/marker/events';
3
- import { convertEventPayload } from '~/utils/event';
4
-
5
- import {
6
- onChannelCreated,
7
- onChannelUpdated,
8
- onChannelDeleted,
9
- onChannelJoined,
10
- onChannelLeft,
11
- onChannelMuted,
12
- onChannelMemberAdded,
13
- onChannelMemberRemoved,
14
- } from '../events';
15
- import { LinkedObject } from '~/utils/linkedObject';
16
- import { constructChannelDynamicValue } from '../utils/constructChannelDynamicValue';
17
-
18
- /**
19
- * ```js
20
- * import { observeChannels } from '@amityco/ts-sdk'
21
- *
22
- * let channels = []
23
- * const unsub = observeChannels(channel => merge(channels, channel))
24
- * ```
25
- *
26
- * Observe all mutations on a list of {@link Amity.Channel} for a current user
27
- *
28
- * @param callback the function to call when new data are available
29
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the channels
30
- *
31
- * @category Channel Observer
32
- */
33
- export const observeChannels = (
34
- callback: Amity.ObjectListener<Amity.Channel, [Exclude<Amity.ChannelActionType, 'onFetch'>]>,
35
- ): Amity.Unsubscriber => {
36
- const { log } = getActiveClient();
37
-
38
- const timestamp = Date.now();
39
- log(`observeChannels(tmpid: ${timestamp}) > listen`);
40
-
41
- const disposers: Amity.Unsubscriber[] = [];
42
-
43
- const router = (
44
- channel: Amity.StaticInternalChannel,
45
- action: Exclude<Amity.ChannelActionType, 'onFetch'>,
46
- ) => {
47
- if (callback instanceof Function)
48
- return callback(LinkedObject.channel(constructChannelDynamicValue(channel)));
49
-
50
- callback.onEvent?.(action, LinkedObject.channel(constructChannelDynamicValue(channel)));
51
- callback[action]?.(LinkedObject.channel(constructChannelDynamicValue(channel)));
52
- };
53
-
54
- disposers.push(
55
- onChannelCreated(data => router(data, Amity.ChannelActionType.OnCreate)),
56
- onChannelUpdated(data => router(data, Amity.ChannelActionType.OnUpdate)),
57
- onChannelDeleted(data => router(data, Amity.ChannelActionType.OnDelete)),
58
- onChannelJoined(data => router(data, Amity.ChannelActionType.OnJoin)),
59
- onChannelLeft(data => router(data, Amity.ChannelActionType.OnLeft)),
60
- onChannelMuted(data => router(data, Amity.ChannelActionType.OnMute)),
61
- onChannelMemberAdded(data => router(data, Amity.ChannelActionType.OnMemberAdded)),
62
- onChannelMemberRemoved(data => router(data, Amity.ChannelActionType.OnMemberRemoved)),
63
- convertEventPayload(
64
- onChannelMarkerFetched,
65
- 'entityId',
66
- 'channel',
67
- )(data => router(data, Amity.ChannelActionType.OnUpdate)),
68
- );
69
-
70
- return () => {
71
- log(`observeChannels(tmpid: ${timestamp}) > dispose`);
72
- disposers.forEach(fn => fn());
73
- };
74
- };
@@ -1,53 +0,0 @@
1
- import { ASCError } from '~/core/errors';
2
- import { getUserMarker } from '~/marker/api';
3
- import { onUserMarkerFetchedLegacy } from '~/marker/events';
4
- import { liveObject } from '~/utils/liveObject';
5
-
6
- import { getActiveUser } from '../api';
7
-
8
- /**
9
- * @deprecated Please use unreadCount from `getUserUnread` instead.
10
- *
11
- * ```js
12
- * import { getTotalUnreadCount } from '@amityco/ts-sdk';
13
- *
14
- * const unsubscribe = getTotalUnreadCount(response => {
15
- * totalUnreadCount = response.data;
16
- * });
17
- * ```
18
- *
19
- * Observe current user's unread count from {@link Amity.UserMarker}
20
- *
21
- * @param callback the function to call when new data are available
22
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the events
23
- *
24
- * @category Message Live Object
25
- */
26
- export const getTotalUnreadCount = (
27
- callback: Amity.LiveObjectCallback<number>,
28
- ): Amity.Unsubscriber => {
29
- const { _id: userId } = getActiveUser();
30
-
31
- if (!userId)
32
- throw new ASCError(
33
- 'The _id has not been defined in ActiveUser',
34
- Amity.ClientError.UNKNOWN_ERROR,
35
- Amity.ErrorLevel.ERROR,
36
- );
37
-
38
- const callbackDataSelector = (data: Amity.UserMarker | undefined) => data?.unreadCount ?? 0;
39
-
40
- return liveObject(
41
- userId,
42
- callback,
43
- 'userId',
44
- async (): Promise<Amity.Cached<Amity.UserMarker>> => {
45
- const { data: userMarker, cachedAt } = await getUserMarker();
46
- return { data: userMarker as Amity.UserMarker, cachedAt };
47
- },
48
- [onUserMarkerFetchedLegacy],
49
- {
50
- callbackDataSelector,
51
- },
52
- );
53
- };
@@ -1,101 +0,0 @@
1
- import { getActiveUser, setActiveUser } from '~/client/api/activeUser';
2
- import { getTotalUnreadCount } from '~/client/observers';
3
- import { disableCache, enableCache } from '~/cache/api';
4
- import { pause, client, connectClient, disconnectClient, generateUserMarker } from '~/utils/tests';
5
-
6
- const refreshUpdateTime = <T extends ValueOf<Amity.Events>>(eventPayload: T): T => {
7
- if (!eventPayload) return eventPayload;
8
-
9
- // @ts-ignore
10
- return Object.fromEntries(
11
- Object.entries(eventPayload).map(([k, v]) => [
12
- k,
13
- v.map((model: Amity.Model) => ({
14
- ...model,
15
- updatedAt: Date.now(),
16
- })),
17
- ]),
18
- );
19
- };
20
-
21
- const userId = 'user1';
22
- const userMarkerResponse = {
23
- data: { userMarkers: [generateUserMarker({ userId, unreadCount: 0 })] },
24
- };
25
-
26
- describe('getTotalUnreadCount', () => {
27
- beforeAll(async () => {
28
- await connectClient();
29
-
30
- // overwrite active userId with test id
31
- setActiveUser({ ...getActiveUser(), _id: userId });
32
- });
33
-
34
- afterAll(disconnectClient);
35
-
36
- beforeEach(enableCache);
37
- afterEach(disableCache);
38
-
39
- const events: [string, keyof Amity.Events, ValueOf<Amity.Events>, any][] = [
40
- [
41
- 'it should return correct payload on `onUserMarkerFetched`',
42
- 'local.userMarker.fetched',
43
- {
44
- userMarkers: [generateUserMarker({ userId, unreadCount: 2 })],
45
- },
46
- {
47
- origin: 'event',
48
- loading: false,
49
- data: 2,
50
- },
51
- ],
52
- ];
53
-
54
- test.each(events)('%s', async (test, event, eventPayload, expected) => {
55
- const callback = jest.fn();
56
- client.http.get = jest.fn().mockResolvedValueOnce(userMarkerResponse);
57
-
58
- getTotalUnreadCount(callback);
59
-
60
- await pause();
61
-
62
- expect(callback).toHaveBeenCalledTimes(2);
63
- // on initial, expect 0 unread count
64
- expect(callback).toHaveBeenLastCalledWith({
65
- origin: 'server',
66
- loading: false,
67
- error: undefined,
68
- data: 0,
69
- });
70
-
71
- client.emitter.emit(event, refreshUpdateTime(eventPayload));
72
-
73
- await pause();
74
-
75
- expect(callback).toHaveBeenCalledTimes(3);
76
- expect(callback).toHaveBeenLastCalledWith(expected);
77
- });
78
-
79
- test('it should filter out duplicated callback', async () => {
80
- const callback = jest.fn();
81
- client.http.get = jest.fn().mockResolvedValueOnce(userMarkerResponse);
82
-
83
- const eventPayload = {
84
- userMarkers: [generateUserMarker({ userId, unreadCount: 2 })],
85
- };
86
-
87
- getTotalUnreadCount(callback);
88
-
89
- await pause();
90
-
91
- // initial callback
92
- expect(callback).toHaveBeenCalledTimes(2);
93
-
94
- // emit duplicated event
95
- client.emitter.emit('local.userMarker.fetched', refreshUpdateTime(eventPayload));
96
-
97
- await pause();
98
-
99
- expect(callback).toHaveBeenCalledTimes(3);
100
- });
101
- });
@@ -1,102 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { createQuery, queryOptions, runQuery } from '~/core/query';
4
-
5
- import { getComment } from '../internalApi/getComment';
6
-
7
- import {
8
- onCommentDeleted,
9
- onCommentFlagged,
10
- onCommentReactionAdded,
11
- onCommentReactionRemoved,
12
- onCommentUnflagged,
13
- onCommentUpdated,
14
- } from '../events';
15
-
16
- /**
17
- * ```js
18
- * import { observeComment } from '@amityco/ts-sdk'
19
- *
20
- * let comment = {}
21
- * const dispose = observeComment(commentId, ({ data }) => comment = data)
22
- * ```
23
- *
24
- * Observe all mutation on a given {@link Amity.InternalComment}
25
- *
26
- * @param commentId the ID of the comment to observe
27
- * @param callback the function to call when new data are available
28
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the comment
29
- *
30
- * @category InternalComment Observer
31
- */
32
- export const observeComment = <
33
- Events extends [
34
- 'onFetch',
35
- 'onUpdate',
36
- 'onDelete',
37
- 'onFlagged',
38
- 'onUnflagged',
39
- 'onReactionAdded',
40
- 'onReactionRemoved',
41
- ],
42
- >(
43
- commentId: string,
44
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.InternalComment | undefined>, Events>,
45
- policy: Amity.QueryPolicy = 'cache_then_server',
46
- ): Amity.Unsubscriber => {
47
- const { log } = getActiveClient();
48
-
49
- const timestamp = Date.now();
50
- log(`observeComment(tmpid: ${timestamp}) > listen`);
51
-
52
- // wrapper function to make sure
53
- const router = (
54
- result: Amity.Snapshot<Amity.InternalComment | undefined>,
55
- action: Events[number],
56
- ) => {
57
- if (callback instanceof Function) return callback(result);
58
-
59
- if (action !== 'onFetch') callback.onEvent?.(action, result);
60
-
61
- callback[action]?.(result);
62
- };
63
-
64
- const realtimeRouter = (
65
- result: Amity.Snapshot<Amity.InternalComment>,
66
- action: Events[number],
67
- ) => {
68
- if (result.data?.commentId !== commentId) return;
69
-
70
- router(result, action);
71
- };
72
-
73
- const disposers: Amity.Unsubscriber[] = [];
74
-
75
- disposers.push(
76
- onCommentUpdated(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onUpdate')),
77
- onCommentDeleted(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onDelete')),
78
- onCommentFlagged(data =>
79
- realtimeRouter({ data, loading: false, origin: 'event' }, 'onFlagged'),
80
- ),
81
- onCommentUnflagged(data =>
82
- realtimeRouter({ data, loading: false, origin: 'event' }, 'onUnflagged'),
83
- ),
84
- onCommentReactionAdded(data =>
85
- realtimeRouter({ data, loading: false, origin: 'event' }, 'onReactionAdded'),
86
- ),
87
- onCommentReactionRemoved(data =>
88
- realtimeRouter({ data, loading: false, origin: 'event' }, 'onReactionRemoved'),
89
- ),
90
- );
91
-
92
- runQuery(
93
- createQuery(getComment, commentId),
94
- result => (result.data || result.error) && router(result, 'onFetch'),
95
- queryOptions(policy),
96
- );
97
-
98
- return () => {
99
- log(`observeComment(tmpid: ${timestamp}) > dispose`);
100
- disposers.forEach(fn => fn());
101
- };
102
- };
@@ -1,77 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import {
4
- onCommentCreated,
5
- onCommentDeleted,
6
- onCommentFlagged,
7
- onCommentReactionAdded,
8
- onCommentReactionRemoved,
9
- onCommentUnflagged,
10
- onCommentUpdated,
11
- } from '../events';
12
-
13
- /**
14
- * ```js
15
- * import { observeComments } from '@amityco/ts-sdk'
16
- *
17
- * let comments = []
18
- * const unsub = observeComments(postId, comment => merge(comments, comment))
19
- * ```
20
- *
21
- * Observe all mutations on a list of {@link Amity.InternalComment} for a given {@link Amity.Post} object
22
- *
23
- * @param postId the ID of the post where to observe the comments
24
- * @param callback the function to call when new data are available
25
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the comments
26
- *
27
- * @category InternalComment Observer
28
- */
29
- export const observeComments = (
30
- postId: Amity.Post['postId'],
31
- callback: Amity.ObjectListener<
32
- Amity.InternalComment,
33
- [
34
- 'onCreate',
35
- 'onUpdate',
36
- 'onDelete',
37
- 'onFlagged',
38
- 'onUnflagged',
39
- 'onReactionAdded',
40
- 'onReactionRemoved',
41
- ]
42
- >,
43
- ): Amity.Unsubscriber => {
44
- const { log } = getActiveClient();
45
-
46
- const timestamp = Date.now();
47
- log(`observeComments(tmpid: ${timestamp}) > listen`);
48
-
49
- const disposers: Amity.Unsubscriber[] = [];
50
-
51
- const router = (
52
- comment: Amity.InternalComment,
53
- action: Exclude<Amity.CommentActionType, 'onFetch'>,
54
- ) => {
55
- if (comment.referenceId !== postId) return;
56
-
57
- if (callback instanceof Function) return callback(comment);
58
-
59
- callback.onEvent?.(action, comment);
60
- callback[action]?.(comment);
61
- };
62
-
63
- disposers.push(
64
- onCommentCreated(comment => router(comment, 'onCreate')),
65
- onCommentUpdated(comment => router(comment, 'onUpdate')),
66
- onCommentDeleted(comment => router(comment, 'onDelete')),
67
- onCommentFlagged(comment => router(comment, 'onFlagged')),
68
- onCommentUnflagged(comment => router(comment, 'onUnflagged')),
69
- onCommentReactionAdded(comment => router(comment, 'onReactionAdded')),
70
- onCommentReactionRemoved(comment => router(comment, 'onReactionRemoved')),
71
- );
72
-
73
- return () => {
74
- log(`observeComments(tmpid: ${timestamp}) > dispose`);
75
- disposers.forEach(fn => fn());
76
- };
77
- };
@@ -1,97 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { getResolver } from '~/core/model';
4
- import { pullFromCache, pushToCache } from '~/cache/api';
5
- import { ingestInCache } from '~/cache/api/ingestInCache';
6
-
7
- import { prepareCommunityPayload } from '../utils';
8
-
9
- /* begin_public_function
10
- id: community.query.trending_communities
11
- */
12
- /**
13
- * @deprecated This API renamed to `getTrendingCommunities()`.
14
- * Please use getTrendingCommunities() instead.
15
- *
16
- * ```js
17
- * import { CommunityRepository } from '@amityco/ts-sdk'
18
- * const trendingCommunities = await CommunityRepository.getTrendingCommunities()
19
- * ```
20
- *
21
- * Gets a list of top trending {@link Amity.Community} objects
22
- *
23
- * @param query The query parameters
24
- * @returns A list of {@link Amity.Community} objects
25
- *
26
- * @category Community API
27
- * @async
28
- */
29
- export const getTopTrendingCommunities = async (
30
- query?: Partial<Amity.PageLimit>,
31
- ): Promise<Amity.Cached<Amity.Community[]>> => {
32
- const client = getActiveClient();
33
- client.log('channel/getTopTrendingCommunities', query);
34
-
35
- const { limit = 5 } = query ?? {};
36
-
37
- // API-FIX: backend doesnt answer Amity.Response
38
- // const { data } = await client.http.get<Amity.Response<CommunityPayload>>(
39
- const { data: payload } = await client.http.get<Amity.CommunityPayload>(
40
- `/api/v3/communities/top-trending`,
41
- { params: { options: { limit } } },
42
- );
43
-
44
- const data = prepareCommunityPayload(payload);
45
- const { communities } = data;
46
-
47
- const cachedAt = client.cache && Date.now();
48
-
49
- if (client.cache) {
50
- ingestInCache(data, { cachedAt });
51
-
52
- const cacheKey = ['community', 'top-trending', { params: { options: { limit } } }];
53
- pushToCache(cacheKey, { communities: communities.map(getResolver('community')) });
54
- }
55
-
56
- return { data: communities, cachedAt };
57
- };
58
- /* end_public_function */
59
-
60
- /**
61
- * ```js
62
- * import { getTopTrendingCommunities } from '@amityco/ts-sdk'
63
- * const communities = getTopTrendingCommunities.locally()
64
- * ```
65
- *
66
- * Gets a list of top trending {@link Amity.Community} objects from cache
67
- *
68
- * @param query The query parameters
69
- * @returns communities
70
- *
71
- * @category Community API
72
- */
73
- getTopTrendingCommunities.locally = (
74
- query: Parameters<typeof getTopTrendingCommunities>[0],
75
- ): Amity.Cached<Amity.Community[]> | undefined => {
76
- const client = getActiveClient();
77
- client.log('community/getTopTrendingCommunities.locally', query);
78
-
79
- if (!client.cache) return;
80
-
81
- const { limit = 5 } = query ?? {};
82
-
83
- const queryKey = ['community', 'top-trending', { params: { options: { limit } } }];
84
- const { data, cachedAt } =
85
- pullFromCache<{ communities: Pick<Amity.Community, 'communityId'>[] }>(queryKey) ?? {};
86
-
87
- if (!data?.communities.length) return;
88
-
89
- const communities: Amity.Community[] = data.communities
90
- .map(communityId => pullFromCache<Amity.Community>(['community', 'get', communityId])!)
91
- .filter(Boolean)
92
- .map(({ data }) => data);
93
-
94
- return communities.length === data?.communities?.length
95
- ? { data: communities, cachedAt }
96
- : undefined;
97
- };