@amityco/ts-sdk 6.12.2-d74459e.0 → 6.12.2-e855934.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 (290) 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 +4 -4
  5. package/dist/@types/core/model.d.ts.map +1 -1
  6. package/dist/@types/core/payload.d.ts +17 -17
  7. package/dist/@types/core/payload.d.ts.map +1 -1
  8. package/dist/@types/domains/block.d.ts +1 -1
  9. package/dist/@types/domains/block.d.ts.map +1 -1
  10. package/dist/@types/domains/category.d.ts +5 -2
  11. package/dist/@types/domains/category.d.ts.map +1 -1
  12. package/dist/@types/domains/client.d.ts +3 -3
  13. package/dist/@types/domains/client.d.ts.map +1 -1
  14. package/dist/@types/domains/comment.d.ts +1 -1
  15. package/dist/@types/domains/comment.d.ts.map +1 -1
  16. package/dist/@types/domains/community.d.ts +4 -4
  17. package/dist/@types/domains/community.d.ts.map +1 -1
  18. package/dist/@types/domains/follow.d.ts +4 -4
  19. package/dist/@types/domains/follow.d.ts.map +1 -1
  20. package/dist/@types/domains/group.d.ts +2 -2
  21. package/dist/@types/domains/group.d.ts.map +1 -1
  22. package/dist/@types/domains/messagePreview.d.ts +2 -2
  23. package/dist/@types/domains/messagePreview.d.ts.map +1 -1
  24. package/dist/@types/domains/poll.d.ts +1 -1
  25. package/dist/@types/domains/poll.d.ts.map +1 -1
  26. package/dist/@types/domains/post.d.ts +1 -1
  27. package/dist/@types/domains/post.d.ts.map +1 -1
  28. package/dist/@types/domains/reaction.d.ts +1 -1
  29. package/dist/@types/domains/reaction.d.ts.map +1 -1
  30. package/dist/@types/domains/stream.d.ts +2 -2
  31. package/dist/@types/domains/stream.d.ts.map +1 -1
  32. package/dist/@types/domains/user.d.ts +7 -3
  33. package/dist/@types/domains/user.d.ts.map +1 -1
  34. package/dist/cache/api/pushToCache.d.ts +1 -1
  35. package/dist/cache/api/upsertInCache.d.ts +1 -1
  36. package/dist/categoryRepository/api/getCategory.d.ts.map +1 -1
  37. package/dist/categoryRepository/api/queryCategories.d.ts.map +1 -1
  38. package/dist/categoryRepository/observers/getCategories.d.ts.map +1 -1
  39. package/dist/channelRepsitory/channelMembership/api/addMembers.d.ts +4 -4
  40. package/dist/channelRepsitory/channelMembership/api/addMembers.d.ts.map +1 -1
  41. package/dist/channelRepsitory/channelMembership/api/removeMembers.d.ts +4 -4
  42. package/dist/channelRepsitory/channelMembership/api/removeMembers.d.ts.map +1 -1
  43. package/dist/channelRepsitory/channelModeration/api/addRole.d.ts +4 -4
  44. package/dist/channelRepsitory/channelModeration/api/addRole.d.ts.map +1 -1
  45. package/dist/channelRepsitory/channelModeration/api/banMembers.d.ts +2 -2
  46. package/dist/channelRepsitory/channelModeration/api/banMembers.d.ts.map +1 -1
  47. package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts +4 -4
  48. package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts.map +1 -1
  49. package/dist/channelRepsitory/channelModeration/api/unbanMembers.d.ts +2 -2
  50. package/dist/channelRepsitory/channelModeration/api/unbanMembers.d.ts.map +1 -1
  51. package/dist/channelRepsitory/events/onChannelMemberAdded.d.ts +1 -1
  52. package/dist/channelRepsitory/events/onChannelMemberBanned.d.ts +1 -1
  53. package/dist/channelRepsitory/events/onChannelMemberRemoved.d.ts +1 -1
  54. package/dist/channelRepsitory/events/onChannelMemberUnbanned.d.ts +1 -1
  55. package/dist/channelRepsitory/observers/tests/getChannel.test.d.ts +2 -0
  56. package/dist/channelRepsitory/observers/tests/getChannel.test.d.ts.map +1 -0
  57. package/dist/client/api/getToken.d.ts +3 -3
  58. package/dist/client/api/getToken.d.ts.map +1 -1
  59. package/dist/client/utils/setClientToken.d.ts +1 -1
  60. package/dist/communityRepository/communityMembership/api/addMembers.d.ts +4 -4
  61. package/dist/communityRepository/communityMembership/api/addMembers.d.ts.map +1 -1
  62. package/dist/communityRepository/communityMembership/api/removeMembers.d.ts +4 -4
  63. package/dist/communityRepository/communityMembership/api/removeMembers.d.ts.map +1 -1
  64. package/dist/communityRepository/communityModeration/api/addRoles.d.ts +4 -4
  65. package/dist/communityRepository/communityModeration/api/addRoles.d.ts.map +1 -1
  66. package/dist/communityRepository/communityModeration/api/banMembers.d.ts +2 -2
  67. package/dist/communityRepository/communityModeration/api/banMembers.d.ts.map +1 -1
  68. package/dist/communityRepository/communityModeration/api/removeRoles.d.ts +4 -4
  69. package/dist/communityRepository/communityModeration/api/removeRoles.d.ts.map +1 -1
  70. package/dist/communityRepository/communityModeration/api/unbanMembers.d.ts +2 -2
  71. package/dist/communityRepository/communityModeration/api/unbanMembers.d.ts.map +1 -1
  72. package/dist/core/device.d.ts +1 -1
  73. package/dist/core/device.d.ts.map +1 -1
  74. package/dist/core/query/filtering.d.ts +2 -2
  75. package/dist/core/query/filtering.d.ts.map +1 -1
  76. package/dist/external/api/createUserToken.d.ts +2 -2
  77. package/dist/external/api/createUserToken.d.ts.map +1 -1
  78. package/dist/group/utils/withUser.d.ts +3 -3
  79. package/dist/group/utils/withUser.d.ts.map +1 -1
  80. package/dist/index.cjs.js +206 -126
  81. package/dist/index.esm.js +206 -126
  82. package/dist/index.umd.js +4 -4
  83. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -1
  84. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
  85. package/dist/messageRepository/api/getDeliveredUsers.d.ts +6 -6
  86. package/dist/messageRepository/api/getDeliveredUsers.d.ts.map +1 -1
  87. package/dist/messageRepository/api/getReadUsers.d.ts +6 -6
  88. package/dist/messageRepository/api/getReadUsers.d.ts.map +1 -1
  89. package/dist/streamRepository/api/getStreams.d.ts +1 -1
  90. package/dist/streamRepository/api/getStreams.d.ts.map +1 -1
  91. package/dist/streamRepository/api/queryStreams.d.ts +1 -1
  92. package/dist/streamRepository/api/queryStreams.d.ts.map +1 -1
  93. package/dist/userRepository/api/flagUser.d.ts +1 -1
  94. package/dist/userRepository/api/flagUser.d.ts.map +1 -1
  95. package/dist/userRepository/api/getUser.d.ts.map +1 -1
  96. package/dist/userRepository/api/getUserByIds.d.ts +1 -1
  97. package/dist/userRepository/api/getUserByIds.d.ts.map +1 -1
  98. package/dist/userRepository/api/isUserFlaggedByMe.d.ts +1 -1
  99. package/dist/userRepository/api/isUserFlaggedByMe.d.ts.map +1 -1
  100. package/dist/userRepository/api/queryBlockedUsers.d.ts +5 -5
  101. package/dist/userRepository/api/queryBlockedUsers.d.ts.map +1 -1
  102. package/dist/userRepository/api/queryUsers.d.ts +6 -6
  103. package/dist/userRepository/api/queryUsers.d.ts.map +1 -1
  104. package/dist/userRepository/api/unflagUser.d.ts +1 -1
  105. package/dist/userRepository/api/unflagUser.d.ts.map +1 -1
  106. package/dist/userRepository/api/updateUser.d.ts +4 -4
  107. package/dist/userRepository/api/updateUser.d.ts.map +1 -1
  108. package/dist/userRepository/events/onUserDeleted.d.ts +2 -2
  109. package/dist/userRepository/events/onUserDeleted.d.ts.map +1 -1
  110. package/dist/userRepository/events/onUserFetched.d.ts +2 -2
  111. package/dist/userRepository/events/onUserFetched.d.ts.map +1 -1
  112. package/dist/userRepository/events/onUserFlagCleared.d.ts +2 -2
  113. package/dist/userRepository/events/onUserFlagCleared.d.ts.map +1 -1
  114. package/dist/userRepository/events/onUserFlagged.d.ts +2 -2
  115. package/dist/userRepository/events/onUserFlagged.d.ts.map +1 -1
  116. package/dist/userRepository/events/onUserUnflagged.d.ts +2 -2
  117. package/dist/userRepository/events/onUserUnflagged.d.ts.map +1 -1
  118. package/dist/userRepository/events/onUserUpdated.d.ts +2 -2
  119. package/dist/userRepository/events/onUserUpdated.d.ts.map +1 -1
  120. package/dist/userRepository/events/utils.d.ts +1 -1
  121. package/dist/userRepository/events/utils.d.ts.map +1 -1
  122. package/dist/userRepository/observers/getBlockedUsers.d.ts +4 -4
  123. package/dist/userRepository/observers/getBlockedUsers.d.ts.map +1 -1
  124. package/dist/userRepository/observers/getUser.d.ts +2 -2
  125. package/dist/userRepository/observers/getUser.d.ts.map +1 -1
  126. package/dist/userRepository/observers/getUsers.d.ts.map +1 -1
  127. package/dist/userRepository/observers/observeUser.d.ts +2 -2
  128. package/dist/userRepository/observers/observeUser.d.ts.map +1 -1
  129. package/dist/userRepository/observers/searchUserByDisplayName.d.ts +2 -2
  130. package/dist/userRepository/observers/searchUserByDisplayName.d.ts.map +1 -1
  131. package/dist/userRepository/relationship/block/api/blockUser.d.ts +4 -4
  132. package/dist/userRepository/relationship/block/api/blockUser.d.ts.map +1 -1
  133. package/dist/userRepository/relationship/block/api/unBlockUser.d.ts +4 -4
  134. package/dist/userRepository/relationship/block/api/unBlockUser.d.ts.map +1 -1
  135. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +1 -1
  136. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +1 -1
  137. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +2 -2
  138. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +1 -1
  139. package/dist/userRepository/relationship/follow/api/acceptMyFollower.d.ts +2 -2
  140. package/dist/userRepository/relationship/follow/api/acceptMyFollower.d.ts.map +1 -1
  141. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +2 -2
  142. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +1 -1
  143. package/dist/userRepository/relationship/follow/api/declineMyFollower.d.ts +2 -2
  144. package/dist/userRepository/relationship/follow/api/declineMyFollower.d.ts.map +1 -1
  145. package/dist/userRepository/relationship/follow/api/follow.d.ts +2 -2
  146. package/dist/userRepository/relationship/follow/api/follow.d.ts.map +1 -1
  147. package/dist/userRepository/relationship/follow/api/getFollowInfo.d.ts +4 -4
  148. package/dist/userRepository/relationship/follow/api/getFollowInfo.d.ts.map +1 -1
  149. package/dist/userRepository/relationship/follow/api/unfollow.d.ts +3 -3
  150. package/dist/userRepository/relationship/follow/api/unfollow.d.ts.map +1 -1
  151. package/dist/userRepository/relationship/follow/api/utils.d.ts +1 -1
  152. package/dist/userRepository/relationship/follow/api/utils.d.ts.map +1 -1
  153. package/dist/userRepository/relationship/follow/observers/getFollowers.d.ts +1 -1
  154. package/dist/userRepository/relationship/follow/observers/getFollowings.d.ts +1 -1
  155. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +1 -1
  156. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +1 -1
  157. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +2 -2
  158. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +1 -1
  159. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +2 -2
  160. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +1 -1
  161. package/dist/utils/linkedObject/categoryLinkedObject.d.ts +2 -0
  162. package/dist/utils/linkedObject/categoryLinkedObject.d.ts.map +1 -0
  163. package/dist/utils/linkedObject/index.d.ts +2 -0
  164. package/dist/utils/linkedObject/index.d.ts.map +1 -1
  165. package/dist/utils/linkedObject/userLinkedObject.d.ts +2 -0
  166. package/dist/utils/linkedObject/userLinkedObject.d.ts.map +1 -0
  167. package/dist/utils/tests/client.d.ts.map +1 -1
  168. package/dist/utils/tests/dummy/block.d.ts +4 -4
  169. package/dist/utils/tests/dummy/block.d.ts.map +1 -1
  170. package/dist/utils/tests/dummy/category.d.ts +7 -0
  171. package/dist/utils/tests/dummy/category.d.ts.map +1 -1
  172. package/dist/utils/tests/dummy/channel.d.ts +11 -1
  173. package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
  174. package/dist/utils/tests/dummy/comment.d.ts +6 -6
  175. package/dist/utils/tests/dummy/follow.d.ts +1 -1
  176. package/dist/utils/tests/dummy/follow.d.ts.map +1 -1
  177. package/dist/utils/tests/dummy/user.d.ts +5 -1
  178. package/dist/utils/tests/dummy/user.d.ts.map +1 -1
  179. package/package.json +1 -1
  180. package/src/@types/core/marker.ts +4 -4
  181. package/src/@types/core/model.ts +4 -4
  182. package/src/@types/core/payload.ts +17 -17
  183. package/src/@types/domains/block.ts +1 -1
  184. package/src/@types/domains/category.ts +6 -2
  185. package/src/@types/domains/client.ts +3 -3
  186. package/src/@types/domains/comment.ts +1 -1
  187. package/src/@types/domains/community.ts +4 -4
  188. package/src/@types/domains/follow.ts +4 -4
  189. package/src/@types/domains/group.ts +2 -2
  190. package/src/@types/domains/messagePreview.ts +2 -2
  191. package/src/@types/domains/poll.ts +1 -1
  192. package/src/@types/domains/post.ts +1 -1
  193. package/src/@types/domains/reaction.ts +1 -1
  194. package/src/@types/domains/stream.ts +2 -2
  195. package/src/@types/domains/user.ts +8 -3
  196. package/src/cache/api/pushToCache.ts +1 -1
  197. package/src/cache/api/upsertInCache.ts +1 -1
  198. package/src/categoryRepository/api/getCategory.ts +3 -2
  199. package/src/categoryRepository/api/queryCategories.ts +7 -1
  200. package/src/categoryRepository/observers/getCategories.ts +3 -2
  201. package/src/categoryRepository/observers/tests/getCategories.test.ts +2 -1
  202. package/src/channelRepsitory/api/createChannel.ts +1 -1
  203. package/src/channelRepsitory/channelMembership/api/addMembers.ts +4 -4
  204. package/src/channelRepsitory/channelMembership/api/removeMembers.ts +4 -4
  205. package/src/channelRepsitory/channelMembership/observers/tests/getMembers.test.ts +1 -1
  206. package/src/channelRepsitory/channelMembership/observers/tests/searchMembers.test.ts +1 -3
  207. package/src/channelRepsitory/channelModeration/api/addRole.ts +4 -4
  208. package/src/channelRepsitory/channelModeration/api/banMembers.ts +2 -2
  209. package/src/channelRepsitory/channelModeration/api/removeRole.ts +4 -4
  210. package/src/channelRepsitory/channelModeration/api/unbanMembers.ts +2 -2
  211. package/src/channelRepsitory/events/onChannelMemberAdded.ts +1 -1
  212. package/src/channelRepsitory/events/onChannelMemberBanned.ts +1 -1
  213. package/src/channelRepsitory/events/onChannelMemberRemoved.ts +1 -1
  214. package/src/channelRepsitory/events/onChannelMemberUnbanned.ts +1 -1
  215. package/src/channelRepsitory/observers/tests/getChannel.test.ts +73 -0
  216. package/src/channelRepsitory/observers/tests/getChannels.test.ts +462 -50
  217. package/src/client/api/getToken.ts +3 -3
  218. package/src/client/api/login.ts +1 -1
  219. package/src/communityRepository/communityMembership/api/addMembers.ts +4 -4
  220. package/src/communityRepository/communityMembership/api/removeMembers.ts +4 -4
  221. package/src/communityRepository/communityMembership/events/utils.ts +2 -2
  222. package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +1 -1
  223. package/src/communityRepository/communityModeration/api/addRoles.ts +4 -4
  224. package/src/communityRepository/communityModeration/api/banMembers.ts +2 -2
  225. package/src/communityRepository/communityModeration/api/removeRoles.ts +4 -4
  226. package/src/communityRepository/communityModeration/api/unbanMembers.ts +2 -2
  227. package/src/core/device.ts +1 -1
  228. package/src/core/query/filtering.ts +3 -1
  229. package/src/core/query/tests/filtering.test.ts +2 -2
  230. package/src/external/api/createUserToken.ts +2 -2
  231. package/src/group/utils/withUser.ts +8 -4
  232. package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
  233. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +1 -1
  234. package/src/messagePreview/utils/getSubChannelMessagePreviewWithUser.ts +1 -1
  235. package/src/messageRepository/api/getDeliveredUsers.ts +11 -9
  236. package/src/messageRepository/api/getReadUsers.ts +11 -9
  237. package/src/messageRepository/observers/tests/getMessages.test.ts +766 -0
  238. package/src/streamRepository/api/getStreams.ts +1 -1
  239. package/src/streamRepository/api/queryStreams.ts +1 -1
  240. package/src/subChannelRepository/observers/tests/getSubChannels.test.ts +308 -15
  241. package/src/userRepository/api/flagUser.ts +1 -1
  242. package/src/userRepository/api/getUser.ts +2 -1
  243. package/src/userRepository/api/getUserByIds.ts +4 -3
  244. package/src/userRepository/api/isUserFlaggedByMe.ts +1 -1
  245. package/src/userRepository/api/queryBlockedUsers.ts +10 -8
  246. package/src/userRepository/api/queryUsers.ts +12 -10
  247. package/src/userRepository/api/unflagUser.ts +1 -1
  248. package/src/userRepository/api/updateUser.ts +6 -6
  249. package/src/userRepository/events/onUserDeleted.ts +2 -2
  250. package/src/userRepository/events/onUserFetched.ts +2 -2
  251. package/src/userRepository/events/onUserFlagCleared.ts +2 -2
  252. package/src/userRepository/events/onUserFlagged.ts +2 -2
  253. package/src/userRepository/events/onUserUnflagged.ts +2 -2
  254. package/src/userRepository/events/onUserUpdated.ts +2 -2
  255. package/src/userRepository/events/utils.ts +1 -1
  256. package/src/userRepository/observers/getBlockedUsers.ts +8 -7
  257. package/src/userRepository/observers/getUser.ts +3 -3
  258. package/src/userRepository/observers/getUsers.ts +2 -2
  259. package/src/userRepository/observers/observeUser.ts +9 -6
  260. package/src/userRepository/observers/searchUserByDisplayName.ts +2 -2
  261. package/src/userRepository/observers/tests/getUser.test.ts +1 -1
  262. package/src/userRepository/observers/tests/getUsers.test.ts +12 -11
  263. package/src/userRepository/observers/tests/searchUserByDisplayName.test.ts +1 -1
  264. package/src/userRepository/relationship/block/api/blockUser.ts +6 -4
  265. package/src/userRepository/relationship/block/api/unBlockUser.ts +6 -4
  266. package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +1 -1
  267. package/src/userRepository/relationship/follow/api/acceptFollower.ts +2 -2
  268. package/src/userRepository/relationship/follow/api/acceptMyFollower.ts +2 -2
  269. package/src/userRepository/relationship/follow/api/declineFollower.ts +2 -2
  270. package/src/userRepository/relationship/follow/api/declineMyFollower.ts +2 -2
  271. package/src/userRepository/relationship/follow/api/follow.ts +2 -2
  272. package/src/userRepository/relationship/follow/api/getFollowInfo.ts +4 -4
  273. package/src/userRepository/relationship/follow/api/unfollow.ts +3 -3
  274. package/src/userRepository/relationship/follow/api/utils.ts +1 -1
  275. package/src/userRepository/relationship/follow/observers/getFollowers.ts +1 -1
  276. package/src/userRepository/relationship/follow/observers/getFollowings.ts +1 -1
  277. package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +1 -1
  278. package/src/userRepository/relationship/follow/observers/observeFollowers.ts +2 -2
  279. package/src/userRepository/relationship/follow/observers/observeFollowings.ts +2 -2
  280. package/src/utils/linkedObject/categoryLinkedObject.ts +40 -0
  281. package/src/utils/linkedObject/index.ts +4 -0
  282. package/src/utils/linkedObject/userLinkedObject.ts +36 -0
  283. package/src/utils/tests/client.ts +1 -0
  284. package/src/utils/tests/dummy/block.ts +3 -3
  285. package/src/utils/tests/dummy/category.ts +5 -0
  286. package/src/utils/tests/dummy/channel.ts +58 -1
  287. package/src/utils/tests/dummy/community.ts +1 -1
  288. package/src/utils/tests/dummy/follow.ts +1 -1
  289. package/src/utils/tests/dummy/user.ts +3 -1
  290. package/tsconfig.json +18 -23
