@amityco/ts-sdk-react-native 6.36.0 → 7.0.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 (338) 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/domains/analytics.d.ts +0 -3
  4. package/dist/@types/domains/analytics.d.ts.map +1 -1
  5. package/dist/@types/domains/channel.d.ts +9 -33
  6. package/dist/@types/domains/channel.d.ts.map +1 -1
  7. package/dist/@types/domains/client.d.ts +0 -4
  8. package/dist/@types/domains/client.d.ts.map +1 -1
  9. package/dist/@types/domains/community.d.ts +2 -10
  10. package/dist/@types/domains/community.d.ts.map +1 -1
  11. package/dist/@types/domains/feed.d.ts +0 -11
  12. package/dist/@types/domains/feed.d.ts.map +1 -1
  13. package/dist/@types/domains/message.d.ts +0 -12
  14. package/dist/@types/domains/message.d.ts.map +1 -1
  15. package/dist/@types/domains/subChannel.d.ts +0 -4
  16. package/dist/@types/domains/subChannel.d.ts.map +1 -1
  17. package/dist/@types/domains/user.d.ts +1 -5
  18. package/dist/@types/domains/user.d.ts.map +1 -1
  19. package/dist/channelRepository/api/deleteChannel.d.ts.map +1 -1
  20. package/dist/channelRepository/api/index.d.ts +0 -1
  21. package/dist/channelRepository/api/index.d.ts.map +1 -1
  22. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
  23. package/dist/channelRepository/channelMembership/observers/getMembers/getMembers.d.ts.map +1 -1
  24. package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.d.ts.map +1 -1
  25. package/dist/channelRepository/channelMembership/observers/searchMembers/searchMembers.d.ts.map +1 -1
  26. package/dist/channelRepository/{api → internalApi}/getChannel.d.ts +2 -2
  27. package/dist/channelRepository/internalApi/getChannel.d.ts.map +1 -0
  28. package/dist/channelRepository/internalApi/getChannelByIds.d.ts +32 -0
  29. package/dist/channelRepository/internalApi/getChannelByIds.d.ts.map +1 -0
  30. package/dist/channelRepository/{api → internalApi}/markAsRead.d.ts +0 -3
  31. package/dist/channelRepository/internalApi/markAsRead.d.ts.map +1 -0
  32. package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
  33. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  34. package/dist/channelRepository/observers/index.d.ts +0 -2
  35. package/dist/channelRepository/observers/index.d.ts.map +1 -1
  36. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -1
  37. package/dist/channelRepository/utils/constructChannelObject.d.ts +2 -0
  38. package/dist/channelRepository/utils/constructChannelObject.d.ts.map +1 -0
  39. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts +1 -1
  40. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts.map +1 -1
  41. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts +1 -1
  42. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts.map +1 -1
  43. package/dist/channelRepository/utils/resolveChannels.d.ts.map +1 -1
  44. package/dist/channelRepository/utils/updateChannelCache.d.ts +1 -1
  45. package/dist/channelRepository/utils/updateChannelCache.d.ts.map +1 -1
  46. package/dist/client/observers/index.d.ts +0 -1
  47. package/dist/client/observers/index.d.ts.map +1 -1
  48. package/dist/client/utils/endpoints.d.ts +1 -1
  49. package/dist/client/utils/markerSyncEngine.d.ts +0 -4
  50. package/dist/client/utils/markerSyncEngine.d.ts.map +1 -1
  51. package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -1
  52. package/dist/commentRepository/observers/index.d.ts +0 -2
  53. package/dist/commentRepository/observers/index.d.ts.map +1 -1
  54. package/dist/communityRepository/api/index.d.ts +0 -1
  55. package/dist/communityRepository/api/index.d.ts.map +1 -1
  56. package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
  57. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.d.ts.map +1 -1
  58. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.d.ts.map +1 -1
  59. package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
  60. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts +1 -1
  61. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts.map +1 -1
  62. package/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.d.ts.map +1 -1
  63. package/dist/communityRepository/observers/getCommunities/CommunitiesPaginationController.d.ts.map +1 -1
  64. package/dist/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.d.ts.map +1 -1
  65. package/dist/communityRepository/observers/index.d.ts +0 -1
  66. package/dist/communityRepository/observers/index.d.ts.map +1 -1
  67. package/dist/communityRepository/observers/searchCommunities.d.ts +1 -1
  68. package/dist/communityRepository/observers/searchCommunities.d.ts.map +1 -1
  69. package/dist/communityRepository/utils/communityQueryFilter.d.ts.map +1 -1
  70. package/dist/core/events.d.ts +3 -3
  71. package/dist/core/events.d.ts.map +1 -1
  72. package/dist/core/subscription.d.ts +1 -0
  73. package/dist/core/subscription.d.ts.map +1 -1
  74. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +2 -35
  75. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
  76. package/dist/feedRepository/api/queryGlobalFeed.d.ts +2 -24
  77. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  78. package/dist/fileRepository/api/index.d.ts +0 -3
  79. package/dist/fileRepository/api/index.d.ts.map +1 -1
  80. package/dist/fileRepository/index.d.ts +0 -1
  81. package/dist/fileRepository/index.d.ts.map +1 -1
  82. package/dist/index.cjs.js +1261 -2688
  83. package/dist/index.esm.js +1225 -2653
  84. package/dist/index.umd.js +3 -3
  85. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -5
  86. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
  87. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +0 -1
  88. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts.map +1 -1
  89. package/dist/messageRepository/api/createMessage.d.ts.map +1 -1
  90. package/dist/messageRepository/api/index.d.ts +0 -1
  91. package/dist/messageRepository/api/index.d.ts.map +1 -1
  92. package/dist/messageRepository/internalApi/getMessage.d.ts.map +1 -1
  93. package/dist/messageRepository/observers/getMessages/MessageLiveCollectionController.d.ts.map +1 -1
  94. package/dist/messageRepository/observers/getMessages/MessageQueryStreamController.d.ts.map +1 -1
  95. package/dist/messageRepository/observers/getMessages/getMessages.d.ts +0 -1
  96. package/dist/messageRepository/observers/getMessages/getMessages.d.ts.map +1 -1
  97. package/dist/messageRepository/observers/index.d.ts +0 -2
  98. package/dist/messageRepository/observers/index.d.ts.map +1 -1
  99. package/dist/messageRepository/utils/prepareMessagePayload.d.ts +1 -1
  100. package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
  101. package/dist/pollRepository/observers/index.d.ts +0 -1
  102. package/dist/pollRepository/observers/index.d.ts.map +1 -1
  103. package/dist/postRepository/api/index.d.ts +0 -1
  104. package/dist/postRepository/api/index.d.ts.map +1 -1
  105. package/dist/postRepository/observers/index.d.ts +0 -2
  106. package/dist/postRepository/observers/index.d.ts.map +1 -1
  107. package/dist/role/api/queryRoles.d.ts +0 -7
  108. package/dist/role/api/queryRoles.d.ts.map +1 -1
  109. package/dist/streamRepository/api/index.d.ts +0 -2
  110. package/dist/streamRepository/api/index.d.ts.map +1 -1
  111. package/dist/streamRepository/events/onStreamFlagged.d.ts.map +1 -1
  112. package/dist/streamRepository/internalApi/getStream.d.ts.map +1 -0
  113. package/dist/subChannelRepository/utils/markReadEngine.d.ts +0 -34
  114. package/dist/subChannelRepository/utils/markReadEngine.d.ts.map +1 -1
  115. package/dist/userRepository/internalApi/queryUsers.d.ts.map +1 -1
  116. package/dist/userRepository/observers/getUsers/UserLiveCollectionController.d.ts.map +1 -1
  117. package/dist/userRepository/observers/getUsers/UserPaginationController.d.ts.map +1 -1
  118. package/dist/userRepository/observers/index.d.ts +0 -2
  119. package/dist/userRepository/observers/index.d.ts.map +1 -1
  120. package/dist/userRepository/relationship/block/index.d.ts +0 -1
  121. package/dist/userRepository/relationship/block/index.d.ts.map +1 -1
  122. package/dist/userRepository/relationship/follow/api/index.d.ts +0 -2
  123. package/dist/userRepository/relationship/follow/api/index.d.ts.map +1 -1
  124. package/dist/userRepository/relationship/follow/observers/index.d.ts +0 -3
  125. package/dist/userRepository/relationship/follow/observers/index.d.ts.map +1 -1
  126. package/dist/utils/liveObject.d.ts +1 -1
  127. package/package.json +1 -1
  128. package/src/@types/core/events.ts +8 -9
  129. package/src/@types/domains/analytics.ts +0 -7
  130. package/src/@types/domains/channel.ts +15 -46
  131. package/src/@types/domains/client.ts +0 -4
  132. package/src/@types/domains/community.ts +0 -8
  133. package/src/@types/domains/feed.ts +0 -11
  134. package/src/@types/domains/message.ts +0 -12
  135. package/src/@types/domains/subChannel.ts +0 -4
  136. package/src/@types/domains/user.ts +0 -4
  137. package/src/channelRepository/api/deleteChannel.ts +3 -2
  138. package/src/channelRepository/api/getChannelByIds.ts +5 -5
  139. package/src/channelRepository/api/index.ts +0 -2
  140. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +0 -8
  141. package/src/channelRepository/channelMembership/observers/getMembers/getMembers.ts +0 -8
  142. package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.ts +0 -8
  143. package/src/channelRepository/channelMembership/observers/searchMembers/searchMembers.ts +0 -8
  144. package/src/channelRepository/{api → internalApi}/getChannel.ts +4 -4
  145. package/src/channelRepository/internalApi/getChannelByIds.ts +105 -0
  146. package/src/channelRepository/{api → internalApi}/markAsRead.ts +0 -3
  147. package/src/channelRepository/observers/getChannel.ts +36 -15
  148. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -12
  149. package/src/channelRepository/observers/index.ts +0 -2
  150. package/src/channelRepository/utils/constructChannelDynamicValue.ts +4 -9
  151. package/src/channelRepository/utils/constructChannelObject.ts +16 -0
  152. package/src/channelRepository/utils/getChannelIsMentioned.ts +4 -1
  153. package/src/channelRepository/utils/getSubChannelsUnreadCount.ts +1 -1
  154. package/src/channelRepository/utils/resolveChannels.ts +7 -2
  155. package/src/channelRepository/utils/updateChannelCache.ts +4 -1
  156. package/src/client/observers/getUserUnread.ts +1 -1
  157. package/src/client/observers/index.ts +0 -1
  158. package/src/client/utils/endpoints.ts +1 -1
  159. package/src/client/utils/markerSyncEngine.ts +0 -9
  160. package/src/client/utils/subscribeGlobalTopic.ts +3 -0
  161. package/src/commentRepository/observers/index.ts +0 -2
  162. package/src/communityRepository/api/index.ts +0 -3
  163. package/src/communityRepository/api/queryCommunities.ts +1 -2
  164. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.ts +0 -12
  165. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.ts +0 -7
  166. package/src/communityRepository/communityMembership/observers/getMembers.ts +0 -4
  167. package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.ts +1 -1
  168. package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +0 -1
  169. package/src/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.ts +12 -16
  170. package/src/communityRepository/observers/getCommunities/CommunitiesPaginationController.ts +0 -1
  171. package/src/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.ts +0 -4
  172. package/src/communityRepository/observers/index.ts +0 -2
  173. package/src/communityRepository/observers/searchCommunities.ts +1 -1
  174. package/src/communityRepository/observers/tests/getCommunities.test.ts +0 -1
  175. package/src/communityRepository/utils/communityQueryFilter.ts +1 -8
  176. package/src/core/events.ts +7 -5
  177. package/src/core/subscription.ts +6 -0
  178. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +8 -55
  179. package/src/feedRepository/api/queryGlobalFeed.ts +6 -58
  180. package/src/feedRepository/api/test/getCustomRankingGlobalFeed.test.ts +1 -1
  181. package/src/feedRepository/api/test/queryGlobalFeed.test.ts +1 -1
  182. package/src/fileRepository/api/index.ts +0 -5
  183. package/src/fileRepository/index.ts +0 -1
  184. package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
  185. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +2 -2
  186. package/src/messageRepository/api/createMessage.ts +5 -1
  187. package/src/messageRepository/api/index.ts +0 -2
  188. package/src/messageRepository/api/tests/createMessage.test.ts +6 -1
  189. package/src/messageRepository/api/tests/deleteMessage.test.ts +5 -1
  190. package/src/messageRepository/internalApi/getMessage.ts +0 -6
  191. package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +0 -20
  192. package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +0 -10
  193. package/src/messageRepository/observers/getMessages/getMessages.ts +0 -54
  194. package/src/messageRepository/observers/index.ts +0 -3
  195. package/src/messageRepository/utils/prepareMessagePayload.ts +1 -7
  196. package/src/pollRepository/observers/index.ts +0 -1
  197. package/src/postRepository/api/index.ts +0 -1
  198. package/src/postRepository/observers/index.ts +0 -2
  199. package/src/role/api/queryRoles.ts +1 -13
  200. package/src/streamRepository/api/deleteStream.ts +1 -1
  201. package/src/streamRepository/api/index.ts +0 -4
  202. package/src/streamRepository/api/tests/getStream.test.ts +1 -1
  203. package/src/streamRepository/events/onStreamFlagged.ts +1 -6
  204. package/src/streamRepository/events/onStreamRecorded.ts +1 -1
  205. package/src/streamRepository/events/onStreamStarted.ts +1 -1
  206. package/src/streamRepository/events/onStreamStopped.ts +1 -1
  207. package/src/streamRepository/events/onStreamTerminated.ts +1 -1
  208. package/src/streamRepository/observers/getStreamById.ts +1 -1
  209. package/src/subChannelRepository/utils/markReadEngine.ts +0 -106
  210. package/src/userRepository/internalApi/queryUsers.ts +1 -9
  211. package/src/userRepository/observers/getUsers/UserLiveCollectionController.ts +12 -16
  212. package/src/userRepository/observers/getUsers/UserPaginationController.ts +1 -2
  213. package/src/userRepository/observers/index.ts +0 -2
  214. package/src/userRepository/observers/tests/getUsers.test.ts +1 -43
  215. package/src/userRepository/relationship/block/index.ts +0 -1
  216. package/src/userRepository/relationship/follow/api/index.ts +0 -4
  217. package/src/userRepository/relationship/follow/observers/index.ts +0 -4
  218. package/src/utils/linkedObject/channelLinkedObject.ts +1 -1
  219. package/src/utils/liveObject.ts +2 -2
  220. package/dist/channelRepository/api/getChannel.d.ts.map +0 -1
  221. package/dist/channelRepository/api/markAsRead.d.ts.map +0 -1
  222. package/dist/channelRepository/observers/observeChannel.d.ts +0 -18
  223. package/dist/channelRepository/observers/observeChannel.d.ts.map +0 -1
  224. package/dist/channelRepository/observers/observeChannels.d.ts +0 -17
  225. package/dist/channelRepository/observers/observeChannels.d.ts.map +0 -1
  226. package/dist/client/observers/getTotalUnreadCount.d.ts +0 -20
  227. package/dist/client/observers/getTotalUnreadCount.d.ts.map +0 -1
  228. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts +0 -2
  229. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts.map +0 -1
  230. package/dist/commentRepository/observers/observeComment.d.ts +0 -18
  231. package/dist/commentRepository/observers/observeComment.d.ts.map +0 -1
  232. package/dist/commentRepository/observers/observeComments.d.ts +0 -26
  233. package/dist/commentRepository/observers/observeComments.d.ts.map +0 -1
  234. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts +0 -35
  235. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts.map +0 -1
  236. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts +0 -2
  237. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts.map +0 -1
  238. package/dist/communityRepository/observers/observeCommunity.d.ts +0 -18
  239. package/dist/communityRepository/observers/observeCommunity.d.ts.map +0 -1
  240. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts +0 -8
  241. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts.map +0 -1
  242. package/dist/feedRepository/internalApi/index.d.ts +0 -3
  243. package/dist/feedRepository/internalApi/index.d.ts.map +0 -1
  244. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts +0 -9
  245. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts.map +0 -1
  246. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts +0 -2
  247. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts.map +0 -1
  248. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts +0 -2
  249. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts.map +0 -1
  250. package/dist/fileRepository/api/createFile.d.ts +0 -17
  251. package/dist/fileRepository/api/createFile.d.ts.map +0 -1
  252. package/dist/fileRepository/api/createImage.d.ts +0 -17
  253. package/dist/fileRepository/api/createImage.d.ts.map +0 -1
  254. package/dist/fileRepository/api/createVideo.d.ts +0 -18
  255. package/dist/fileRepository/api/createVideo.d.ts.map +0 -1
  256. package/dist/fileRepository/observers/index.d.ts +0 -2
  257. package/dist/fileRepository/observers/index.d.ts.map +0 -1
  258. package/dist/fileRepository/observers/observeFile.d.ts +0 -18
  259. package/dist/fileRepository/observers/observeFile.d.ts.map +0 -1
  260. package/dist/messageRepository/api/getMessage.d.ts +0 -32
  261. package/dist/messageRepository/api/getMessage.d.ts.map +0 -1
  262. package/dist/messageRepository/api/getMessages.d.ts +0 -32
  263. package/dist/messageRepository/api/getMessages.d.ts.map +0 -1
  264. package/dist/messageRepository/observers/observeMessage.d.ts +0 -21
  265. package/dist/messageRepository/observers/observeMessage.d.ts.map +0 -1
  266. package/dist/messageRepository/observers/observeMessages.d.ts +0 -23
  267. package/dist/messageRepository/observers/observeMessages.d.ts.map +0 -1
  268. package/dist/pollRepository/observers/observePoll.d.ts +0 -18
  269. package/dist/pollRepository/observers/observePoll.d.ts.map +0 -1
  270. package/dist/postRepository/api/updatePost.d.ts +0 -24
  271. package/dist/postRepository/api/updatePost.d.ts.map +0 -1
  272. package/dist/postRepository/observers/observePost.d.ts +0 -18
  273. package/dist/postRepository/observers/observePost.d.ts.map +0 -1
  274. package/dist/postRepository/observers/observePosts.d.ts +0 -34
  275. package/dist/postRepository/observers/observePosts.d.ts.map +0 -1
  276. package/dist/streamRepository/api/getStream.d.ts.map +0 -1
  277. package/dist/streamRepository/api/queryStreams.d.ts +0 -25
  278. package/dist/streamRepository/api/queryStreams.d.ts.map +0 -1
  279. package/dist/userRepository/observers/getViewedUsers.d.ts +0 -7
  280. package/dist/userRepository/observers/getViewedUsers.d.ts.map +0 -1
  281. package/dist/userRepository/observers/observeUser.d.ts +0 -17
  282. package/dist/userRepository/observers/observeUser.d.ts.map +0 -1
  283. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts +0 -2
  284. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts.map +0 -1
  285. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +0 -2
  286. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +0 -1
  287. package/dist/userRepository/relationship/block/observers/index.d.ts +0 -2
  288. package/dist/userRepository/relationship/block/observers/index.d.ts.map +0 -1
  289. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +0 -19
  290. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +0 -1
  291. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +0 -19
  292. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +0 -1
  293. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +0 -18
  294. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +0 -1
  295. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +0 -18
  296. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +0 -1
  297. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +0 -18
  298. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +0 -1
  299. package/src/channelRepository/observers/observeChannel.ts +0 -109
  300. package/src/channelRepository/observers/observeChannels.ts +0 -74
  301. package/src/client/observers/getTotalUnreadCount.ts +0 -53
  302. package/src/client/observers/tests/getTotalUnreadCount.test.ts +0 -101
  303. package/src/commentRepository/observers/observeComment.ts +0 -102
  304. package/src/commentRepository/observers/observeComments.ts +0 -77
  305. package/src/communityRepository/api/getTopTrendingCommunities.ts +0 -97
  306. package/src/communityRepository/api/test/getTopTrendingCommunities.test.ts +0 -102
  307. package/src/communityRepository/observers/observeCommunity.ts +0 -103
  308. package/src/feedRepository/internalApi/getCustomRankingGlobalFeed.ts +0 -87
  309. package/src/feedRepository/internalApi/index.ts +0 -2
  310. package/src/feedRepository/internalApi/queryGlobalFeed.ts +0 -95
  311. package/src/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.ts +0 -138
  312. package/src/feedRepository/internalApi/test/queryGlobalFeed.test.ts +0 -130
  313. package/src/fileRepository/api/createFile.ts +0 -59
  314. package/src/fileRepository/api/createImage.ts +0 -59
  315. package/src/fileRepository/api/createVideo.ts +0 -69
  316. package/src/fileRepository/observers/index.ts +0 -1
  317. package/src/fileRepository/observers/observeFile.ts +0 -49
  318. package/src/messageRepository/api/getMessage.ts +0 -102
  319. package/src/messageRepository/api/getMessages.ts +0 -83
  320. package/src/messageRepository/observers/observeMessage.ts +0 -94
  321. package/src/messageRepository/observers/observeMessages.ts +0 -89
  322. package/src/pollRepository/observers/observePoll.ts +0 -67
  323. package/src/postRepository/api/updatePost.ts +0 -63
  324. package/src/postRepository/observers/observePost.ts +0 -115
  325. package/src/postRepository/observers/observePosts.ts +0 -86
  326. package/src/streamRepository/api/queryStreams.ts +0 -63
  327. package/src/userRepository/observers/getViewedUsers.ts +0 -99
  328. package/src/userRepository/observers/observeUser.ts +0 -71
  329. package/src/userRepository/observers/tests/getViewedUsers.test.ts +0 -39
  330. package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +0 -13
  331. package/src/userRepository/relationship/block/observers/index.ts +0 -1
  332. package/src/userRepository/relationship/follow/api/acceptFollower.ts +0 -40
  333. package/src/userRepository/relationship/follow/api/declineFollower.ts +0 -40
  334. package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +0 -64
  335. package/src/userRepository/relationship/follow/observers/observeFollowers.ts +0 -74
  336. package/src/userRepository/relationship/follow/observers/observeFollowings.ts +0 -74
  337. /package/dist/streamRepository/{api → internalApi}/getStream.d.ts +0 -0
  338. /package/src/streamRepository/{api → internalApi}/getStream.ts +0 -0
