@amityco/ts-sdk 7.6.1-2841ad2c.0 → 7.6.1-63bd9d56.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/dist/@types/core/events.d.ts +1 -6
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +1 -26
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +0 -6
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/content.d.ts +8 -2
- package/dist/@types/domains/content.d.ts.map +1 -1
- package/dist/@types/domains/feed.d.ts +6 -1
- package/dist/@types/domains/feed.d.ts.map +1 -1
- package/dist/@types/domains/file.d.ts +3 -1
- package/dist/@types/domains/file.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +3 -3
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/domains/stream.d.ts +1 -9
- package/dist/@types/domains/stream.d.ts.map +1 -1
- package/dist/@types/index.d.ts +0 -1
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/channelRepository/api/createChannel.d.ts +1 -3
- package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
- package/dist/channelRepository/events/index.d.ts +1 -1
- package/dist/channelRepository/events/index.d.ts.map +1 -1
- package/dist/channelRepository/events/onChannelMuted.d.ts +2 -0
- package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -0
- package/dist/channelRepository/internalApi/getChannel.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
- package/dist/client/api/login.d.ts.map +1 -1
- package/dist/communityRepository/api/getCommunity.d.ts +1 -1
- package/dist/communityRepository/api/getCommunity.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/model/index.d.ts.map +1 -1
- package/dist/core/subscription.d.ts +1 -2
- package/dist/core/subscription.d.ts.map +1 -1
- package/dist/feedRepository/api/index.d.ts +0 -1
- package/dist/feedRepository/api/index.d.ts.map +1 -1
- package/dist/feedRepository/api/queryGlobalFeed.d.ts +3 -0
- package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
- package/dist/feedRepository/index.d.ts +2 -1
- package/dist/feedRepository/index.d.ts.map +1 -1
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +13 -0
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +5 -0
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +15 -0
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +22 -0
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +1 -0
- package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts +13 -0
- package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +5 -0
- package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts +15 -0
- package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getGlobalFeed.d.ts +22 -0
- package/dist/feedRepository/observers/getGlobalFeed.d.ts.map +1 -0
- package/dist/feedRepository/observers/index.d.ts +3 -0
- package/dist/feedRepository/observers/index.d.ts.map +1 -0
- package/dist/feedRepository/observers/utils.d.ts +6 -0
- package/dist/feedRepository/observers/utils.d.ts.map +1 -0
- package/dist/fileRepository/api/index.d.ts +1 -0
- package/dist/fileRepository/api/index.d.ts.map +1 -1
- package/dist/fileRepository/api/uploadClip.d.ts +17 -0
- package/dist/fileRepository/api/uploadClip.d.ts.map +1 -0
- package/dist/index.cjs.js +7215 -7438
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +7289 -7510
- package/dist/index.umd.js +3 -3
- package/dist/liveStreamPlayer/utils/eventRegister.d.ts +1 -2
- package/dist/liveStreamPlayer/utils/eventRegister.d.ts.map +1 -1
- package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +0 -4
- package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
- package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
- package/dist/messageRepository/api/deleteMessage.d.ts.map +1 -1
- package/dist/messageRepository/observers/getMessage.d.ts.map +1 -1
- package/dist/messageRepository/observers/getMessages/MessageLiveCollectionController.d.ts.map +1 -1
- package/dist/messageRepository/observers/getMessages/MessageQueryStreamController.d.ts.map +1 -1
- package/dist/postRepository/api/createClipPost.d.ts +32 -0
- package/dist/postRepository/api/createClipPost.d.ts.map +1 -0
- package/dist/postRepository/api/createPost.d.ts.map +1 -1
- package/dist/postRepository/api/index.d.ts +1 -0
- package/dist/postRepository/api/index.d.ts.map +1 -1
- package/dist/postRepository/events/utils.d.ts.map +1 -1
- package/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.d.ts.map +1 -1
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -1
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +6 -0
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
- package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
- package/dist/postRepository/observers/utils.d.ts +13 -0
- package/dist/postRepository/observers/utils.d.ts.map +1 -0
- package/dist/postRepository/utils/payload.d.ts.map +1 -1
- package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
- package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
- package/dist/streamRepository/api/createStream.d.ts +1 -1
- package/dist/streamRepository/api/createStream.d.ts.map +1 -1
- package/dist/streamRepository/api/index.d.ts +0 -1
- package/dist/streamRepository/api/index.d.ts.map +1 -1
- package/dist/streamRepository/api/updateStream.d.ts +1 -4
- package/dist/streamRepository/api/updateStream.d.ts.map +1 -1
- package/dist/streamRepository/events/index.d.ts +0 -2
- package/dist/streamRepository/events/index.d.ts.map +1 -1
- package/dist/streamRepository/internalApi/getStream.d.ts +2 -2
- package/dist/streamRepository/internalApi/getStream.d.ts.map +1 -1
- package/dist/streamRepository/observers/getStreamById.d.ts.map +1 -1
- package/dist/streamRepository/observers/getStreams/GetStreamsLiveCollectionController.d.ts.map +1 -1
- package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
- package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
- package/dist/utils/linkedObject/streamLinkedObject.d.ts.map +1 -1
- package/dist/utils/postTypePredicate.d.ts +4 -5
- package/dist/utils/postTypePredicate.d.ts.map +1 -1
- package/dist/utils/tests/dummy/comment.d.ts +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +1 -10
- package/src/@types/core/payload.ts +1 -33
- package/src/@types/domains/channel.ts +0 -9
- package/src/@types/domains/content.ts +10 -0
- package/src/@types/domains/feed.ts +18 -1
- package/src/@types/domains/file.ts +5 -0
- package/src/@types/domains/post.ts +4 -4
- package/src/@types/domains/stream.ts +1 -13
- package/src/@types/index.ts +0 -1
- package/src/channelRepository/api/createChannel.ts +8 -11
- package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +0 -2
- package/src/channelRepository/events/index.ts +1 -1
- package/src/channelRepository/events/onChannelMuted.ts +39 -0
- package/src/channelRepository/internalApi/getChannel.ts +1 -0
- package/src/channelRepository/observers/getChannel.ts +2 -2
- package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +2 -2
- package/src/channelRepository/utils/constructChannelObject.ts +2 -2
- package/src/client/api/login.ts +0 -2
- package/src/commentRepository/api/deleteComment.ts +6 -6
- package/src/communityRepository/api/getCommunity.ts +0 -9
- package/src/core/events.ts +1 -4
- package/src/core/model/index.ts +2 -1
- package/src/core/subscription.ts +6 -10
- package/src/feedRepository/api/index.ts +0 -1
- package/src/feedRepository/api/queryGlobalFeed.ts +6 -1
- package/src/feedRepository/index.ts +2 -1
- package/src/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.ts +95 -0
- package/src/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.ts +25 -0
- package/src/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.ts +101 -0
- package/src/feedRepository/observers/getCustomRankingGlobalFeed.ts +56 -0
- package/src/feedRepository/observers/getGlobalFeed/LiveCollectionController.ts +91 -0
- package/src/feedRepository/observers/getGlobalFeed/PaginationController.ts +23 -0
- package/src/feedRepository/observers/getGlobalFeed/QueryStreamController.ts +99 -0
- package/src/feedRepository/observers/getGlobalFeed.ts +56 -0
- package/src/feedRepository/observers/index.ts +2 -0
- package/src/feedRepository/observers/utils.ts +85 -0
- package/src/fileRepository/api/index.ts +1 -0
- package/src/fileRepository/api/uploadClip.ts +71 -0
- package/src/index.ts +0 -2
- package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
- package/src/liveStreamPlayer/utils/eventRegister.ts +1 -16
- package/src/messageRepository/api/deleteMessage.ts +0 -16
- package/src/messageRepository/observers/getMessage.ts +0 -2
- package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +0 -2
- package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +0 -13
- package/src/postRepository/api/createClipPost.ts +62 -0
- package/src/postRepository/api/createPost.ts +2 -3
- package/src/postRepository/api/index.ts +2 -0
- package/src/postRepository/api/queryPosts.ts +1 -1
- package/src/postRepository/events/utils.ts +35 -1
- package/src/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.ts +5 -0
- package/src/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.ts +7 -1
- package/src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts +27 -0
- package/src/postRepository/observers/getPosts/PostLiveCollectionController.ts +2 -74
- package/src/postRepository/observers/getPosts/PostPaginationController.ts +1 -1
- package/src/postRepository/observers/utils.ts +97 -0
- package/src/postRepository/utils/payload.ts +1 -37
- package/src/reactionRepository/api/addReaction.ts +1 -0
- package/src/reactionRepository/api/removeReaction.ts +1 -0
- package/src/streamRepository/api/createStream.ts +1 -4
- package/src/streamRepository/api/index.ts +0 -1
- package/src/streamRepository/api/updateStream.ts +1 -8
- package/src/streamRepository/events/index.ts +0 -2
- package/src/streamRepository/internalApi/getStream.ts +3 -3
- package/src/streamRepository/observers/getStreamById.ts +0 -2
- package/src/streamRepository/observers/getStreams/GetStreamsLiveCollectionController.ts +1 -5
- package/src/utils/linkedObject/channelLinkedObject.ts +0 -3
- package/src/utils/linkedObject/postLinkedObject.ts +8 -28
- package/src/utils/linkedObject/streamLinkedObject.ts +0 -4
- package/src/utils/postTypePredicate.ts +6 -20
- package/dist/@types/domains/liveReaction.d.ts +0 -20
- package/dist/@types/domains/liveReaction.d.ts.map +0 -1
- package/dist/channelRepository/events/onChannelSetMuted.d.ts +0 -2
- package/dist/channelRepository/events/onChannelSetMuted.d.ts.map +0 -1
- package/dist/channelRepository/events/onChannelSetUserMuted.d.ts +0 -2
- package/dist/channelRepository/events/onChannelSetUserMuted.d.ts.map +0 -1
- package/dist/channelRepository/internalApi/getMyMembership.d.ts +0 -11
- package/dist/channelRepository/internalApi/getMyMembership.d.ts.map +0 -1
- package/dist/channelRepository/observers/getMyMembership.d.ts +0 -2
- package/dist/channelRepository/observers/getMyMembership.d.ts.map +0 -1
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
- package/dist/liveReactionRepository/api/createReaction.d.ts +0 -20
- package/dist/liveReactionRepository/api/createReaction.d.ts.map +0 -1
- package/dist/liveReactionRepository/api/index.d.ts +0 -2
- package/dist/liveReactionRepository/api/index.d.ts.map +0 -1
- package/dist/liveReactionRepository/events/index.d.ts +0 -2
- package/dist/liveReactionRepository/events/index.d.ts.map +0 -1
- package/dist/liveReactionRepository/events/onLiveReactionCreated.d.ts +0 -17
- package/dist/liveReactionRepository/events/onLiveReactionCreated.d.ts.map +0 -1
- package/dist/liveReactionRepository/events/onLiveReactionCreatedLocal.d.ts +0 -17
- package/dist/liveReactionRepository/events/onLiveReactionCreatedLocal.d.ts.map +0 -1
- package/dist/liveReactionRepository/index.d.ts +0 -4
- package/dist/liveReactionRepository/index.d.ts.map +0 -1
- package/dist/liveReactionRepository/internalApi/createLiveReaction.d.ts +0 -20
- package/dist/liveReactionRepository/internalApi/createLiveReaction.d.ts.map +0 -1
- package/dist/liveReactionRepository/observers/getReactions.d.ts +0 -19
- package/dist/liveReactionRepository/observers/getReactions.d.ts.map +0 -1
- package/dist/liveReactionRepository/observers/index.d.ts +0 -2
- package/dist/liveReactionRepository/observers/index.d.ts.map +0 -1
- package/dist/liveReactionRepository/service/ReactionSyncEngine.d.ts +0 -26
- package/dist/liveReactionRepository/service/ReactionSyncEngine.d.ts.map +0 -1
- package/dist/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler.d.ts +0 -3
- package/dist/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler.d.ts.map +0 -1
- package/dist/streamRepository/api/editStream.d.ts +0 -18
- package/dist/streamRepository/api/editStream.d.ts.map +0 -1
- package/dist/streamRepository/events/onStreamViewerBanned.d.ts +0 -17
- package/dist/streamRepository/events/onStreamViewerBanned.d.ts.map +0 -1
- package/dist/streamRepository/events/onStreamViewerUnbanned.d.ts +0 -17
- package/dist/streamRepository/events/onStreamViewerUnbanned.d.ts.map +0 -1
- package/dist/streamRepository/internalApi/getLiveChat.d.ts +0 -16
- package/dist/streamRepository/internalApi/getLiveChat.d.ts.map +0 -1
- package/src/@types/domains/liveReaction.ts +0 -25
- package/src/channelRepository/events/onChannelSetMuted.ts +0 -48
- package/src/channelRepository/events/onChannelSetUserMuted.ts +0 -65
- package/src/channelRepository/internalApi/getMyMembership.ts +0 -37
- package/src/channelRepository/observers/getMyMembership.ts +0 -98
- package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +0 -115
- package/src/liveReactionRepository/api/createReaction.ts +0 -58
- package/src/liveReactionRepository/api/index.ts +0 -1
- package/src/liveReactionRepository/events/index.ts +0 -1
- package/src/liveReactionRepository/events/onLiveReactionCreated.ts +0 -37
- package/src/liveReactionRepository/events/onLiveReactionCreatedLocal.ts +0 -29
- package/src/liveReactionRepository/index.ts +0 -3
- package/src/liveReactionRepository/internalApi/createLiveReaction.ts +0 -42
- package/src/liveReactionRepository/observers/getReactions.ts +0 -59
- package/src/liveReactionRepository/observers/index.ts +0 -1
- package/src/liveReactionRepository/service/ReactionSyncEngine.ts +0 -138
- package/src/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler.ts +0 -19
- package/src/streamRepository/api/editStream.ts +0 -51
- package/src/streamRepository/events/onStreamViewerBanned.ts +0 -58
- package/src/streamRepository/events/onStreamViewerUnbanned.ts +0 -47
- package/src/streamRepository/internalApi/getLiveChat.ts +0 -59
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
import { createEventSubscriber } from '~/core/events';
|
|
3
|
-
import { mergeInCache, pullFromCache, queryCache } from '~/cache/api';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* ```js
|
|
7
|
-
* import { onStreamViewerBanned } from '@amityco/ts-sdk'
|
|
8
|
-
* const dispose = onStreamViewerBanned(stream => {
|
|
9
|
-
* // ...
|
|
10
|
-
* })
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
* Fired when a user in channel linked to stream has been banned
|
|
14
|
-
*
|
|
15
|
-
* @param callback The function to call when the event was fired
|
|
16
|
-
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
17
|
-
*
|
|
18
|
-
* @category Stream Events
|
|
19
|
-
*/
|
|
20
|
-
export const onStreamViewerBanned = (
|
|
21
|
-
callback: Amity.Listener<Amity.InternalStream>,
|
|
22
|
-
): Amity.Unsubscriber => {
|
|
23
|
-
const client = getActiveClient();
|
|
24
|
-
|
|
25
|
-
const filter = (payloads: Amity.StreamViewerBanPayload) => {
|
|
26
|
-
payloads.forEach(streamBanned => {
|
|
27
|
-
mergeInCache(['stream', 'get', streamBanned.streamId], { watcherUrl: null });
|
|
28
|
-
|
|
29
|
-
// Update isDeleted = true in banned user's messages
|
|
30
|
-
const messageCache = queryCache<Amity.InternalMessage>(['message', 'get'])?.filter(
|
|
31
|
-
// Check if creator id and user id are internal or external id
|
|
32
|
-
({ data }) => data.creatorId === streamBanned.userId,
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
// Update isDeleted for each relavant messages
|
|
36
|
-
messageCache?.forEach(message => {
|
|
37
|
-
mergeInCache(message.key, { isDeleted: true });
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
const stream = pullFromCache<Amity.InternalStream>([
|
|
42
|
-
'stream',
|
|
43
|
-
'get',
|
|
44
|
-
payloads[0].streamId,
|
|
45
|
-
])?.data;
|
|
46
|
-
|
|
47
|
-
if (!stream) return;
|
|
48
|
-
|
|
49
|
-
callback(stream);
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
return createEventSubscriber(
|
|
53
|
-
client,
|
|
54
|
-
'stream/onStreamViewerDidBan',
|
|
55
|
-
'video-streaming.viewerDidBan',
|
|
56
|
-
filter,
|
|
57
|
-
);
|
|
58
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
import { createEventSubscriber } from '~/core/events';
|
|
3
|
-
import { mergeInCache, pullFromCache } from '~/cache/api';
|
|
4
|
-
import { getStream } from '../internalApi/getStream';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* ```js
|
|
8
|
-
* import { onStreamViewerUnbanned } from '@amityco/ts-sdk'
|
|
9
|
-
* const dispose = onStreamViewerBanned(stream => {
|
|
10
|
-
* // ...
|
|
11
|
-
* })
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* Fired when a user in channel linked to stream has been unbanned
|
|
15
|
-
*
|
|
16
|
-
* @param callback The function to call when the event was fired
|
|
17
|
-
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
18
|
-
*
|
|
19
|
-
* @category Stream Events
|
|
20
|
-
*/
|
|
21
|
-
export const onStreamViewerUnbanned = (
|
|
22
|
-
callback: Amity.Listener<Amity.InternalStream>,
|
|
23
|
-
): Amity.Unsubscriber => {
|
|
24
|
-
const client = getActiveClient();
|
|
25
|
-
|
|
26
|
-
const filter = async (payloads: Amity.StreamViewerUnbanPayload) => {
|
|
27
|
-
// Get new stream object to restore stream watcherUrl in cache
|
|
28
|
-
await Promise.all(payloads.map(({ streamId }) => getStream(streamId)));
|
|
29
|
-
|
|
30
|
-
const stream = pullFromCache<Amity.InternalStream>([
|
|
31
|
-
'stream',
|
|
32
|
-
'get',
|
|
33
|
-
payloads[0].streamId,
|
|
34
|
-
])?.data;
|
|
35
|
-
|
|
36
|
-
if (!stream) return;
|
|
37
|
-
|
|
38
|
-
callback(stream);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
return createEventSubscriber(
|
|
42
|
-
client,
|
|
43
|
-
'stream/onStreamViewerDidUnban',
|
|
44
|
-
'video-streaming.viewerDidUnban',
|
|
45
|
-
filter,
|
|
46
|
-
);
|
|
47
|
-
};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api/activeClient';
|
|
2
|
-
import { mergeInCache, pullFromCache } from '~/cache/api';
|
|
3
|
-
import { createChannel } from '~/channelRepository/api/createChannel';
|
|
4
|
-
import { channelLinkedObject } from '~/utils/linkedObject/channelLinkedObject';
|
|
5
|
-
import { getChannel } from '~/channelRepository/internalApi/getChannel';
|
|
6
|
-
import { constructChannelObject } from '~/channelRepository/utils/constructChannelObject';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* ```js
|
|
10
|
-
* import { getStream } from '@amityco/ts-sdk'
|
|
11
|
-
* const stream = await getStream('foobar')
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* Fetches a {@link Amity.Channel} object linked with a current stream
|
|
15
|
-
*
|
|
16
|
-
* @param stream {@link Amity.Stream} that has linked live channel
|
|
17
|
-
* @returns the associated {@link Amity.Channel<'live'>} object
|
|
18
|
-
*
|
|
19
|
-
* @category Stream API
|
|
20
|
-
* @async
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
export const getLiveChat = async (
|
|
24
|
-
stream: Amity.InternalStream,
|
|
25
|
-
): Promise<Amity.Channel<'live'> | undefined> => {
|
|
26
|
-
const client = getActiveClient();
|
|
27
|
-
client.log('stream/getLiveChat', stream.streamId);
|
|
28
|
-
|
|
29
|
-
if (stream.channelId) {
|
|
30
|
-
const channel = pullFromCache<Amity.StaticInternalChannel>([
|
|
31
|
-
'channel',
|
|
32
|
-
'get',
|
|
33
|
-
stream.channelId,
|
|
34
|
-
])?.data;
|
|
35
|
-
|
|
36
|
-
if (channel) return channelLinkedObject(constructChannelObject(channel));
|
|
37
|
-
|
|
38
|
-
const { data } = await getChannel(stream.channelId);
|
|
39
|
-
return channelLinkedObject(constructChannelObject(data));
|
|
40
|
-
}
|
|
41
|
-
// No Channel ID
|
|
42
|
-
// streamer: create a new live channel
|
|
43
|
-
if (stream.userId === client.userId) {
|
|
44
|
-
const { data: channel } = await createChannel({
|
|
45
|
-
type: 'live',
|
|
46
|
-
postId: stream.referenceId,
|
|
47
|
-
videoStreamId: stream.streamId,
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
// Update channelId to stream object in cache
|
|
51
|
-
mergeInCache(['stream', 'get', stream.streamId], {
|
|
52
|
-
channelId: channel.channelId,
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
return channel;
|
|
56
|
-
}
|
|
57
|
-
// watcher: return undefined
|
|
58
|
-
return undefined;
|
|
59
|
-
};
|