@amityco/ts-sdk 6.35.2 → 6.35.3-024c022.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 (325) hide show
  1. package/.env +26 -26
  2. package/dist/@types/core/events.d.ts +6 -6
  3. package/dist/@types/core/events.d.ts.map +1 -1
  4. package/dist/@types/domains/analytics.d.ts +0 -3
  5. package/dist/@types/domains/analytics.d.ts.map +1 -1
  6. package/dist/@types/domains/channel.d.ts +9 -33
  7. package/dist/@types/domains/channel.d.ts.map +1 -1
  8. package/dist/@types/domains/client.d.ts +0 -4
  9. package/dist/@types/domains/client.d.ts.map +1 -1
  10. package/dist/@types/domains/community.d.ts +2 -10
  11. package/dist/@types/domains/community.d.ts.map +1 -1
  12. package/dist/@types/domains/feed.d.ts +0 -11
  13. package/dist/@types/domains/feed.d.ts.map +1 -1
  14. package/dist/@types/domains/message.d.ts +0 -12
  15. package/dist/@types/domains/message.d.ts.map +1 -1
  16. package/dist/@types/domains/subChannel.d.ts +0 -4
  17. package/dist/@types/domains/subChannel.d.ts.map +1 -1
  18. package/dist/@types/domains/user.d.ts +1 -5
  19. package/dist/@types/domains/user.d.ts.map +1 -1
  20. package/dist/channelRepository/api/deleteChannel.d.ts.map +1 -1
  21. package/dist/channelRepository/api/index.d.ts +0 -1
  22. package/dist/channelRepository/api/index.d.ts.map +1 -1
  23. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
  24. package/dist/channelRepository/channelMembership/observers/getMembers/getMembers.d.ts.map +1 -1
  25. package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.d.ts.map +1 -1
  26. package/dist/channelRepository/channelMembership/observers/searchMembers/searchMembers.d.ts.map +1 -1
  27. package/dist/channelRepository/{api → internalApi}/getChannel.d.ts +2 -2
  28. package/dist/channelRepository/internalApi/getChannel.d.ts.map +1 -0
  29. package/dist/channelRepository/internalApi/getChannelByIds.d.ts +32 -0
  30. package/dist/channelRepository/internalApi/getChannelByIds.d.ts.map +1 -0
  31. package/dist/channelRepository/{api → internalApi}/markAsRead.d.ts +0 -3
  32. package/dist/channelRepository/internalApi/markAsRead.d.ts.map +1 -0
  33. package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
  34. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  35. package/dist/channelRepository/observers/index.d.ts +0 -2
  36. package/dist/channelRepository/observers/index.d.ts.map +1 -1
  37. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -1
  38. package/dist/channelRepository/utils/constructChannelObject.d.ts +2 -0
  39. package/dist/channelRepository/utils/constructChannelObject.d.ts.map +1 -0
  40. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts +1 -1
  41. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts.map +1 -1
  42. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts +1 -1
  43. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts.map +1 -1
  44. package/dist/channelRepository/utils/resolveChannels.d.ts.map +1 -1
  45. package/dist/client/observers/index.d.ts +0 -1
  46. package/dist/client/observers/index.d.ts.map +1 -1
  47. package/dist/client/utils/endpoints.d.ts +1 -1
  48. package/dist/client/utils/markerSyncEngine.d.ts +0 -4
  49. package/dist/client/utils/markerSyncEngine.d.ts.map +1 -1
  50. package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -1
  51. package/dist/commentRepository/observers/index.d.ts +0 -2
  52. package/dist/commentRepository/observers/index.d.ts.map +1 -1
  53. package/dist/communityRepository/api/index.d.ts +0 -1
  54. package/dist/communityRepository/api/index.d.ts.map +1 -1
  55. package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
  56. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.d.ts.map +1 -1
  57. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.d.ts.map +1 -1
  58. package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
  59. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts +1 -1
  60. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts.map +1 -1
  61. package/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.d.ts.map +1 -1
  62. package/dist/communityRepository/observers/getCommunities/CommunitiesPaginationController.d.ts.map +1 -1
  63. package/dist/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.d.ts.map +1 -1
  64. package/dist/communityRepository/observers/index.d.ts +0 -1
  65. package/dist/communityRepository/observers/index.d.ts.map +1 -1
  66. package/dist/core/events.d.ts +3 -3
  67. package/dist/core/events.d.ts.map +1 -1
  68. package/dist/core/subscription.d.ts +1 -0
  69. package/dist/core/subscription.d.ts.map +1 -1
  70. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +2 -35
  71. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
  72. package/dist/feedRepository/api/queryGlobalFeed.d.ts +2 -24
  73. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  74. package/dist/fileRepository/api/index.d.ts +0 -3
  75. package/dist/fileRepository/api/index.d.ts.map +1 -1
  76. package/dist/fileRepository/index.d.ts +0 -1
  77. package/dist/fileRepository/index.d.ts.map +1 -1
  78. package/dist/index.cjs.js +1362 -2899
  79. package/dist/index.esm.js +1082 -2620
  80. package/dist/index.umd.js +4 -4
  81. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -5
  82. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
  83. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +0 -1
  84. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts.map +1 -1
  85. package/dist/messageRepository/api/index.d.ts +0 -1
  86. package/dist/messageRepository/api/index.d.ts.map +1 -1
  87. package/dist/messageRepository/internalApi/getMessage.d.ts.map +1 -1
  88. package/dist/messageRepository/observers/getMessages/MessageLiveCollectionController.d.ts.map +1 -1
  89. package/dist/messageRepository/observers/getMessages/MessageQueryStreamController.d.ts.map +1 -1
  90. package/dist/messageRepository/observers/getMessages/getMessages.d.ts.map +1 -1
  91. package/dist/messageRepository/observers/index.d.ts +0 -2
  92. package/dist/messageRepository/observers/index.d.ts.map +1 -1
  93. package/dist/messageRepository/utils/prepareMessagePayload.d.ts +1 -1
  94. package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
  95. package/dist/pollRepository/observers/index.d.ts +0 -1
  96. package/dist/pollRepository/observers/index.d.ts.map +1 -1
  97. package/dist/postRepository/api/index.d.ts +0 -1
  98. package/dist/postRepository/api/index.d.ts.map +1 -1
  99. package/dist/postRepository/observers/index.d.ts +0 -2
  100. package/dist/postRepository/observers/index.d.ts.map +1 -1
  101. package/dist/role/api/queryRoles.d.ts +0 -7
  102. package/dist/role/api/queryRoles.d.ts.map +1 -1
  103. package/dist/streamRepository/api/index.d.ts +0 -2
  104. package/dist/streamRepository/api/index.d.ts.map +1 -1
  105. package/dist/streamRepository/events/onStreamFlagged.d.ts.map +1 -1
  106. package/dist/streamRepository/internalApi/getStream.d.ts.map +1 -0
  107. package/dist/subChannelRepository/utils/markReadEngine.d.ts +0 -34
  108. package/dist/subChannelRepository/utils/markReadEngine.d.ts.map +1 -1
  109. package/dist/userRepository/internalApi/queryUsers.d.ts.map +1 -1
  110. package/dist/userRepository/observers/getUsers/UserLiveCollectionController.d.ts.map +1 -1
  111. package/dist/userRepository/observers/getUsers/UserPaginationController.d.ts.map +1 -1
  112. package/dist/userRepository/observers/index.d.ts +0 -2
  113. package/dist/userRepository/observers/index.d.ts.map +1 -1
  114. package/dist/userRepository/relationship/block/index.d.ts +0 -1
  115. package/dist/userRepository/relationship/block/index.d.ts.map +1 -1
  116. package/dist/userRepository/relationship/follow/api/index.d.ts +0 -2
  117. package/dist/userRepository/relationship/follow/api/index.d.ts.map +1 -1
  118. package/dist/userRepository/relationship/follow/observers/index.d.ts +0 -3
  119. package/dist/userRepository/relationship/follow/observers/index.d.ts.map +1 -1
  120. package/dist/utils/liveObject.d.ts +1 -1
  121. package/package.json +1 -1
  122. package/src/@types/core/events.ts +8 -9
  123. package/src/@types/domains/analytics.ts +0 -7
  124. package/src/@types/domains/channel.ts +15 -46
  125. package/src/@types/domains/client.ts +0 -4
  126. package/src/@types/domains/community.ts +0 -8
  127. package/src/@types/domains/feed.ts +0 -11
  128. package/src/@types/domains/message.ts +0 -12
  129. package/src/@types/domains/subChannel.ts +0 -4
  130. package/src/@types/domains/user.ts +0 -4
  131. package/src/analytic/api/queryReachUser.ts +1 -1
  132. package/src/channelRepository/api/deleteChannel.ts +3 -2
  133. package/src/channelRepository/api/index.ts +0 -2
  134. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +0 -8
  135. package/src/channelRepository/channelMembership/observers/getMembers/getMembers.ts +0 -8
  136. package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.ts +0 -8
  137. package/src/channelRepository/channelMembership/observers/searchMembers/searchMembers.ts +0 -8
  138. package/src/channelRepository/{api → internalApi}/getChannel.ts +4 -4
  139. package/src/channelRepository/internalApi/getChannelByIds.ts +107 -0
  140. package/src/channelRepository/{api → internalApi}/markAsRead.ts +0 -3
  141. package/src/channelRepository/observers/getChannel.ts +4 -3
  142. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +8 -3
  143. package/src/channelRepository/observers/index.ts +0 -2
  144. package/src/channelRepository/utils/constructChannelDynamicValue.ts +4 -9
  145. package/src/channelRepository/utils/constructChannelObject.ts +9 -0
  146. package/src/channelRepository/utils/getChannelIsMentioned.ts +4 -1
  147. package/src/channelRepository/utils/getSubChannelsUnreadCount.ts +1 -1
  148. package/src/channelRepository/utils/resolveChannels.ts +6 -1
  149. package/src/client/observers/getUserUnread.ts +1 -1
  150. package/src/client/observers/index.ts +0 -1
  151. package/src/client/utils/endpoints.ts +1 -1
  152. package/src/client/utils/markerSyncEngine.ts +0 -9
  153. package/src/client/utils/subscribeGlobalTopic.ts +3 -0
  154. package/src/commentRepository/observers/index.ts +0 -2
  155. package/src/communityRepository/api/index.ts +0 -3
  156. package/src/communityRepository/api/queryCommunities.ts +1 -2
  157. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.ts +0 -12
  158. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.ts +0 -7
  159. package/src/communityRepository/communityMembership/observers/getMembers.ts +0 -4
  160. package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.ts +1 -1
  161. package/src/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.ts +12 -16
  162. package/src/communityRepository/observers/getCommunities/CommunitiesPaginationController.ts +0 -1
  163. package/src/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.ts +0 -4
  164. package/src/communityRepository/observers/index.ts +0 -2
  165. package/src/core/events.ts +6 -4
  166. package/src/core/subscription.ts +6 -0
  167. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +8 -55
  168. package/src/feedRepository/api/queryGlobalFeed.ts +6 -58
  169. package/src/feedRepository/api/test/getCustomRankingGlobalFeed.test.ts +1 -1
  170. package/src/feedRepository/api/test/queryGlobalFeed.test.ts +1 -1
  171. package/src/fileRepository/api/index.ts +0 -5
  172. package/src/fileRepository/index.ts +0 -1
  173. package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
  174. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +2 -2
  175. package/src/messageRepository/api/createMessage.ts +1 -1
  176. package/src/messageRepository/api/index.ts +0 -2
  177. package/src/messageRepository/api/tests/createMessage.test.ts +5 -1
  178. package/src/messageRepository/internalApi/getMessage.ts +0 -6
  179. package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +0 -20
  180. package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +0 -10
  181. package/src/messageRepository/observers/getMessages/getMessages.ts +0 -20
  182. package/src/messageRepository/observers/index.ts +0 -3
  183. package/src/messageRepository/utils/prepareMessagePayload.ts +1 -7
  184. package/src/pollRepository/observers/index.ts +0 -1
  185. package/src/postRepository/api/index.ts +0 -1
  186. package/src/postRepository/observers/index.ts +0 -2
  187. package/src/role/api/queryRoles.ts +1 -13
  188. package/src/streamRepository/api/deleteStream.ts +1 -1
  189. package/src/streamRepository/api/index.ts +0 -4
  190. package/src/streamRepository/api/tests/getStream.test.ts +1 -1
  191. package/src/streamRepository/events/onStreamFlagged.ts +1 -6
  192. package/src/streamRepository/events/onStreamRecorded.ts +1 -1
  193. package/src/streamRepository/events/onStreamStarted.ts +1 -1
  194. package/src/streamRepository/events/onStreamStopped.ts +1 -1
  195. package/src/streamRepository/events/onStreamTerminated.ts +1 -1
  196. package/src/streamRepository/observers/getStreamById.ts +1 -1
  197. package/src/subChannelRepository/utils/markReadEngine.ts +0 -106
  198. package/src/userRepository/internalApi/queryUsers.ts +1 -9
  199. package/src/userRepository/observers/getUsers/UserLiveCollectionController.ts +12 -16
  200. package/src/userRepository/observers/getUsers/UserPaginationController.ts +1 -2
  201. package/src/userRepository/observers/index.ts +0 -2
  202. package/src/userRepository/relationship/block/index.ts +0 -1
  203. package/src/userRepository/relationship/follow/api/index.ts +0 -4
  204. package/src/userRepository/relationship/follow/observers/index.ts +0 -4
  205. package/src/utils/linkedObject/channelLinkedObject.ts +1 -1
  206. package/src/utils/liveObject.ts +2 -2
  207. package/dist/channelRepository/api/getChannel.d.ts.map +0 -1
  208. package/dist/channelRepository/api/markAsRead.d.ts.map +0 -1
  209. package/dist/channelRepository/observers/observeChannel.d.ts +0 -18
  210. package/dist/channelRepository/observers/observeChannel.d.ts.map +0 -1
  211. package/dist/channelRepository/observers/observeChannels.d.ts +0 -17
  212. package/dist/channelRepository/observers/observeChannels.d.ts.map +0 -1
  213. package/dist/client/observers/getTotalUnreadCount.d.ts +0 -20
  214. package/dist/client/observers/getTotalUnreadCount.d.ts.map +0 -1
  215. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts +0 -2
  216. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts.map +0 -1
  217. package/dist/commentRepository/observers/observeComment.d.ts +0 -18
  218. package/dist/commentRepository/observers/observeComment.d.ts.map +0 -1
  219. package/dist/commentRepository/observers/observeComments.d.ts +0 -26
  220. package/dist/commentRepository/observers/observeComments.d.ts.map +0 -1
  221. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts +0 -35
  222. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts.map +0 -1
  223. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts +0 -2
  224. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts.map +0 -1
  225. package/dist/communityRepository/observers/observeCommunity.d.ts +0 -18
  226. package/dist/communityRepository/observers/observeCommunity.d.ts.map +0 -1
  227. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts +0 -8
  228. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts.map +0 -1
  229. package/dist/feedRepository/internalApi/index.d.ts +0 -3
  230. package/dist/feedRepository/internalApi/index.d.ts.map +0 -1
  231. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts +0 -9
  232. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts.map +0 -1
  233. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts +0 -2
  234. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts.map +0 -1
  235. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts +0 -2
  236. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts.map +0 -1
  237. package/dist/fileRepository/api/createFile.d.ts +0 -17
  238. package/dist/fileRepository/api/createFile.d.ts.map +0 -1
  239. package/dist/fileRepository/api/createImage.d.ts +0 -17
  240. package/dist/fileRepository/api/createImage.d.ts.map +0 -1
  241. package/dist/fileRepository/api/createVideo.d.ts +0 -18
  242. package/dist/fileRepository/api/createVideo.d.ts.map +0 -1
  243. package/dist/fileRepository/observers/index.d.ts +0 -2
  244. package/dist/fileRepository/observers/index.d.ts.map +0 -1
  245. package/dist/fileRepository/observers/observeFile.d.ts +0 -18
  246. package/dist/fileRepository/observers/observeFile.d.ts.map +0 -1
  247. package/dist/messageRepository/api/getMessage.d.ts +0 -32
  248. package/dist/messageRepository/api/getMessage.d.ts.map +0 -1
  249. package/dist/messageRepository/api/getMessages.d.ts +0 -32
  250. package/dist/messageRepository/api/getMessages.d.ts.map +0 -1
  251. package/dist/messageRepository/observers/observeMessage.d.ts +0 -21
  252. package/dist/messageRepository/observers/observeMessage.d.ts.map +0 -1
  253. package/dist/messageRepository/observers/observeMessages.d.ts +0 -23
  254. package/dist/messageRepository/observers/observeMessages.d.ts.map +0 -1
  255. package/dist/pollRepository/observers/observePoll.d.ts +0 -18
  256. package/dist/pollRepository/observers/observePoll.d.ts.map +0 -1
  257. package/dist/postRepository/api/updatePost.d.ts +0 -24
  258. package/dist/postRepository/api/updatePost.d.ts.map +0 -1
  259. package/dist/postRepository/observers/observePost.d.ts +0 -18
  260. package/dist/postRepository/observers/observePost.d.ts.map +0 -1
  261. package/dist/postRepository/observers/observePosts.d.ts +0 -34
  262. package/dist/postRepository/observers/observePosts.d.ts.map +0 -1
  263. package/dist/streamRepository/api/getStream.d.ts.map +0 -1
  264. package/dist/streamRepository/api/queryStreams.d.ts +0 -25
  265. package/dist/streamRepository/api/queryStreams.d.ts.map +0 -1
  266. package/dist/userRepository/observers/getViewedUsers.d.ts +0 -7
  267. package/dist/userRepository/observers/getViewedUsers.d.ts.map +0 -1
  268. package/dist/userRepository/observers/observeUser.d.ts +0 -17
  269. package/dist/userRepository/observers/observeUser.d.ts.map +0 -1
  270. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts +0 -2
  271. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts.map +0 -1
  272. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +0 -2
  273. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +0 -1
  274. package/dist/userRepository/relationship/block/observers/index.d.ts +0 -2
  275. package/dist/userRepository/relationship/block/observers/index.d.ts.map +0 -1
  276. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +0 -19
  277. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +0 -1
  278. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +0 -19
  279. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +0 -1
  280. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +0 -18
  281. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +0 -1
  282. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +0 -18
  283. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +0 -1
  284. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +0 -18
  285. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +0 -1
  286. package/src/channelRepository/observers/observeChannel.ts +0 -109
  287. package/src/channelRepository/observers/observeChannels.ts +0 -74
  288. package/src/client/observers/getTotalUnreadCount.ts +0 -53
  289. package/src/client/observers/tests/getTotalUnreadCount.test.ts +0 -101
  290. package/src/commentRepository/observers/observeComment.ts +0 -102
  291. package/src/commentRepository/observers/observeComments.ts +0 -77
  292. package/src/communityRepository/api/getTopTrendingCommunities.ts +0 -97
  293. package/src/communityRepository/api/test/getTopTrendingCommunities.test.ts +0 -102
  294. package/src/communityRepository/observers/observeCommunity.ts +0 -103
  295. package/src/feedRepository/internalApi/getCustomRankingGlobalFeed.ts +0 -87
  296. package/src/feedRepository/internalApi/index.ts +0 -2
  297. package/src/feedRepository/internalApi/queryGlobalFeed.ts +0 -95
  298. package/src/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.ts +0 -138
  299. package/src/feedRepository/internalApi/test/queryGlobalFeed.test.ts +0 -130
  300. package/src/fileRepository/api/createFile.ts +0 -59
  301. package/src/fileRepository/api/createImage.ts +0 -59
  302. package/src/fileRepository/api/createVideo.ts +0 -69
  303. package/src/fileRepository/observers/index.ts +0 -1
  304. package/src/fileRepository/observers/observeFile.ts +0 -49
  305. package/src/messageRepository/api/getMessage.ts +0 -102
  306. package/src/messageRepository/api/getMessages.ts +0 -83
  307. package/src/messageRepository/observers/observeMessage.ts +0 -94
  308. package/src/messageRepository/observers/observeMessages.ts +0 -89
  309. package/src/pollRepository/observers/observePoll.ts +0 -67
  310. package/src/postRepository/api/updatePost.ts +0 -63
  311. package/src/postRepository/observers/observePost.ts +0 -115
  312. package/src/postRepository/observers/observePosts.ts +0 -86
  313. package/src/streamRepository/api/queryStreams.ts +0 -63
  314. package/src/userRepository/observers/getViewedUsers.ts +0 -99
  315. package/src/userRepository/observers/observeUser.ts +0 -71
  316. package/src/userRepository/observers/tests/getViewedUsers.test.ts +0 -39
  317. package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +0 -13
  318. package/src/userRepository/relationship/block/observers/index.ts +0 -1
  319. package/src/userRepository/relationship/follow/api/acceptFollower.ts +0 -40
  320. package/src/userRepository/relationship/follow/api/declineFollower.ts +0 -40
  321. package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +0 -64
  322. package/src/userRepository/relationship/follow/observers/observeFollowers.ts +0 -74
  323. package/src/userRepository/relationship/follow/observers/observeFollowings.ts +0 -74
  324. /package/dist/streamRepository/{api → internalApi}/getStream.d.ts +0 -0
  325. /package/src/streamRepository/{api → internalApi}/getStream.ts +0 -0
