@amityco/ts-sdk 0.0.1-beta.25 → 0.0.1-beta.28
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/.eslintrc.json +5 -1
- package/dist/@types/core/events.d.ts +7 -7
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/live.d.ts +23 -0
- package/dist/@types/core/live.d.ts.map +1 -0
- package/dist/@types/core/paging.d.ts +1 -1
- package/dist/@types/core/paging.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +15 -15
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +5 -1
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +13 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/comment.d.ts +14 -0
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/content.d.ts +26 -3
- package/dist/@types/domains/content.d.ts.map +1 -1
- package/dist/@types/domains/file.d.ts +36 -3
- package/dist/@types/domains/file.d.ts.map +1 -1
- package/dist/@types/domains/follow.d.ts +13 -1
- package/dist/@types/domains/follow.d.ts.map +1 -1
- package/dist/@types/domains/group.d.ts +1 -0
- package/dist/@types/domains/group.d.ts.map +1 -1
- package/dist/@types/domains/message.d.ts +13 -0
- package/dist/@types/domains/message.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +17 -0
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/domains/reaction.d.ts +10 -0
- package/dist/@types/domains/reaction.d.ts.map +1 -1
- package/dist/@types/global.d.ts +1 -0
- package/dist/@types/global.d.ts.map +1 -1
- package/dist/@types/index.d.ts +3 -2
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/cache/api/ingestInCache.d.ts +1 -1
- package/dist/cache/api/ingestInCache.d.ts.map +1 -1
- package/dist/cache/api/mergeInCache.d.ts +1 -1
- package/dist/cache/api/mergeInCache.d.ts.map +1 -1
- package/dist/category/api/queryCategories.d.ts +3 -3
- package/dist/category/api/queryCategories.d.ts.map +1 -1
- package/dist/channel/api/addChannelMembers.d.ts.map +1 -1
- package/dist/channel/api/addChannelMembersRole.d.ts.map +1 -1
- package/dist/channel/api/banChannelMembers.d.ts +16 -0
- package/dist/channel/api/banChannelMembers.d.ts.map +1 -0
- package/dist/channel/api/createChannel.d.ts.map +1 -1
- package/dist/channel/api/getChannel.d.ts.map +1 -1
- package/dist/channel/api/getChannels.d.ts.map +1 -1
- package/dist/channel/api/index.d.ts +2 -0
- package/dist/channel/api/index.d.ts.map +1 -1
- package/dist/channel/api/joinChannel.d.ts.map +1 -1
- package/dist/channel/api/leaveChannel.d.ts.map +1 -1
- package/dist/channel/api/queryChannelMembers.d.ts.map +1 -1
- package/dist/channel/api/queryChannels.d.ts +6 -6
- package/dist/channel/api/queryChannels.d.ts.map +1 -1
- package/dist/channel/api/removeChannelMembers.d.ts.map +1 -1
- package/dist/channel/api/removeChannelMembersRole.d.ts.map +1 -1
- package/dist/channel/api/unbanChannelMembers.d.ts +16 -0
- package/dist/channel/api/unbanChannelMembers.d.ts.map +1 -0
- package/dist/channel/api/updateChannel.d.ts.map +1 -1
- package/dist/channel/events/index.d.ts +1 -0
- package/dist/channel/events/index.d.ts.map +1 -1
- package/dist/channel/events/onChannelCreated.d.ts.map +1 -1
- package/dist/channel/events/onChannelDeleted.d.ts.map +1 -1
- package/dist/channel/events/onChannelJoined.d.ts.map +1 -1
- package/dist/channel/events/onChannelLeft.d.ts.map +1 -1
- package/dist/channel/events/onChannelMemberAdded.d.ts.map +1 -1
- package/dist/channel/events/onChannelMemberRemoved.d.ts.map +1 -1
- package/dist/channel/events/onChannelUpdated.d.ts.map +1 -1
- package/dist/channel/observers/index.d.ts +1 -0
- package/dist/channel/observers/index.d.ts.map +1 -1
- package/dist/channel/observers/observeChannel.d.ts +1 -1
- package/dist/channel/observers/observeChannel.d.ts.map +1 -1
- package/dist/channel/observers/observeChannels.d.ts +17 -0
- package/dist/channel/observers/observeChannels.d.ts.map +1 -0
- package/dist/channel/tests/utils/prepareChannelPayload.test.d.ts +2 -0
- package/dist/channel/tests/utils/prepareChannelPayload.test.d.ts.map +1 -0
- package/dist/channel/utils/index.d.ts +2 -0
- package/dist/channel/utils/index.d.ts.map +1 -0
- package/dist/channel/utils/prepareChannelPayload.d.ts +3 -0
- package/dist/channel/utils/prepareChannelPayload.d.ts.map +1 -0
- package/dist/client/api/connectClient.d.ts +1 -8
- package/dist/client/api/connectClient.d.ts.map +1 -1
- package/dist/client/api/createClient.d.ts +8 -1
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/client/api/getFeedSettings.d.ts +16 -0
- package/dist/client/api/getFeedSettings.d.ts.map +1 -0
- package/dist/client/api/index.d.ts +1 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/comment/api/queryComments.d.ts +1 -9
- package/dist/comment/api/queryComments.d.ts.map +1 -1
- package/dist/comment/observers/index.d.ts +1 -0
- package/dist/comment/observers/index.d.ts.map +1 -1
- package/dist/comment/observers/liveComments.d.ts +22 -0
- package/dist/comment/observers/liveComments.d.ts.map +1 -0
- package/dist/comment/observers/observeComments.d.ts.map +1 -1
- package/dist/community/api/getRecommendedCommunities.d.ts +1 -1
- package/dist/community/api/getRecommendedCommunities.d.ts.map +1 -1
- package/dist/community/api/getTopTrendingCommunities.d.ts +1 -1
- package/dist/community/api/getTopTrendingCommunities.d.ts.map +1 -1
- package/dist/community/api/queryCommunities.d.ts +7 -7
- package/dist/community/api/queryCommunities.d.ts.map +1 -1
- package/dist/core/debug.d.ts +1 -1
- package/dist/core/debug.d.ts.map +1 -1
- package/dist/core/events.d.ts +3 -3
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/query/paging.d.ts +2 -2
- package/dist/core/query/paging.d.ts.map +1 -1
- package/dist/core/query/query.d.ts +2 -2
- package/dist/core/query/query.d.ts.map +1 -1
- package/dist/core/tests/query/filtering.test.d.ts +2 -0
- package/dist/core/tests/query/filtering.test.d.ts.map +1 -0
- package/dist/core/tests/query/query/runQuery.test.d.ts +2 -0
- package/dist/core/tests/query/query/runQuery.test.d.ts.map +1 -0
- package/dist/core/tests/query/query.test.d.ts +2 -0
- package/dist/core/tests/query/query.test.d.ts.map +1 -0
- package/dist/core/transports/ws.d.ts +1 -1
- package/dist/core/transports/ws.d.ts.map +1 -1
- package/dist/external/api/createUserToken.d.ts +1 -1
- package/dist/external/api/createUserToken.d.ts.map +1 -1
- package/dist/feed/api/queryGlobalFeed.d.ts +4 -4
- package/dist/feed/api/queryGlobalFeed.d.ts.map +1 -1
- package/dist/file/api/createVideo.d.ts +2 -1
- package/dist/file/api/createVideo.d.ts.map +1 -1
- package/dist/follow/api/follow.d.ts.map +1 -1
- package/dist/follow/api/getFollowInfo.d.ts.map +1 -1
- package/dist/follow/api/queryFollowers.d.ts +2 -6
- package/dist/follow/api/queryFollowers.d.ts.map +1 -1
- package/dist/follow/api/queryFollowings.d.ts +2 -6
- package/dist/follow/api/queryFollowings.d.ts.map +1 -1
- package/dist/follow/api/utils.d.ts +4 -4
- package/dist/follow/api/utils.d.ts.map +1 -1
- package/dist/follow/events/utils.d.ts.map +1 -1
- package/dist/follow/observers/index.d.ts +2 -0
- package/dist/follow/observers/index.d.ts.map +1 -1
- package/dist/follow/observers/liveFollowers.d.ts +20 -0
- package/dist/follow/observers/liveFollowers.d.ts.map +1 -0
- package/dist/follow/observers/liveFollowings.d.ts +20 -0
- package/dist/follow/observers/liveFollowings.d.ts.map +1 -0
- package/dist/index.cjs.js +18706 -17726
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +18688 -17727
- package/dist/index.umd.js +4 -19
- package/dist/message/api/queryMessages.d.ts +1 -10
- package/dist/message/api/queryMessages.d.ts.map +1 -1
- package/dist/message/observers/index.d.ts +1 -0
- package/dist/message/observers/index.d.ts.map +1 -1
- package/dist/message/observers/liveMessages.d.ts +20 -0
- package/dist/message/observers/liveMessages.d.ts.map +1 -0
- package/dist/message/observers/observeMessages.d.ts +0 -1
- package/dist/message/observers/observeMessages.d.ts.map +1 -1
- package/dist/message/observers/tests/liveMessages.test.d.ts +2 -0
- package/dist/message/observers/tests/liveMessages.test.d.ts.map +1 -0
- package/dist/post/api/queryPosts.d.ts +1 -12
- package/dist/post/api/queryPosts.d.ts.map +1 -1
- package/dist/post/observers/index.d.ts +1 -0
- package/dist/post/observers/index.d.ts.map +1 -1
- package/dist/post/observers/livePosts.d.ts +22 -0
- package/dist/post/observers/livePosts.d.ts.map +1 -0
- package/dist/post/observers/observePosts.d.ts.map +1 -1
- package/dist/post/tests/api/getPost.test.d.ts +2 -0
- package/dist/post/tests/api/getPost.test.d.ts.map +1 -0
- package/dist/post/tests/api/queryPosts.test.d.ts +2 -0
- package/dist/post/tests/api/queryPosts.test.d.ts.map +1 -0
- package/dist/reaction/api/queryReactions.d.ts +1 -6
- package/dist/reaction/api/queryReactions.d.ts.map +1 -1
- package/dist/reaction/events/index.d.ts +3 -0
- package/dist/reaction/events/index.d.ts.map +1 -1
- package/dist/reaction/events/onReactorAdded.d.ts +19 -0
- package/dist/reaction/events/onReactorAdded.d.ts.map +1 -0
- package/dist/reaction/events/onReactorRemoved.d.ts +19 -0
- package/dist/reaction/events/onReactorRemoved.d.ts.map +1 -0
- package/dist/reaction/observers/index.d.ts +2 -0
- package/dist/reaction/observers/index.d.ts.map +1 -0
- package/dist/reaction/observers/liveReactions.d.ts +22 -0
- package/dist/reaction/observers/liveReactions.d.ts.map +1 -0
- package/dist/role/api/queryRoles.d.ts +4 -4
- package/dist/role/api/queryRoles.d.ts.map +1 -1
- package/dist/stream/api/queryStreams.d.ts +6 -6
- package/dist/stream/api/queryStreams.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/tests/client.d.ts +6 -0
- package/dist/utils/tests/client.d.ts.map +1 -0
- package/dist/utils/tests/dummy/channel.d.ts +10 -0
- package/dist/utils/tests/dummy/channel.d.ts.map +1 -0
- package/dist/utils/tests/dummy/index.d.ts +10 -0
- package/dist/utils/tests/dummy/index.d.ts.map +1 -0
- package/dist/utils/tests/dummy/message.d.ts +8 -0
- package/dist/utils/tests/dummy/message.d.ts.map +1 -0
- package/dist/utils/tests/dummy/post.d.ts +9 -0
- package/dist/utils/tests/dummy/post.d.ts.map +1 -0
- package/dist/utils/tests/dummy/user.d.ts +2 -0
- package/dist/utils/tests/dummy/user.d.ts.map +1 -0
- package/dist/utils/tests/index.d.ts +3 -0
- package/dist/utils/tests/index.d.ts.map +1 -0
- package/jest.config.ts +15 -0
- package/package.json +21 -16
- package/src/@types/core/events.ts +7 -7
- package/src/@types/core/live.ts +28 -0
- package/src/@types/core/paging.ts +1 -1
- package/src/@types/core/payload.ts +21 -16
- package/src/@types/domains/channel.ts +16 -1
- package/src/@types/domains/client.ts +17 -0
- package/src/@types/domains/comment.ts +31 -0
- package/src/@types/domains/content.ts +34 -3
- package/src/@types/domains/file.ts +42 -3
- package/src/@types/domains/follow.ts +31 -1
- package/src/@types/domains/group.ts +1 -0
- package/src/@types/domains/message.ts +20 -0
- package/src/@types/domains/post.ts +37 -0
- package/src/@types/domains/reaction.ts +17 -0
- package/src/@types/global.ts +2 -0
- package/src/@types/index.ts +4 -2
- package/src/channel/api/addChannelMembers.ts +6 -5
- package/src/channel/api/addChannelMembersRole.ts +5 -1
- package/src/channel/api/banChannelMembers.ts +45 -0
- package/src/channel/api/createChannel.ts +6 -2
- package/src/channel/api/getChannel.ts +5 -1
- package/src/channel/api/getChannels.ts +5 -1
- package/src/channel/api/index.ts +3 -0
- package/src/channel/api/joinChannel.ts +5 -1
- package/src/channel/api/leaveChannel.ts +5 -1
- package/src/channel/api/queryChannelMembers.ts +16 -12
- package/src/channel/api/queryChannels.ts +9 -4
- package/src/channel/api/removeChannelMembers.ts +6 -5
- package/src/channel/api/removeChannelMembersRole.ts +5 -1
- package/src/channel/api/unbanChannelMembers.ts +45 -0
- package/src/channel/api/updateChannel.ts +5 -1
- package/src/channel/events/index.ts +1 -0
- package/src/channel/events/onChannelCreated.ts +6 -2
- package/src/channel/events/onChannelDeleted.ts +6 -2
- package/src/channel/events/onChannelJoined.ts +6 -2
- package/src/channel/events/onChannelLeft.ts +6 -2
- package/src/channel/events/onChannelMemberAdded.ts +6 -2
- package/src/channel/events/onChannelMemberRemoved.ts +6 -2
- package/src/channel/events/onChannelUpdated.ts +6 -2
- package/src/channel/observers/index.ts +1 -0
- package/src/channel/observers/observeChannel.ts +1 -11
- package/src/channel/observers/observeChannels.ts +59 -0
- package/src/channel/tests/utils/prepareChannelPayload.test.ts +120 -0
- package/src/channel/utils/index.ts +1 -0
- package/src/channel/utils/prepareChannelPayload.ts +31 -0
- package/src/client/api/connectClient.ts +4 -9
- package/src/client/api/createClient.ts +19 -4
- package/src/client/api/getFeedSettings.ts +29 -0
- package/src/client/api/index.ts +2 -0
- package/src/comment/api/queryComments.ts +3 -9
- package/src/comment/observers/index.ts +1 -0
- package/src/comment/observers/liveComments.ts +172 -0
- package/src/comment/observers/observeComments.ts +1 -11
- package/src/core/events.ts +2 -1
- package/src/core/query/query.ts +16 -3
- package/src/core/tests/query/filtering.test.ts +11 -0
- package/src/core/tests/query/query/runQuery.test.ts +182 -0
- package/src/core/tests/query/query.test.ts +19 -0
- package/src/file/api/createVideo.ts +6 -0
- package/src/follow/api/acceptFollower.ts +1 -1
- package/src/follow/api/declineFollower.ts +1 -1
- package/src/follow/api/follow.ts +1 -4
- package/src/follow/api/getFollowInfo.ts +8 -5
- package/src/follow/api/queryFollowers.ts +5 -6
- package/src/follow/api/queryFollowings.ts +5 -6
- package/src/follow/api/unfollow.ts +1 -1
- package/src/follow/api/utils.ts +17 -13
- package/src/follow/events/utils.ts +9 -6
- package/src/follow/observers/index.ts +3 -0
- package/src/follow/observers/liveFollowers.ts +149 -0
- package/src/follow/observers/liveFollowings.ts +149 -0
- package/src/index.ts +2 -1
- package/src/message/api/queryMessages.ts +3 -10
- package/src/message/observers/index.ts +1 -0
- package/src/message/observers/liveMessages.ts +141 -0
- package/src/message/observers/observeMessages.ts +0 -1
- package/src/message/observers/tests/liveMessages.test.ts +133 -0
- package/src/post/api/queryPosts.ts +3 -12
- package/src/post/observers/index.ts +1 -0
- package/src/post/observers/livePosts.ts +171 -0
- package/src/post/observers/observePosts.ts +1 -13
- package/src/post/tests/api/getPost.test.ts +88 -0
- package/src/post/tests/api/queryPosts.test.ts +23 -0
- package/src/reaction/api/queryReactions.ts +14 -14
- package/src/reaction/events/index.ts +4 -0
- package/src/reaction/events/onReactorAdded.ts +80 -0
- package/src/reaction/events/onReactorRemoved.ts +85 -0
- package/src/reaction/observers/index.ts +1 -0
- package/src/reaction/observers/liveReactions.ts +142 -0
- package/src/utils/constants.ts +3 -0
- package/src/utils/tests/client.ts +33 -0
- package/src/utils/tests/dummy/channel.ts +52 -0
- package/src/utils/tests/dummy/index.ts +7 -0
- package/src/utils/tests/dummy/message.ts +21 -0
- package/src/utils/tests/dummy/post.ts +31 -0
- package/src/utils/tests/dummy/user.ts +11 -0
- package/src/utils/tests/index.ts +2 -0
- package/tsconfig.json +23 -22
|
@@ -24,6 +24,13 @@ declare global {
|
|
|
24
24
|
files: Amity.File<'image'>[];
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
+
type FeedSettingPayload = {
|
|
28
|
+
feedSettings: {
|
|
29
|
+
contentSettings: Amity.ContentSetting[];
|
|
30
|
+
feedType: Amity.ContentFeedType;
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
|
|
27
34
|
// API-FIX: backend should return a payload like { files: Amity.File<T>[] }
|
|
28
35
|
type CreateFilePayload<T extends Amity.FileType = any> = Amity.File<T>[];
|
|
29
36
|
type FilePayload<T extends Amity.FileType = any> = Amity.File<T>;
|
|
@@ -32,19 +39,18 @@ declare global {
|
|
|
32
39
|
roles: Amity.Role[];
|
|
33
40
|
};
|
|
34
41
|
|
|
35
|
-
type ChannelPayload<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
type ChannelPayload<
|
|
43
|
+
T extends Amity.ChannelType = any,
|
|
44
|
+
U extends Amity.Channel<T> | Amity.ChannelRaw<T> = Amity.ChannelRaw<T>,
|
|
45
|
+
> = {
|
|
46
|
+
channels: U[];
|
|
47
|
+
channelUsers: Amity.Membership<'channel'>[];
|
|
48
|
+
} & Amity.UserPayload;
|
|
41
49
|
|
|
42
50
|
type ChannelMembershipPayload = {
|
|
43
|
-
channels: Amity.
|
|
51
|
+
channels: Amity.ChannelRaw[];
|
|
44
52
|
channelUsers: Amity.Membership<'channel'>[];
|
|
45
|
-
|
|
46
|
-
files?: Amity.File[];
|
|
47
|
-
};
|
|
53
|
+
} & Amity.UserPayload;
|
|
48
54
|
|
|
49
55
|
type MessagePayload<T extends Amity.MessageContentType = any> = {
|
|
50
56
|
messages: Amity.Message<T>[];
|
|
@@ -112,17 +118,16 @@ declare global {
|
|
|
112
118
|
|
|
113
119
|
type GlobalFeedPayload = Amity.PostPayload;
|
|
114
120
|
|
|
115
|
-
type FollowersPayload = {
|
|
116
|
-
follows: Amity.FollowStatus[];
|
|
117
|
-
} & UserPayload;
|
|
118
|
-
|
|
119
121
|
type FollowStatusPayload = {
|
|
120
122
|
follows: Amity.FollowStatus[];
|
|
121
123
|
};
|
|
122
124
|
|
|
123
|
-
type
|
|
124
|
-
follows: Amity.FollowStatus[];
|
|
125
|
+
type FollowInfoMePayload = {
|
|
125
126
|
followCounts: Amity.FollowCount[];
|
|
126
127
|
};
|
|
128
|
+
|
|
129
|
+
type FollowersPayload = Amity.FollowStatusPayload & UserPayload;
|
|
130
|
+
|
|
131
|
+
type FollowInfoPayload = FollowInfoMePayload & Amity.FollowStatusPayload;
|
|
127
132
|
}
|
|
128
133
|
}
|
|
@@ -4,10 +4,20 @@ declare global {
|
|
|
4
4
|
namespace Amity {
|
|
5
5
|
type ChannelType = 'broadcast' | 'conversation' | 'community' | 'live';
|
|
6
6
|
|
|
7
|
+
type ChannelActionType =
|
|
8
|
+
| 'onFetch'
|
|
9
|
+
| 'onCreate'
|
|
10
|
+
| 'onUpdate'
|
|
11
|
+
| 'onDelete'
|
|
12
|
+
| 'onJoin'
|
|
13
|
+
| 'onLeft'
|
|
14
|
+
| 'onMemberAdded'
|
|
15
|
+
| 'onMemberRemoved';
|
|
16
|
+
|
|
7
17
|
type Channel<T extends ChannelType = any> = {
|
|
8
18
|
channelId: string;
|
|
9
19
|
displayName?: string;
|
|
10
|
-
avatarFileId?: File<'image'>['fileId'];
|
|
20
|
+
avatarFileId?: Amity.File<'image'>['fileId'];
|
|
11
21
|
type: T;
|
|
12
22
|
|
|
13
23
|
isDistinct?: boolean;
|
|
@@ -27,9 +37,14 @@ declare global {
|
|
|
27
37
|
messageCount?: number;
|
|
28
38
|
|
|
29
39
|
lastActivity?: Amity.timestamp;
|
|
40
|
+
|
|
41
|
+
unreadCount: number;
|
|
42
|
+
hasMention: boolean;
|
|
30
43
|
} & Amity.Metadata &
|
|
31
44
|
Amity.Taggable &
|
|
32
45
|
Amity.Timestamps &
|
|
33
46
|
Amity.SoftDelete;
|
|
47
|
+
|
|
48
|
+
type ChannelRaw<T extends ChannelType = any> = Omit<Channel<T>, 'unreadCount' | 'hasMention'>;
|
|
34
49
|
}
|
|
35
50
|
}
|
|
@@ -21,6 +21,8 @@ declare global {
|
|
|
21
21
|
accessToken?: string;
|
|
22
22
|
|
|
23
23
|
use: () => void;
|
|
24
|
+
|
|
25
|
+
getFeedSettings: () => Promise<Amity.FeedSettings>;
|
|
24
26
|
};
|
|
25
27
|
|
|
26
28
|
type Device = {
|
|
@@ -36,5 +38,20 @@ declare global {
|
|
|
36
38
|
accessToken: string;
|
|
37
39
|
refreshToken: string;
|
|
38
40
|
};
|
|
41
|
+
|
|
42
|
+
type FeedSettings = {
|
|
43
|
+
[name in Amity.ContentFeedType]?: Amity.ContentSetting[];
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
type ConnectClientParams = {
|
|
47
|
+
userId: Amity.User['userId'];
|
|
48
|
+
displayName?: Amity.User['displayName'];
|
|
49
|
+
authToken?: string;
|
|
50
|
+
deviceId?: Amity.Device['deviceId'];
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
type ConnectClientConfig = {
|
|
54
|
+
disableRTE: boolean;
|
|
55
|
+
};
|
|
39
56
|
}
|
|
40
57
|
}
|
|
@@ -5,6 +5,16 @@ declare global {
|
|
|
5
5
|
type CommentContentType = 'text';
|
|
6
6
|
type CommentReferenceType = 'content' | 'post';
|
|
7
7
|
|
|
8
|
+
type CommentActionType =
|
|
9
|
+
| 'onFetch'
|
|
10
|
+
| 'onCreate'
|
|
11
|
+
| 'onUpdate'
|
|
12
|
+
| 'onDelete'
|
|
13
|
+
| 'onFlagged'
|
|
14
|
+
| 'onUnflagged'
|
|
15
|
+
| 'onReactionAdded'
|
|
16
|
+
| 'onReactionRemoved';
|
|
17
|
+
|
|
8
18
|
type Comment<T extends CommentContentType = any> = {
|
|
9
19
|
commentId: string;
|
|
10
20
|
userId: string;
|
|
@@ -23,5 +33,26 @@ declare global {
|
|
|
23
33
|
Amity.SoftDelete &
|
|
24
34
|
Amity.Subscribable &
|
|
25
35
|
Amity.Mentionable<'user'>;
|
|
36
|
+
|
|
37
|
+
type QueryComments = {
|
|
38
|
+
referenceType: Amity.Comment['referenceType'];
|
|
39
|
+
referenceId: Amity.Comment['referenceId'];
|
|
40
|
+
sortBy?: 'lastCreated' | 'firstCreated' | 'lastUpdated' | 'firstUpdated';
|
|
41
|
+
parentId?: Amity.Comment['commentId'] | null;
|
|
42
|
+
hasFlag?: boolean;
|
|
43
|
+
isDeleted?: Amity.Comment['isDeleted'];
|
|
44
|
+
page?: Amity.Page;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
type CommentLiveCollection = Amity.LiveCollectionParams<
|
|
48
|
+
Omit<QueryComments, 'sortBy' | 'page'> & {
|
|
49
|
+
sortBy?: 'lastCreated' | 'firstCreated';
|
|
50
|
+
}
|
|
51
|
+
>;
|
|
52
|
+
|
|
53
|
+
type CommentLiveCollectionCache = Amity.LiveCollectionCache<
|
|
54
|
+
Amity.Comment['commentId'],
|
|
55
|
+
Pick<QueryComments, 'page'>
|
|
56
|
+
>;
|
|
26
57
|
}
|
|
27
58
|
}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export const ContentFeedType = Object.freeze({
|
|
2
|
+
STORY: 'story',
|
|
3
|
+
CHIP: 'clip',
|
|
4
|
+
CHAT: 'chat',
|
|
5
|
+
POST: 'post',
|
|
6
|
+
});
|
|
2
7
|
|
|
3
8
|
declare global {
|
|
4
9
|
namespace Amity {
|
|
5
10
|
type ContentType = 'text' | 'image' | 'file' | 'video' | 'poll' | 'json' | string;
|
|
6
11
|
|
|
12
|
+
type ContentFeedType = ValueOf<typeof ContentFeedType>;
|
|
13
|
+
|
|
7
14
|
type ContentDataText = {
|
|
8
15
|
text: string;
|
|
9
16
|
};
|
|
@@ -13,11 +20,14 @@ declare global {
|
|
|
13
20
|
};
|
|
14
21
|
|
|
15
22
|
type ContentDataImage = {
|
|
16
|
-
|
|
23
|
+
fileId: Amity.File<'image'>['fileId'];
|
|
17
24
|
};
|
|
18
25
|
|
|
19
26
|
type ContentDataVideo = {
|
|
20
|
-
|
|
27
|
+
thumbnailFileId: Amity.File<'image'>['fileId'];
|
|
28
|
+
videoFileId: {
|
|
29
|
+
[K in Amity.VideoSize]?: Amity.File<'video'>['fileId'];
|
|
30
|
+
};
|
|
21
31
|
};
|
|
22
32
|
|
|
23
33
|
type ContentDataPoll = {
|
|
@@ -43,5 +53,26 @@ declare global {
|
|
|
43
53
|
type Content<T extends ContentType, K extends 'type' | 'dataType' = 'dataType'> = {
|
|
44
54
|
[S in K]?: T;
|
|
45
55
|
} & { data: ContentData<T> };
|
|
56
|
+
|
|
57
|
+
type ContentSettingText = {
|
|
58
|
+
contentType: 'text';
|
|
59
|
+
allowed: boolean;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
type ContentSettingVideo = {
|
|
63
|
+
contentType: 'video';
|
|
64
|
+
allowed: boolean;
|
|
65
|
+
maxDurationSeconds: number;
|
|
66
|
+
transcodeConfig: {
|
|
67
|
+
maxResolution: Amity.VideoResolution;
|
|
68
|
+
minResolution: Amity.VideoResolution;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
type ContentSetting<T extends ContentType = 'text' | 'video'> = T extends 'text'
|
|
73
|
+
? ContentSettingText
|
|
74
|
+
: T extends 'video'
|
|
75
|
+
? ContentSettingVideo
|
|
76
|
+
: never;
|
|
46
77
|
}
|
|
47
78
|
}
|
|
@@ -1,8 +1,40 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export const FileType = Object.freeze({
|
|
2
|
+
FILE: 'file',
|
|
3
|
+
IMAGE: 'image',
|
|
4
|
+
VIDEO: 'video',
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
export const VideoResolution = Object.freeze({
|
|
8
|
+
'1080P': '1080p',
|
|
9
|
+
'720P': '720p',
|
|
10
|
+
'480P': '480p',
|
|
11
|
+
'360P': '360p',
|
|
12
|
+
ORIGINAL: 'original',
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export const VideoTranscodingStatus = Object.freeze({
|
|
16
|
+
UPLOADED: 'uploaded',
|
|
17
|
+
TRANSCODING: 'transcoding',
|
|
18
|
+
TRANSCODED: 'transcoded',
|
|
19
|
+
TRANSCODE_FAILED: 'transcodeFailed',
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export const VideoSize = Object.freeze({
|
|
23
|
+
LOW: 'low',
|
|
24
|
+
MEDIUM: 'medium',
|
|
25
|
+
HIGH: 'high',
|
|
26
|
+
ORIGINAL: 'original',
|
|
27
|
+
});
|
|
2
28
|
|
|
3
29
|
declare global {
|
|
4
30
|
namespace Amity {
|
|
5
|
-
type FileType =
|
|
31
|
+
type FileType = ValueOf<typeof FileType>;
|
|
32
|
+
|
|
33
|
+
type VideoResolution = ValueOf<typeof VideoResolution>;
|
|
34
|
+
|
|
35
|
+
type VideoTranscodingStatus = ValueOf<typeof VideoTranscodingStatus>;
|
|
36
|
+
|
|
37
|
+
type VideoSize = ValueOf<typeof VideoSize>;
|
|
6
38
|
|
|
7
39
|
type FileMetadata = Record<string, never>;
|
|
8
40
|
|
|
@@ -24,6 +56,12 @@ declare global {
|
|
|
24
56
|
? VideoMetadata
|
|
25
57
|
: never;
|
|
26
58
|
|
|
59
|
+
type VideoFileExtraPayload = {
|
|
60
|
+
feedType: Amity.ContentFeedType;
|
|
61
|
+
status: VideoTranscodingStatus;
|
|
62
|
+
videoUrl?: { [name in VideoResolution]?: string } | null;
|
|
63
|
+
};
|
|
64
|
+
|
|
27
65
|
type File<T extends FileType = any> = {
|
|
28
66
|
fileId: string;
|
|
29
67
|
type: T;
|
|
@@ -35,7 +73,8 @@ declare global {
|
|
|
35
73
|
mimeType: string;
|
|
36
74
|
metadata: MetadataFor<T>;
|
|
37
75
|
};
|
|
38
|
-
} &
|
|
76
|
+
} & (T extends 'video' ? VideoFileExtraPayload : unknown) &
|
|
77
|
+
Amity.Timestamps &
|
|
39
78
|
Amity.SoftDelete;
|
|
40
79
|
}
|
|
41
80
|
}
|
|
@@ -2,10 +2,21 @@ export {};
|
|
|
2
2
|
|
|
3
3
|
declare global {
|
|
4
4
|
namespace Amity {
|
|
5
|
+
type FollowActionType =
|
|
6
|
+
| 'onRequested'
|
|
7
|
+
| 'onAccepted'
|
|
8
|
+
| 'onDeclined'
|
|
9
|
+
| 'onCanceled'
|
|
10
|
+
| 'onFollowed'
|
|
11
|
+
| 'onUnfollowed'
|
|
12
|
+
| 'onDeleted';
|
|
13
|
+
|
|
14
|
+
type FollowStatusType = 'all' | 'pending' | 'accepted' | 'none';
|
|
15
|
+
|
|
5
16
|
type FollowStatus = {
|
|
6
17
|
from: Amity.User['userId'];
|
|
7
18
|
to: Amity.User['userId'];
|
|
8
|
-
status:
|
|
19
|
+
status: Exclude<FollowStatusType, 'all'>;
|
|
9
20
|
} & Amity.CreatedAt &
|
|
10
21
|
Amity.UpdatedAt;
|
|
11
22
|
|
|
@@ -19,5 +30,24 @@ declare global {
|
|
|
19
30
|
type FollowInfo = {
|
|
20
31
|
status?: FollowStatus['status'];
|
|
21
32
|
} & FollowCount;
|
|
33
|
+
|
|
34
|
+
type QueryFollowers = {
|
|
35
|
+
userId: Amity.User['userId'];
|
|
36
|
+
status?: Exclude<Amity.FollowStatusType, 'none'>;
|
|
37
|
+
page?: Amity.PageRaw;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
type FollowerLiveCollection = Amity.LiveCollectionParams<Omit<QueryFollowers, 'page'>>;
|
|
41
|
+
|
|
42
|
+
type FollowerLiveCollectionCache = Amity.LiveCollectionCache<
|
|
43
|
+
Amity.FollowInfo['userId'],
|
|
44
|
+
Pick<QueryFollowers, 'page'>
|
|
45
|
+
>;
|
|
46
|
+
|
|
47
|
+
type QueryFollowings = QueryFollowers;
|
|
48
|
+
|
|
49
|
+
type FollowingLiveCollection = FollowerLiveCollection;
|
|
50
|
+
|
|
51
|
+
type FollowingLiveCollectionCache = FollowerLiveCollectionCache;
|
|
22
52
|
}
|
|
23
53
|
}
|
|
@@ -12,6 +12,8 @@ declare global {
|
|
|
12
12
|
? { fileId: string }
|
|
13
13
|
: unknown;
|
|
14
14
|
|
|
15
|
+
type MessageActionType = 'onCreate' | 'onUpdate' | 'onDelete';
|
|
16
|
+
|
|
15
17
|
type Message<T extends Amity.MessageContentType = any> = {
|
|
16
18
|
messageId: string;
|
|
17
19
|
|
|
@@ -32,5 +34,23 @@ declare global {
|
|
|
32
34
|
Amity.Taggable &
|
|
33
35
|
Amity.Reactable &
|
|
34
36
|
Amity.Mentionable<'user' | 'channel'>;
|
|
37
|
+
|
|
38
|
+
type QueryMessages = {
|
|
39
|
+
channelId: Amity.Channel['channelId'];
|
|
40
|
+
type?: Amity.MessageContentType;
|
|
41
|
+
parentId?: Amity.Message['parentId'];
|
|
42
|
+
filterByParentId?: boolean;
|
|
43
|
+
isDeleted?: boolean;
|
|
44
|
+
tags?: Amity.Taggable['tags'];
|
|
45
|
+
excludeTags?: Amity.Taggable['tags'];
|
|
46
|
+
page?: Amity.Page;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
type MessagesLiveCollection = Amity.LiveCollectionParams<Omit<QueryMessages, 'page'>>;
|
|
50
|
+
|
|
51
|
+
type MessageLiveCollectionCache = Amity.LiveCollectionCache<
|
|
52
|
+
Amity.Message['channelId'],
|
|
53
|
+
Pick<QueryMessages, 'page'>
|
|
54
|
+
>;
|
|
35
55
|
}
|
|
36
56
|
}
|
|
@@ -7,6 +7,18 @@ declare global {
|
|
|
7
7
|
|
|
8
8
|
type PostContentType = 'text' | 'image' | 'file' | 'video' | 'liveStream' | 'poll';
|
|
9
9
|
|
|
10
|
+
type PostActionType =
|
|
11
|
+
| 'onFetch'
|
|
12
|
+
| 'onCreate'
|
|
13
|
+
| 'onUpdate'
|
|
14
|
+
| 'onDelete'
|
|
15
|
+
| 'onApproved'
|
|
16
|
+
| 'onDeclined'
|
|
17
|
+
| 'onFlagged'
|
|
18
|
+
| 'onUnflagged'
|
|
19
|
+
| 'onReactionAdded'
|
|
20
|
+
| 'onReactionRemoved';
|
|
21
|
+
|
|
10
22
|
type Post<T extends PostContentType = any> = {
|
|
11
23
|
postId: string;
|
|
12
24
|
postedUserId: Amity.User['userId']; // API-FIX: it should be "userId"
|
|
@@ -29,5 +41,30 @@ declare global {
|
|
|
29
41
|
Amity.SoftDelete &
|
|
30
42
|
Amity.Subscribable &
|
|
31
43
|
Amity.Mentionable<'user'>;
|
|
44
|
+
|
|
45
|
+
type QueryPosts = {
|
|
46
|
+
targetId: string;
|
|
47
|
+
targetType: Amity.Post['targetType'];
|
|
48
|
+
sortBy?: 'lastCreated' | 'firstCreated' | 'lastUpdated' | 'firstUpdated';
|
|
49
|
+
dataType?: string;
|
|
50
|
+
isDeleted?: Amity.Post['isDeleted'];
|
|
51
|
+
hasFlag?: boolean;
|
|
52
|
+
feedType?: 'reviewing' | 'published';
|
|
53
|
+
tags?: Amity.Taggable['tags'];
|
|
54
|
+
matchingOnlyParentPost?: boolean;
|
|
55
|
+
page?: Amity.PageRaw;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// Omit sortBy explained in asc-3398
|
|
59
|
+
type PostLiveCollection = Amity.LiveCollectionParams<
|
|
60
|
+
Omit<QueryPosts, 'sortBy' | 'page'> & {
|
|
61
|
+
sortBy?: 'lastCreated' | 'firstCreated';
|
|
62
|
+
}
|
|
63
|
+
>;
|
|
64
|
+
|
|
65
|
+
type PostLiveCollectionCache = Amity.LiveCollectionCache<
|
|
66
|
+
Amity.Post['postId'],
|
|
67
|
+
Pick<QueryPosts, 'page'>
|
|
68
|
+
>;
|
|
32
69
|
}
|
|
33
70
|
}
|
|
@@ -4,6 +4,8 @@ declare global {
|
|
|
4
4
|
namespace Amity {
|
|
5
5
|
type ReactableType = 'message' | 'post' | 'comment';
|
|
6
6
|
|
|
7
|
+
type ReactionActionType = 'onAdded' | 'onRemoved';
|
|
8
|
+
|
|
7
9
|
type Reactor = {
|
|
8
10
|
reactionId: string;
|
|
9
11
|
reactionName: string;
|
|
@@ -19,11 +21,26 @@ declare global {
|
|
|
19
21
|
|
|
20
22
|
latestReaction?: Amity.Reaction & {
|
|
21
23
|
eventName: 'add' | 'remove';
|
|
24
|
+
userDisplayName: string;
|
|
22
25
|
};
|
|
23
26
|
};
|
|
24
27
|
|
|
25
28
|
type ReactionQuery = {
|
|
26
29
|
reactors: Reactor[];
|
|
27
30
|
} & Amity.Relationship<ReactableType>;
|
|
31
|
+
|
|
32
|
+
type QueryReactions = {
|
|
33
|
+
referenceId: Amity.Reaction['referenceId'];
|
|
34
|
+
referenceType: Amity.Reaction['referenceType'];
|
|
35
|
+
reactionName?: Amity.Reaction['reactionName'];
|
|
36
|
+
page?: Amity.Page<string>;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
type ReactionLiveCollection = Amity.LiveCollectionParams<Omit<QueryReactions, 'page'>>;
|
|
40
|
+
|
|
41
|
+
type ReactionLiveCollectionCache = Amity.LiveCollectionCache<
|
|
42
|
+
Amity.Reactor['reactionId'],
|
|
43
|
+
Pick<QueryReactions, 'page'>
|
|
44
|
+
>;
|
|
28
45
|
}
|
|
29
46
|
}
|
package/src/@types/global.ts
CHANGED
package/src/@types/index.ts
CHANGED
|
@@ -8,16 +8,15 @@ import './core/events'; // sdk events definitions
|
|
|
8
8
|
import './core/paging'; // createQuery, runQuery
|
|
9
9
|
import './core/query'; // createQuery, runQuery
|
|
10
10
|
import './core/cache'; // cache.pull('user', ...)
|
|
11
|
+
import './core/live';
|
|
11
12
|
|
|
12
13
|
// domains
|
|
13
14
|
import './domains/client'; // client definition
|
|
14
15
|
|
|
15
16
|
import './domains/user';
|
|
16
17
|
import './domains/follow';
|
|
17
|
-
import './domains/file';
|
|
18
18
|
|
|
19
19
|
import './domains/partials'; // small model partials (CreatedAt, etc...)
|
|
20
|
-
import './domains/content'; // content partial
|
|
21
20
|
import './domains/reaction';
|
|
22
21
|
|
|
23
22
|
import './domains/group';
|
|
@@ -34,3 +33,6 @@ import './domains/stream';
|
|
|
34
33
|
import './domains/mention';
|
|
35
34
|
|
|
36
35
|
import './domains/poll';
|
|
36
|
+
|
|
37
|
+
export * from './domains/content';
|
|
38
|
+
export * from './domains/file';
|
|
@@ -3,6 +3,8 @@ import { getActiveClient } from '~/client/api';
|
|
|
3
3
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
4
|
import { fireEvent } from '~/core/events';
|
|
5
5
|
|
|
6
|
+
import { prepareChannelPayload } from '../utils';
|
|
7
|
+
|
|
6
8
|
/**
|
|
7
9
|
* ```js
|
|
8
10
|
* import { addChannelMembers } from '@amityco/ts-sdk'
|
|
@@ -25,17 +27,16 @@ export const addChannelMembers = async (
|
|
|
25
27
|
const client = getActiveClient();
|
|
26
28
|
client.log('channel/addChannelMembers', channelId, userIds);
|
|
27
29
|
|
|
28
|
-
const { data } = await client.http.post<Amity.ChannelMembershipPayload>(
|
|
30
|
+
const { data: payload } = await client.http.post<Amity.ChannelMembershipPayload>(
|
|
29
31
|
`/api/v3/channels/${encodeURIComponent(channelId)}/users`,
|
|
30
32
|
{ channelId, userIds },
|
|
31
33
|
);
|
|
32
34
|
|
|
35
|
+
const data = prepareChannelPayload(payload);
|
|
36
|
+
|
|
33
37
|
if (client.cache) ingestInCache(data);
|
|
34
38
|
|
|
35
|
-
fireEvent('v3.channel.didAddUsers',
|
|
36
|
-
channels: data.channels,
|
|
37
|
-
channelUsers: data.channelUsers,
|
|
38
|
-
});
|
|
39
|
+
fireEvent('v3.channel.didAddUsers', data);
|
|
39
40
|
|
|
40
41
|
const { channelUsers } = data;
|
|
41
42
|
return !!channelUsers.find(
|
|
@@ -2,6 +2,8 @@ import { getActiveClient } from '~/client/api';
|
|
|
2
2
|
|
|
3
3
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
4
|
|
|
5
|
+
import { prepareChannelPayload } from '../utils';
|
|
6
|
+
|
|
5
7
|
/**
|
|
6
8
|
* ```js
|
|
7
9
|
* import { addChannelMembersRole } from '@amityco/ts-sdk'
|
|
@@ -26,11 +28,13 @@ export const addChannelMembersRole = async (
|
|
|
26
28
|
const client = getActiveClient();
|
|
27
29
|
client.log('channel/addChannelMembersRole', channelId, roleId, userIds);
|
|
28
30
|
|
|
29
|
-
const { data } = await client.http.post<Amity.ChannelMembershipPayload>(
|
|
31
|
+
const { data: payload } = await client.http.post<Amity.ChannelMembershipPayload>(
|
|
30
32
|
`/api/v3/channels/${encodeURIComponent(channelId)}/users/roles`,
|
|
31
33
|
{ channelId, role: roleId, userIds },
|
|
32
34
|
);
|
|
33
35
|
|
|
36
|
+
const data = prepareChannelPayload(payload);
|
|
37
|
+
|
|
34
38
|
if (client.cache) ingestInCache(data);
|
|
35
39
|
|
|
36
40
|
const { channelUsers } = data;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getActiveClient } from '~/client/api/activeClient';
|
|
2
|
+
|
|
3
|
+
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
|
+
|
|
5
|
+
import { prepareChannelPayload } from '../utils';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* ```js
|
|
9
|
+
* import { banChannelMembers } from '@amityco/ts-sdk'
|
|
10
|
+
*
|
|
11
|
+
* await banChannelMembers('channel-id-1', ['userId1', 'userId2'])
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @param channelId of {@link Amity.Channel} from which the users should be banned
|
|
15
|
+
* @param userIds of the {@link Amity.User}'s to be banned
|
|
16
|
+
* @returns the updated {@link Amity.Membership}'s object
|
|
17
|
+
*
|
|
18
|
+
* @category Channel API
|
|
19
|
+
* @async
|
|
20
|
+
* */
|
|
21
|
+
export const banChannelMembers = async (
|
|
22
|
+
channelId: Amity.Channel['channelId'],
|
|
23
|
+
userIds: Amity.User['userId'][],
|
|
24
|
+
): Promise<Amity.Cached<Amity.Membership<'channel'>[]>> => {
|
|
25
|
+
const client = getActiveClient();
|
|
26
|
+
client.log('channel/banChannelMembers', { userIds, channelId });
|
|
27
|
+
|
|
28
|
+
const { data: payload } = await client.http.put<Amity.ChannelPayload>(
|
|
29
|
+
`/api/v3/channels/${channelId}/users/ban`,
|
|
30
|
+
{
|
|
31
|
+
userIds,
|
|
32
|
+
},
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
const data = prepareChannelPayload(payload);
|
|
36
|
+
|
|
37
|
+
const cachedAt = client.cache && Date.now();
|
|
38
|
+
if (client.cache) ingestInCache(data, { cachedAt });
|
|
39
|
+
|
|
40
|
+
const { channelUsers } = data;
|
|
41
|
+
return {
|
|
42
|
+
data: channelUsers?.filter(user => user.membership === 'banned')!,
|
|
43
|
+
cachedAt,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
@@ -2,6 +2,8 @@ import { getActiveClient } from '~/client/api';
|
|
|
2
2
|
|
|
3
3
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
4
|
|
|
5
|
+
import { prepareChannelPayload } from '../utils';
|
|
6
|
+
|
|
5
7
|
/**
|
|
6
8
|
* ```js
|
|
7
9
|
* import { createChannel } from '@amityco/ts-sdk'
|
|
@@ -36,10 +38,12 @@ export const createChannel = async <T extends Amity.ChannelType>(
|
|
|
36
38
|
payload = await client.http.post<Amity.ChannelPayload>('/api/v3/channels', bundle);
|
|
37
39
|
}
|
|
38
40
|
|
|
41
|
+
const data = prepareChannelPayload(payload.data);
|
|
42
|
+
|
|
39
43
|
const cachedAt = client.cache && Date.now();
|
|
40
|
-
if (client.cache) ingestInCache(
|
|
44
|
+
if (client.cache) ingestInCache(data, { cachedAt });
|
|
41
45
|
|
|
42
|
-
const { channels } =
|
|
46
|
+
const { channels } = data;
|
|
43
47
|
return {
|
|
44
48
|
data: channels[0],
|
|
45
49
|
cachedAt,
|
|
@@ -3,6 +3,8 @@ import { getActiveClient } from '~/client/api';
|
|
|
3
3
|
import { pullFromCache } from '~/cache/api';
|
|
4
4
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
5
5
|
|
|
6
|
+
import { prepareChannelPayload } from '../utils';
|
|
7
|
+
|
|
6
8
|
/**
|
|
7
9
|
* ```js
|
|
8
10
|
* import { getChannel } from '@amityco/ts-sdk'
|
|
@@ -24,10 +26,12 @@ export const getChannel = async (
|
|
|
24
26
|
client.log('channel/getChannel', channelId);
|
|
25
27
|
|
|
26
28
|
// API-FIX: endpoint should not be /list, parameters should be querystring.
|
|
27
|
-
const { data } = await client.http.get<Amity.ChannelPayload>(
|
|
29
|
+
const { data: payload } = await client.http.get<Amity.ChannelPayload>(
|
|
28
30
|
`/api/v3/channels/${encodeURIComponent(channelId)}`,
|
|
29
31
|
);
|
|
30
32
|
|
|
33
|
+
const data = prepareChannelPayload(payload);
|
|
34
|
+
|
|
31
35
|
const cachedAt = client.cache && Date.now();
|
|
32
36
|
if (client.cache) ingestInCache(data, { cachedAt });
|
|
33
37
|
|