@@ -18,6 +18,16 @@ import {
18
18
  rawChannelUser,
19
19
  rawChannelUser2,
20
20
  user11,
21
+ channelDisplayName3,
22
+ channelDisplayName2,
23
+ channelDisplayName1,
24
+ channelCreatedAt3,
25
+ channelCreatedAt2,
26
+ channelCreatedAt1,
27
+ channelLastActivity1,
28
+ channelLastActivity2,
29
+ channelLastActivity3,
30
+ channelDisplayName4,
21
31
  } from '~/utils/tests';
22
32
 
23
33
  import { getChannels } from '../getChannels';
@@ -105,29 +115,25 @@ describe('getChannels', () => {
105
115
  );
106
116
  });
107
117
 
108
- const rawDeletedChannel = generateRawChannel({
109
- channelId: 'deleted-channel-id',
110
- isDeleted: true,
111
- });
112
- const deletedChannel = convertChannelFromRaw(rawDeletedChannel);
113
- const rawTaggedChannel = generateRawChannel({
114
- channelId: 'tagged-channel-id',
115
- tags: ['tag1', 'tag2'],
116
- });
117
- const taggedChannel = convertChannelFromRaw(rawTaggedChannel);
118
- const rawTaggedChannel2 = generateRawChannel({
119
- channelId: 'tagged-channel-id-2',
120
- tags: ['tag2'],
121
- });
122
- const taggedChannel2 = convertChannelFromRaw(rawTaggedChannel2);
118
+ describe('when querying the channel collection with specific sort and filter options, the result is sorted and filtered correctly.', () => {
119
+ const rawDeletedChannel = generateRawChannel({
120
+ channelId: 'deleted-channel-id',
121
+ isDeleted: true,
122
+ });
123
+ const deletedChannel = convertChannelFromRaw(rawDeletedChannel);
124
+ const rawTaggedChannel = generateRawChannel({
125
+ channelId: 'tagged-channel-id',
126
+ tags: ['tag1', 'tag2'],
127
+ });
128
+ const taggedChannel = convertChannelFromRaw(rawTaggedChannel);
129
+ const rawTaggedChannel2 = generateRawChannel({
130
+ channelId: 'tagged-channel-id-2',
131
+ tags: ['tag2'],
132
+ });
133
+ const taggedChannel2 = convertChannelFromRaw(rawTaggedChannel2);
123
134
 
124
- const filters: [string, Amity.ChannelLiveCollection, Amity.Channel[]][] = [
125
- [
126
- 'deleted',
127
- { isDeleted: false },
128
- [
129
- channel1,
130
- { ...taggedChannel, messagePreview: null },
135
+ const filterCases: [string, Amity.ChannelLiveCollection, Amity.Channel[]][] = [
136
+ ['deleted', { isDeleted: false }, [channel1, { ...taggedChannel, messagePreview: null },
131
137
  { ...taggedChannel2, messagePreview: null },
132
138
  ],
133
139
  ],
@@ -152,57 +158,463 @@ describe('getChannels', () => {
152
158
  * TODO: skip this test because the behaviour is changed.
153
159
  * The member filter is not supported yet. SDK use filter member response from backend, so skip this test
154
160
  */
155
- ['member', { membership: 'member' }, [channel1]],
156
- [
157
- 'not member',
158
- { membership: 'notMember' },
159
- [
161
+ ['member', { membership: 'member' }, [channel1]],
162
+ ['not member', { membership: 'notMember' }, [
160
163
  { ...deletedChannel, messagePreview: null },
161
164
  { ...taggedChannel, messagePreview: null },
162
165
  { ...taggedChannel2, messagePreview: null },
163
- ],
164
- ],
165
- [
166
- 'all membership',
167
- { membership: 'all' },
166
+ ],],
168
167
  [
168
+ 'all membership',
169
+ { membership: 'all' },[
169
170
  channel1,
170
171
  { ...deletedChannel, messagePreview: null },
171
172
  { ...taggedChannel, messagePreview: null },
172
- { ...taggedChannel2, messagePreview: null },
173
+ { ...taggedChannel2, messagePreview: null },],
173
174
  ],
174
- ],
175
- ];
175
+ ];
176
176
 
177
- test.each(filters)('it should filter by %s channels', async (filter, params, expected) => {
178
- const callback = jest.fn();
179
- client.http.get = jest.fn().mockResolvedValue({
180
- data: {
181
- channels: [channelRaw1, rawDeletedChannel, rawTaggedChannel, rawTaggedChannel2],
182
- channelUsers: [rawChannelUser],
183
- files: [],
184
- users: [user11],
185
- ...mockPage,
177
+ const sortingCases: [
178
+ string,
179
+ Amity.ChannelLiveCollection,
180
+ Amity.RawChannel[],
181
+ Amity.RawChannel[],
182
+ ][] = [
183
+ [
184
+ 'displayName',
185
+ { sortBy: 'displayName' },
186
+ [channelDisplayName1, channelDisplayName2, channelDisplayName3],
187
+ [channelDisplayName1, channelDisplayName2, channelDisplayName3],
188
+ ],
189
+ [
190
+ 'displayName + wrong order',
191
+ { sortBy: 'displayName' },
192
+ [channelDisplayName3, channelDisplayName2, channelDisplayName1],
193
+ [channelDisplayName1, channelDisplayName2, channelDisplayName3],
194
+ ],
195
+ [
196
+ 'firstCreated',
197
+ { sortBy: 'firstCreated' },
198
+ [channelCreatedAt1, channelCreatedAt2, channelCreatedAt3],
199
+ [channelCreatedAt1, channelCreatedAt2, channelCreatedAt3],
200
+ ],
201
+ [
202
+ 'firstCreated + wrong order',
203
+ { sortBy: 'firstCreated' },
204
+ [channelCreatedAt3, channelCreatedAt2, channelCreatedAt1],
205
+ [channelCreatedAt1, channelCreatedAt2, channelCreatedAt3],
206
+ ],
207
+ [
208
+ 'lastCreated',
209
+ { sortBy: 'lastCreated' },
210
+ [channelCreatedAt3, channelCreatedAt2, channelCreatedAt1],
211
+ [channelCreatedAt3, channelCreatedAt2, channelCreatedAt1],
212
+ ],
213
+ [
214
+ 'lastCreated + wrong order',
215
+ { sortBy: 'lastCreated' },
216
+ [channelCreatedAt1, channelCreatedAt2, channelCreatedAt3],
217
+ [channelCreatedAt3, channelCreatedAt2, channelCreatedAt1],
218
+ ],
219
+ [
220
+ 'lastActivity',
221
+ { sortBy: 'lastActivity' },
222
+ [channelLastActivity3, channelLastActivity2, channelLastActivity1],
223
+ [channelLastActivity3, channelLastActivity2, channelLastActivity1],
224
+ ],
225
+ [
226
+ 'lastActivity + wrong order',
227
+ { sortBy: 'lastActivity' },
228
+ [channelLastActivity1, channelLastActivity2, channelLastActivity3],
229
+ [channelLastActivity3, channelLastActivity2, channelLastActivity1],
230
+ ],
231
+ ];
232
+
233
+ const filterAndSortingCases: [
234
+ string,
235
+ Amity.ChannelLiveCollection,
236
+ Amity.RawChannel[],
237
+ Amity.RawChannel[],
238
+ ][] = [
239
+ [
240
+ 'types + displayName',
241
+ { types: ['community', 'live'], sortBy: 'displayName' },
242
+ [channelDisplayName2, channelDisplayName1, channelDisplayName3, channelDisplayName4],
243
+ [channelDisplayName1, channelDisplayName2, channelDisplayName3],
244
+ ],
245
+ ];
246
+
247
+ test.each(filterCases)('it should filter by %s channels', async (_filter, params, expected) => {
248
+ const callback = jest.fn();
249
+ client.http.get = jest.fn().mockResolvedValue({
250
+ data: {
251
+ channels: [channelRaw1, rawDeletedChannel, rawTaggedChannel, rawTaggedChannel2],
252
+ channelUsers: [rawChannelUser],
253
+ files: [],
254
+ users: [user11],
255
+ ...mockPage,
256
+ },
257
+ });
258
+
259
+ getChannels(params, callback);
260
+
261
+ expect(callback).toHaveBeenCalledTimes(1);
262
+ // check if cache data returned (should be empty)
263
+ expect(callback).toHaveBeenCalledWith(expect.objectContaining(getSnapshot()));
264
+
265
+ await pause();
266
+
267
+ expect(callback).toHaveBeenCalledTimes(2);
268
+ expect(callback).toHaveBeenCalledWith(
269
+ expect.objectContaining(
270
+ getSnapshot({
271
+ loading: false,
272
+ data: expected,
273
+ }),
274
+ ),
275
+ );
276
+ });
277
+
278
+ test.each(sortingCases)('it should sort by %s', async (_filter, params, returned, expected) => {
279
+ const callback = jest.fn();
280
+ client.http.get = jest.fn().mockResolvedValue({
281
+ data: {
282
+ channels: returned,
283
+ channelUsers: [rawChannelUser],
284
+ files: [],
285
+ users: [user11],
286
+ ...mockPage,
287
+ },
288
+ });
289
+
290
+ getChannels(params, callback);
291
+
292
+ expect(callback).toHaveBeenCalledTimes(1);
293
+
294
+ await pause();
295
+
296
+ expect(callback).toHaveBeenCalledTimes(2);
297
+ expect(callback).toHaveBeenCalledWith(
298
+ expect.objectContaining(
299
+ getSnapshot({
300
+ loading: false,
301
+ data: expected.map(convertChannelFromRaw),
302
+ }),
303
+ ),
304
+ );
305
+ });
306
+
307
+ test.each(filterAndSortingCases)(
308
+ 'it should filter and sort by %s',
309
+ async (_filter, params, returned, expected) => {
310
+ const callback = jest.fn();
311
+ client.http.get = jest.fn().mockResolvedValue({
312
+ data: {
313
+ channels: returned,
314
+ channelUsers: [rawChannelUser],
315
+ files: [],
316
+ users: [user11],
317
+ ...mockPage,
318
+ },
319
+ });
320
+
321
+ getChannels(params, callback);
322
+
323
+ expect(callback).toHaveBeenCalledTimes(1);
324
+
325
+ await pause();
326
+
327
+ expect(callback).toHaveBeenCalledTimes(2);
328
+ expect(callback).toHaveBeenCalledWith(
329
+ expect.objectContaining(
330
+ getSnapshot({
331
+ loading: false,
332
+ data: expected.map(convertChannelFromRaw),
333
+ }),
334
+ ),
335
+ );
186
336
  },
337
+ );
338
+ });
339
+
340
+ test('when querying two channel collections using different parameters, the results from each collection remain distinct and do not overlap', async () => {
341
+ const callback = jest.fn();
342
+ const callback2 = jest.fn();
343
+ const callback1Response = [
344
+ channelDisplayName2,
345
+ channelDisplayName1,
346
+ channelDisplayName3,
347
+ channelDisplayName4,
348
+ ];
349
+ const callback1Expected = [channelDisplayName1, channelDisplayName2, channelDisplayName3];
350
+ const callback2Response = [channelCreatedAt3, channelCreatedAt2, channelCreatedAt1];
351
+
352
+ client.http.get = jest.fn().mockImplementation((_url: string, params) => {
353
+ if (!params.params.sortBy) {
354
+ return {
355
+ data: {
356
+ channels: callback2Response,
357
+ channelUsers: [rawChannelUser],
358
+ files: [],
359
+ users: [user11],
360
+ ...mockPage,
361
+ },
362
+ };
363
+ }
364
+ return {
365
+ data: {
366
+ channels: callback1Response,
367
+ channelUsers: [rawChannelUser],
368
+ files: [],
369
+ users: [user11],
370
+ ...mockPage,
371
+ },
372
+ };
187
373
  });
188
374
 
189
- getChannels(params, callback);
375
+ getChannels({ types: ['community', 'live'], sortBy: 'displayName' }, callback);
376
+ getChannels({}, callback2);
190
377
 
191
378
  expect(callback).toHaveBeenCalledTimes(1);
192
- // check if cache data returned (should be empty)
193
- expect(callback).toHaveBeenCalledWith(expect.objectContaining(getSnapshot()));
194
379
 
195
- await pause();
380
+ await pause(100);
196
381
 
197
382
  expect(callback).toHaveBeenCalledTimes(2);
198
- expect(callback).toHaveBeenCalledWith(
383
+ expect(callback).lastCalledWith(
199
384
  expect.objectContaining(
200
385
  getSnapshot({
201
386
  loading: false,
202
- data: expected,
387
+ data: callback1Expected.map(convertChannelFromRaw),
203
388
  }),
204
389
  ),
205
390
  );
391
+
392
+ expect(callback2).lastCalledWith(
393
+ expect.objectContaining(
394
+ getSnapshot({
395
+ loading: false,
396
+ data: callback2Response.map(convertChannelFromRaw),
397
+ }),
398
+ ),
399
+ );
400
+
401
+ callback.mock.lastCall[0].onNextPage();
402
+
403
+ await pause(100);
404
+
405
+ expect(callback).lastCalledWith(
406
+ expect.objectContaining(
407
+ getSnapshot({
408
+ loading: false,
409
+ data: callback1Expected.map(convertChannelFromRaw),
410
+ }),
411
+ ),
412
+ );
413
+
414
+ expect(callback2).lastCalledWith(
415
+ expect.objectContaining(
416
+ getSnapshot({
417
+ loading: false,
418
+ data: callback2Response.map(convertChannelFromRaw),
419
+ }),
420
+ ),
421
+ );
422
+
423
+ callback2.mock.lastCall[0].onNextPage();
424
+
425
+ await pause(100);
426
+
427
+ expect(callback).lastCalledWith(
428
+ expect.objectContaining(
429
+ getSnapshot({
430
+ loading: false,
431
+ data: callback1Expected.map(convertChannelFromRaw),
432
+ }),
433
+ ),
434
+ );
435
+
436
+ expect(callback2).lastCalledWith(
437
+ expect.objectContaining(
438
+ getSnapshot({
439
+ loading: false,
440
+ data: callback2Response.map(convertChannelFromRaw),
441
+ }),
442
+ ),
443
+ );
444
+ });
445
+
446
+ test('when querying two channel collections using different parameters, pagination for each collection operates correctly and does not overlap or mix results', async () => {
447
+ const callback = jest.fn();
448
+ const callback2 = jest.fn();
449
+
450
+ const returnValue1Page1: Amity.RawChannel[] = [
451
+ generateRawChannel({ channelId: 'channelId1', isDeleted: false, type: 'community' }),
452
+ generateRawChannel({ channelId: 'channelId2', isDeleted: false, type: 'live' }),
453
+ generateRawChannel({ channelId: 'channelId3', isDeleted: false, type: 'broadcast' }),
454
+ ];
455
+
456
+ const returnValue1Page2: Amity.RawChannel[] = [
457
+ generateRawChannel({ channelId: 'channelId4', isDeleted: false }),
458
+ generateRawChannel({ channelId: 'channelId5', isDeleted: false }),
459
+ ];
460
+
461
+ const returnValue2Page1: Amity.RawChannel[] = [
462
+ generateRawChannel({ channelId: 'channelId36', tags: ['test'], displayName: '' }),
463
+ generateRawChannel({ channelId: 'channelId35', tags: ['test'], displayName: '' }),
464
+ ];
465
+
466
+ const returnValue2Page2: Amity.RawChannel[] = [
467
+ generateRawChannel({ channelId: 'channelId34', tags: ['test'], displayName: '' }),
468
+ generateRawChannel({ channelId: 'channelId33', tags: ['test'], displayName: '' }),
469
+ ];
470
+
471
+ const returnValue2Page3: Amity.RawChannel[] = [
472
+ generateRawChannel({ channelId: 'channelId32', tags: ['test'], displayName: '' }),
473
+ generateRawChannel({ channelId: 'channelId31', tags: ['test'], displayName: '' }),
474
+ ];
475
+
476
+ const spyGet = jest.spyOn(client.http, 'get').mockImplementation((url: string, params) => {
477
+ if (!params?.params.tags) {
478
+ if (params?.params?.options.token === 'eyJza2lwIjowLCJsaW1pdCI6MTB9') {
479
+ return Promise.resolve({
480
+ data: {
481
+ channels: returnValue1Page2,
482
+ channelUsers: [rawChannelUser],
483
+ files: [],
484
+ users: [user11],
485
+ ...mockPage,
486
+ },
487
+ });
488
+ }
489
+ return Promise.resolve({
490
+ data: {
491
+ channels: returnValue1Page1,
492
+ channelUsers: [rawChannelUser],
493
+ files: [],
494
+ users: [user11],
495
+ ...mockPage,
496
+ },
497
+ });
498
+ }
499
+ if (params?.params?.options?.token === 'eyJza2lwIjowLCJsaW1pdCI6MTB9') {
500
+ return Promise.resolve({
501
+ data: {
502
+ channels: returnValue2Page2,
503
+ channelUsers: [rawChannelUser],
504
+ files: [],
505
+ users: [user11],
506
+ paging: {
507
+ previous: 'eyJsaW1pdCI6MiwiYmVmb3JlIjo2MzQ3MTYxNDM5MTExMTAwMDAwMH0',
508
+ next: 'eyJsaW1pdCI6MiwiYmVmb3JlIjo2MzQ3MTYxNDQ5MTExMTAwMDAwMH0=',
509
+ },
510
+ },
511
+ });
512
+ }
513
+ if (params?.params?.options?.token === 'eyJza2lwIjowfQ==') {
514
+ return Promise.resolve({
515
+ data: {
516
+ channels: returnValue2Page3,
517
+ channelUsers: [rawChannelUser],
518
+ files: [],
519
+ users: [user11],
520
+ paging: {
521
+ previous: 'eyJsaW1pdCI6MiwiYmVmb3JlIjo2MzQ3MTYxNDM5MTExMTAwMDAwMH0',
522
+ },
523
+ },
524
+ });
525
+ }
526
+
527
+ return Promise.resolve({
528
+ data: {
529
+ channels: returnValue2Page1,
530
+ channelUsers: [rawChannelUser],
531
+ files: [],
532
+ users: [user11],
533
+ ...mockPage,
534
+ },
535
+ });
536
+ });
537
+
538
+ getChannels({}, callback);
539
+ getChannels({ types: ['community', 'live'], tags: ['test'], sortBy: 'displayName' }, callback2);
540
+
541
+ expect(spyGet).toHaveBeenCalledWith('/api/v3/channels', {
542
+ params: {
543
+ options: { token: 'eyJza2lwIjowLCJsaW1pdCI6NX0=' },
544
+ },
545
+ });
546
+
547
+ expect(callback).toHaveBeenCalledTimes(1);
548
+ expect(callback).toHaveBeenCalledWith(
549
+ expect.objectContaining({
550
+ data: [],
551
+ error: undefined,
552
+ loading: true,
553
+ }),
554
+ );
555
+
556
+ await pause(100);
557
+
558
+ expect(callback.mock.calls.length).toBeGreaterThan(1);
559
+
560
+ expect(callback).lastCalledWith(
561
+ expect.objectContaining({
562
+ data: returnValue1Page1.map(convertChannelFromRaw),
563
+ error: undefined,
564
+ loading: false,
565
+ }),
566
+ );
567
+
568
+ expect(callback2).lastCalledWith(
569
+ expect.objectContaining({
570
+ data: returnValue2Page1.map(convertChannelFromRaw),
571
+ error: undefined,
572
+ loading: false,
573
+ }),
574
+ );
575
+
576
+ // get more page for live collection #2
577
+ callback2.mock.lastCall[0].onNextPage();
578
+
579
+ await pause(100);
580
+
581
+ callback2.mock.lastCall[0].onNextPage();
582
+
583
+ await pause(100);
584
+
585
+ expect(callback.mock.calls.length).toBeGreaterThan(1);
586
+ expect(callback).lastCalledWith(
587
+ expect.objectContaining({
588
+ data: returnValue1Page1.map(convertChannelFromRaw),
589
+ error: undefined,
590
+ loading: false,
591
+ }),
592
+ );
593
+
594
+ expect(callback2.mock.calls.length).toBe(6);
595
+ expect(callback2).lastCalledWith(
596
+ expect.objectContaining({
597
+ data: [...returnValue2Page1, ...returnValue2Page2, ...returnValue2Page3].map(
598
+ convertChannelFromRaw,
599
+ ),
600
+ error: undefined,
601
+ loading: false,
602
+ }),
603
+ );
604
+
605
+ // get more page for live collection #1
606
+
607
+ callback.mock.lastCall[0].onNextPage();
608
+
609
+ await pause(100);
610
+
611
+ expect(callback).lastCalledWith(
612
+ expect.objectContaining({
613
+ data: [...returnValue1Page1, ...returnValue1Page2].map(convertChannelFromRaw),
614
+ error: undefined,
615
+ loading: false,
616
+ }),
617
+ );
206
618
  });
207
619
 
208
620
  test('it should return method to fetch next page', async () => {
@@ -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,
@@ -149,7 +149,7 @@ export const login = async (
149
149
  unsubWatcher();
150
150
  }),
151
151
 
152
- onUserDeleted((user: Amity.User) => {
152
+ onUserDeleted((user: Amity.InternalUser) => {
153
153
  if (user.userId === client.userId) {
154
154
  terminateClient(Amity.TokenTerminationReason.USER_DELETED);
155
155
 
@@ -13,18 +13,18 @@ import { prepareMembershipPayload } from '~/group/utils';
13
13
  * const updated = await CommunityRepository.moderation.addMembers(communityId, ['foo', 'bar'])
14
14
  * ```
15
15
  *
16
- * Adds a list of {@link Amity.User} to a {@link Amity.Community} to add users to
16
+ * Adds a list of {@link Amity.InternalUser} to a {@link Amity.Community} to add users to
17
17
  *
18
18
  * @param communityId The ID of the {@link Amity.Community} to perform
19
- * @param userIds The list of IDs {@link Amity.User} to add
20
- * @returns A success boolean if the {@link Amity.User} were added to the {@link Amity.Community}
19
+ * @param userIds The list of IDs {@link Amity.InternalUser} to add
20
+ * @returns A success boolean if the {@link Amity.InternalUser} were added to the {@link Amity.Community}
21
21
  *
22
22
  * @category Community API
23
23
  * @async
24
24
  */
25
25
  export const addMembers = async (
26
26
  communityId: Amity.Community['communityId'],
27
- userIds: Amity.User['userId'][],
27
+ userIds: Amity.InternalUser['userId'][],
28
28
  ): Promise<boolean> => {
29
29
  const client = getActiveClient();
30
30
  client.log('community/moderation/addMembers', communityId, userIds);
@@ -13,18 +13,18 @@ import { prepareMembershipPayload } from '~/group/utils';
13
13
  * const updated = await CommunityRepository.moderation.removeMembers(communityId, ['foo', 'bar'])
14
14
  * ```
15
15
  *
16
- * Removes a list of {@link Amity.User} from a {@link Amity.Community}
16
+ * Removes a list of {@link Amity.InternalUser} from a {@link Amity.Community}
17
17
  *
18
18
  * @param communityId The ID of the {@link Amity.Community} to edit
19
- * @param userIds The list of IDs {@link Amity.User} to remove
20
- * @returns A success boolean if the list of {@link Amity.User} were removed from the {@link Amity.Community}
19
+ * @param userIds The list of IDs {@link Amity.InternalUser} to remove
20
+ * @returns A success boolean if the list of {@link Amity.InternalUser} were removed from the {@link Amity.Community}
21
21
  *
22
22
  * @category Community API
23
23
  * @async
24
24
  */
25
25
  export const removeMembers = async (
26
26
  communityId: Amity.Community['communityId'],
27
- userIds: Amity.User['userId'][],
27
+ userIds: Amity.InternalUser['userId'][],
28
28
  ): Promise<boolean> => {
29
29
  const client = getActiveClient();
30
30
  client.log('community/moderation/removeMembers', communityId, userIds);
@@ -47,7 +47,7 @@ export function updateMembershipStatus(
47
47
  function hasPermission(
48
48
  member: Amity.Membership<'community'>,
49
49
  payload: {
50
- users: Amity.User[];
50
+ users: Amity.InternalUser[];
51
51
  },
52
52
  permission: string,
53
53
  ) {
@@ -64,7 +64,7 @@ function getEventRelatedMember(
64
64
  event: keyof Amity.MqttCommunityUserEvents,
65
65
  payload: {
66
66
  communityUsers: Amity.Membership<'community'>[];
67
- users: Amity.User[];
67
+ users: Amity.InternalUser[];
68
68
  },
69
69
  ) {
70
70
  if (event === 'community.joined' || event === 'community.left') {
@@ -93,7 +93,7 @@ describe('getMembers', () => {
93
93
  string,
94
94
  keyof Amity.Events,
95
95
  Amity.RawMembership<'community'>,
96
- Amity.User,
96
+ Amity.InternalUser,
97
97
  Amity.Membership<'community'>[],
98
98
  ][] = [
99
99
  [
@@ -12,12 +12,12 @@ import { prepareMembershipPayload } from '~/group/utils';
12
12
  * const updated = await CommunityRepository.moderation.addRoles(communityId, ['foo', 'bar'])
13
13
  * ```
14
14
  *
15
- * Adds a list of {@link Amity.Role} to a list of {@link Amity.User} on a {@link Amity.Community}
15
+ * Adds a list of {@link Amity.Role} to a list of {@link Amity.InternalUser} on a {@link Amity.Community}
16
16
  *
17
17
  * @param communityId The ID of the {@link Amity.Community} to perform
18
18
  * @param roleIds Array of IDs of the {@link Amity.Role} to apply
19
- * @param userIds Array of IDs of the {@link Amity.User} to perform
20
- * @returns A success boolean if the {@link Amity.Role} were added to list of {@link Amity.User} in the {@link Amity.Community}
19
+ * @param userIds Array of IDs of the {@link Amity.InternalUser} to perform
20
+ * @returns A success boolean if the {@link Amity.Role} were added to list of {@link Amity.InternalUser} in the {@link Amity.Community}
21
21
  *
22
22
  * @category Community API
23
23
  * @async
@@ -25,7 +25,7 @@ import { prepareMembershipPayload } from '~/group/utils';
25
25
  export const addRoles = async (
26
26
  communityId: Amity.Community['communityId'],
27
27
  roleIds: Amity.Role['roleId'][],
28
- userIds: Amity.User['userId'][],
28
+ userIds: Amity.InternalUser['userId'][],
29
29
  ): Promise<boolean> => {
30
30
  const client = getActiveClient();
31
31
  client.log('community/moderation/addRoles', communityId, roleIds, userIds);