@amityco/ts-sdk-react-native 6.12.1 → 6.13.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 (487) hide show
  1. package/README.md +8 -9
  2. package/dist/@types/core/marker.d.ts +4 -4
  3. package/dist/@types/core/marker.d.ts.map +1 -1
  4. package/dist/@types/core/model.d.ts +6 -6
  5. package/dist/@types/core/model.d.ts.map +1 -1
  6. package/dist/@types/core/payload.d.ts +21 -21
  7. package/dist/@types/core/payload.d.ts.map +1 -1
  8. package/dist/@types/domains/analytics.d.ts +31 -0
  9. package/dist/@types/domains/analytics.d.ts.map +1 -0
  10. package/dist/@types/domains/block.d.ts +1 -1
  11. package/dist/@types/domains/block.d.ts.map +1 -1
  12. package/dist/@types/domains/category.d.ts +5 -2
  13. package/dist/@types/domains/category.d.ts.map +1 -1
  14. package/dist/@types/domains/client.d.ts +3 -3
  15. package/dist/@types/domains/client.d.ts.map +1 -1
  16. package/dist/@types/domains/comment.d.ts +2 -1
  17. package/dist/@types/domains/comment.d.ts.map +1 -1
  18. package/dist/@types/domains/community.d.ts +5 -5
  19. package/dist/@types/domains/community.d.ts.map +1 -1
  20. package/dist/@types/domains/follow.d.ts +4 -4
  21. package/dist/@types/domains/follow.d.ts.map +1 -1
  22. package/dist/@types/domains/group.d.ts +2 -2
  23. package/dist/@types/domains/group.d.ts.map +1 -1
  24. package/dist/@types/domains/messagePreview.d.ts +2 -2
  25. package/dist/@types/domains/messagePreview.d.ts.map +1 -1
  26. package/dist/@types/domains/poll.d.ts +1 -1
  27. package/dist/@types/domains/poll.d.ts.map +1 -1
  28. package/dist/@types/domains/post.d.ts +15 -7
  29. package/dist/@types/domains/post.d.ts.map +1 -1
  30. package/dist/@types/domains/reaction.d.ts +1 -1
  31. package/dist/@types/domains/reaction.d.ts.map +1 -1
  32. package/dist/@types/domains/stream.d.ts +2 -2
  33. package/dist/@types/domains/stream.d.ts.map +1 -1
  34. package/dist/@types/domains/user.d.ts +7 -3
  35. package/dist/@types/domains/user.d.ts.map +1 -1
  36. package/dist/analytic/api/queryReachUser.d.ts +6 -0
  37. package/dist/analytic/api/queryReachUser.d.ts.map +1 -0
  38. package/dist/analytic/api/syncEvent.d.ts +2 -0
  39. package/dist/analytic/api/syncEvent.d.ts.map +1 -0
  40. package/dist/analytic/constant.d.ts +2 -0
  41. package/dist/analytic/constant.d.ts.map +1 -0
  42. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts +15 -0
  43. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts.map +1 -0
  44. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts +9 -0
  45. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts.map +1 -0
  46. package/dist/analytic/service/analytic/AnalyticsEventSyncer.d.ts +8 -0
  47. package/dist/analytic/service/analytic/AnalyticsEventSyncer.d.ts.map +1 -0
  48. package/dist/analytic/service/analytic/AnalyticsService.d.ts +10 -0
  49. package/dist/analytic/service/analytic/AnalyticsService.d.ts.map +1 -0
  50. package/dist/analytic/utils/analyticsEngineOnLoginHandler.d.ts +3 -0
  51. package/dist/analytic/utils/analyticsEngineOnLoginHandler.d.ts.map +1 -0
  52. package/dist/cache/api/pushToCache.d.ts +1 -1
  53. package/dist/cache/api/upsertInCache.d.ts +1 -1
  54. package/dist/categoryRepository/api/getCategory.d.ts.map +1 -1
  55. package/dist/categoryRepository/api/queryCategories.d.ts.map +1 -1
  56. package/dist/categoryRepository/observers/getCategories.d.ts.map +1 -1
  57. package/dist/channelRepsitory/channelMembership/api/addMembers.d.ts +4 -4
  58. package/dist/channelRepsitory/channelMembership/api/addMembers.d.ts.map +1 -1
  59. package/dist/channelRepsitory/channelMembership/api/queryChannelMembers.d.ts +1 -1
  60. package/dist/channelRepsitory/channelMembership/api/removeMembers.d.ts +4 -4
  61. package/dist/channelRepsitory/channelMembership/api/removeMembers.d.ts.map +1 -1
  62. package/dist/channelRepsitory/channelModeration/api/addRole.d.ts +4 -4
  63. package/dist/channelRepsitory/channelModeration/api/addRole.d.ts.map +1 -1
  64. package/dist/channelRepsitory/channelModeration/api/banMembers.d.ts +2 -2
  65. package/dist/channelRepsitory/channelModeration/api/banMembers.d.ts.map +1 -1
  66. package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts +4 -4
  67. package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts.map +1 -1
  68. package/dist/channelRepsitory/channelModeration/api/unbanMembers.d.ts +2 -2
  69. package/dist/channelRepsitory/channelModeration/api/unbanMembers.d.ts.map +1 -1
  70. package/dist/channelRepsitory/events/onChannelMemberAdded.d.ts +1 -1
  71. package/dist/channelRepsitory/events/onChannelMemberBanned.d.ts +1 -1
  72. package/dist/channelRepsitory/events/onChannelMemberRemoved.d.ts +1 -1
  73. package/dist/channelRepsitory/events/onChannelMemberUnbanned.d.ts +1 -1
  74. package/dist/channelRepsitory/observers/tests/getChannel.test.d.ts +2 -0
  75. package/dist/channelRepsitory/observers/tests/getChannel.test.d.ts.map +1 -0
  76. package/dist/channelRepsitory/observers/tests/getChannelWithMessagePreview.test.d.ts +2 -0
  77. package/dist/channelRepsitory/observers/tests/getChannelWithMessagePreview.test.d.ts.map +1 -0
  78. package/dist/channelRepsitory/observers/tests/getChannelsWithMessagePreview.test.d.ts +2 -0
  79. package/dist/channelRepsitory/observers/tests/getChannelsWithMessagePreview.test.d.ts.map +1 -0
  80. package/dist/client/api/getToken.d.ts +3 -3
  81. package/dist/client/api/getToken.d.ts.map +1 -1
  82. package/dist/client/api/login.d.ts.map +1 -1
  83. package/dist/client/utils/setClientToken.d.ts +1 -1
  84. package/dist/commentRepository/api/getComment.d.ts +8 -8
  85. package/dist/commentRepository/api/getComment.d.ts.map +1 -1
  86. package/dist/commentRepository/api/getCommentByIds.d.ts +8 -8
  87. package/dist/commentRepository/api/getCommentByIds.d.ts.map +1 -1
  88. package/dist/commentRepository/events/onCommentCreated.d.ts +2 -2
  89. package/dist/commentRepository/events/onCommentCreated.d.ts.map +1 -1
  90. package/dist/commentRepository/events/onCommentDeleted.d.ts +2 -2
  91. package/dist/commentRepository/events/onCommentDeleted.d.ts.map +1 -1
  92. package/dist/commentRepository/events/onCommentFlagged.d.ts +2 -2
  93. package/dist/commentRepository/events/onCommentFlagged.d.ts.map +1 -1
  94. package/dist/commentRepository/events/onCommentReactionAdded.d.ts +2 -2
  95. package/dist/commentRepository/events/onCommentReactionAdded.d.ts.map +1 -1
  96. package/dist/commentRepository/events/onCommentReactionRemoved.d.ts +2 -2
  97. package/dist/commentRepository/events/onCommentReactionRemoved.d.ts.map +1 -1
  98. package/dist/commentRepository/events/onCommentUnflagged.d.ts +2 -2
  99. package/dist/commentRepository/events/onCommentUnflagged.d.ts.map +1 -1
  100. package/dist/commentRepository/events/onCommentUpdated.d.ts +2 -2
  101. package/dist/commentRepository/events/onCommentUpdated.d.ts.map +1 -1
  102. package/dist/commentRepository/events/utils.d.ts +1 -1
  103. package/dist/commentRepository/events/utils.d.ts.map +1 -1
  104. package/dist/commentRepository/observers/getComment.d.ts +2 -2
  105. package/dist/commentRepository/observers/getComment.d.ts.map +1 -1
  106. package/dist/communityRepository/communityMembership/api/addMembers.d.ts +4 -4
  107. package/dist/communityRepository/communityMembership/api/addMembers.d.ts.map +1 -1
  108. package/dist/communityRepository/communityMembership/api/queryCommunityMembers.d.ts +1 -1
  109. package/dist/communityRepository/communityMembership/api/removeMembers.d.ts +4 -4
  110. package/dist/communityRepository/communityMembership/api/removeMembers.d.ts.map +1 -1
  111. package/dist/communityRepository/communityModeration/api/addRoles.d.ts +4 -4
  112. package/dist/communityRepository/communityModeration/api/addRoles.d.ts.map +1 -1
  113. package/dist/communityRepository/communityModeration/api/banMembers.d.ts +2 -2
  114. package/dist/communityRepository/communityModeration/api/banMembers.d.ts.map +1 -1
  115. package/dist/communityRepository/communityModeration/api/removeRoles.d.ts +4 -4
  116. package/dist/communityRepository/communityModeration/api/removeRoles.d.ts.map +1 -1
  117. package/dist/communityRepository/communityModeration/api/unbanMembers.d.ts +2 -2
  118. package/dist/communityRepository/communityModeration/api/unbanMembers.d.ts.map +1 -1
  119. package/dist/core/device.d.ts +1 -1
  120. package/dist/core/device.d.ts.map +1 -1
  121. package/dist/core/query/filtering.d.ts +4 -4
  122. package/dist/core/query/filtering.d.ts.map +1 -1
  123. package/dist/external/api/createUserToken.d.ts +2 -2
  124. package/dist/external/api/createUserToken.d.ts.map +1 -1
  125. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
  126. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  127. package/dist/group/utils/withUser.d.ts +3 -3
  128. package/dist/group/utils/withUser.d.ts.map +1 -1
  129. package/dist/index.cjs.js +567 -217
  130. package/dist/index.esm.js +567 -217
  131. package/dist/index.umd.js +2 -2
  132. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -1
  133. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
  134. package/dist/messagePreview/utils/updateMessagePreviewFromMessage.d.ts.map +1 -1
  135. package/dist/messageRepository/api/getDeliveredUsers.d.ts +6 -6
  136. package/dist/messageRepository/api/getDeliveredUsers.d.ts.map +1 -1
  137. package/dist/messageRepository/api/getReadUsers.d.ts +6 -6
  138. package/dist/messageRepository/api/getReadUsers.d.ts.map +1 -1
  139. package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
  140. package/dist/postRepository/api/approvePost.d.ts.map +1 -1
  141. package/dist/postRepository/api/createPost.d.ts +1 -1
  142. package/dist/postRepository/api/createPost.d.ts.map +1 -1
  143. package/dist/postRepository/api/declinePost.d.ts.map +1 -1
  144. package/dist/postRepository/api/deletePost.d.ts.map +1 -1
  145. package/dist/postRepository/api/editPost.d.ts.map +1 -1
  146. package/dist/postRepository/api/getPost.d.ts.map +1 -1
  147. package/dist/postRepository/api/getPostByIds.d.ts.map +1 -1
  148. package/dist/postRepository/api/hardDeletePost.d.ts.map +1 -1
  149. package/dist/postRepository/api/queryPosts.d.ts.map +1 -1
  150. package/dist/postRepository/api/softDeletePost.d.ts.map +1 -1
  151. package/dist/postRepository/api/tests/getPost.test.d.ts.map +1 -0
  152. package/dist/postRepository/api/updatePost.d.ts.map +1 -1
  153. package/dist/postRepository/events/onPostApproved.d.ts +2 -2
  154. package/dist/postRepository/events/onPostApproved.d.ts.map +1 -1
  155. package/dist/postRepository/events/onPostCreated.d.ts +2 -2
  156. package/dist/postRepository/events/onPostCreated.d.ts.map +1 -1
  157. package/dist/postRepository/events/onPostDeclined.d.ts +2 -2
  158. package/dist/postRepository/events/onPostDeclined.d.ts.map +1 -1
  159. package/dist/postRepository/events/onPostDeleted.d.ts +2 -2
  160. package/dist/postRepository/events/onPostDeleted.d.ts.map +1 -1
  161. package/dist/postRepository/events/onPostFlagged.d.ts +2 -2
  162. package/dist/postRepository/events/onPostFlagged.d.ts.map +1 -1
  163. package/dist/postRepository/events/onPostReactionAdded.d.ts +2 -2
  164. package/dist/postRepository/events/onPostReactionAdded.d.ts.map +1 -1
  165. package/dist/postRepository/events/onPostReactionRemoved.d.ts +2 -2
  166. package/dist/postRepository/events/onPostReactionRemoved.d.ts.map +1 -1
  167. package/dist/postRepository/events/onPostUnflagged.d.ts +2 -2
  168. package/dist/postRepository/events/onPostUnflagged.d.ts.map +1 -1
  169. package/dist/postRepository/events/onPostUpdated.d.ts +2 -2
  170. package/dist/postRepository/events/onPostUpdated.d.ts.map +1 -1
  171. package/dist/postRepository/events/utils.d.ts +1 -1
  172. package/dist/postRepository/events/utils.d.ts.map +1 -1
  173. package/dist/postRepository/observers/getPosts.d.ts +3 -2
  174. package/dist/postRepository/observers/getPosts.d.ts.map +1 -1
  175. package/dist/postRepository/observers/observePost.d.ts +2 -2
  176. package/dist/postRepository/observers/observePost.d.ts.map +1 -1
  177. package/dist/postRepository/observers/observePosts.d.ts +2 -3
  178. package/dist/postRepository/observers/observePosts.d.ts.map +1 -1
  179. package/dist/reactionRepository/events/onReactionAdded.d.ts +1 -1
  180. package/dist/reactionRepository/events/onReactionAdded.d.ts.map +1 -1
  181. package/dist/reactionRepository/events/onReactionRemoved.d.ts +1 -1
  182. package/dist/reactionRepository/events/onReactionRemoved.d.ts.map +1 -1
  183. package/dist/reactionRepository/utils/fetchReference.d.ts +1 -1
  184. package/dist/reactionRepository/utils/fetchReference.d.ts.map +1 -1
  185. package/dist/streamRepository/api/getStreams.d.ts +1 -1
  186. package/dist/streamRepository/api/getStreams.d.ts.map +1 -1
  187. package/dist/streamRepository/api/queryStreams.d.ts +1 -1
  188. package/dist/streamRepository/api/queryStreams.d.ts.map +1 -1
  189. package/dist/subChannelRepository/observers/tests/getSubChannelWithMessagePreview.test.d.ts +2 -0
  190. package/dist/subChannelRepository/observers/tests/getSubChannelWithMessagePreview.test.d.ts.map +1 -0
  191. package/dist/subChannelRepository/observers/tests/getSubChannelsWithMessagePreview.test.d.ts +2 -0
  192. package/dist/subChannelRepository/observers/tests/getSubChannelsWithMessagePreview.test.d.ts.map +1 -0
  193. package/dist/subChannelRepository/utils/updateSubChannelCache.d.ts +1 -1
  194. package/dist/subChannelRepository/utils/updateSubChannelCache.d.ts.map +1 -1
  195. package/dist/userRepository/api/flagUser.d.ts +1 -1
  196. package/dist/userRepository/api/flagUser.d.ts.map +1 -1
  197. package/dist/userRepository/api/getUser.d.ts.map +1 -1
  198. package/dist/userRepository/api/getUserByIds.d.ts +1 -1
  199. package/dist/userRepository/api/getUserByIds.d.ts.map +1 -1
  200. package/dist/userRepository/api/isUserFlaggedByMe.d.ts +1 -1
  201. package/dist/userRepository/api/isUserFlaggedByMe.d.ts.map +1 -1
  202. package/dist/userRepository/api/queryBlockedUsers.d.ts +5 -5
  203. package/dist/userRepository/api/queryBlockedUsers.d.ts.map +1 -1
  204. package/dist/userRepository/api/queryUsers.d.ts +6 -6
  205. package/dist/userRepository/api/queryUsers.d.ts.map +1 -1
  206. package/dist/userRepository/api/unflagUser.d.ts +1 -1
  207. package/dist/userRepository/api/unflagUser.d.ts.map +1 -1
  208. package/dist/userRepository/api/updateUser.d.ts +4 -4
  209. package/dist/userRepository/api/updateUser.d.ts.map +1 -1
  210. package/dist/userRepository/events/onUserDeleted.d.ts +2 -2
  211. package/dist/userRepository/events/onUserDeleted.d.ts.map +1 -1
  212. package/dist/userRepository/events/onUserFetched.d.ts +2 -2
  213. package/dist/userRepository/events/onUserFetched.d.ts.map +1 -1
  214. package/dist/userRepository/events/onUserFlagCleared.d.ts +2 -2
  215. package/dist/userRepository/events/onUserFlagCleared.d.ts.map +1 -1
  216. package/dist/userRepository/events/onUserFlagged.d.ts +2 -2
  217. package/dist/userRepository/events/onUserFlagged.d.ts.map +1 -1
  218. package/dist/userRepository/events/onUserUnflagged.d.ts +2 -2
  219. package/dist/userRepository/events/onUserUnflagged.d.ts.map +1 -1
  220. package/dist/userRepository/events/onUserUpdated.d.ts +2 -2
  221. package/dist/userRepository/events/onUserUpdated.d.ts.map +1 -1
  222. package/dist/userRepository/events/utils.d.ts +1 -1
  223. package/dist/userRepository/events/utils.d.ts.map +1 -1
  224. package/dist/userRepository/observers/getBlockedUsers.d.ts +4 -4
  225. package/dist/userRepository/observers/getBlockedUsers.d.ts.map +1 -1
  226. package/dist/userRepository/observers/getUser.d.ts +2 -2
  227. package/dist/userRepository/observers/getUser.d.ts.map +1 -1
  228. package/dist/userRepository/observers/getUsers.d.ts.map +1 -1
  229. package/dist/userRepository/observers/getViewedUsers.d.ts +2 -0
  230. package/dist/userRepository/observers/getViewedUsers.d.ts.map +1 -0
  231. package/dist/userRepository/observers/index.d.ts +1 -0
  232. package/dist/userRepository/observers/index.d.ts.map +1 -1
  233. package/dist/userRepository/observers/observeUser.d.ts +2 -2
  234. package/dist/userRepository/observers/observeUser.d.ts.map +1 -1
  235. package/dist/userRepository/observers/searchUserByDisplayName.d.ts +2 -2
  236. package/dist/userRepository/observers/searchUserByDisplayName.d.ts.map +1 -1
  237. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts +2 -0
  238. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts.map +1 -0
  239. package/dist/userRepository/relationship/block/api/blockUser.d.ts +4 -4
  240. package/dist/userRepository/relationship/block/api/blockUser.d.ts.map +1 -1
  241. package/dist/userRepository/relationship/block/api/unBlockUser.d.ts +4 -4
  242. package/dist/userRepository/relationship/block/api/unBlockUser.d.ts.map +1 -1
  243. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +1 -1
  244. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +1 -1
  245. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +2 -2
  246. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +1 -1
  247. package/dist/userRepository/relationship/follow/api/acceptMyFollower.d.ts +2 -2
  248. package/dist/userRepository/relationship/follow/api/acceptMyFollower.d.ts.map +1 -1
  249. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +2 -2
  250. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +1 -1
  251. package/dist/userRepository/relationship/follow/api/declineMyFollower.d.ts +2 -2
  252. package/dist/userRepository/relationship/follow/api/declineMyFollower.d.ts.map +1 -1
  253. package/dist/userRepository/relationship/follow/api/follow.d.ts +2 -2
  254. package/dist/userRepository/relationship/follow/api/follow.d.ts.map +1 -1
  255. package/dist/userRepository/relationship/follow/api/getFollowInfo.d.ts +4 -4
  256. package/dist/userRepository/relationship/follow/api/getFollowInfo.d.ts.map +1 -1
  257. package/dist/userRepository/relationship/follow/api/unfollow.d.ts +3 -3
  258. package/dist/userRepository/relationship/follow/api/unfollow.d.ts.map +1 -1
  259. package/dist/userRepository/relationship/follow/api/utils.d.ts +1 -1
  260. package/dist/userRepository/relationship/follow/api/utils.d.ts.map +1 -1
  261. package/dist/userRepository/relationship/follow/observers/getFollowers.d.ts +1 -1
  262. package/dist/userRepository/relationship/follow/observers/getFollowings.d.ts +1 -1
  263. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +1 -1
  264. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +1 -1
  265. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +2 -2
  266. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +1 -1
  267. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +2 -2
  268. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +1 -1
  269. package/dist/utils/linkedObject/categoryLinkedObject.d.ts +2 -0
  270. package/dist/utils/linkedObject/categoryLinkedObject.d.ts.map +1 -0
  271. package/dist/utils/linkedObject/commentLinkedObject.d.ts.map +1 -1
  272. package/dist/utils/linkedObject/index.d.ts +3 -0
  273. package/dist/utils/linkedObject/index.d.ts.map +1 -1
  274. package/dist/utils/linkedObject/postLinkedObject.d.ts +2 -0
  275. package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -0
  276. package/dist/utils/linkedObject/userLinkedObject.d.ts +2 -0
  277. package/dist/utils/linkedObject/userLinkedObject.d.ts.map +1 -0
  278. package/dist/utils/tests/client.d.ts.map +1 -1
  279. package/dist/utils/tests/dummy/block.d.ts +4 -4
  280. package/dist/utils/tests/dummy/block.d.ts.map +1 -1
  281. package/dist/utils/tests/dummy/category.d.ts +7 -0
  282. package/dist/utils/tests/dummy/category.d.ts.map +1 -1
  283. package/dist/utils/tests/dummy/channel.d.ts +61 -1
  284. package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
  285. package/dist/utils/tests/dummy/comment.d.ts +7 -7
  286. package/dist/utils/tests/dummy/comment.d.ts.map +1 -1
  287. package/dist/utils/tests/dummy/follow.d.ts +1 -1
  288. package/dist/utils/tests/dummy/follow.d.ts.map +1 -1
  289. package/dist/utils/tests/dummy/message.d.ts.map +1 -1
  290. package/dist/utils/tests/dummy/messagePreviewChannel.d.ts +3 -0
  291. package/dist/utils/tests/dummy/messagePreviewChannel.d.ts.map +1 -0
  292. package/dist/utils/tests/dummy/post.d.ts +15 -2
  293. package/dist/utils/tests/dummy/post.d.ts.map +1 -1
  294. package/dist/utils/tests/dummy/subChannel.d.ts +29 -0
  295. package/dist/utils/tests/dummy/subChannel.d.ts.map +1 -1
  296. package/dist/utils/tests/dummy/user.d.ts +12 -1
  297. package/dist/utils/tests/dummy/user.d.ts.map +1 -1
  298. package/package.json +2 -2
  299. package/src/@types/core/marker.ts +4 -4
  300. package/src/@types/core/model.ts +6 -6
  301. package/src/@types/core/payload.ts +22 -21
  302. package/src/@types/domains/analytics.ts +39 -0
  303. package/src/@types/domains/block.ts +1 -1
  304. package/src/@types/domains/category.ts +6 -2
  305. package/src/@types/domains/client.ts +3 -3
  306. package/src/@types/domains/comment.ts +5 -2
  307. package/src/@types/domains/community.ts +5 -5
  308. package/src/@types/domains/follow.ts +4 -4
  309. package/src/@types/domains/group.ts +2 -2
  310. package/src/@types/domains/messagePreview.ts +2 -2
  311. package/src/@types/domains/poll.ts +1 -1
  312. package/src/@types/domains/post.ts +18 -7
  313. package/src/@types/domains/reaction.ts +1 -1
  314. package/src/@types/domains/stream.ts +2 -2
  315. package/src/@types/domains/user.ts +8 -3
  316. package/src/analytic/api/queryReachUser.ts +31 -0
  317. package/src/analytic/api/syncEvent.ts +12 -0
  318. package/src/analytic/constant.ts +1 -0
  319. package/src/analytic/service/analytic/AnalyticsEngine.ts +54 -0
  320. package/src/analytic/service/analytic/AnalyticsEventCapturer.ts +48 -0
  321. package/src/analytic/service/analytic/AnalyticsEventSyncer.ts +45 -0
  322. package/src/analytic/service/analytic/AnalyticsService.ts +23 -0
  323. package/src/analytic/utils/analyticsEngineOnLoginHandler.ts +19 -0
  324. package/src/cache/api/pushToCache.ts +1 -1
  325. package/src/cache/api/upsertInCache.ts +1 -1
  326. package/src/categoryRepository/api/getCategory.ts +3 -2
  327. package/src/categoryRepository/api/queryCategories.ts +7 -1
  328. package/src/categoryRepository/observers/getCategories.ts +3 -2
  329. package/src/categoryRepository/observers/tests/getCategories.test.ts +2 -1
  330. package/src/channelRepsitory/api/createChannel.ts +1 -1
  331. package/src/channelRepsitory/channelMembership/api/addMembers.ts +4 -4
  332. package/src/channelRepsitory/channelMembership/api/queryChannelMembers.ts +1 -1
  333. package/src/channelRepsitory/channelMembership/api/removeMembers.ts +4 -4
  334. package/src/channelRepsitory/channelMembership/observers/tests/getMembers.test.ts +1 -1
  335. package/src/channelRepsitory/channelMembership/observers/tests/searchMembers.test.ts +1 -3
  336. package/src/channelRepsitory/channelModeration/api/addRole.ts +4 -4
  337. package/src/channelRepsitory/channelModeration/api/banMembers.ts +2 -2
  338. package/src/channelRepsitory/channelModeration/api/removeRole.ts +4 -4
  339. package/src/channelRepsitory/channelModeration/api/unbanMembers.ts +2 -2
  340. package/src/channelRepsitory/events/onChannelMemberAdded.ts +1 -1
  341. package/src/channelRepsitory/events/onChannelMemberBanned.ts +1 -1
  342. package/src/channelRepsitory/events/onChannelMemberRemoved.ts +1 -1
  343. package/src/channelRepsitory/events/onChannelMemberUnbanned.ts +1 -1
  344. package/src/channelRepsitory/observers/tests/getChannel.test.ts +73 -0
  345. package/src/channelRepsitory/observers/tests/getChannelWithMessagePreview.test.ts +575 -0
  346. package/src/channelRepsitory/observers/tests/getChannels.test.ts +505 -68
  347. package/src/channelRepsitory/observers/tests/getChannelsWithMessagePreview.test.ts +592 -0
  348. package/src/client/api/getToken.ts +3 -3
  349. package/src/client/api/login.ts +3 -1
  350. package/src/commentRepository/api/getComment.ts +11 -11
  351. package/src/commentRepository/api/getCommentByIds.ts +13 -12
  352. package/src/commentRepository/events/onCommentCreated.ts +4 -3
  353. package/src/commentRepository/events/onCommentDeleted.ts +4 -3
  354. package/src/commentRepository/events/onCommentFlagged.ts +4 -3
  355. package/src/commentRepository/events/onCommentReactionAdded.ts +2 -2
  356. package/src/commentRepository/events/onCommentReactionRemoved.ts +2 -2
  357. package/src/commentRepository/events/onCommentUnflagged.ts +4 -3
  358. package/src/commentRepository/events/onCommentUpdated.ts +4 -3
  359. package/src/commentRepository/events/utils.ts +1 -1
  360. package/src/commentRepository/observers/getComment.ts +2 -2
  361. package/src/communityRepository/communityMembership/api/addMembers.ts +4 -4
  362. package/src/communityRepository/communityMembership/api/queryCommunityMembers.ts +1 -1
  363. package/src/communityRepository/communityMembership/api/removeMembers.ts +4 -4
  364. package/src/communityRepository/communityMembership/events/utils.ts +2 -2
  365. package/src/communityRepository/communityMembership/observers/getMembers.ts +2 -2
  366. package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +1 -1
  367. package/src/communityRepository/communityModeration/api/addRoles.ts +4 -4
  368. package/src/communityRepository/communityModeration/api/banMembers.ts +2 -2
  369. package/src/communityRepository/communityModeration/api/removeRoles.ts +4 -4
  370. package/src/communityRepository/communityModeration/api/unbanMembers.ts +2 -2
  371. package/src/core/device.ts +1 -1
  372. package/src/core/query/filtering.ts +6 -4
  373. package/src/core/query/tests/filtering.test.ts +2 -2
  374. package/src/core/query/tests/runQuery.test.ts +35 -22
  375. package/src/external/api/createUserToken.ts +2 -2
  376. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +8 -5
  377. package/src/feedRepository/api/queryGlobalFeed.ts +7 -4
  378. package/src/feedRepository/api/test/getCustomRankingGlobalFeed.test.ts +22 -14
  379. package/src/feedRepository/api/test/queryGlobalFeed.test.ts +21 -15
  380. package/src/group/utils/withUser.ts +8 -4
  381. package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
  382. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +1 -1
  383. package/src/messagePreview/utils/getSubChannelMessagePreviewWithUser.ts +1 -1
  384. package/src/messagePreview/utils/updateMessagePreviewFromMessage.ts +8 -4
  385. package/src/messageRepository/api/getDeliveredUsers.ts +11 -9
  386. package/src/messageRepository/api/getReadUsers.ts +11 -9
  387. package/src/messageRepository/observers/tests/getMessages.test.ts +766 -0
  388. package/src/messageRepository/utils/prepareMessagePayload.ts +19 -2
  389. package/src/postRepository/api/approvePost.ts +2 -1
  390. package/src/postRepository/api/createPost.ts +8 -6
  391. package/src/postRepository/api/declinePost.ts +2 -1
  392. package/src/postRepository/api/deletePost.ts +2 -1
  393. package/src/postRepository/api/editPost.ts +2 -1
  394. package/src/postRepository/api/getPost.ts +6 -3
  395. package/src/postRepository/api/getPostByIds.ts +4 -3
  396. package/src/postRepository/api/hardDeletePost.ts +2 -1
  397. package/src/postRepository/api/queryPosts.ts +5 -4
  398. package/src/postRepository/api/softDeletePost.ts +2 -1
  399. package/src/postRepository/api/tests/getPost.test.ts +114 -0
  400. package/src/postRepository/api/tests/queryPosts.test.ts +2 -2
  401. package/src/postRepository/api/updatePost.ts +2 -1
  402. package/src/postRepository/events/onPostApproved.ts +2 -2
  403. package/src/postRepository/events/onPostCreated.ts +2 -2
  404. package/src/postRepository/events/onPostDeclined.ts +2 -2
  405. package/src/postRepository/events/onPostDeleted.ts +2 -2
  406. package/src/postRepository/events/onPostFlagged.ts +2 -2
  407. package/src/postRepository/events/onPostReactionAdded.ts +5 -3
  408. package/src/postRepository/events/onPostReactionRemoved.ts +5 -3
  409. package/src/postRepository/events/onPostUnflagged.ts +2 -2
  410. package/src/postRepository/events/onPostUpdated.ts +2 -2
  411. package/src/postRepository/events/utils.ts +2 -2
  412. package/src/postRepository/observers/getPosts.ts +7 -5
  413. package/src/postRepository/observers/observePost.ts +24 -9
  414. package/src/postRepository/observers/observePosts.ts +11 -12
  415. package/src/postRepository/observers/tests/getPost.test.ts +2 -2
  416. package/src/postRepository/observers/tests/getPosts.test.ts +36 -11
  417. package/src/streamRepository/api/getStreams.ts +1 -1
  418. package/src/streamRepository/api/queryStreams.ts +1 -1
  419. package/src/subChannelRepository/observers/getSubChannel.ts +1 -1
  420. package/src/subChannelRepository/observers/getSubChannels.ts +6 -6
  421. package/src/subChannelRepository/observers/tests/getSubChannelWithMessagePreview.test.ts +591 -0
  422. package/src/subChannelRepository/observers/tests/getSubChannels.test.ts +322 -14
  423. package/src/subChannelRepository/observers/tests/getSubChannelsWithMessagePreview.test.ts +643 -0
  424. package/src/subChannelRepository/utils/updateSubChannelCache.ts +3 -2
  425. package/src/userRepository/api/flagUser.ts +1 -1
  426. package/src/userRepository/api/getUser.ts +12 -2
  427. package/src/userRepository/api/getUserByIds.ts +5 -4
  428. package/src/userRepository/api/isUserFlaggedByMe.ts +1 -1
  429. package/src/userRepository/api/queryBlockedUsers.ts +10 -8
  430. package/src/userRepository/api/queryUsers.ts +12 -10
  431. package/src/userRepository/api/unflagUser.ts +1 -1
  432. package/src/userRepository/api/updateUser.ts +6 -6
  433. package/src/userRepository/events/onUserDeleted.ts +2 -2
  434. package/src/userRepository/events/onUserFetched.ts +2 -2
  435. package/src/userRepository/events/onUserFlagCleared.ts +2 -2
  436. package/src/userRepository/events/onUserFlagged.ts +2 -2
  437. package/src/userRepository/events/onUserUnflagged.ts +2 -2
  438. package/src/userRepository/events/onUserUpdated.ts +2 -2
  439. package/src/userRepository/events/utils.ts +1 -1
  440. package/src/userRepository/observers/getBlockedUsers.ts +8 -7
  441. package/src/userRepository/observers/getUser.ts +3 -3
  442. package/src/userRepository/observers/getUsers.ts +2 -2
  443. package/src/userRepository/observers/getViewedUsers.ts +93 -0
  444. package/src/userRepository/observers/index.ts +1 -0
  445. package/src/userRepository/observers/observeUser.ts +9 -6
  446. package/src/userRepository/observers/searchUserByDisplayName.ts +2 -2
  447. package/src/userRepository/observers/tests/getUser.test.ts +1 -1
  448. package/src/userRepository/observers/tests/getUsers.test.ts +12 -11
  449. package/src/userRepository/observers/tests/getViewedUsers.test.ts +39 -0
  450. package/src/userRepository/observers/tests/searchUserByDisplayName.test.ts +1 -1
  451. package/src/userRepository/relationship/block/api/blockUser.ts +6 -4
  452. package/src/userRepository/relationship/block/api/unBlockUser.ts +6 -4
  453. package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +1 -1
  454. package/src/userRepository/relationship/follow/api/acceptFollower.ts +2 -2
  455. package/src/userRepository/relationship/follow/api/acceptMyFollower.ts +2 -2
  456. package/src/userRepository/relationship/follow/api/declineFollower.ts +2 -2
  457. package/src/userRepository/relationship/follow/api/declineMyFollower.ts +2 -2
  458. package/src/userRepository/relationship/follow/api/follow.ts +2 -2
  459. package/src/userRepository/relationship/follow/api/getFollowInfo.ts +4 -4
  460. package/src/userRepository/relationship/follow/api/unfollow.ts +3 -3
  461. package/src/userRepository/relationship/follow/api/utils.ts +1 -1
  462. package/src/userRepository/relationship/follow/observers/getFollowers.ts +1 -1
  463. package/src/userRepository/relationship/follow/observers/getFollowings.ts +1 -1
  464. package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +1 -1
  465. package/src/userRepository/relationship/follow/observers/observeFollowers.ts +2 -16
  466. package/src/userRepository/relationship/follow/observers/observeFollowings.ts +2 -16
  467. package/src/utils/linkedObject/categoryLinkedObject.ts +40 -0
  468. package/src/utils/linkedObject/commentLinkedObject.ts +4 -0
  469. package/src/utils/linkedObject/index.ts +6 -0
  470. package/src/utils/linkedObject/postLinkedObject.ts +37 -0
  471. package/src/utils/linkedObject/userLinkedObject.ts +36 -0
  472. package/src/utils/tests/client.ts +2 -1
  473. package/src/utils/tests/dummy/block.ts +3 -3
  474. package/src/utils/tests/dummy/category.ts +5 -0
  475. package/src/utils/tests/dummy/channel.ts +150 -1
  476. package/src/utils/tests/dummy/comment.ts +1 -1
  477. package/src/utils/tests/dummy/community.ts +1 -1
  478. package/src/utils/tests/dummy/follow.ts +1 -1
  479. package/src/utils/tests/dummy/message.ts +0 -1
  480. package/src/utils/tests/dummy/messagePreviewChannel.ts +37 -0
  481. package/src/utils/tests/dummy/post.ts +45 -3
  482. package/src/utils/tests/dummy/subChannel.ts +29 -0
  483. package/src/utils/tests/dummy/user.ts +11 -1
  484. package/tsconfig.json +18 -23
  485. package/dist/postRepository/tests/api/getPost.test.d.ts.map +0 -1
  486. package/src/postRepository/tests/api/getPost.test.ts +0 -98
  487. /package/dist/postRepository/{tests/api → api/tests}/getPost.test.d.ts +0 -0
