@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.
- package/README.md +8 -9
- package/dist/@types/core/marker.d.ts +4 -4
- package/dist/@types/core/marker.d.ts.map +1 -1
- package/dist/@types/core/model.d.ts +4 -4
- package/dist/@types/core/model.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +17 -17
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/block.d.ts +1 -1
- package/dist/@types/domains/block.d.ts.map +1 -1
- package/dist/@types/domains/category.d.ts +5 -2
- package/dist/@types/domains/category.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +3 -3
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/comment.d.ts +1 -1
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/community.d.ts +4 -4
- package/dist/@types/domains/community.d.ts.map +1 -1
- package/dist/@types/domains/follow.d.ts +4 -4
- package/dist/@types/domains/follow.d.ts.map +1 -1
- package/dist/@types/domains/group.d.ts +2 -2
- package/dist/@types/domains/group.d.ts.map +1 -1
- package/dist/@types/domains/messagePreview.d.ts +2 -2
- package/dist/@types/domains/messagePreview.d.ts.map +1 -1
- package/dist/@types/domains/poll.d.ts +1 -1
- package/dist/@types/domains/poll.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +1 -1
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/domains/reaction.d.ts +1 -1
- package/dist/@types/domains/reaction.d.ts.map +1 -1
- package/dist/@types/domains/stream.d.ts +2 -2
- package/dist/@types/domains/stream.d.ts.map +1 -1
- package/dist/@types/domains/user.d.ts +7 -3
- package/dist/@types/domains/user.d.ts.map +1 -1
- package/dist/cache/api/pushToCache.d.ts +1 -1
- package/dist/cache/api/upsertInCache.d.ts +1 -1
- package/dist/categoryRepository/api/getCategory.d.ts.map +1 -1
- package/dist/categoryRepository/api/queryCategories.d.ts.map +1 -1
- package/dist/categoryRepository/observers/getCategories.d.ts.map +1 -1
- package/dist/channelRepsitory/channelMembership/api/addMembers.d.ts +4 -4
- package/dist/channelRepsitory/channelMembership/api/addMembers.d.ts.map +1 -1
- package/dist/channelRepsitory/channelMembership/api/removeMembers.d.ts +4 -4
- package/dist/channelRepsitory/channelMembership/api/removeMembers.d.ts.map +1 -1
- package/dist/channelRepsitory/channelModeration/api/addRole.d.ts +4 -4
- package/dist/channelRepsitory/channelModeration/api/addRole.d.ts.map +1 -1
- package/dist/channelRepsitory/channelModeration/api/banMembers.d.ts +2 -2
- package/dist/channelRepsitory/channelModeration/api/banMembers.d.ts.map +1 -1
- package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts +4 -4
- package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts.map +1 -1
- package/dist/channelRepsitory/channelModeration/api/unbanMembers.d.ts +2 -2
- package/dist/channelRepsitory/channelModeration/api/unbanMembers.d.ts.map +1 -1
- package/dist/channelRepsitory/events/onChannelMemberAdded.d.ts +1 -1
- package/dist/channelRepsitory/events/onChannelMemberBanned.d.ts +1 -1
- package/dist/channelRepsitory/events/onChannelMemberRemoved.d.ts +1 -1
- package/dist/channelRepsitory/events/onChannelMemberUnbanned.d.ts +1 -1
- package/dist/channelRepsitory/observers/tests/getChannel.test.d.ts +2 -0
- package/dist/channelRepsitory/observers/tests/getChannel.test.d.ts.map +1 -0
- package/dist/client/api/getToken.d.ts +3 -3
- package/dist/client/api/getToken.d.ts.map +1 -1
- package/dist/client/utils/setClientToken.d.ts +1 -1
- package/dist/communityRepository/communityMembership/api/addMembers.d.ts +4 -4
- package/dist/communityRepository/communityMembership/api/addMembers.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/api/removeMembers.d.ts +4 -4
- package/dist/communityRepository/communityMembership/api/removeMembers.d.ts.map +1 -1
- package/dist/communityRepository/communityModeration/api/addRoles.d.ts +4 -4
- package/dist/communityRepository/communityModeration/api/addRoles.d.ts.map +1 -1
- package/dist/communityRepository/communityModeration/api/banMembers.d.ts +2 -2
- package/dist/communityRepository/communityModeration/api/banMembers.d.ts.map +1 -1
- package/dist/communityRepository/communityModeration/api/removeRoles.d.ts +4 -4
- package/dist/communityRepository/communityModeration/api/removeRoles.d.ts.map +1 -1
- package/dist/communityRepository/communityModeration/api/unbanMembers.d.ts +2 -2
- package/dist/communityRepository/communityModeration/api/unbanMembers.d.ts.map +1 -1
- package/dist/core/device.d.ts +1 -1
- package/dist/core/device.d.ts.map +1 -1
- package/dist/core/query/filtering.d.ts +2 -2
- package/dist/core/query/filtering.d.ts.map +1 -1
- package/dist/external/api/createUserToken.d.ts +2 -2
- package/dist/external/api/createUserToken.d.ts.map +1 -1
- package/dist/group/utils/withUser.d.ts +3 -3
- package/dist/group/utils/withUser.d.ts.map +1 -1
- package/dist/index.cjs.js +206 -126
- package/dist/index.esm.js +206 -126
- package/dist/index.umd.js +4 -4
- package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -1
- package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
- package/dist/messageRepository/api/getDeliveredUsers.d.ts +6 -6
- package/dist/messageRepository/api/getDeliveredUsers.d.ts.map +1 -1
- package/dist/messageRepository/api/getReadUsers.d.ts +6 -6
- package/dist/messageRepository/api/getReadUsers.d.ts.map +1 -1
- package/dist/streamRepository/api/getStreams.d.ts +1 -1
- package/dist/streamRepository/api/getStreams.d.ts.map +1 -1
- package/dist/streamRepository/api/queryStreams.d.ts +1 -1
- package/dist/streamRepository/api/queryStreams.d.ts.map +1 -1
- package/dist/userRepository/api/flagUser.d.ts +1 -1
- package/dist/userRepository/api/flagUser.d.ts.map +1 -1
- package/dist/userRepository/api/getUser.d.ts.map +1 -1
- package/dist/userRepository/api/getUserByIds.d.ts +1 -1
- package/dist/userRepository/api/getUserByIds.d.ts.map +1 -1
- package/dist/userRepository/api/isUserFlaggedByMe.d.ts +1 -1
- package/dist/userRepository/api/isUserFlaggedByMe.d.ts.map +1 -1
- package/dist/userRepository/api/queryBlockedUsers.d.ts +5 -5
- package/dist/userRepository/api/queryBlockedUsers.d.ts.map +1 -1
- package/dist/userRepository/api/queryUsers.d.ts +6 -6
- package/dist/userRepository/api/queryUsers.d.ts.map +1 -1
- package/dist/userRepository/api/unflagUser.d.ts +1 -1
- package/dist/userRepository/api/unflagUser.d.ts.map +1 -1
- package/dist/userRepository/api/updateUser.d.ts +4 -4
- package/dist/userRepository/api/updateUser.d.ts.map +1 -1
- package/dist/userRepository/events/onUserDeleted.d.ts +2 -2
- package/dist/userRepository/events/onUserDeleted.d.ts.map +1 -1
- package/dist/userRepository/events/onUserFetched.d.ts +2 -2
- package/dist/userRepository/events/onUserFetched.d.ts.map +1 -1
- package/dist/userRepository/events/onUserFlagCleared.d.ts +2 -2
- package/dist/userRepository/events/onUserFlagCleared.d.ts.map +1 -1
- package/dist/userRepository/events/onUserFlagged.d.ts +2 -2
- package/dist/userRepository/events/onUserFlagged.d.ts.map +1 -1
- package/dist/userRepository/events/onUserUnflagged.d.ts +2 -2
- package/dist/userRepository/events/onUserUnflagged.d.ts.map +1 -1
- package/dist/userRepository/events/onUserUpdated.d.ts +2 -2
- package/dist/userRepository/events/onUserUpdated.d.ts.map +1 -1
- package/dist/userRepository/events/utils.d.ts +1 -1
- package/dist/userRepository/events/utils.d.ts.map +1 -1
- package/dist/userRepository/observers/getBlockedUsers.d.ts +4 -4
- package/dist/userRepository/observers/getBlockedUsers.d.ts.map +1 -1
- package/dist/userRepository/observers/getUser.d.ts +2 -2
- package/dist/userRepository/observers/getUser.d.ts.map +1 -1
- package/dist/userRepository/observers/getUsers.d.ts.map +1 -1
- package/dist/userRepository/observers/observeUser.d.ts +2 -2
- package/dist/userRepository/observers/observeUser.d.ts.map +1 -1
- package/dist/userRepository/observers/searchUserByDisplayName.d.ts +2 -2
- package/dist/userRepository/observers/searchUserByDisplayName.d.ts.map +1 -1
- package/dist/userRepository/relationship/block/api/blockUser.d.ts +4 -4
- package/dist/userRepository/relationship/block/api/blockUser.d.ts.map +1 -1
- package/dist/userRepository/relationship/block/api/unBlockUser.d.ts +4 -4
- package/dist/userRepository/relationship/block/api/unBlockUser.d.ts.map +1 -1
- package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +1 -1
- package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +2 -2
- package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/acceptMyFollower.d.ts +2 -2
- package/dist/userRepository/relationship/follow/api/acceptMyFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +2 -2
- package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/declineMyFollower.d.ts +2 -2
- package/dist/userRepository/relationship/follow/api/declineMyFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/follow.d.ts +2 -2
- package/dist/userRepository/relationship/follow/api/follow.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/getFollowInfo.d.ts +4 -4
- package/dist/userRepository/relationship/follow/api/getFollowInfo.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/unfollow.d.ts +3 -3
- package/dist/userRepository/relationship/follow/api/unfollow.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/utils.d.ts +1 -1
- package/dist/userRepository/relationship/follow/api/utils.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/getFollowers.d.ts +1 -1
- package/dist/userRepository/relationship/follow/observers/getFollowings.d.ts +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +2 -2
- package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +2 -2
- package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +1 -1
- package/dist/utils/linkedObject/categoryLinkedObject.d.ts +2 -0
- package/dist/utils/linkedObject/categoryLinkedObject.d.ts.map +1 -0
- package/dist/utils/linkedObject/index.d.ts +2 -0
- package/dist/utils/linkedObject/index.d.ts.map +1 -1
- package/dist/utils/linkedObject/userLinkedObject.d.ts +2 -0
- package/dist/utils/linkedObject/userLinkedObject.d.ts.map +1 -0
- package/dist/utils/tests/client.d.ts.map +1 -1
- package/dist/utils/tests/dummy/block.d.ts +4 -4
- package/dist/utils/tests/dummy/block.d.ts.map +1 -1
- package/dist/utils/tests/dummy/category.d.ts +7 -0
- package/dist/utils/tests/dummy/category.d.ts.map +1 -1
- package/dist/utils/tests/dummy/channel.d.ts +11 -1
- package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
- package/dist/utils/tests/dummy/comment.d.ts +6 -6
- package/dist/utils/tests/dummy/follow.d.ts +1 -1
- package/dist/utils/tests/dummy/follow.d.ts.map +1 -1
- package/dist/utils/tests/dummy/user.d.ts +5 -1
- package/dist/utils/tests/dummy/user.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/marker.ts +4 -4
- package/src/@types/core/model.ts +4 -4
- package/src/@types/core/payload.ts +17 -17
- package/src/@types/domains/block.ts +1 -1
- package/src/@types/domains/category.ts +6 -2
- package/src/@types/domains/client.ts +3 -3
- package/src/@types/domains/comment.ts +1 -1
- package/src/@types/domains/community.ts +4 -4
- package/src/@types/domains/follow.ts +4 -4
- package/src/@types/domains/group.ts +2 -2
- package/src/@types/domains/messagePreview.ts +2 -2
- package/src/@types/domains/poll.ts +1 -1
- package/src/@types/domains/post.ts +1 -1
- package/src/@types/domains/reaction.ts +1 -1
- package/src/@types/domains/stream.ts +2 -2
- package/src/@types/domains/user.ts +8 -3
- package/src/cache/api/pushToCache.ts +1 -1
- package/src/cache/api/upsertInCache.ts +1 -1
- package/src/categoryRepository/api/getCategory.ts +3 -2
- package/src/categoryRepository/api/queryCategories.ts +7 -1
- package/src/categoryRepository/observers/getCategories.ts +3 -2
- package/src/categoryRepository/observers/tests/getCategories.test.ts +2 -1
- package/src/channelRepsitory/api/createChannel.ts +1 -1
- package/src/channelRepsitory/channelMembership/api/addMembers.ts +4 -4
- package/src/channelRepsitory/channelMembership/api/removeMembers.ts +4 -4
- package/src/channelRepsitory/channelMembership/observers/tests/getMembers.test.ts +1 -1
- package/src/channelRepsitory/channelMembership/observers/tests/searchMembers.test.ts +1 -3
- package/src/channelRepsitory/channelModeration/api/addRole.ts +4 -4
- package/src/channelRepsitory/channelModeration/api/banMembers.ts +2 -2
- package/src/channelRepsitory/channelModeration/api/removeRole.ts +4 -4
- package/src/channelRepsitory/channelModeration/api/unbanMembers.ts +2 -2
- package/src/channelRepsitory/events/onChannelMemberAdded.ts +1 -1
- package/src/channelRepsitory/events/onChannelMemberBanned.ts +1 -1
- package/src/channelRepsitory/events/onChannelMemberRemoved.ts +1 -1
- package/src/channelRepsitory/events/onChannelMemberUnbanned.ts +1 -1
- package/src/channelRepsitory/observers/tests/getChannel.test.ts +73 -0
- package/src/channelRepsitory/observers/tests/getChannels.test.ts +462 -50
- package/src/client/api/getToken.ts +3 -3
- package/src/client/api/login.ts +1 -1
- package/src/communityRepository/communityMembership/api/addMembers.ts +4 -4
- package/src/communityRepository/communityMembership/api/removeMembers.ts +4 -4
- package/src/communityRepository/communityMembership/events/utils.ts +2 -2
- package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +1 -1
- package/src/communityRepository/communityModeration/api/addRoles.ts +4 -4
- package/src/communityRepository/communityModeration/api/banMembers.ts +2 -2
- package/src/communityRepository/communityModeration/api/removeRoles.ts +4 -4
- package/src/communityRepository/communityModeration/api/unbanMembers.ts +2 -2
- package/src/core/device.ts +1 -1
- package/src/core/query/filtering.ts +3 -1
- package/src/core/query/tests/filtering.test.ts +2 -2
- package/src/external/api/createUserToken.ts +2 -2
- package/src/group/utils/withUser.ts +8 -4
- package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
- package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +1 -1
- package/src/messagePreview/utils/getSubChannelMessagePreviewWithUser.ts +1 -1
- package/src/messageRepository/api/getDeliveredUsers.ts +11 -9
- package/src/messageRepository/api/getReadUsers.ts +11 -9
- package/src/messageRepository/observers/tests/getMessages.test.ts +766 -0
- package/src/streamRepository/api/getStreams.ts +1 -1
- package/src/streamRepository/api/queryStreams.ts +1 -1
- package/src/subChannelRepository/observers/tests/getSubChannels.test.ts +308 -15
- package/src/userRepository/api/flagUser.ts +1 -1
- package/src/userRepository/api/getUser.ts +2 -1
- package/src/userRepository/api/getUserByIds.ts +4 -3
- package/src/userRepository/api/isUserFlaggedByMe.ts +1 -1
- package/src/userRepository/api/queryBlockedUsers.ts +10 -8
- package/src/userRepository/api/queryUsers.ts +12 -10
- package/src/userRepository/api/unflagUser.ts +1 -1
- package/src/userRepository/api/updateUser.ts +6 -6
- package/src/userRepository/events/onUserDeleted.ts +2 -2
- package/src/userRepository/events/onUserFetched.ts +2 -2
- package/src/userRepository/events/onUserFlagCleared.ts +2 -2
- package/src/userRepository/events/onUserFlagged.ts +2 -2
- package/src/userRepository/events/onUserUnflagged.ts +2 -2
- package/src/userRepository/events/onUserUpdated.ts +2 -2
- package/src/userRepository/events/utils.ts +1 -1
- package/src/userRepository/observers/getBlockedUsers.ts +8 -7
- package/src/userRepository/observers/getUser.ts +3 -3
- package/src/userRepository/observers/getUsers.ts +2 -2
- package/src/userRepository/observers/observeUser.ts +9 -6
- package/src/userRepository/observers/searchUserByDisplayName.ts +2 -2
- package/src/userRepository/observers/tests/getUser.test.ts +1 -1
- package/src/userRepository/observers/tests/getUsers.test.ts +12 -11
- package/src/userRepository/observers/tests/searchUserByDisplayName.test.ts +1 -1
- package/src/userRepository/relationship/block/api/blockUser.ts +6 -4
- package/src/userRepository/relationship/block/api/unBlockUser.ts +6 -4
- package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +1 -1
- package/src/userRepository/relationship/follow/api/acceptFollower.ts +2 -2
- package/src/userRepository/relationship/follow/api/acceptMyFollower.ts +2 -2
- package/src/userRepository/relationship/follow/api/declineFollower.ts +2 -2
- package/src/userRepository/relationship/follow/api/declineMyFollower.ts +2 -2
- package/src/userRepository/relationship/follow/api/follow.ts +2 -2
- package/src/userRepository/relationship/follow/api/getFollowInfo.ts +4 -4
- package/src/userRepository/relationship/follow/api/unfollow.ts +3 -3
- package/src/userRepository/relationship/follow/api/utils.ts +1 -1
- package/src/userRepository/relationship/follow/observers/getFollowers.ts +1 -1
- package/src/userRepository/relationship/follow/observers/getFollowings.ts +1 -1
- package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +1 -1
- package/src/userRepository/relationship/follow/observers/observeFollowers.ts +2 -2
- package/src/userRepository/relationship/follow/observers/observeFollowings.ts +2 -2
- package/src/utils/linkedObject/categoryLinkedObject.ts +40 -0
- package/src/utils/linkedObject/index.ts +4 -0
- package/src/utils/linkedObject/userLinkedObject.ts +36 -0
- package/src/utils/tests/client.ts +1 -0
- package/src/utils/tests/dummy/block.ts +3 -3
- package/src/utils/tests/dummy/category.ts +5 -0
- package/src/utils/tests/dummy/channel.ts +58 -1
- package/src/utils/tests/dummy/community.ts +1 -1
- package/src/utils/tests/dummy/follow.ts +1 -1
- package/src/utils/tests/dummy/user.ts +3 -1
- 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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
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(
|
|
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).
|
|
383
|
+
expect(callback).lastCalledWith(
|
|
199
384
|
expect.objectContaining(
|
|
200
385
|
getSnapshot({
|
|
201
386
|
loading: false,
|
|
202
|
-
data:
|
|
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.
|
|
19
|
-
displayName: Amity.
|
|
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.
|
|
28
|
+
const { data } = await client.http.post<Amity.Tokens & { users: Amity.InternalUser[] }>(
|
|
29
29
|
'/api/v4/sessions',
|
|
30
30
|
{
|
|
31
31
|
...params,
|
package/src/client/api/login.ts
CHANGED
|
@@ -149,7 +149,7 @@ export const login = async (
|
|
|
149
149
|
unsubWatcher();
|
|
150
150
|
}),
|
|
151
151
|
|
|
152
|
-
onUserDeleted((user: Amity.
|
|
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.
|
|
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.
|
|
20
|
-
* @returns A success boolean if the {@link Amity.
|
|
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.
|
|
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.
|
|
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.
|
|
20
|
-
* @returns A success boolean if the list of {@link Amity.
|
|
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.
|
|
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.
|
|
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.
|
|
67
|
+
users: Amity.InternalUser[];
|
|
68
68
|
},
|
|
69
69
|
) {
|
|
70
70
|
if (event === 'community.joined' || event === 'community.left') {
|
|
@@ -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.
|
|
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.
|
|
20
|
-
* @returns A success boolean if the {@link Amity.Role} were added to list of {@link Amity.
|
|
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.
|
|
28
|
+
userIds: Amity.InternalUser['userId'][],
|
|
29
29
|
): Promise<boolean> => {
|
|
30
30
|
const client = getActiveClient();
|
|
31
31
|
client.log('community/moderation/addRoles', communityId, roleIds, userIds);
|