@@ -1,89 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
- import { onMessageMarked, onMessageMarkerFetched } from '~/marker/events';
3
- import { convertEventPayload } from '~/utils/event';
4
-
5
- import { LinkedObject } from '~/utils/linkedObject';
6
- import {
7
- onMessageCreatedLocal,
8
- onMessageCreatedMqtt,
9
- onMessageDeleted,
10
- onMessageUpdated,
11
- } from '../events';
12
-
13
- /**
14
- * ```js
15
- * import { observeMessages } from '@amityco/ts-sdk-react-native'
16
- *
17
- * let messages = []
18
- *
19
- * const unsubscribe = observeMessages(channelId, message => merge(messages, message))
20
- * ```
21
- *
22
- * Observe all mutations on a list of {@link Amity.Message} for a given {@link Amity.SubChannel} object
23
- *
24
- * @param subChannelId the ID of the channel where to observe the messages
25
- * @param callback the function to call when new data are available
26
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
27
- *
28
- * @category Message Observer
29
- */
30
- export const observeMessages = (
31
- subChannelId: Amity.SubChannel['subChannelId'],
32
- callback: Amity.ObjectListener<
33
- Amity.Snapshot<Amity.Message>,
34
- ['onCreate', 'onUpdate', 'onDelete']
35
- >,
36
- ): Amity.Unsubscriber => {
37
- const { log } = getActiveClient();
38
-
39
- const timestamp = Date.now();
40
- log(`observeMessages(tmpid: ${timestamp}) > listen`);
41
-
42
- const disposers: Amity.Unsubscriber[] = [];
43
-
44
- const router = (
45
- message: Amity.Snapshot<Amity.Message>,
46
- action: 'onCreate' | 'onUpdate' | 'onDelete',
47
- ) => {
48
- if (message.data?.subChannelId !== subChannelId) return;
49
-
50
- if (callback instanceof Function) return callback(message);
51
-
52
- callback.onEvent?.(action, message);
53
- callback[action]?.(message);
54
- };
55
-
56
- disposers.push(
57
- onMessageCreatedMqtt(data =>
58
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
59
- ),
60
- onMessageCreatedLocal(data =>
61
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
62
- ),
63
- onMessageUpdated(data =>
64
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
65
- ),
66
- onMessageDeleted(data =>
67
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onDelete'),
68
- ),
69
- convertEventPayload(
70
- onMessageMarkerFetched,
71
- 'contentId',
72
- 'message',
73
- )(data =>
74
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
75
- ),
76
- convertEventPayload(
77
- onMessageMarked,
78
- 'contentId',
79
- 'message',
80
- )(data =>
81
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
82
- ),
83
- );
84
-
85
- return () => {
86
- log(`observeMessages(tmpid: ${timestamp}) > dispose`);
87
- disposers.forEach(fn => fn());
88
- };
89
- };
@@ -1,67 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { createQuery, runQuery, queryOptions } from '~/core/query';
4
-
5
- import { getPoll as _getPoll } from '../api/getPoll';
6
-
7
- import { onPollUpdated, onPollDeleted } from '../events';
8
-
9
- /**
10
- * ```js
11
- * import { observePoll } from '@amityco/ts-sdk-react-native'
12
- *
13
- * let poll = {}
14
- * const dispose = observePoll(pollId, updated => poll = updated)
15
- * ```
16
- *
17
- * Observe all mutation on a given {@link Amity.Poll}
18
- *
19
- * @param pollId the ID of the poll to observe
20
- * @param callback the function to call when new data are available
21
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the poll
22
- *
23
- * @category Poll Observer
24
- */
25
- export const observePoll = <Events extends ['onFetch', 'onUpdate', 'onDelete']>(
26
- pollId: string,
27
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.Poll | undefined>, Events>,
28
- policy: Amity.QueryPolicy = 'cache_then_server',
29
- ): Amity.Unsubscriber => {
30
- const { log } = getActiveClient();
31
-
32
- const timestamp = Date.now();
33
- log(`observePoll(tmpid: ${timestamp}) > listen`);
34
-
35
- // wrapper function to make sure
36
- const router = (result: Amity.Snapshot<Amity.Poll | undefined>, action: Events[number]) => {
37
- if (callback instanceof Function) return callback(result);
38
-
39
- if (action !== 'onFetch') callback.onEvent?.(action, result);
40
-
41
- callback[action]?.(result);
42
- };
43
-
44
- const realtimeRouter = (result: Amity.Snapshot<Amity.Poll>, action: Events[number]) => {
45
- if (result.data?.pollId !== pollId) return;
46
-
47
- router(result, action);
48
- };
49
-
50
- const disposers: Amity.Unsubscriber[] = [];
51
-
52
- disposers.push(
53
- onPollUpdated(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onUpdate')),
54
- onPollDeleted(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onDelete')),
55
- );
56
-
57
- runQuery(
58
- createQuery(_getPoll, pollId),
59
- result => (result.data || result.error) && router(result, 'onFetch'),
60
- queryOptions(policy),
61
- );
62
-
63
- return () => {
64
- log(`observePoll(tmpid: ${timestamp}) > dispose`);
65
- disposers.forEach(fn => fn());
66
- };
67
- };
@@ -1,63 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { ingestInCache } from '~/cache/api/ingestInCache';
4
- import { fireEvent } from '~/core/events';
5
- import { prepareMembershipPayload } from '~/group/utils';
6
- import { LinkedObject } from '~/utils/linkedObject';
7
-
8
- /* begin_public_function
9
- id: post.edit
10
- */
11
- /**
12
- * ```js
13
- * import { updatePost } from '@amityco/ts-sdk-react-native'
14
- * const updated = await updatePost(postId, {
15
- * data: { text: 'hello world' }
16
- * })
17
- * ```
18
- *
19
- * Updates an {@link Amity.Post}
20
- *
21
- * @param postId The ID of the {@link Amity.Post} to edit
22
- * @param patch The patch data to apply
23
- * @returns the updated {@link Amity.Post} object
24
- *
25
- * @category Post API
26
- * @async
27
- */
28
- export const updatePost = async <T extends Amity.PostContentType>(
29
- postId: Amity.Post['postId'],
30
- patch: Patch<Amity.Post, 'data' | 'metadata' | 'mentionees' | 'tags'> & {
31
- attachments?: {
32
- type: T;
33
- fileId: Amity.File['fileId'];
34
- }[];
35
- },
36
- ): Promise<Amity.Cached<Amity.Post>> => {
37
- const client = getActiveClient();
38
- client.log('user/updatePost', patch);
39
-
40
- console.warn(
41
- 'Deprecation: updatePost has been renamed to editPost. Update post API will be deprecated soon.',
42
- );
43
-
44
- const { data: payload } = await client.http.put<Amity.PostPayload>(
45
- `/api/v4/posts/${encodeURIComponent(postId)}`,
46
- patch,
47
- );
48
-
49
- const data = prepareMembershipPayload(payload, 'communityUsers');
50
-
51
- const cachedAt = client.cache && Date.now();
52
- if (client.cache) ingestInCache(data, { cachedAt });
53
-
54
- fireEvent('local.post.updated', payload);
55
-
56
- const { posts } = data;
57
-
58
- return {
59
- data: LinkedObject.post(posts.find(post => post.postId === postId)!),
60
- cachedAt,
61
- };
62
- };
63
- /* end_public_function */
@@ -1,115 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { createQuery, queryOptions, runQuery } from '~/core/query';
4
-
5
- import { LinkedObject } from '~/utils/linkedObject';
6
- import { getPost } from '../api/getPost';
7
-
8
- import {
9
- onPostApproved,
10
- onPostDeclined,
11
- onPostDeleted,
12
- onPostFlagged,
13
- onPostReactionAdded,
14
- onPostReactionRemoved,
15
- onPostUnflagged,
16
- onPostUpdated,
17
- } from '../events';
18
-
19
- /**
20
- * ```js
21
- * import { observePost } from '@amityco/ts-sdk-react-native'
22
- *
23
- * let post = {}
24
- * const dispose = observePost(postId, updated => post = updated)
25
- * ```
26
- *
27
- * Observe all mutations on a given {@link Amity.Post}
28
- *
29
- * @param postId the ID of the post to observe
30
- * @param callback the function to call when new data are available
31
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the post
32
- *
33
- * @category Post Observer
34
- */
35
- export const observePost = <
36
- Events extends [
37
- 'onFetch',
38
- 'onUpdate',
39
- 'onDelete',
40
- 'onApproved',
41
- 'onDeclined',
42
- 'onFlagged',
43
- 'onUnflagged',
44
- 'onReactionAdded',
45
- 'onReactionRemoved',
46
- ],
47
- >(
48
- postId: Amity.Post['postId'],
49
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.Post | undefined>, Events>,
50
- policy: Amity.QueryPolicy = 'cache_then_server',
51
- ): Amity.Unsubscriber => {
52
- const { log } = getActiveClient();
53
-
54
- const timestamp = Date.now();
55
- log(`observePost(tmpid: ${timestamp}) > listen`);
56
-
57
- // wrapper function to make sure
58
- const router = (result: Amity.Snapshot<Amity.Post | undefined>, action: Events[number]) => {
59
- if (callback instanceof Function) return callback(result);
60
-
61
- if (action !== 'onFetch') callback.onEvent?.(action, result);
62
-
63
- callback[action]?.(result);
64
- };
65
-
66
- const realtimeRouter = (result: Amity.Snapshot<Amity.InternalPost>, action: Events[number]) => {
67
- if (result.data?.postId !== postId) return;
68
-
69
- router(
70
- {
71
- ...result,
72
- data: result.data && LinkedObject.post(result.data),
73
- },
74
- action,
75
- );
76
- };
77
-
78
- const disposers: Amity.Unsubscriber[] = [];
79
-
80
- disposers.push(
81
- onPostUpdated(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onUpdate')),
82
- onPostDeleted(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onDelete')),
83
- onPostApproved(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onApproved')),
84
- onPostDeclined(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onDeclined')),
85
- onPostFlagged(data => realtimeRouter({ data, loading: false, origin: 'event' }, 'onFlagged')),
86
- onPostUnflagged(data =>
87
- realtimeRouter({ data, loading: false, origin: 'event' }, 'onUnflagged'),
88
- ),
89
- onPostReactionAdded(data =>
90
- realtimeRouter({ data, loading: false, origin: 'event' }, 'onReactionAdded'),
91
- ),
92
- onPostReactionRemoved(data =>
93
- realtimeRouter({ data, loading: false, origin: 'event' }, 'onReactionRemoved'),
94
- ),
95
- );
96
-
97
- runQuery(
98
- createQuery(getPost, postId),
99
- result =>
100
- (result.data || result.error) &&
101
- router(
102
- {
103
- ...result,
104
- data: result.data && LinkedObject.post(result.data),
105
- },
106
- 'onFetch',
107
- ),
108
- queryOptions(policy),
109
- );
110
-
111
- return () => {
112
- log(`observePosts(tmpid: ${timestamp}) > dispose`);
113
- disposers.forEach(fn => fn());
114
- };
115
- };
@@ -1,86 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
- import { LinkedObject } from '~/utils/linkedObject';
3
- import {
4
- onPostApproved,
5
- onPostCreated,
6
- onPostDeclined,
7
- onPostDeleted,
8
- onPostFlagged,
9
- onPostReactionAdded,
10
- onPostReactionRemoved,
11
- onPostUnflagged,
12
- onPostUpdated,
13
- } from '../events';
14
-
15
- /**
16
- * ```js
17
- * import { PostRepository } from '@amityco/ts-sdk-react-native'
18
- *
19
- * let posts = []
20
- * const unsub = PostRepository.observePosts({
21
- * targetType: Amity.PostTargetType,
22
- * targetId: Amity.InternalPost['targetId'],
23
- * }, post => merge(posts, post))
24
- * ```
25
- *
26
- * Observe all mutations on a list of {@link Amity.Post} for a given target object
27
- *
28
- * @param params
29
- * @param callback the function to call when new data are available
30
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
31
- *
32
- * @category Post Observer
33
- */
34
- export const observePosts = (
35
- params: {
36
- targetType: Amity.PostTargetType;
37
- targetId: Amity.Post['targetId'];
38
- },
39
- callback: Amity.ObjectListener<
40
- Amity.Post,
41
- [
42
- 'onCreate',
43
- 'onUpdate',
44
- 'onDelete',
45
- 'onApproved',
46
- 'onDeclined',
47
- 'onFlagged',
48
- 'onUnflagged',
49
- 'onReactionAdded',
50
- 'onReactionRemoved',
51
- ]
52
- >,
53
- ): Amity.Unsubscriber => {
54
- const { log } = getActiveClient();
55
-
56
- const timestamp = Date.now();
57
- log(`observePosts(tmpid: ${timestamp}) > listen`);
58
-
59
- const disposers: Amity.Unsubscriber[] = [];
60
-
61
- const router = (post: Amity.InternalPost, action: Exclude<Amity.PostActionType, 'onFetch'>) => {
62
- if (params.targetId !== post.targetId || params.targetType !== post.targetType) return;
63
-
64
- if (callback instanceof Function) return callback(LinkedObject.post(post));
65
-
66
- callback.onEvent?.(action, LinkedObject.post(post));
67
- callback[action]?.(LinkedObject.post(post));
68
- };
69
-
70
- disposers.push(
71
- onPostCreated(post => router(post, 'onCreate')),
72
- onPostUpdated(post => router(post, 'onUpdate')),
73
- onPostDeleted(post => router(post, 'onDelete')),
74
- onPostApproved(post => router(post, 'onApproved')),
75
- onPostDeclined(post => router(post, 'onDeclined')),
76
- onPostFlagged(post => router(post, 'onFlagged')),
77
- onPostUnflagged(post => router(post, 'onUnflagged')),
78
- onPostReactionAdded(post => router(post, 'onReactionAdded')),
79
- onPostReactionRemoved(post => router(post, 'onReactionRemoved')),
80
- );
81
-
82
- return () => {
83
- log(`observePosts(tmpid: ${timestamp}) > dispose`);
84
- disposers.forEach(fn => fn());
85
- };
86
- };
@@ -1,63 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { toPage, toToken } from '~/core/query';
4
- import { ingestInCache } from '~/cache/api/ingestInCache';
5
-
6
- /* begin_public_function
7
- id: stream.query
8
- */
9
- /**
10
- * @deprecated This API renamed to `getStreams`.
11
- * Please use getStreams() instead.
12
- * ```js
13
- * import { getStreams } from '@amityco/ts-sdk-react-native'
14
- * const streams = await getStreams()
15
- * ```
16
- *
17
- * Queries a paginable list of {@link Amity.InternalStream} objects
18
- *
19
- * @param query The query parameters
20
- * @returns A page of {@link Amity.InternalStream} objects
21
- *
22
- * @category Stream API
23
- * @async
24
- */
25
- export const queryStreams = async (query?: {
26
- isLive?: boolean;
27
- statuses?: Amity.StreamStatus[];
28
- userPublicIds?: Amity.InternalUser['userId'][];
29
- sortBy?: 'lastCreated' | 'firstCreated';
30
- isDeleted?: Amity.InternalStream['isDeleted'];
31
- page?: Amity.Page;
32
- }): Promise<Amity.Cached<Amity.Paged<Amity.InternalStream>>> => {
33
- const client = getActiveClient();
34
- client.log('stream/queryStreams', query);
35
-
36
- const { page, ...params } = query ?? {};
37
-
38
- const { data } = await client.http.get<{ results: Amity.StreamPayload } & Amity.Pagination>(
39
- `/api/v3/video-streaming`,
40
- {
41
- params: {
42
- ...params,
43
- options: {
44
- token: toToken(page, 'skiplimit'),
45
- },
46
- },
47
- },
48
- );
49
-
50
- // API-FIX: backend to response Amity.Response: const { paging, videoStreamings } = unwrapPayload(data)
51
- // API-FIX: seems returned data has a results identifier on top of data, like no other apis, and this is beautiful
52
- const { paging, results: payload } = data;
53
- const { videoStreamings } = payload;
54
-
55
- const cachedAt = client.cache && Date.now();
56
- if (client.cache) ingestInCache(payload as Amity.StreamPayload, { cachedAt });
57
-
58
- const nextPage = toPage(paging.next);
59
- const prevPage = toPage(paging.previous);
60
-
61
- return { data: videoStreamings, cachedAt, prevPage, nextPage };
62
- };
63
- /* end_public_function */
@@ -1,99 +0,0 @@
1
- import { getActiveClient } from '~/client';
2
- import { COLLECTION_DEFAULT_CACHING_POLICY, ENABLE_CACHE_MESSAGE } from '~/utils/constants';
3
- import { dropFromCache, pullFromCache, pushToCache } from '~/cache/api';
4
- import { createQuery, queryOptions, runQuery } from '~/core/query';
5
- import { CACHE_SHORTEN_LIFESPAN } from '~/cache/utils';
6
- import { queryReachUser } from '~/analytic/api/queryReachUser';
7
-
8
- /**
9
- * @deprecated: Please use {@link UserRepository.getReachUsers} instead
10
- * @param params
11
- * @param callback
12
- */
13
- export const getViewedUsers = (
14
- params: Amity.PostViewedUsersLiveCollection,
15
- callback: Amity.LiveCollectionCallback<Amity.User | undefined>,
16
- ): Amity.Unsubscriber => {
17
- const { log, cache } = getActiveClient();
18
- const cacheKey = ['postViewedUsers', 'collection', { postId: params.postId }];
19
-
20
- if (!cache) {
21
- console.log(ENABLE_CACHE_MESSAGE);
22
- }
23
-
24
- const timestamp = Date.now();
25
- log(`getViewedUsers(tmpid: ${timestamp}) > listen`);
26
-
27
- const { limit: queryLimit, postId } = params;
28
-
29
- const responder = (snapshot: {
30
- loading?: boolean;
31
- params?: { page: { next: Amity.Token; previous?: Amity.Token } };
32
- data: Amity.User['userId'][];
33
- }) => {
34
- let users: (Amity.User | undefined)[] = [];
35
-
36
- if (snapshot?.data) {
37
- users =
38
- snapshot.data
39
- .map((userId: Amity.User['userId']) => pullFromCache<Amity.User>(['user', 'get', userId]))
40
- .filter(Boolean)
41
- .map(data => data?.data) || [];
42
- }
43
-
44
- callback({
45
- // eslint-disable-next-line no-use-before-define
46
- onNextPage: onFetch,
47
- data: users,
48
- hasNextPage: !!snapshot.params?.page?.next,
49
- loading: snapshot.loading || false,
50
- });
51
- };
52
-
53
- const onFetch = (initial = false) => {
54
- const collection = pullFromCache<Amity.PostViewedUsersLiveCollectionCache>(cacheKey)?.data;
55
-
56
- const users = collection?.data ?? [];
57
-
58
- if (!initial && users.length > 0 && !collection?.params.page) return;
59
-
60
- const query = createQuery(queryReachUser, {
61
- viewId: postId,
62
- viewedType: Amity.AnalyticEventContentType.Post,
63
- limit: queryLimit || 10,
64
- token: !initial ? collection?.params.page?.next : undefined,
65
- });
66
-
67
- runQuery(
68
- query,
69
- result => {
70
- let userIds =
71
- pullFromCache<Amity.PostViewedUsersLiveCollectionCache>(cacheKey)?.data?.data ?? [];
72
-
73
- if (result.data?.users) {
74
- userIds = [
75
- ...new Set([...userIds, ...result.data.users.map(({ userId }: Amity.User) => userId)]),
76
- ];
77
- }
78
-
79
- const saveToCache = {
80
- loading: result.loading,
81
- params: { page: result.data?.paging },
82
- data: userIds || [],
83
- };
84
-
85
- pushToCache(cacheKey, saveToCache);
86
-
87
- responder(saveToCache);
88
- },
89
- queryOptions(COLLECTION_DEFAULT_CACHING_POLICY, CACHE_SHORTEN_LIFESPAN),
90
- );
91
- };
92
-
93
- onFetch(true);
94
-
95
- return () => {
96
- log(`getViewedUsers(tmpid: ${timestamp}) > dispose`);
97
- dropFromCache(cacheKey);
98
- };
99
- };
@@ -1,71 +0,0 @@
1
- import { createQuery, runQuery } from '~/core/query/query';
2
-
3
- import { getActiveClient } from '~/client/api';
4
-
5
- import { getUser } from '../api/getUser';
6
- import {
7
- onUserUpdated,
8
- onUserDeleted,
9
- onUserFlagged,
10
- onUserUnflagged,
11
- onUserFlagCleared,
12
- } from '../events';
13
- import { LinkedObject } from '~/utils/linkedObject';
14
-
15
- /**
16
- * ```js
17
- * import { observeUser } from '@amityco/ts-sdk-react-native'
18
- *
19
- * let user = {}
20
- * const dispose = observeUser(userId, updated => user = updated)
21
- * ```
22
- *
23
- * @param userId the ID of the user to observe
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 user
26
- *
27
- * Observe all mutation on a given {@link Amity.InternalUser}
28
- * @category User Observer
29
- */
30
- export const observeUser = <
31
- Events extends ['onFetch', 'onUpdate', 'onDelete', 'onFlagged', 'onUnflagged', 'onFlagCleared'],
32
- >(
33
- userId: string,
34
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.InternalUser>, Events>,
35
- ): Amity.Unsubscriber => {
36
- const { log } = getActiveClient();
37
-
38
- const timestamp = Date.now();
39
- log(`observeUser(tmpid: ${timestamp}) > listen`);
40
-
41
- // wrapper function to make sure
42
- const router = (result: Amity.Snapshot<Amity.InternalUser>, action: Events[number]) => {
43
- // filter function
44
- if (result.data?.userId !== userId) return;
45
-
46
- const newResult = { ...result, data: LinkedObject.user(result.data) };
47
-
48
- if (callback instanceof Function) return callback(newResult);
49
-
50
- if (action !== 'onFetch') callback.onEvent?.(action, newResult);
51
-
52
- callback[action]?.(newResult);
53
- };
54
-
55
- const disposers: Amity.Unsubscriber[] = [];
56
-
57
- disposers.push(
58
- onUserUpdated(data => router({ data, loading: false, origin: 'event' }, 'onUpdate')),
59
- onUserDeleted(data => router({ data, loading: false, origin: 'event' }, 'onDelete')),
60
- onUserFlagged(data => router({ data, loading: false, origin: 'event' }, 'onFlagged')),
61
- onUserUnflagged(data => router({ data, loading: false, origin: 'event' }, 'onUnflagged')),
62
- onUserFlagCleared(data => router({ data, loading: false, origin: 'event' }, 'onFlagCleared')),
63
- );
64
-
65
- runQuery(createQuery(getUser, userId), result => result.data && router(result, 'onFetch'));
66
-
67
- return () => {
68
- log(`observeUser(tmpid: ${timestamp}) > dispose`);
69
- disposers.forEach(fn => fn());
70
- };
71
- };
@@ -1,39 +0,0 @@
1
- import { disableCache, enableCache } from '~/cache/api';
2
- import {
3
- client,
4
- connectClient,
5
- deepCopy,
6
- disconnectClient,
7
- pause,
8
- post11,
9
- viewedUserQueryResponse,
10
- } from '~/utils/tests';
11
-
12
- import { getViewedUsers } from '../getViewedUsers';
13
-
14
- describe('getViewedUsers', () => {
15
- beforeAll(connectClient);
16
- afterAll(disconnectClient);
17
-
18
- beforeEach(enableCache);
19
- afterEach(disableCache);
20
-
21
- test('should return users collection', async () => {
22
- const callback = jest.fn();
23
- client.http.get = jest.fn().mockResolvedValue(viewedUserQueryResponse);
24
-
25
- getViewedUsers({ postId: post11.postId }, callback);
26
- await pause();
27
-
28
- expect(callback).toHaveBeenCalledTimes(2);
29
- expect(deepCopy(callback.mock.calls[1][0])).toEqual(
30
- expect.objectContaining(
31
- deepCopy({
32
- data: viewedUserQueryResponse.data.users,
33
- loading: false,
34
- hasNextPage: false,
35
- }),
36
- ),
37
- );
38
- });
39
- });