@@ -0,0 +1,592 @@
1
+ import { disableCache, enableCache } from '~/cache/api';
2
+ import { getChannels } from '../getChannels';
3
+
4
+ import * as getChannelMarkers from '../../../marker/api/getChannelMarkers';
5
+
6
+ import {
7
+ client,
8
+ connectClient,
9
+ convertRawChannelPayload,
10
+ disconnectClient,
11
+ pause,
12
+ channelQueryResponseWithMessagePreview,
13
+ generateRawChannel,
14
+ convertChannelFromRaw,
15
+ channel2,
16
+ generateRawMessage,
17
+ generateRawSubChannel,
18
+ user11,
19
+ date,
20
+ channelQueryResponseWithNoMessagePreview,
21
+ channelGetResponseWithNoMessagePreview,
22
+ } from '~/utils/tests';
23
+ import { getChannelMessagePreviewWithUser } from '~/messagePreview/utils';
24
+ import * as getMessagePreviewSetting from '~/client/utils/messagePreviewEngine';
25
+
26
+ const getSnapshot = (params?: Record<string, any>) => {
27
+ return {
28
+ data: [] as Amity.Channel[],
29
+ loading: true,
30
+ error: undefined as any,
31
+ ...params,
32
+ };
33
+ };
34
+
35
+ const rawMessage = generateRawMessage({
36
+ channelId: 'channelId11',
37
+ channelPublicId: 'channelId11',
38
+ messageFeedId: 'channelId11',
39
+ messageId: 'messageId1',
40
+ creatorId: 'test',
41
+ creatorPublicId: 'test',
42
+ });
43
+
44
+ const rawNewCreatedMessage = generateRawMessage({
45
+ channelId: 'channelId11',
46
+ channelPublicId: 'channelId11',
47
+ messageFeedId: 'channelId11',
48
+ messageId: 'messageId2',
49
+ creatorId: 'test',
50
+ creatorPublicId: 'test',
51
+ });
52
+
53
+ const rawNewChannelWithMessagePreview = generateRawChannel({
54
+ type: 'conversation',
55
+ messagePreviewId: 'messageId2',
56
+ });
57
+
58
+ const rawSubChannel = generateRawSubChannel({
59
+ channelId: 'channelId11',
60
+ messageFeedId: 'channelId11',
61
+ messagePreviewId: 'messageId2',
62
+ name: 'subChannel1',
63
+ });
64
+
65
+ const messagePreviewFromResponse = channelQueryResponseWithMessagePreview.data.messagePreviews[0];
66
+ const messageFeedsInfoFromResponse =
67
+ channelQueryResponseWithMessagePreview.data.messageFeedsInfo[0];
68
+
69
+ const messagePreview = {
70
+ channelId: messagePreviewFromResponse.channelPublicId,
71
+ subChannelId: messagePreviewFromResponse.messageFeedId,
72
+ dataType: messagePreviewFromResponse.dataType,
73
+ isDeleted: messagePreviewFromResponse.isDeleted,
74
+ segment: messagePreviewFromResponse.segment,
75
+ creatorId: messagePreviewFromResponse.creatorPublicId,
76
+ createdAt: messagePreviewFromResponse.createdAt,
77
+ data: messagePreviewFromResponse.data,
78
+ updatedAt: messagePreviewFromResponse.updatedAt!,
79
+ subChannelName: messageFeedsInfoFromResponse.name!,
80
+ subChannelUpdatedAt: messageFeedsInfoFromResponse.updatedAt!,
81
+ messagePreviewId: messageFeedsInfoFromResponse.messagePreviewId!,
82
+ user: user11,
83
+ };
84
+
85
+ const newMessagePreview = {
86
+ channelId: rawNewCreatedMessage.channelId,
87
+ creatorId: rawNewCreatedMessage.creatorPublicId,
88
+ messagePreviewId: rawNewCreatedMessage.messageId,
89
+ createdAt: rawNewCreatedMessage.createdAt,
90
+ updatedAt: rawNewCreatedMessage.updatedAt,
91
+ data: rawNewCreatedMessage.data,
92
+ dataType: rawNewCreatedMessage.dataType,
93
+ isDeleted: rawNewCreatedMessage.isDeleted,
94
+ segment: rawNewCreatedMessage.segment,
95
+ subChannelId: rawSubChannel.messageFeedId,
96
+ subChannelName: rawSubChannel.name,
97
+ subChannelUpdatedAt: rawSubChannel.updatedAt!,
98
+ user: user11,
99
+ };
100
+
101
+ const rawUpdatedMessage: Amity.RawMessage = {
102
+ ...rawMessage,
103
+ createdAt: messagePreviewFromResponse.createdAt,
104
+ data: {
105
+ text: 'updated',
106
+ },
107
+ updatedAt: date,
108
+ };
109
+
110
+ const rawDeletedMessage: Amity.RawMessage = {
111
+ ...rawMessage,
112
+ createdAt: messagePreviewFromResponse.createdAt,
113
+ data: {
114
+ text: 'updated',
115
+ },
116
+ isDeleted: true,
117
+ updatedAt: date,
118
+ };
119
+
120
+ const updatedMessagePreview = {
121
+ ...messagePreview,
122
+ data: rawUpdatedMessage.data,
123
+ updatedAt: rawUpdatedMessage.updatedAt,
124
+ };
125
+
126
+ const deletedMessagePreview = {
127
+ ...updatedMessagePreview,
128
+ isDeleted: true,
129
+ };
130
+
131
+ const rawUpdatedSubChannel = {
132
+ ...rawSubChannel,
133
+ name: 'subChannel1-edit',
134
+ updatedAt: date,
135
+ };
136
+
137
+ const rawDeletedSubChannel = {
138
+ ...rawSubChannel,
139
+ isDeleted: true,
140
+ updatedAt: date,
141
+ };
142
+
143
+ const updatedSubChannelMessagePreview = {
144
+ ...messagePreview,
145
+ subChannelName: rawUpdatedSubChannel.name,
146
+ updatedAt: rawUpdatedSubChannel.updatedAt,
147
+ };
148
+
149
+ describe('getChannels with MessagePreview', () => {
150
+ jest.spyOn(getChannelMarkers, 'getChannelMarkers').mockResolvedValue({
151
+ data: [],
152
+ cachedAt: undefined,
153
+ });
154
+
155
+ describe('Message Preview include delete', () => {
156
+ beforeAll(() => {
157
+ jest
158
+ .spyOn(getMessagePreviewSetting, 'getMessagePreviewSetting')
159
+ .mockResolvedValue(Amity.MessagePreviewSetting.MESSAGE_PREVIEW_INCLUDE_DELETED);
160
+
161
+ connectClient();
162
+ });
163
+
164
+ afterAll(() => {
165
+ disconnectClient();
166
+ jest.clearAllMocks();
167
+ });
168
+
169
+ beforeEach(enableCache);
170
+ afterEach(disableCache);
171
+ describe('getChannels', () => {
172
+ test('it should return channel collection with message preview', async () => {
173
+ const callback = jest.fn();
174
+ client.http.get = jest.fn().mockResolvedValue(channelQueryResponseWithMessagePreview);
175
+
176
+ getChannels({}, callback);
177
+ await pause();
178
+
179
+ expect(callback).toHaveBeenCalledTimes(2);
180
+ expect(callback).toHaveBeenNthCalledWith(1, expect.objectContaining(getSnapshot()));
181
+ expect(callback).toHaveBeenNthCalledWith(
182
+ 2,
183
+ expect.objectContaining(
184
+ getSnapshot({
185
+ data: convertRawChannelPayload(
186
+ channelQueryResponseWithMessagePreview.data,
187
+ ).channels.map(getChannelMessagePreviewWithUser),
188
+ loading: false,
189
+ }),
190
+ ),
191
+ );
192
+ });
193
+ });
194
+
195
+ describe('events', () => {
196
+ beforeAll(() => {
197
+ client.getMessagePreviewSetting = jest
198
+ .fn()
199
+ .mockResolvedValue(Amity.MessagePreviewSetting.MESSAGE_PREVIEW_INCLUDE_DELETED);
200
+ });
201
+
202
+ const cases: [string, keyof Amity.Events, ValueOf<Amity.Events>, Amity.Channel[]][] = [
203
+ [
204
+ 'it should update message preview to collection onMessageCreated',
205
+ 'message.created',
206
+ {
207
+ messages: [rawNewCreatedMessage],
208
+ messageFeeds: [rawSubChannel],
209
+ users: [],
210
+ files: [],
211
+ reactions: [],
212
+ },
213
+ [
214
+ {
215
+ ...convertChannelFromRaw(rawNewChannelWithMessagePreview),
216
+ lastActivity: rawNewCreatedMessage.createdAt,
217
+ messagePreview: newMessagePreview,
218
+ },
219
+ channel2,
220
+ ],
221
+ ],
222
+ [
223
+ 'it should update message preview to collection onMessageUpdated',
224
+ 'message.updated',
225
+ {
226
+ messages: [rawUpdatedMessage],
227
+ messageFeeds: [rawSubChannel],
228
+ users: [],
229
+ files: [],
230
+ reactions: [],
231
+ },
232
+ [
233
+ {
234
+ ...convertChannelFromRaw(rawNewChannelWithMessagePreview),
235
+ lastActivity: channelQueryResponseWithMessagePreview.data.channels[0].lastActivity,
236
+ messagePreviewId: updatedMessagePreview.messagePreviewId,
237
+ messagePreview: updatedMessagePreview,
238
+ },
239
+ channel2,
240
+ ],
241
+ ],
242
+ [
243
+ 'it should update message preview to collection onMessageDeleted',
244
+ 'message.deleted',
245
+ {
246
+ messages: [rawDeletedMessage],
247
+ messageFeeds: [rawSubChannel],
248
+ users: [],
249
+ files: [],
250
+ reactions: [],
251
+ },
252
+ [
253
+ {
254
+ ...convertChannelFromRaw(rawNewChannelWithMessagePreview),
255
+ lastActivity: channelQueryResponseWithMessagePreview.data.channels[0].lastActivity,
256
+ messagePreviewId: deletedMessagePreview.messagePreviewId,
257
+ messagePreview: deletedMessagePreview,
258
+ },
259
+ channel2,
260
+ ],
261
+ ],
262
+ [
263
+ 'it should update message preview to collection onSubChannelUpdated',
264
+ 'message-feed.updated',
265
+ {
266
+ messageFeeds: [rawUpdatedSubChannel],
267
+ messages: [],
268
+ users: [],
269
+ files: [],
270
+ },
271
+ [
272
+ {
273
+ ...convertRawChannelPayload(channelQueryResponseWithMessagePreview.data).channels[0],
274
+ messagePreviewId: updatedSubChannelMessagePreview.messagePreviewId,
275
+ messagePreview: updatedSubChannelMessagePreview,
276
+ },
277
+ channel2,
278
+ ],
279
+ ],
280
+ [
281
+ 'it should update message preview to collection onSubChannelDeleled',
282
+ 'message-feed.deleted',
283
+ {
284
+ messageFeeds: [rawDeletedSubChannel],
285
+ messages: [],
286
+ users: [],
287
+ files: [],
288
+ },
289
+ [
290
+ {
291
+ ...convertRawChannelPayload(channelQueryResponseWithNoMessagePreview.data)
292
+ .channels[0],
293
+ messagePreviewId: undefined,
294
+ messagePreview: null,
295
+ },
296
+ channel2,
297
+ ],
298
+ ],
299
+ ];
300
+
301
+ test.each(cases)('%s', async (test, event, eventPayload, expected) => {
302
+ const callback = jest.fn();
303
+ client.http.get = jest.fn().mockResolvedValue(channelQueryResponseWithMessagePreview);
304
+
305
+ getChannels({ isDeleted: false }, callback);
306
+ await pause();
307
+
308
+ if (event === 'message-feed.deleted') {
309
+ // eslint-disable-next-line require-atomic-updates
310
+ client.http.get = jest.fn().mockResolvedValue(channelGetResponseWithNoMessagePreview);
311
+
312
+ await pause();
313
+ }
314
+
315
+ client.emitter.emit(event, eventPayload);
316
+ await pause();
317
+
318
+ expect(callback).toHaveBeenNthCalledWith(
319
+ 3,
320
+ expect.objectContaining(
321
+ getSnapshot({
322
+ data: expected,
323
+ loading: false,
324
+ hasNextPage: true,
325
+ }),
326
+ ),
327
+ );
328
+ });
329
+ });
330
+ });
331
+
332
+ describe('Message Preview not include delete', () => {
333
+ beforeAll(() => {
334
+ jest
335
+ .spyOn(getMessagePreviewSetting, 'getMessagePreviewSetting')
336
+ .mockResolvedValue(Amity.MessagePreviewSetting.MESSAGE_PREVIEW_NOT_INCLUDE_DELETED);
337
+
338
+ connectClient();
339
+ });
340
+
341
+ afterAll(() => {
342
+ disconnectClient();
343
+ jest.clearAllMocks();
344
+ });
345
+
346
+ beforeEach(enableCache);
347
+ afterEach(disableCache);
348
+
349
+ describe('events', () => {
350
+ beforeAll(() => {
351
+ client.getMessagePreviewSetting = jest
352
+ .fn()
353
+ .mockResolvedValue(Amity.MessagePreviewSetting.MESSAGE_PREVIEW_NOT_INCLUDE_DELETED);
354
+ });
355
+
356
+ const cases: [string, keyof Amity.Events, ValueOf<Amity.Events>, Amity.Channel[]][] = [
357
+ [
358
+ 'it should update message preview to collection onMessageCreated',
359
+ 'message.created',
360
+ {
361
+ messages: [rawNewCreatedMessage],
362
+ messageFeeds: [rawSubChannel],
363
+ users: [],
364
+ files: [],
365
+ reactions: [],
366
+ },
367
+ [
368
+ {
369
+ ...convertChannelFromRaw(rawNewChannelWithMessagePreview),
370
+ lastActivity: rawNewCreatedMessage.createdAt,
371
+ messagePreview: newMessagePreview,
372
+ },
373
+ channel2,
374
+ ],
375
+ ],
376
+ [
377
+ 'it should update message preview to collection onMessageUpdated',
378
+ 'message.updated',
379
+ {
380
+ messages: [rawUpdatedMessage],
381
+ messageFeeds: [rawSubChannel],
382
+ users: [],
383
+ files: [],
384
+ reactions: [],
385
+ },
386
+ [
387
+ {
388
+ ...convertChannelFromRaw(rawNewChannelWithMessagePreview),
389
+ lastActivity: channelQueryResponseWithMessagePreview.data.channels[0].lastActivity,
390
+ messagePreviewId: updatedMessagePreview.messagePreviewId,
391
+ messagePreview: updatedMessagePreview,
392
+ },
393
+ channel2,
394
+ ],
395
+ ],
396
+ [
397
+ 'it should update message preview to collection onMessageDeleted',
398
+ 'message.deleted',
399
+ {
400
+ messages: [rawDeletedMessage],
401
+ messageFeeds: [rawSubChannel],
402
+ users: [],
403
+ files: [],
404
+ reactions: [],
405
+ },
406
+ [
407
+ {
408
+ ...convertRawChannelPayload(channelQueryResponseWithNoMessagePreview.data)
409
+ .channels[0],
410
+ messagePreviewId: undefined,
411
+ messagePreview: null,
412
+ },
413
+ channel2,
414
+ ],
415
+ ],
416
+ [
417
+ 'it should update message preview to collection onSubChannelUpdated',
418
+ 'message-feed.updated',
419
+ {
420
+ messageFeeds: [rawUpdatedSubChannel],
421
+ messages: [],
422
+ users: [],
423
+ files: [],
424
+ },
425
+ [
426
+ {
427
+ ...convertRawChannelPayload(channelQueryResponseWithMessagePreview.data).channels[0],
428
+ messagePreviewId: updatedSubChannelMessagePreview.messagePreviewId,
429
+ messagePreview: updatedSubChannelMessagePreview,
430
+ },
431
+ channel2,
432
+ ],
433
+ ],
434
+ [
435
+ 'it should update message preview to collection onSubChannelDeleled',
436
+ 'message-feed.deleted',
437
+ {
438
+ messageFeeds: [rawDeletedSubChannel],
439
+ messages: [],
440
+ users: [],
441
+ files: [],
442
+ },
443
+ [
444
+ {
445
+ ...convertRawChannelPayload(channelQueryResponseWithNoMessagePreview.data)
446
+ .channels[0],
447
+ messagePreviewId: undefined,
448
+ messagePreview: null,
449
+ },
450
+ channel2,
451
+ ],
452
+ ],
453
+ ];
454
+
455
+ test.each(cases)('%s', async (test, event, eventPayload, expected) => {
456
+ const callback = jest.fn();
457
+ client.http.get = jest.fn().mockResolvedValue(channelQueryResponseWithMessagePreview);
458
+
459
+ getChannels({ isDeleted: false }, callback);
460
+ await pause();
461
+
462
+ if (event === 'message.deleted' || event === 'message-feed.deleted') {
463
+ // eslint-disable-next-line require-atomic-updates
464
+ client.http.get = jest.fn().mockResolvedValue(channelGetResponseWithNoMessagePreview);
465
+
466
+ await pause();
467
+ }
468
+
469
+ client.emitter.emit(event, eventPayload);
470
+ await pause();
471
+
472
+ expect(callback).toHaveBeenNthCalledWith(
473
+ 3,
474
+ expect.objectContaining(
475
+ getSnapshot({
476
+ data: expected,
477
+ loading: false,
478
+ hasNextPage: true,
479
+ }),
480
+ ),
481
+ );
482
+ });
483
+ });
484
+ });
485
+
486
+ describe('No Message Preview', () => {
487
+ beforeAll(() => {
488
+ jest
489
+ .spyOn(getMessagePreviewSetting, 'getMessagePreviewSetting')
490
+ .mockResolvedValue(Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW);
491
+
492
+ connectClient();
493
+ });
494
+
495
+ afterAll(() => {
496
+ disconnectClient();
497
+ jest.clearAllMocks();
498
+ });
499
+
500
+ beforeEach(enableCache);
501
+ afterEach(disableCache);
502
+
503
+ describe('events', () => {
504
+ beforeAll(() => {
505
+ client.getMessagePreviewSetting = jest
506
+ .fn()
507
+ .mockResolvedValue(Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW);
508
+ });
509
+
510
+ const cases: [string, keyof Amity.Events, ValueOf<Amity.Events>][] = [
511
+ [
512
+ 'it should update message preview to collection onMessageCreated',
513
+ 'message.created',
514
+ {
515
+ messages: [rawNewCreatedMessage],
516
+ messageFeeds: [rawSubChannel],
517
+ users: [],
518
+ files: [],
519
+ reactions: [],
520
+ },
521
+ ],
522
+ [
523
+ 'it should update message preview to collection onMessageUpdated',
524
+ 'message.updated',
525
+ {
526
+ messages: [rawUpdatedMessage],
527
+ messageFeeds: [rawSubChannel],
528
+ users: [],
529
+ files: [],
530
+ reactions: [],
531
+ },
532
+ ],
533
+ [
534
+ 'it should update message preview to collection onMessageDeleted',
535
+ 'message.deleted',
536
+ {
537
+ messages: [rawDeletedMessage],
538
+ messageFeeds: [rawSubChannel],
539
+ users: [],
540
+ files: [],
541
+ reactions: [],
542
+ },
543
+ ],
544
+ [
545
+ 'it should update message preview to collection onSubChannelUpdated',
546
+ 'message-feed.updated',
547
+ {
548
+ messageFeeds: [rawUpdatedSubChannel],
549
+ messages: [],
550
+ users: [],
551
+ files: [],
552
+ },
553
+ ],
554
+ [
555
+ 'it should update message preview to collection onSubChannelDeleled',
556
+ 'message-feed.deleted',
557
+ {
558
+ messageFeeds: [rawDeletedSubChannel],
559
+ messages: [],
560
+ users: [],
561
+ files: [],
562
+ },
563
+ ],
564
+ ];
565
+
566
+ test.each(cases)('%s', async (test, event, eventPayload) => {
567
+ const callback = jest.fn();
568
+ client.http.get = jest.fn().mockResolvedValue(channelQueryResponseWithNoMessagePreview);
569
+
570
+ getChannels({ isDeleted: false }, callback);
571
+ await pause();
572
+
573
+ client.emitter.emit(event, eventPayload);
574
+ await pause();
575
+
576
+ expect(callback).toHaveBeenCalledTimes(2);
577
+ expect(callback).toHaveBeenNthCalledWith(1, expect.objectContaining(getSnapshot()));
578
+ expect(callback).toHaveBeenNthCalledWith(
579
+ 2,
580
+ expect.objectContaining(
581
+ getSnapshot({
582
+ data: convertRawChannelPayload(
583
+ channelQueryResponseWithNoMessagePreview.data,
584
+ ).channels.map(getChannelMessagePreviewWithUser),
585
+ loading: false,
586
+ }),
587
+ ),
588
+ );
589
+ });
590
+ });
591
+ });
592
+ });
@@ -15,8 +15,8 @@ import { getDeviceInfo } from '~/core/device';
15
15
  * @hidden