@@ -1,102 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { fireEvent } from '~/core/events';
4
- import { pullFromCache } from '~/cache/api';
5
- import { ingestInCache } from '~/cache/api/ingestInCache';
6
-
7
- import { isInTombstone } from '~/cache/api/isInTombstone';
8
- import { checkIfShouldGoesToTombstone } from '~/cache/utils';
9
- import { pushToTombstone } from '~/cache/api/pushToTombstone';
10
-
11
- import { prepareMessagePayload } from '../utils';
12
- import { LinkedObject } from '~/utils/linkedObject';
13
-
14
- /**
15
- * ```js
16
- * import { getMessage } from '@amityco/ts-sdk'
17
- * const message = await getMessage('foobar')
18
- * ```
19
- *
20
- * Fetches a {@link Amity.Message} object
21
- *
22
- * @param messageId the ID of the {@link Amity.Message} to fetch
23
- * @returns the associated {@link Amity.Message} object
24
- *
25
- * @category Message API
26
- * @async
27
- */
28
- export const getMessage = async (
29
- messageId: Amity.Message['messageId'],
30
- isLive = false,
31
- ): Promise<Amity.Cached<Amity.Message>> => {
32
- const client = getActiveClient();
33
- client.log('message/getMessage', messageId);
34
-
35
- if (!isLive) {
36
- console.log(
37
- 'getMessage will be deprecated on 15th November 2022, please use liveMessage instead.',
38
- );
39
- }
40
-
41
- isInTombstone('message', messageId);
42
-
43
- let data: Amity.ProcessedMessagePayload;
44
-
45
- try {
46
- // API-FIX: endpoint should not be /list, parameters should be querystring.
47
- const { data: payload } = await client.http.get<Amity.MessagePayload>(
48
- `/api/v5/messages/${encodeURIComponent(messageId)}`,
49
- );
50
-
51
- data = await prepareMessagePayload(payload);
52
- } catch (error) {
53
- if (checkIfShouldGoesToTombstone((error as Amity.ErrorResponse)?.code)) {
54
- pushToTombstone('message', messageId);
55
- }
56
-
57
- throw error;
58
- }
59
-
60
- const cachedAt = client.cache && Date.now();
61
- if (client.cache) ingestInCache(data, { cachedAt });
62
-
63
- const { messages } = data;
64
-
65
- fireEvent('local.message.fetched', { messages });
66
-
67
- return {
68
- data: LinkedObject.message(messages.find(message => message.messageId === messageId)!),
69
- cachedAt,
70
- };
71
- };
72
-
73
- /**
74
- * ```js
75
- * import { getMessage } from '@amityco/ts-sdk'
76
- * const message = getMessage.locally('foobar')
77
- * ```
78
- *
79
- * Fetches a {@link Amity.Message} object
80
- *
81
- * @param messageId the ID of the {@link Amity.Message} to fetch
82
- * @returns the associated {@link Amity.Message} object
83
- *
84
- * @category Message API
85
- */
86
- getMessage.locally = (
87
- messageId: Amity.Message['messageId'],
88
- ): Amity.Cached<Amity.Message> | undefined => {
89
- const client = getActiveClient();
90
- client.log('message/getMessage.locally', messageId);
91
-
92
- if (!client.cache) return;
93
-
94
- const cached = pullFromCache<Amity.Message>(['message', 'get', messageId]);
95
-
96
- if (!cached) return;
97
-
98
- return {
99
- data: cached.data,
100
- cachedAt: cached.cachedAt,
101
- };
102
- };
@@ -1,83 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { fireEvent } from '~/core/events';
4
- import { pullFromCache } from '~/cache/api';
5
- import { ingestInCache } from '~/cache/api/ingestInCache';
6
-
7
- import { prepareMessagePayload } from '../utils';
8
- import { LinkedObject } from '~/utils/linkedObject';
9
-
10
- /**
11
- * ```js
12
- * import { getMessages } from '@amityco/ts-sdk'
13
- * const messages = await getMessages(['foo', 'bar'])
14
- * ```
15
- *
16
- * Fetches a collection of {@link Amity.Message} objects
17
- *
18
- * @param messageIds the IDs of the {@link Amity.Message} to fetch
19
- * @returns the associated collection of {@link Amity.Message} objects
20
- *
21
- * @category Message API
22
- * @async
23
- */
24
- export const getMessages = async (
25
- messageIds: Amity.Message['messageId'][],
26
- ): Promise<Amity.Cached<Amity.Message[]>> => {
27
- const client = getActiveClient();
28
- client.log('message/getMessages', messageIds);
29
-
30
- const { data: payload } = await client.http.get<Amity.MessagePayload>(`/api/v5/messages/list`, {
31
- params: { messageIds: messageIds.map(encodeURIComponent) },
32
- });
33
-
34
- const data = await prepareMessagePayload(payload);
35
-
36
- const cachedAt = client.cache && Date.now();
37
- if (client.cache) ingestInCache(data, { cachedAt });
38
-
39
- const { messages } = data;
40
-
41
- fireEvent('local.message.fetched', { messages });
42
-
43
- return {
44
- data: messages.map(message => LinkedObject.message(message)),
45
- cachedAt,
46
- };
47
- };
48
-
49
- /**
50
- * ```js
51
- * import { getMessages } from '@amityco/ts-sdk'
52
- * const messages = getMessages.locally(['foo', 'bar']) ?? []
53
- * ```
54
- *
55
- * Fetches a collection of {@link Amity.Message} objects from cache
56
- *
57
- * @param messageIds the IDs of the {@link Amity.Message} to fetch
58
- * @returns the associated collection of {@link Amity.Message} objects
59
- *
60
- * @category Message API
61
- */
62
- getMessages.locally = (
63
- messageIds: Amity.Message['messageId'][],
64
- ): Amity.Cached<Amity.Message[]> | undefined => {
65
- const client = getActiveClient();
66
- client.log('message/getMessages.locally', messageIds);
67
-
68
- if (!client.cache) return;
69
-
70
- const cached = messageIds
71
- .map(messageId => pullFromCache<Amity.Message>(['message', 'get', messageId])!)
72
- .filter(Boolean);
73
-
74
- const messages = cached.map(({ data }) => data);
75
- const oldest = cached.sort((a, b) => (a.cachedAt! < b.cachedAt! ? -1 : 1))?.[0];
76
-
77
- if (cached?.length < messageIds.length) return;
78
-
79
- return {
80
- data: messages,
81
- cachedAt: oldest.cachedAt,
82
- };
83
- };
@@ -1,94 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { createQuery, runQuery, queryOptions } from '~/core/query';
4
- import { onMessageMarked, onMessageMarkerFetched } from '~/marker/events';
5
- import { convertEventPayload } from '~/utils/event';
6
-
7
- import { getMessage } from '../api/getMessage';
8
-
9
- import { onMessageUpdated, onMessageDeleted } from '../events';
10
- import { LinkedObject } from '~/utils/linkedObject';
11
-
12
- /**
13
- * ```js
14
- * import { observeMessage } from '@amityco/ts-sdk'
15
- *
16
- * let message = {}
17
- *
18
- * const unsub = observeMessage(messageId, updated => message = updated)
19
- * ```
20
- *
21
- * Observe all mutations on a {@link Amity.Message} given a single messageId
22
- *
23
- * @param client the client to observe the message with
24
- * @param messageId the ID of the message to observe
25
- * @param callback the function to call when new data are available
26
- * @param policy a query policy option for this observer
27
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the message
28
- *
29
- * @category Message Observer
30
- */
31
- export const observeMessage = <Events extends ['onFetch', 'onUpdate', 'onDelete']>(
32
- messageId: Amity.Message['messageId'],
33
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.Message>, Events>,
34
- policy: Amity.QueryPolicy = 'cache_then_server',
35
- ): Amity.Unsubscriber => {
36
- const { log } = getActiveClient();
37
-
38
- const timestamp = Date.now();
39
- log(`observeMessage(tmpid: ${timestamp}) > listen`);
40
-
41
- console.log(
42
- 'observeMessage will be deprecated on 15th November 2022, please use liveMessage instead.',
43
- );
44
-
45
- // wrapper function to make sure
46
- const router = (result: Amity.Snapshot<Amity.Message>, action: Events[number]) => {
47
- // filter function
48
- if (result.data?.messageId !== messageId) return;
49
-
50
- if (callback instanceof Function) return callback(result);
51
-
52
- if (action !== 'onFetch') callback.onEvent?.(action, result);
53
-
54
- callback[action]?.(result);
55
- };
56
-
57
- const disposers: Amity.Unsubscriber[] = [];
58
-
59
- disposers.push(
60
- onMessageUpdated(data =>
61
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
62
- ),
63
- onMessageDeleted(data =>
64
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onDelete'),
65
- ),
66
- convertEventPayload(
67
- onMessageMarkerFetched,
68
- 'contentId',
69
- 'message',
70
- )(data =>
71
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
72
- ),
73
- convertEventPayload(
74
- onMessageMarked,
75
- 'contentId',
76
- 'message',
77
- )(data =>
78
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
79
- ),
80
- );
81
-
82
- if (policy !== 'no_fetch') {
83
- runQuery(
84
- createQuery(getMessage, messageId),
85
- result => result.data && router(result, 'onFetch'),
86
- queryOptions(policy),
87
- );
88
- }
89
-
90
- return () => {
91
- log(`observeMessages(tmpid: ${timestamp}) > dispose`);
92
- disposers.forEach(fn => fn());
93
- };
94
- };
@@ -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'
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'
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'
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'
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'
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
- };