@amityco/ts-sdk 7.6.1-316d940a.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.
Files changed (247) hide show
  1. package/dist/@types/core/events.d.ts +1 -6
  2. package/dist/@types/core/events.d.ts.map +1 -1
  3. package/dist/@types/core/payload.d.ts +1 -26
  4. package/dist/@types/core/payload.d.ts.map +1 -1
  5. package/dist/@types/domains/channel.d.ts +0 -6
  6. package/dist/@types/domains/channel.d.ts.map +1 -1
  7. package/dist/@types/domains/content.d.ts +8 -2
  8. package/dist/@types/domains/content.d.ts.map +1 -1
  9. package/dist/@types/domains/feed.d.ts +6 -1
  10. package/dist/@types/domains/feed.d.ts.map +1 -1
  11. package/dist/@types/domains/file.d.ts +3 -1
  12. package/dist/@types/domains/file.d.ts.map +1 -1
  13. package/dist/@types/domains/post.d.ts +3 -3
  14. package/dist/@types/domains/post.d.ts.map +1 -1
  15. package/dist/@types/domains/stream.d.ts +1 -9
  16. package/dist/@types/domains/stream.d.ts.map +1 -1
  17. package/dist/@types/index.d.ts +0 -1
  18. package/dist/@types/index.d.ts.map +1 -1
  19. package/dist/channelRepository/api/createChannel.d.ts +1 -3
  20. package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
  21. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
  22. package/dist/channelRepository/events/index.d.ts +1 -1
  23. package/dist/channelRepository/events/index.d.ts.map +1 -1
  24. package/dist/channelRepository/events/onChannelMuted.d.ts +2 -0
  25. package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -0
  26. package/dist/channelRepository/internalApi/getChannel.d.ts.map +1 -1
  27. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  28. package/dist/client/api/login.d.ts.map +1 -1
  29. package/dist/communityRepository/api/getCommunity.d.ts +1 -1
  30. package/dist/communityRepository/api/getCommunity.d.ts.map +1 -1
  31. package/dist/core/events.d.ts +3 -3
  32. package/dist/core/events.d.ts.map +1 -1
  33. package/dist/core/model/index.d.ts.map +1 -1
  34. package/dist/core/subscription.d.ts +1 -2
  35. package/dist/core/subscription.d.ts.map +1 -1
  36. package/dist/feedRepository/api/index.d.ts +0 -1
  37. package/dist/feedRepository/api/index.d.ts.map +1 -1
  38. package/dist/feedRepository/api/queryGlobalFeed.d.ts +3 -0
  39. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  40. package/dist/feedRepository/index.d.ts +2 -1
  41. package/dist/feedRepository/index.d.ts.map +1 -1
  42. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +13 -0
  43. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  44. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +5 -0
  45. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +1 -0
  46. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +15 -0
  47. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +1 -0
  48. package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +22 -0
  49. package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +1 -0
  50. package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts +13 -0
  51. package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  52. package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +5 -0
  53. package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +1 -0
  54. package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts +15 -0
  55. package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +1 -0
  56. package/dist/feedRepository/observers/getGlobalFeed.d.ts +22 -0
  57. package/dist/feedRepository/observers/getGlobalFeed.d.ts.map +1 -0
  58. package/dist/feedRepository/observers/index.d.ts +3 -0
  59. package/dist/feedRepository/observers/index.d.ts.map +1 -0
  60. package/dist/feedRepository/observers/utils.d.ts +6 -0
  61. package/dist/feedRepository/observers/utils.d.ts.map +1 -0
  62. package/dist/fileRepository/api/index.d.ts +1 -0
  63. package/dist/fileRepository/api/index.d.ts.map +1 -1
  64. package/dist/fileRepository/api/uploadClip.d.ts +17 -0
  65. package/dist/fileRepository/api/uploadClip.d.ts.map +1 -0
  66. package/dist/index.cjs.js +7215 -7438
  67. package/dist/index.d.ts +0 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.esm.js +7289 -7510
  70. package/dist/index.umd.js +3 -3
  71. package/dist/liveStreamPlayer/utils/eventRegister.d.ts +1 -2
  72. package/dist/liveStreamPlayer/utils/eventRegister.d.ts.map +1 -1
  73. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +0 -4
  74. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
  75. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
  76. package/dist/messageRepository/api/deleteMessage.d.ts.map +1 -1
  77. package/dist/messageRepository/observers/getMessage.d.ts.map +1 -1
  78. package/dist/messageRepository/observers/getMessages/MessageLiveCollectionController.d.ts.map +1 -1
  79. package/dist/messageRepository/observers/getMessages/MessageQueryStreamController.d.ts.map +1 -1
  80. package/dist/postRepository/api/createClipPost.d.ts +32 -0
  81. package/dist/postRepository/api/createClipPost.d.ts.map +1 -0
  82. package/dist/postRepository/api/createPost.d.ts.map +1 -1
  83. package/dist/postRepository/api/index.d.ts +1 -0
  84. package/dist/postRepository/api/index.d.ts.map +1 -1
  85. package/dist/postRepository/events/utils.d.ts.map +1 -1
  86. package/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.d.ts.map +1 -1
  87. package/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -1
  88. package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +6 -0
  89. package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
  90. package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
  91. package/dist/postRepository/observers/utils.d.ts +13 -0
  92. package/dist/postRepository/observers/utils.d.ts.map +1 -0
  93. package/dist/postRepository/utils/payload.d.ts.map +1 -1
  94. package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
  95. package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
  96. package/dist/streamRepository/api/createStream.d.ts +1 -1
  97. package/dist/streamRepository/api/createStream.d.ts.map +1 -1
  98. package/dist/streamRepository/api/index.d.ts +0 -1
  99. package/dist/streamRepository/api/index.d.ts.map +1 -1
  100. package/dist/streamRepository/api/updateStream.d.ts +1 -4
  101. package/dist/streamRepository/api/updateStream.d.ts.map +1 -1
  102. package/dist/streamRepository/events/index.d.ts +0 -2
  103. package/dist/streamRepository/events/index.d.ts.map +1 -1
  104. package/dist/streamRepository/internalApi/getStream.d.ts +2 -2
  105. package/dist/streamRepository/internalApi/getStream.d.ts.map +1 -1
  106. package/dist/streamRepository/observers/getStreamById.d.ts.map +1 -1
  107. package/dist/streamRepository/observers/getStreams/GetStreamsLiveCollectionController.d.ts.map +1 -1
  108. package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
  109. package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  110. package/dist/utils/linkedObject/streamLinkedObject.d.ts.map +1 -1
  111. package/dist/utils/postTypePredicate.d.ts +4 -5
  112. package/dist/utils/postTypePredicate.d.ts.map +1 -1
  113. package/dist/utils/tests/dummy/comment.d.ts +1 -1
  114. package/package.json +1 -1
  115. package/src/@types/core/events.ts +1 -10
  116. package/src/@types/core/payload.ts +1 -33
  117. package/src/@types/domains/channel.ts +0 -9
  118. package/src/@types/domains/content.ts +10 -0
  119. package/src/@types/domains/feed.ts +18 -1
  120. package/src/@types/domains/file.ts +5 -0
  121. package/src/@types/domains/post.ts +4 -4
  122. package/src/@types/domains/stream.ts +1 -13
  123. package/src/@types/index.ts +0 -1
  124. package/src/channelRepository/api/createChannel.ts +8 -11
  125. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +0 -2
  126. package/src/channelRepository/events/index.ts +1 -1
  127. package/src/channelRepository/events/onChannelMuted.ts +39 -0
  128. package/src/channelRepository/internalApi/getChannel.ts +1 -0
  129. package/src/channelRepository/observers/getChannel.ts +2 -2
  130. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +2 -2
  131. package/src/channelRepository/utils/constructChannelObject.ts +2 -2
  132. package/src/client/api/login.ts +0 -2
  133. package/src/commentRepository/api/deleteComment.ts +6 -6
  134. package/src/communityRepository/api/getCommunity.ts +0 -9
  135. package/src/core/events.ts +1 -4
  136. package/src/core/model/index.ts +2 -1
  137. package/src/core/subscription.ts +6 -10
  138. package/src/feedRepository/api/index.ts +0 -1
  139. package/src/feedRepository/api/queryGlobalFeed.ts +6 -1
  140. package/src/feedRepository/index.ts +2 -1
  141. package/src/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.ts +95 -0
  142. package/src/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.ts +25 -0
  143. package/src/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.ts +101 -0
  144. package/src/feedRepository/observers/getCustomRankingGlobalFeed.ts +56 -0
  145. package/src/feedRepository/observers/getGlobalFeed/LiveCollectionController.ts +91 -0
  146. package/src/feedRepository/observers/getGlobalFeed/PaginationController.ts +23 -0
  147. package/src/feedRepository/observers/getGlobalFeed/QueryStreamController.ts +99 -0
  148. package/src/feedRepository/observers/getGlobalFeed.ts +56 -0
  149. package/src/feedRepository/observers/index.ts +2 -0
  150. package/src/feedRepository/observers/utils.ts +85 -0
  151. package/src/fileRepository/api/index.ts +1 -0
  152. package/src/fileRepository/api/uploadClip.ts +71 -0
  153. package/src/index.ts +0 -2
  154. package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
  155. package/src/liveStreamPlayer/utils/eventRegister.ts +1 -16
  156. package/src/messageRepository/api/deleteMessage.ts +0 -16
  157. package/src/messageRepository/observers/getMessage.ts +0 -2
  158. package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +0 -2
  159. package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +0 -13
  160. package/src/postRepository/api/createClipPost.ts +62 -0
  161. package/src/postRepository/api/createPost.ts +2 -3
  162. package/src/postRepository/api/index.ts +2 -0
  163. package/src/postRepository/api/queryPosts.ts +1 -1
  164. package/src/postRepository/events/utils.ts +35 -1
  165. package/src/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.ts +5 -0
  166. package/src/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.ts +7 -1
  167. package/src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts +27 -0
  168. package/src/postRepository/observers/getPosts/PostLiveCollectionController.ts +2 -74
  169. package/src/postRepository/observers/getPosts/PostPaginationController.ts +1 -1
  170. package/src/postRepository/observers/utils.ts +97 -0
  171. package/src/postRepository/utils/payload.ts +1 -37
  172. package/src/reactionRepository/api/addReaction.ts +1 -0
  173. package/src/reactionRepository/api/removeReaction.ts +1 -0
  174. package/src/streamRepository/api/createStream.ts +1 -4
  175. package/src/streamRepository/api/index.ts +0 -1
  176. package/src/streamRepository/api/updateStream.ts +1 -8
  177. package/src/streamRepository/events/index.ts +0 -2
  178. package/src/streamRepository/internalApi/getStream.ts +3 -3
  179. package/src/streamRepository/observers/getStreamById.ts +0 -2
  180. package/src/streamRepository/observers/getStreams/GetStreamsLiveCollectionController.ts +1 -5
  181. package/src/utils/linkedObject/channelLinkedObject.ts +0 -3
  182. package/src/utils/linkedObject/postLinkedObject.ts +8 -28
  183. package/src/utils/linkedObject/streamLinkedObject.ts +0 -4
  184. package/src/utils/postTypePredicate.ts +6 -20
  185. package/dist/@types/domains/liveReaction.d.ts +0 -20
  186. package/dist/@types/domains/liveReaction.d.ts.map +0 -1
  187. package/dist/channelRepository/events/onChannelSetMuted.d.ts +0 -2
  188. package/dist/channelRepository/events/onChannelSetMuted.d.ts.map +0 -1
  189. package/dist/channelRepository/events/onChannelSetUserMuted.d.ts +0 -2
  190. package/dist/channelRepository/events/onChannelSetUserMuted.d.ts.map +0 -1
  191. package/dist/channelRepository/internalApi/getMyMembership.d.ts +0 -11
  192. package/dist/channelRepository/internalApi/getMyMembership.d.ts.map +0 -1
  193. package/dist/channelRepository/observers/getMyMembership.d.ts +0 -2
  194. package/dist/channelRepository/observers/getMyMembership.d.ts.map +0 -1
  195. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
  196. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
  197. package/dist/liveReactionRepository/api/createReaction.d.ts +0 -20
  198. package/dist/liveReactionRepository/api/createReaction.d.ts.map +0 -1
  199. package/dist/liveReactionRepository/api/index.d.ts +0 -2
  200. package/dist/liveReactionRepository/api/index.d.ts.map +0 -1
  201. package/dist/liveReactionRepository/events/index.d.ts +0 -2
  202. package/dist/liveReactionRepository/events/index.d.ts.map +0 -1
  203. package/dist/liveReactionRepository/events/onLiveReactionCreated.d.ts +0 -17
  204. package/dist/liveReactionRepository/events/onLiveReactionCreated.d.ts.map +0 -1
  205. package/dist/liveReactionRepository/events/onLiveReactionCreatedLocal.d.ts +0 -17
  206. package/dist/liveReactionRepository/events/onLiveReactionCreatedLocal.d.ts.map +0 -1
  207. package/dist/liveReactionRepository/index.d.ts +0 -4
  208. package/dist/liveReactionRepository/index.d.ts.map +0 -1
  209. package/dist/liveReactionRepository/internalApi/createLiveReaction.d.ts +0 -20
  210. package/dist/liveReactionRepository/internalApi/createLiveReaction.d.ts.map +0 -1
  211. package/dist/liveReactionRepository/observers/getReactions.d.ts +0 -19
  212. package/dist/liveReactionRepository/observers/getReactions.d.ts.map +0 -1
  213. package/dist/liveReactionRepository/observers/index.d.ts +0 -2
  214. package/dist/liveReactionRepository/observers/index.d.ts.map +0 -1
  215. package/dist/liveReactionRepository/service/ReactionSyncEngine.d.ts +0 -26
  216. package/dist/liveReactionRepository/service/ReactionSyncEngine.d.ts.map +0 -1
  217. package/dist/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler.d.ts +0 -3
  218. package/dist/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler.d.ts.map +0 -1
  219. package/dist/streamRepository/api/editStream.d.ts +0 -18
  220. package/dist/streamRepository/api/editStream.d.ts.map +0 -1
  221. package/dist/streamRepository/events/onStreamViewerBanned.d.ts +0 -17
  222. package/dist/streamRepository/events/onStreamViewerBanned.d.ts.map +0 -1
  223. package/dist/streamRepository/events/onStreamViewerUnbanned.d.ts +0 -17
  224. package/dist/streamRepository/events/onStreamViewerUnbanned.d.ts.map +0 -1
  225. package/dist/streamRepository/internalApi/getLiveChat.d.ts +0 -16
  226. package/dist/streamRepository/internalApi/getLiveChat.d.ts.map +0 -1
  227. package/src/@types/domains/liveReaction.ts +0 -25
  228. package/src/channelRepository/events/onChannelSetMuted.ts +0 -48
  229. package/src/channelRepository/events/onChannelSetUserMuted.ts +0 -65
  230. package/src/channelRepository/internalApi/getMyMembership.ts +0 -37
  231. package/src/channelRepository/observers/getMyMembership.ts +0 -98
  232. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +0 -115
  233. package/src/liveReactionRepository/api/createReaction.ts +0 -58
  234. package/src/liveReactionRepository/api/index.ts +0 -1
  235. package/src/liveReactionRepository/events/index.ts +0 -1
  236. package/src/liveReactionRepository/events/onLiveReactionCreated.ts +0 -37
  237. package/src/liveReactionRepository/events/onLiveReactionCreatedLocal.ts +0 -29
  238. package/src/liveReactionRepository/index.ts +0 -3
  239. package/src/liveReactionRepository/internalApi/createLiveReaction.ts +0 -42
  240. package/src/liveReactionRepository/observers/getReactions.ts +0 -59
  241. package/src/liveReactionRepository/observers/index.ts +0 -1
  242. package/src/liveReactionRepository/service/ReactionSyncEngine.ts +0 -138
  243. package/src/liveReactionRepository/utils/ReactionSyncEngineOnLoginHandler.ts +0 -19
  244. package/src/streamRepository/api/editStream.ts +0 -51
  245. package/src/streamRepository/events/onStreamViewerBanned.ts +0 -58
  246. package/src/streamRepository/events/onStreamViewerUnbanned.ts +0 -47
  247. 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
- };