16
16
  */
17
17
  export const getToken = async (params: {
18
- userId: Amity.User['userId'];
19
- displayName: Amity.User['displayName'];
18
+ userId: Amity.InternalUser['userId'];
19
+ displayName: Amity.InternalUser['displayName'];
20
20
  authToken?: string;
21
21
  deviceId: Amity.Device['deviceId'];
22
22
  }) => {
@@ -25,7 +25,7 @@ export const getToken = async (params: {
25
25
 
26
26
  const deviceInfo = getDeviceInfo();
27
27
 
28
- const { data } = await client.http.post<Amity.Tokens & { users: Amity.User[] }>(
28
+ const { data } = await client.http.post<Amity.Tokens & { users: Amity.InternalUser[] }>(
29
29
  '/api/v4/sessions',
30
30
  {
31
31
  ...params,
@@ -9,6 +9,7 @@ import { onChannelMemberBanned } from '~/channelRepsitory/events/onChannelMember
9
9
  import { markReadEngineOnLoginHandler } from '~/subChannelRepository/utils/markReadEngine';
10
10
  import { onUserDeleted } from '~/userRepository/events/onUserDeleted';
11
11
 
12
+ import analyticsEngineOnLoginHandler from '~/analytic/utils/analyticsEngineOnLoginHandler';
12
13
  import { logout } from './logout';
13
14
 
14
15
  import { getActiveClient } from './activeClient';
@@ -149,7 +150,7 @@ export const login = async (
149
150
  unsubWatcher();
150
151
  }),
151
152
 
152
- onUserDeleted((user: Amity.User) => {
153
+ onUserDeleted((user: Amity.InternalUser) => {
153
154
  if (user.userId === client.userId) {
154
155
  terminateClient(Amity.TokenTerminationReason.USER_DELETED);
155
156
 
@@ -174,6 +175,7 @@ export const login = async (
174
175
  onChannelMemberBanned(removeChannelMarkerCache),
175
176
 
176
177
  markReadEngineOnLoginHandler(),
178
+ analyticsEngineOnLoginHandler(),
177
179
  );
178
180
  }
179
181
 
@@ -13,17 +13,17 @@ import { LinkedObject } from '~/utils/linkedObject';
13
13
  * const comment = await CommentRepository.getComment('foobar')
14
14
  * ```
15
15
  *
16
- * Fetches a {@link Amity.InternalComment} object
16
+ * Fetches a {@link Amity.Comment} object
17
17
  *
18
- * @param commentId the ID of the {@link Amity.InternalComment} to fetch
19
- * @returns the associated {@link Amity.InternalComment} object
18
+ * @param commentId the ID of the {@link Amity.Comment} to fetch
19
+ * @returns the associated {@link Amity.Comment} object
20
20
  *
21
21
  * @category Comment API
22
22
  * @async
23
23
  */
24
24
  export const getComment = async (
25
- commentId: Amity.InternalComment['commentId'],
26
- ): Promise<Amity.Cached<Amity.InternalComment>> => {
25
+ commentId: Amity.Comment['commentId'],
26
+ ): Promise<Amity.Cached<Amity.Comment>> => {
27
27
  const client = getActiveClient();
28
28
  client.log('comment/getComment', commentId);
29
29
 
@@ -62,16 +62,16 @@ export const getComment = async (
62
62
  * const comment = getComment.locally('foobar')
63
63
  * ```
64
64
  *
65
- * Fetches a {@link Amity.InternalComment} object
65
+ * Fetches a {@link Amity.Comment} object
66
66
  *
67
- * @param commentId the ID of the {@link Amity.InternalComment} to fetch
68
- * @returns the associated {@link Amity.InternalComment} object
67
+ * @param commentId the ID of the {@link Amity.Comment} to fetch
68
+ * @returns the associated {@link Amity.Comment} object
69
69
  *
70
70
  * @category Comment API
71
71
  */
72
72
  getComment.locally = (
73
- commentId: Amity.InternalComment['commentId'],
74
- ): Amity.Cached<Amity.InternalComment> | undefined => {
73
+ commentId: Amity.Comment['commentId'],
74
+ ): Amity.Cached<Amity.Comment> | undefined => {
75
75
  const client = getActiveClient();
76
76
  client.log('comment/getComment.locally', commentId);
77
77
 
@@ -82,7 +82,7 @@ getComment.locally = (
82
82
  if (!cached) return;
83
83
 
84
84
  return {
85
- data: cached.data,
85
+ data: LinkedObject.comment(cached.data),
86
86
  cachedAt: cached.cachedAt,
87
87
  };
88
88
  };