@amityco/ts-sdk 6.35.3-fa3d4ac.0 → 7.0.1-54f1ba3.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 +6 -6
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/linkPreview.d.ts +12 -0
- package/dist/@types/core/linkPreview.d.ts.map +1 -0
- package/dist/@types/domains/analytics.d.ts +0 -3
- package/dist/@types/domains/analytics.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +9 -33
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +0 -5
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/community.d.ts +2 -10
- package/dist/@types/domains/community.d.ts.map +1 -1
- package/dist/@types/domains/feed.d.ts +0 -11
- package/dist/@types/domains/feed.d.ts.map +1 -1
- package/dist/@types/domains/message.d.ts +0 -12
- package/dist/@types/domains/message.d.ts.map +1 -1
- package/dist/@types/domains/subChannel.d.ts +0 -4
- package/dist/@types/domains/subChannel.d.ts.map +1 -1
- package/dist/@types/domains/user.d.ts +1 -5
- package/dist/@types/domains/user.d.ts.map +1 -1
- package/dist/channelRepository/api/deleteChannel.d.ts.map +1 -1
- package/dist/channelRepository/api/index.d.ts +0 -1
- package/dist/channelRepository/api/index.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers/getMembers.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/searchMembers/searchMembers.d.ts.map +1 -1
- package/dist/channelRepository/{api → internalApi}/getChannel.d.ts +2 -2
- package/dist/channelRepository/internalApi/getChannel.d.ts.map +1 -0
- package/dist/channelRepository/internalApi/getChannelByIds.d.ts +32 -0
- package/dist/channelRepository/internalApi/getChannelByIds.d.ts.map +1 -0
- package/dist/channelRepository/{api → internalApi}/markAsRead.d.ts +0 -3
- package/dist/channelRepository/internalApi/markAsRead.d.ts.map +1 -0
- package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
- package/dist/channelRepository/observers/index.d.ts +0 -2
- package/dist/channelRepository/observers/index.d.ts.map +1 -1
- package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -1
- package/dist/channelRepository/utils/constructChannelObject.d.ts +2 -0
- package/dist/channelRepository/utils/constructChannelObject.d.ts.map +1 -0
- package/dist/channelRepository/utils/getChannelIsMentioned.d.ts +1 -1
- package/dist/channelRepository/utils/getChannelIsMentioned.d.ts.map +1 -1
- package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts +1 -1
- package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts.map +1 -1
- package/dist/channelRepository/utils/resolveChannels.d.ts.map +1 -1
- package/dist/channelRepository/utils/updateChannelCache.d.ts +1 -1
- package/dist/channelRepository/utils/updateChannelCache.d.ts.map +1 -1
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/client/api/fetchLinkPreview.d.ts +14 -0
- package/dist/client/api/fetchLinkPreview.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/client/observers/index.d.ts +0 -1
- package/dist/client/observers/index.d.ts.map +1 -1
- package/dist/client/utils/endpoints.d.ts +1 -1
- package/dist/client/utils/markerSyncEngine.d.ts +0 -4
- package/dist/client/utils/markerSyncEngine.d.ts.map +1 -1
- package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -1
- package/dist/commentRepository/observers/index.d.ts +0 -2
- package/dist/commentRepository/observers/index.d.ts.map +1 -1
- package/dist/communityRepository/api/index.d.ts +0 -1
- package/dist/communityRepository/api/index.d.ts.map +1 -1
- package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts +1 -1
- package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts.map +1 -1
- package/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.d.ts.map +1 -1
- package/dist/communityRepository/observers/getCommunities/CommunitiesPaginationController.d.ts.map +1 -1
- package/dist/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.d.ts.map +1 -1
- package/dist/communityRepository/observers/index.d.ts +0 -1
- package/dist/communityRepository/observers/index.d.ts.map +1 -1
- package/dist/communityRepository/observers/searchCommunities.d.ts +1 -1
- package/dist/communityRepository/observers/searchCommunities.d.ts.map +1 -1
- package/dist/communityRepository/utils/communityQueryFilter.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 +0 -1
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/core/subscription.d.ts +1 -0
- package/dist/core/subscription.d.ts.map +1 -1
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +2 -35
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
- package/dist/feedRepository/api/queryGlobalFeed.d.ts +2 -24
- package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
- package/dist/fileRepository/api/index.d.ts +0 -3
- package/dist/fileRepository/api/index.d.ts.map +1 -1
- package/dist/fileRepository/index.d.ts +0 -1
- package/dist/fileRepository/index.d.ts.map +1 -1
- package/dist/index.cjs.js +1242 -2743
- package/dist/index.esm.js +1241 -2743
- package/dist/index.umd.js +2 -2
- package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -5
- package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
- package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +0 -1
- package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts.map +1 -1
- package/dist/messageRepository/api/createMessage.d.ts.map +1 -1
- package/dist/messageRepository/api/index.d.ts +0 -1
- package/dist/messageRepository/api/index.d.ts.map +1 -1
- package/dist/messageRepository/internalApi/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/messageRepository/observers/getMessages/getMessages.d.ts +0 -1
- package/dist/messageRepository/observers/getMessages/getMessages.d.ts.map +1 -1
- package/dist/messageRepository/observers/index.d.ts +0 -2
- package/dist/messageRepository/observers/index.d.ts.map +1 -1
- package/dist/messageRepository/utils/getMessageFromMainDB.d.ts.map +1 -1
- package/dist/messageRepository/utils/index.d.ts +0 -1
- package/dist/messageRepository/utils/index.d.ts.map +1 -1
- package/dist/messageRepository/utils/prepareMessagePayload.d.ts +1 -1
- package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
- package/dist/pollRepository/observers/index.d.ts +0 -1
- package/dist/pollRepository/observers/index.d.ts.map +1 -1
- package/dist/postRepository/api/index.d.ts +0 -1
- package/dist/postRepository/api/index.d.ts.map +1 -1
- package/dist/postRepository/observers/index.d.ts +0 -2
- package/dist/postRepository/observers/index.d.ts.map +1 -1
- package/dist/role/api/queryRoles.d.ts +0 -7
- package/dist/role/api/queryRoles.d.ts.map +1 -1
- package/dist/streamRepository/api/index.d.ts +0 -2
- package/dist/streamRepository/api/index.d.ts.map +1 -1
- package/dist/streamRepository/events/onStreamFlagged.d.ts.map +1 -1
- package/dist/streamRepository/internalApi/getStream.d.ts.map +1 -0
- package/dist/subChannelRepository/utils/markReadEngine.d.ts +0 -34
- package/dist/subChannelRepository/utils/markReadEngine.d.ts.map +1 -1
- package/dist/userRepository/internalApi/queryUsers.d.ts.map +1 -1
- package/dist/userRepository/observers/getUsers/UserLiveCollectionController.d.ts.map +1 -1
- package/dist/userRepository/observers/getUsers/UserPaginationController.d.ts.map +1 -1
- package/dist/userRepository/observers/index.d.ts +0 -2
- package/dist/userRepository/observers/index.d.ts.map +1 -1
- package/dist/userRepository/relationship/block/index.d.ts +0 -1
- package/dist/userRepository/relationship/block/index.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/index.d.ts +0 -2
- package/dist/userRepository/relationship/follow/api/index.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/index.d.ts +0 -3
- package/dist/userRepository/relationship/follow/observers/index.d.ts.map +1 -1
- package/dist/utils/event.d.ts.map +1 -1
- package/dist/utils/liveObject.d.ts +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +8 -9
- package/src/@types/core/linkPreview.ts +12 -0
- package/src/@types/domains/analytics.ts +0 -7
- package/src/@types/domains/channel.ts +15 -46
- package/src/@types/domains/client.ts +0 -6
- package/src/@types/domains/community.ts +0 -8
- package/src/@types/domains/feed.ts +0 -11
- package/src/@types/domains/message.ts +0 -12
- package/src/@types/domains/subChannel.ts +0 -4
- package/src/@types/domains/user.ts +0 -4
- package/src/analytic/api/queryReachUser.ts +1 -1
- package/src/channelRepository/api/deleteChannel.ts +3 -2
- package/src/channelRepository/api/getChannelByIds.ts +5 -5
- package/src/channelRepository/api/index.ts +0 -2
- package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +0 -8
- package/src/channelRepository/channelMembership/observers/getMembers/getMembers.ts +0 -8
- package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.ts +0 -8
- package/src/channelRepository/channelMembership/observers/searchMembers/searchMembers.ts +0 -8
- package/src/channelRepository/{api → internalApi}/getChannel.ts +4 -4
- package/src/channelRepository/internalApi/getChannelByIds.ts +105 -0
- package/src/channelRepository/{api → internalApi}/markAsRead.ts +0 -3
- package/src/channelRepository/observers/getChannel.ts +36 -15
- package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -12
- package/src/channelRepository/observers/index.ts +0 -2
- package/src/channelRepository/utils/constructChannelDynamicValue.ts +4 -9
- package/src/channelRepository/utils/constructChannelObject.ts +16 -0
- package/src/channelRepository/utils/getChannelIsMentioned.ts +4 -1
- package/src/channelRepository/utils/getSubChannelsUnreadCount.ts +1 -1
- package/src/channelRepository/utils/resolveChannels.ts +7 -2
- package/src/channelRepository/utils/updateChannelCache.ts +4 -1
- package/src/client/api/createClient.ts +0 -26
- package/src/client/api/fetchLinkPreview.ts +30 -0
- package/src/client/api/index.ts +2 -0
- package/src/client/observers/getUserUnread.ts +1 -1
- package/src/client/observers/index.ts +0 -1
- package/src/client/utils/endpoints.ts +1 -1
- package/src/client/utils/markerSyncEngine.ts +0 -9
- package/src/client/utils/subscribeGlobalTopic.ts +3 -0
- package/src/commentRepository/observers/index.ts +0 -2
- package/src/communityRepository/api/index.ts +0 -3
- package/src/communityRepository/api/queryCommunities.ts +1 -2
- package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.ts +0 -12
- package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.ts +0 -7
- package/src/communityRepository/communityMembership/observers/getMembers.ts +0 -4
- package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.ts +1 -1
- package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +0 -1
- package/src/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.ts +12 -16
- package/src/communityRepository/observers/getCommunities/CommunitiesPaginationController.ts +0 -1
- package/src/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.ts +0 -4
- package/src/communityRepository/observers/index.ts +0 -2
- package/src/communityRepository/observers/searchCommunities.ts +1 -1
- package/src/communityRepository/observers/tests/getCommunities.test.ts +0 -1
- package/src/communityRepository/utils/communityQueryFilter.ts +1 -8
- package/src/core/events.ts +7 -5
- package/src/core/model/index.ts +0 -1
- package/src/core/subscription.ts +6 -0
- package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +8 -55
- package/src/feedRepository/api/queryGlobalFeed.ts +6 -58
- package/src/feedRepository/api/test/getCustomRankingGlobalFeed.test.ts +1 -1
- package/src/feedRepository/api/test/queryGlobalFeed.test.ts +1 -1
- package/src/fileRepository/api/index.ts +0 -5
- package/src/fileRepository/index.ts +0 -1
- package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
- package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +2 -2
- package/src/messageRepository/api/createMessage.ts +5 -8
- package/src/messageRepository/api/index.ts +0 -2
- package/src/messageRepository/api/tests/createMessage.test.ts +6 -1
- package/src/messageRepository/api/tests/deleteMessage.test.ts +5 -1
- package/src/messageRepository/internalApi/getMessage.ts +0 -6
- package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +0 -20
- package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +4 -14
- package/src/messageRepository/observers/getMessages/getMessages.ts +0 -54
- package/src/messageRepository/observers/index.ts +0 -3
- package/src/messageRepository/utils/getMessageFromMainDB.ts +5 -9
- package/src/messageRepository/utils/index.ts +0 -1
- package/src/messageRepository/utils/prepareMessagePayload.ts +18 -29
- package/src/pollRepository/observers/index.ts +0 -1
- package/src/postRepository/api/index.ts +0 -1
- package/src/postRepository/observers/index.ts +0 -2
- package/src/role/api/queryRoles.ts +1 -13
- package/src/streamRepository/api/deleteStream.ts +1 -1
- package/src/streamRepository/api/index.ts +0 -4
- package/src/streamRepository/api/tests/getStream.test.ts +1 -1
- package/src/streamRepository/events/onStreamFlagged.ts +1 -6
- package/src/streamRepository/events/onStreamRecorded.ts +1 -1
- package/src/streamRepository/events/onStreamStarted.ts +1 -1
- package/src/streamRepository/events/onStreamStopped.ts +1 -1
- package/src/streamRepository/events/onStreamTerminated.ts +1 -1
- package/src/streamRepository/observers/getStreamById.ts +1 -1
- package/src/subChannelRepository/utils/markReadEngine.ts +0 -106
- package/src/userRepository/internalApi/queryUsers.ts +1 -9
- package/src/userRepository/observers/getUsers/UserLiveCollectionController.ts +12 -16
- package/src/userRepository/observers/getUsers/UserPaginationController.ts +1 -2
- package/src/userRepository/observers/index.ts +0 -2
- package/src/userRepository/observers/tests/getUsers.test.ts +1 -43
- package/src/userRepository/relationship/block/index.ts +0 -1
- package/src/userRepository/relationship/follow/api/index.ts +0 -4
- package/src/userRepository/relationship/follow/observers/index.ts +0 -4
- package/src/utils/event.ts +2 -19
- package/src/utils/linkedObject/channelLinkedObject.ts +1 -1
- package/src/utils/liveObject.ts +2 -2
- package/dist/channelRepository/api/getChannel.d.ts.map +0 -1
- package/dist/channelRepository/api/markAsRead.d.ts.map +0 -1
- package/dist/channelRepository/observers/observeChannel.d.ts +0 -18
- package/dist/channelRepository/observers/observeChannel.d.ts.map +0 -1
- package/dist/channelRepository/observers/observeChannels.d.ts +0 -17
- package/dist/channelRepository/observers/observeChannels.d.ts.map +0 -1
- package/dist/client/observers/getTotalUnreadCount.d.ts +0 -20
- package/dist/client/observers/getTotalUnreadCount.d.ts.map +0 -1
- package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts +0 -2
- package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts.map +0 -1
- package/dist/commentRepository/observers/observeComment.d.ts +0 -18
- package/dist/commentRepository/observers/observeComment.d.ts.map +0 -1
- package/dist/commentRepository/observers/observeComments.d.ts +0 -26
- package/dist/commentRepository/observers/observeComments.d.ts.map +0 -1
- package/dist/communityRepository/api/getTopTrendingCommunities.d.ts +0 -35
- package/dist/communityRepository/api/getTopTrendingCommunities.d.ts.map +0 -1
- package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts +0 -2
- package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts.map +0 -1
- package/dist/communityRepository/observers/observeCommunity.d.ts +0 -18
- package/dist/communityRepository/observers/observeCommunity.d.ts.map +0 -1
- package/dist/core/model/localReferenceId.d.ts +0 -2
- package/dist/core/model/localReferenceId.d.ts.map +0 -1
- package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts +0 -8
- package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts.map +0 -1
- package/dist/feedRepository/internalApi/index.d.ts +0 -3
- package/dist/feedRepository/internalApi/index.d.ts.map +0 -1
- package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts +0 -9
- package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts.map +0 -1
- package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts +0 -2
- package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts.map +0 -1
- package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts +0 -2
- package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts.map +0 -1
- package/dist/fileRepository/api/createFile.d.ts +0 -17
- package/dist/fileRepository/api/createFile.d.ts.map +0 -1
- package/dist/fileRepository/api/createImage.d.ts +0 -17
- package/dist/fileRepository/api/createImage.d.ts.map +0 -1
- package/dist/fileRepository/api/createVideo.d.ts +0 -18
- package/dist/fileRepository/api/createVideo.d.ts.map +0 -1
- package/dist/fileRepository/observers/index.d.ts +0 -2
- package/dist/fileRepository/observers/index.d.ts.map +0 -1
- package/dist/fileRepository/observers/observeFile.d.ts +0 -18
- package/dist/fileRepository/observers/observeFile.d.ts.map +0 -1
- package/dist/messageRepository/api/getMessage.d.ts +0 -32
- package/dist/messageRepository/api/getMessage.d.ts.map +0 -1
- package/dist/messageRepository/api/getMessages.d.ts +0 -32
- package/dist/messageRepository/api/getMessages.d.ts.map +0 -1
- package/dist/messageRepository/observers/observeMessage.d.ts +0 -21
- package/dist/messageRepository/observers/observeMessage.d.ts.map +0 -1
- package/dist/messageRepository/observers/observeMessages.d.ts +0 -23
- package/dist/messageRepository/observers/observeMessages.d.ts.map +0 -1
- package/dist/messageRepository/utils/getMessageIdentifierIds.d.ts +0 -2
- package/dist/messageRepository/utils/getMessageIdentifierIds.d.ts.map +0 -1
- package/dist/pollRepository/observers/observePoll.d.ts +0 -18
- package/dist/pollRepository/observers/observePoll.d.ts.map +0 -1
- package/dist/postRepository/api/updatePost.d.ts +0 -24
- package/dist/postRepository/api/updatePost.d.ts.map +0 -1
- package/dist/postRepository/observers/observePost.d.ts +0 -18
- package/dist/postRepository/observers/observePost.d.ts.map +0 -1
- package/dist/postRepository/observers/observePosts.d.ts +0 -34
- package/dist/postRepository/observers/observePosts.d.ts.map +0 -1
- package/dist/streamRepository/api/getStream.d.ts.map +0 -1
- package/dist/streamRepository/api/queryStreams.d.ts +0 -25
- package/dist/streamRepository/api/queryStreams.d.ts.map +0 -1
- package/dist/userRepository/observers/getViewedUsers.d.ts +0 -7
- package/dist/userRepository/observers/getViewedUsers.d.ts.map +0 -1
- package/dist/userRepository/observers/observeUser.d.ts +0 -17
- package/dist/userRepository/observers/observeUser.d.ts.map +0 -1
- package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts +0 -2
- package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts.map +0 -1
- package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +0 -2
- package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +0 -1
- package/dist/userRepository/relationship/block/observers/index.d.ts +0 -2
- package/dist/userRepository/relationship/block/observers/index.d.ts.map +0 -1
- package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +0 -19
- package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +0 -1
- package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +0 -19
- package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +0 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +0 -18
- package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +0 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +0 -18
- package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +0 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +0 -18
- package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +0 -1
- package/src/channelRepository/observers/observeChannel.ts +0 -109
- package/src/channelRepository/observers/observeChannels.ts +0 -74
- package/src/client/observers/getTotalUnreadCount.ts +0 -53
- package/src/client/observers/tests/getTotalUnreadCount.test.ts +0 -101
- package/src/commentRepository/observers/observeComment.ts +0 -102
- package/src/commentRepository/observers/observeComments.ts +0 -77
- package/src/communityRepository/api/getTopTrendingCommunities.ts +0 -97
- package/src/communityRepository/api/test/getTopTrendingCommunities.test.ts +0 -102
- package/src/communityRepository/observers/observeCommunity.ts +0 -103
- package/src/core/model/localReferenceId.ts +0 -12
- package/src/feedRepository/internalApi/getCustomRankingGlobalFeed.ts +0 -87
- package/src/feedRepository/internalApi/index.ts +0 -2
- package/src/feedRepository/internalApi/queryGlobalFeed.ts +0 -95
- package/src/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.ts +0 -138
- package/src/feedRepository/internalApi/test/queryGlobalFeed.test.ts +0 -130
- package/src/fileRepository/api/createFile.ts +0 -59
- package/src/fileRepository/api/createImage.ts +0 -59
- package/src/fileRepository/api/createVideo.ts +0 -69
- package/src/fileRepository/observers/index.ts +0 -1
- package/src/fileRepository/observers/observeFile.ts +0 -49
- package/src/messageRepository/api/getMessage.ts +0 -102
- package/src/messageRepository/api/getMessages.ts +0 -83
- package/src/messageRepository/observers/observeMessage.ts +0 -94
- package/src/messageRepository/observers/observeMessages.ts +0 -89
- package/src/messageRepository/utils/getMessageIdentifierIds.ts +0 -37
- package/src/pollRepository/observers/observePoll.ts +0 -67
- package/src/postRepository/api/updatePost.ts +0 -63
- package/src/postRepository/observers/observePost.ts +0 -115
- package/src/postRepository/observers/observePosts.ts +0 -86
- package/src/streamRepository/api/queryStreams.ts +0 -63
- package/src/userRepository/observers/getViewedUsers.ts +0 -99
- package/src/userRepository/observers/observeUser.ts +0 -71
- package/src/userRepository/observers/tests/getViewedUsers.test.ts +0 -39
- package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +0 -13
- package/src/userRepository/relationship/block/observers/index.ts +0 -1
- package/src/userRepository/relationship/follow/api/acceptFollower.ts +0 -40
- package/src/userRepository/relationship/follow/api/declineFollower.ts +0 -40
- package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +0 -64
- package/src/userRepository/relationship/follow/observers/observeFollowers.ts +0 -74
- package/src/userRepository/relationship/follow/observers/observeFollowings.ts +0 -74
- /package/dist/streamRepository/{api → internalApi}/getStream.d.ts +0 -0
- /package/src/streamRepository/{api → internalApi}/getStream.ts +0 -0
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
|
|
3
|
-
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
|
-
import GlobalFileAccessType from '~/client/utils/GlobalFileAccessType';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* ```js
|
|
8
|
-
* import { FileRepository } from '@amityco/ts-sdk'
|
|
9
|
-
* const created = await FileRepository.createFile(formData)
|
|
10
|
-
* ```
|
|
11
|
-
*
|
|
12
|
-
* Creates an {@link Amity.File}
|
|
13
|
-
*
|
|
14
|
-
* @param formData The data necessary to create a new {@link Amity.File}
|
|
15
|
-
* @param onProgress The callback to track the upload progress
|
|
16
|
-
* @returns The newly created {@link Amity.File}
|
|
17
|
-
*
|
|
18
|
-
* @category File API
|
|
19
|
-
* @async
|
|
20
|
-
*/
|
|
21
|
-
export const createFile = async <T extends Amity.FileType = any>(
|
|
22
|
-
formData: FormData,
|
|
23
|
-
onProgress?: (percent: number) => void,
|
|
24
|
-
): Promise<Amity.Cached<Amity.File[]>> => {
|
|
25
|
-
const client = getActiveClient();
|
|
26
|
-
client.log('file/createFile', formData);
|
|
27
|
-
|
|
28
|
-
const files = formData.getAll('files');
|
|
29
|
-
|
|
30
|
-
if (!files.length) throw new Error('The formData object must have a `files` key.');
|
|
31
|
-
|
|
32
|
-
const accessType = GlobalFileAccessType.getInstance().getFileAccessType();
|
|
33
|
-
formData.append('accessType', accessType);
|
|
34
|
-
|
|
35
|
-
formData.append('preferredFilename', (files[0] as File).name);
|
|
36
|
-
|
|
37
|
-
const headers =
|
|
38
|
-
'getHeaders' in formData
|
|
39
|
-
? (formData as any).getHeaders()
|
|
40
|
-
: { 'content-type': 'multipart/form-data' };
|
|
41
|
-
|
|
42
|
-
const { data } = await client.http.post<Amity.CreateFilePayload<T>>('/api/v4/files', formData, {
|
|
43
|
-
headers,
|
|
44
|
-
onUploadProgress({ loaded, total = 100 }) {
|
|
45
|
-
onProgress && onProgress(Math.round((loaded * 100) / total));
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
// API-FIX: payload should be serialized properly
|
|
50
|
-
// const { files } = data
|
|
51
|
-
|
|
52
|
-
const cachedAt = client.cache && Date.now();
|
|
53
|
-
if (client.cache) ingestInCache({ files: data }, { cachedAt });
|
|
54
|
-
|
|
55
|
-
return {
|
|
56
|
-
data,
|
|
57
|
-
cachedAt,
|
|
58
|
-
};
|
|
59
|
-
};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
3
|
-
import GlobalFileAccessType from '~/client/utils/GlobalFileAccessType';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* ```js
|
|
7
|
-
* import { createImage } from '@amityco/ts-sdk'
|
|
8
|
-
* const created = await createImage(formData)
|
|
9
|
-
* ```
|
|
10
|
-
*
|
|
11
|
-
* Creates an {@link Amity.File<'image'>}
|
|
12
|
-
*
|
|
13
|
-
* @param formData The data necessary to create a new {@link Amity.File<'image'>}
|
|
14
|
-
* @param onProgress The callback to track the upload progress
|
|
15
|
-
* @returns The newly created {@link Amity.File<'image'>}
|
|
16
|
-
*
|
|
17
|
-
* @category File API
|
|
18
|
-
* @async
|
|
19
|
-
*/
|
|
20
|
-
export const createImage = async (
|
|
21
|
-
formData: FormData,
|
|
22
|
-
onProgress?: (percent: number) => void,
|
|
23
|
-
): Promise<Amity.Cached<Amity.File<'image'>[]>> => {
|
|
24
|
-
const client = getActiveClient();
|
|
25
|
-
client.log('file/createImage', formData);
|
|
26
|
-
|
|
27
|
-
const files = formData.getAll('files');
|
|
28
|
-
|
|
29
|
-
if (!files.length) throw new Error('The formData object must have a `files` key.');
|
|
30
|
-
|
|
31
|
-
const accessType = GlobalFileAccessType.getInstance().getFileAccessType();
|
|
32
|
-
formData.append('accessType', accessType);
|
|
33
|
-
|
|
34
|
-
formData.append('preferredFilename', (files[0] as File).name);
|
|
35
|
-
|
|
36
|
-
const headers =
|
|
37
|
-
'getHeaders' in formData
|
|
38
|
-
? (formData as any).getHeaders()
|
|
39
|
-
: { 'content-type': 'multipart/form-data' };
|
|
40
|
-
const { data } = await client.http.post<Amity.CreateFilePayload<'image'>>(
|
|
41
|
-
'/api/v4/images',
|
|
42
|
-
formData,
|
|
43
|
-
{
|
|
44
|
-
headers,
|
|
45
|
-
onUploadProgress({ loaded, total = 100 }) {
|
|
46
|
-
onProgress && onProgress(Math.round((loaded * 100) / total));
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
);
|
|
50
|
-
// API-FIX: payload should be serialized properly
|
|
51
|
-
// const { files } = data
|
|
52
|
-
const cachedAt = client.cache && Date.now();
|
|
53
|
-
if (client.cache) ingestInCache({ files: data }, { cachedAt });
|
|
54
|
-
return {
|
|
55
|
-
data,
|
|
56
|
-
cachedAt,
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
/* end_public_function */
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
|
|
3
|
-
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
|
-
import GlobalFileAccessType from '~/client/utils/GlobalFileAccessType';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* ```js
|
|
8
|
-
* import { FileRepository } from '@amityco/ts-sdk'
|
|
9
|
-
* const created = await FileRepository.createVideo(formData)
|
|
10
|
-
* ```
|
|
11
|
-
*
|
|
12
|
-
* Creates an {@link Amity.File<'video'>}
|
|
13
|
-
*
|
|
14
|
-
* @param formData The data necessary to create a new {@link Amity.File<'video'>}
|
|
15
|
-
* @param feedType The {@link Amity.File<'video'>} feed type
|
|
16
|
-
* @param onProgress The callback to track the upload progress
|
|
17
|
-
* @returns The newly uploaded {@link Amity.File<'video'>}
|
|
18
|
-
*
|
|
19
|
-
* @category File API
|
|
20
|
-
* @async
|
|
21
|
-
*/
|
|
22
|
-
export const createVideo = async (
|
|
23
|
-
formData: FormData,
|
|
24
|
-
feedType?: Amity.ContentFeedType,
|
|
25
|
-
onProgress?: (percent: number) => void,
|
|
26
|
-
): Promise<Amity.Cached<Amity.File<'video'>[]>> => {
|
|
27
|
-
const client = getActiveClient();
|
|
28
|
-
client.log('file/createVideo', formData);
|
|
29
|
-
|
|
30
|
-
const files = formData.getAll('files');
|
|
31
|
-
|
|
32
|
-
if (!files.length) throw new Error('The formData object must have a `files` key.');
|
|
33
|
-
|
|
34
|
-
const accessType = GlobalFileAccessType.getInstance().getFileAccessType();
|
|
35
|
-
formData.append('accessType', accessType);
|
|
36
|
-
|
|
37
|
-
formData.append('preferredFilename', (files[0] as File).name);
|
|
38
|
-
|
|
39
|
-
if (feedType) {
|
|
40
|
-
formData.append('feedType', feedType);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const headers =
|
|
44
|
-
'getHeaders' in formData
|
|
45
|
-
? (formData as any).getHeaders()
|
|
46
|
-
: { 'content-type': 'multipart/form-data' };
|
|
47
|
-
|
|
48
|
-
const { data } = await client.http.post<Amity.CreateFilePayload<'video'>>(
|
|
49
|
-
'/api/v4/videos',
|
|
50
|
-
formData,
|
|
51
|
-
{
|
|
52
|
-
headers,
|
|
53
|
-
onUploadProgress({ loaded, total = 100 }) {
|
|
54
|
-
onProgress && onProgress(Math.round((loaded * 100) / total));
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
// API-FIX: payload should be serialized properly
|
|
60
|
-
// const { files } = data
|
|
61
|
-
|
|
62
|
-
const cachedAt = client.cache && Date.now();
|
|
63
|
-
if (client.cache) ingestInCache({ files: data }, { cachedAt });
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
data,
|
|
67
|
-
cachedAt,
|
|
68
|
-
};
|
|
69
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './observeFile';
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { createQuery, runQuery } from '~/core/query/query';
|
|
2
|
-
|
|
3
|
-
import { getActiveClient } from '~/client/api';
|
|
4
|
-
|
|
5
|
-
import { getFile } from '../api';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* ```js
|
|
9
|
-
* import { observeFile } from '@amityco/ts-sdk'
|
|
10
|
-
*
|
|
11
|
-
* let file = {}
|
|
12
|
-
* const dispose = observeFile(fileId, updated => file = updated)
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* Observe all mutation on a given {@link Amity.File}
|
|
16
|
-
*
|
|
17
|
-
* @param fileId the ID of the file to observe
|
|
18
|
-
* @param callback the function to call when new data are available
|
|
19
|
-
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the file
|
|
20
|
-
*
|
|
21
|
-
* @category File Observer
|
|
22
|
-
*/
|
|
23
|
-
export const observeFile = <Events extends ['onFetch']>(
|
|
24
|
-
fileId: string,
|
|
25
|
-
callback: Amity.ObjectListener<Amity.Snapshot<Amity.File>, Events>,
|
|
26
|
-
): Amity.Unsubscriber => {
|
|
27
|
-
const { log } = getActiveClient();
|
|
28
|
-
|
|
29
|
-
const timestamp = Date.now();
|
|
30
|
-
log(`observeFile(tmpid: ${timestamp}) > listen`);
|
|
31
|
-
|
|
32
|
-
// wrapper function to make sure
|
|
33
|
-
const router = (result: Amity.Snapshot<Amity.File>, action: Events[number]) => {
|
|
34
|
-
// filter function
|
|
35
|
-
if (result.data?.fileId !== fileId) return;
|
|
36
|
-
|
|
37
|
-
if (callback instanceof Function) return callback(result);
|
|
38
|
-
|
|
39
|
-
if (action !== 'onFetch') callback.onEvent?.(action, result);
|
|
40
|
-
|
|
41
|
-
callback[action]?.(result);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
runQuery(createQuery(getFile, fileId), result => result.data && router(result, 'onFetch'));
|
|
45
|
-
|
|
46
|
-
return () => {
|
|
47
|
-
log(`observeFile(tmpid: ${timestamp}) > dispose`);
|
|
48
|
-
};
|
|
49
|
-
};
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
|
|
3
|
-
import { fireEvent } from '~/core/events';
|
|
4
|
-
import { pullFromCache } from '~/cache/api';
|
|
5
|
-
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
6
|
-
|
|
7
|
-
import { isInTombstone } from '~/cache/api/isInTombstone';
|
|
8
|
-
import { checkIfShouldGoesToTombstone } from '~/cache/utils';
|
|
9
|
-
import { pushToTombstone } from '~/cache/api/pushToTombstone';
|
|
10
|
-
|
|
11
|
-
import { prepareMessagePayload } from '../utils';
|
|
12
|
-
import { LinkedObject } from '~/utils/linkedObject';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* ```js
|
|
16
|
-
* import { getMessage } from '@amityco/ts-sdk'
|
|
17
|
-
* const message = await getMessage('foobar')
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* Fetches a {@link Amity.Message} object
|
|
21
|
-
*
|
|
22
|
-
* @param messageId the ID of the {@link Amity.Message} to fetch
|
|
23
|
-
* @returns the associated {@link Amity.Message} object
|
|
24
|
-
*
|
|
25
|
-
* @category Message API
|
|
26
|
-
* @async
|
|
27
|
-
*/
|
|
28
|
-
export const getMessage = async (
|
|
29
|
-
messageId: Amity.Message['messageId'],
|
|
30
|
-
isLive = false,
|
|
31
|
-
): Promise<Amity.Cached<Amity.Message>> => {
|
|
32
|
-
const client = getActiveClient();
|
|
33
|
-
client.log('message/getMessage', messageId);
|
|
34
|
-
|
|
35
|
-
if (!isLive) {
|
|
36
|
-
console.log(
|
|
37
|
-
'getMessage will be deprecated on 15th November 2022, please use liveMessage instead.',
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
isInTombstone('message', messageId);
|
|
42
|
-
|
|
43
|
-
let data: Amity.ProcessedMessagePayload;
|
|
44
|
-
|
|
45
|
-
try {
|
|
46
|
-
// API-FIX: endpoint should not be /list, parameters should be querystring.
|
|
47
|
-
const { data: payload } = await client.http.get<Amity.MessagePayload>(
|
|
48
|
-
`/api/v5/messages/${encodeURIComponent(messageId)}`,
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
data = await prepareMessagePayload(payload);
|
|
52
|
-
} catch (error) {
|
|
53
|
-
if (checkIfShouldGoesToTombstone((error as Amity.ErrorResponse)?.code)) {
|
|
54
|
-
pushToTombstone('message', messageId);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const cachedAt = client.cache && Date.now();
|
|
61
|
-
if (client.cache) ingestInCache(data, { cachedAt });
|
|
62
|
-
|
|
63
|
-
const { messages } = data;
|
|
64
|
-
|
|
65
|
-
fireEvent('local.message.fetched', { messages });
|
|
66
|
-
|
|
67
|
-
return {
|
|
68
|
-
data: LinkedObject.message(messages.find(message => message.messageId === messageId)!),
|
|
69
|
-
cachedAt,
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* ```js
|
|
75
|
-
* import { getMessage } from '@amityco/ts-sdk'
|
|
76
|
-
* const message = getMessage.locally('foobar')
|
|
77
|
-
* ```
|
|
78
|
-
*
|
|
79
|
-
* Fetches a {@link Amity.Message} object
|
|
80
|
-
*
|
|
81
|
-
* @param messageId the ID of the {@link Amity.Message} to fetch
|
|
82
|
-
* @returns the associated {@link Amity.Message} object
|
|
83
|
-
*
|
|
84
|
-
* @category Message API
|
|
85
|
-
*/
|
|
86
|
-
getMessage.locally = (
|
|
87
|
-
messageId: Amity.Message['messageId'],
|
|
88
|
-
): Amity.Cached<Amity.Message> | undefined => {
|
|
89
|
-
const client = getActiveClient();
|
|
90
|
-
client.log('message/getMessage.locally', messageId);
|
|
91
|
-
|
|
92
|
-
if (!client.cache) return;
|
|
93
|
-
|
|
94
|
-
const cached = pullFromCache<Amity.Message>(['message', 'get', messageId]);
|
|
95
|
-
|
|
96
|
-
if (!cached) return;
|
|
97
|
-
|
|
98
|
-
return {
|
|
99
|
-
data: cached.data,
|
|
100
|
-
cachedAt: cached.cachedAt,
|
|
101
|
-
};
|
|
102
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
|
|
3
|
-
import { fireEvent } from '~/core/events';
|
|
4
|
-
import { pullFromCache } from '~/cache/api';
|
|
5
|
-
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
6
|
-
|
|
7
|
-
import { prepareMessagePayload } from '../utils';
|
|
8
|
-
import { LinkedObject } from '~/utils/linkedObject';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* ```js
|
|
12
|
-
* import { getMessages } from '@amityco/ts-sdk'
|
|
13
|
-
* const messages = await getMessages(['foo', 'bar'])
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* Fetches a collection of {@link Amity.Message} objects
|
|
17
|
-
*
|
|
18
|
-
* @param messageIds the IDs of the {@link Amity.Message} to fetch
|
|
19
|
-
* @returns the associated collection of {@link Amity.Message} objects
|
|
20
|
-
*
|
|
21
|
-
* @category Message API
|
|
22
|
-
* @async
|
|
23
|
-
*/
|
|
24
|
-
export const getMessages = async (
|
|
25
|
-
messageIds: Amity.Message['messageId'][],
|
|
26
|
-
): Promise<Amity.Cached<Amity.Message[]>> => {
|
|
27
|
-
const client = getActiveClient();
|
|
28
|
-
client.log('message/getMessages', messageIds);
|
|
29
|
-
|
|
30
|
-
const { data: payload } = await client.http.get<Amity.MessagePayload>(`/api/v5/messages/list`, {
|
|
31
|
-
params: { messageIds: messageIds.map(encodeURIComponent) },
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const data = await prepareMessagePayload(payload);
|
|
35
|
-
|
|
36
|
-
const cachedAt = client.cache && Date.now();
|
|
37
|
-
if (client.cache) ingestInCache(data, { cachedAt });
|
|
38
|
-
|
|
39
|
-
const { messages } = data;
|
|
40
|
-
|
|
41
|
-
fireEvent('local.message.fetched', { messages });
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
data: messages.map(message => LinkedObject.message(message)),
|
|
45
|
-
cachedAt,
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* ```js
|
|
51
|
-
* import { getMessages } from '@amityco/ts-sdk'
|
|
52
|
-
* const messages = getMessages.locally(['foo', 'bar']) ?? []
|
|
53
|
-
* ```
|
|
54
|
-
*
|
|
55
|
-
* Fetches a collection of {@link Amity.Message} objects from cache
|
|
56
|
-
*
|
|
57
|
-
* @param messageIds the IDs of the {@link Amity.Message} to fetch
|
|
58
|
-
* @returns the associated collection of {@link Amity.Message} objects
|
|
59
|
-
*
|
|
60
|
-
* @category Message API
|
|
61
|
-
*/
|
|
62
|
-
getMessages.locally = (
|
|
63
|
-
messageIds: Amity.Message['messageId'][],
|
|
64
|
-
): Amity.Cached<Amity.Message[]> | undefined => {
|
|
65
|
-
const client = getActiveClient();
|
|
66
|
-
client.log('message/getMessages.locally', messageIds);
|
|
67
|
-
|
|
68
|
-
if (!client.cache) return;
|
|
69
|
-
|
|
70
|
-
const cached = messageIds
|
|
71
|
-
.map(messageId => pullFromCache<Amity.Message>(['message', 'get', messageId])!)
|
|
72
|
-
.filter(Boolean);
|
|
73
|
-
|
|
74
|
-
const messages = cached.map(({ data }) => data);
|
|
75
|
-
const oldest = cached.sort((a, b) => (a.cachedAt! < b.cachedAt! ? -1 : 1))?.[0];
|
|
76
|
-
|
|
77
|
-
if (cached?.length < messageIds.length) return;
|
|
78
|
-
|
|
79
|
-
return {
|
|
80
|
-
data: messages,
|
|
81
|
-
cachedAt: oldest.cachedAt,
|
|
82
|
-
};
|
|
83
|
-
};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
|
|
3
|
-
import { createQuery, runQuery, queryOptions } from '~/core/query';
|
|
4
|
-
import { onMessageMarked, onMessageMarkerFetched } from '~/marker/events';
|
|
5
|
-
import { convertEventPayload } from '~/utils/event';
|
|
6
|
-
|
|
7
|
-
import { getMessage } from '../api/getMessage';
|
|
8
|
-
|
|
9
|
-
import { onMessageUpdated, onMessageDeleted } from '../events';
|
|
10
|
-
import { LinkedObject } from '~/utils/linkedObject';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* ```js
|
|
14
|
-
* import { observeMessage } from '@amityco/ts-sdk'
|
|
15
|
-
*
|
|
16
|
-
* let message = {}
|
|
17
|
-
*
|
|
18
|
-
* const unsub = observeMessage(messageId, updated => message = updated)
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* Observe all mutations on a {@link Amity.Message} given a single messageId
|
|
22
|
-
*
|
|
23
|
-
* @param client the client to observe the message with
|
|
24
|
-
* @param messageId the ID of the message to observe
|
|
25
|
-
* @param callback the function to call when new data are available
|
|
26
|
-
* @param policy a query policy option for this observer
|
|
27
|
-
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the message
|
|
28
|
-
*
|
|
29
|
-
* @category Message Observer
|
|
30
|
-
*/
|
|
31
|
-
export const observeMessage = <Events extends ['onFetch', 'onUpdate', 'onDelete']>(
|
|
32
|
-
messageId: Amity.Message['messageId'],
|
|
33
|
-
callback: Amity.ObjectListener<Amity.Snapshot<Amity.Message>, Events>,
|
|
34
|
-
policy: Amity.QueryPolicy = 'cache_then_server',
|
|
35
|
-
): Amity.Unsubscriber => {
|
|
36
|
-
const { log } = getActiveClient();
|
|
37
|
-
|
|
38
|
-
const timestamp = Date.now();
|
|
39
|
-
log(`observeMessage(tmpid: ${timestamp}) > listen`);
|
|
40
|
-
|
|
41
|
-
console.log(
|
|
42
|
-
'observeMessage will be deprecated on 15th November 2022, please use liveMessage instead.',
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
// wrapper function to make sure
|
|
46
|
-
const router = (result: Amity.Snapshot<Amity.Message>, action: Events[number]) => {
|
|
47
|
-
// filter function
|
|
48
|
-
if (result.data?.messageId !== messageId) return;
|
|
49
|
-
|
|
50
|
-
if (callback instanceof Function) return callback(result);
|
|
51
|
-
|
|
52
|
-
if (action !== 'onFetch') callback.onEvent?.(action, result);
|
|
53
|
-
|
|
54
|
-
callback[action]?.(result);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const disposers: Amity.Unsubscriber[] = [];
|
|
58
|
-
|
|
59
|
-
disposers.push(
|
|
60
|
-
onMessageUpdated(data =>
|
|
61
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
|
|
62
|
-
),
|
|
63
|
-
onMessageDeleted(data =>
|
|
64
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onDelete'),
|
|
65
|
-
),
|
|
66
|
-
convertEventPayload(
|
|
67
|
-
onMessageMarkerFetched,
|
|
68
|
-
'contentId',
|
|
69
|
-
'message',
|
|
70
|
-
)(data =>
|
|
71
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
|
|
72
|
-
),
|
|
73
|
-
convertEventPayload(
|
|
74
|
-
onMessageMarked,
|
|
75
|
-
'contentId',
|
|
76
|
-
'message',
|
|
77
|
-
)(data =>
|
|
78
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
|
|
79
|
-
),
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
if (policy !== 'no_fetch') {
|
|
83
|
-
runQuery(
|
|
84
|
-
createQuery(getMessage, messageId),
|
|
85
|
-
result => result.data && router(result, 'onFetch'),
|
|
86
|
-
queryOptions(policy),
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return () => {
|
|
91
|
-
log(`observeMessages(tmpid: ${timestamp}) > dispose`);
|
|
92
|
-
disposers.forEach(fn => fn());
|
|
93
|
-
};
|
|
94
|
-
};
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api';
|
|
2
|
-
import { onMessageMarked, onMessageMarkerFetched } from '~/marker/events';
|
|
3
|
-
import { convertEventPayload } from '~/utils/event';
|
|
4
|
-
|
|
5
|
-
import { LinkedObject } from '~/utils/linkedObject';
|
|
6
|
-
import {
|
|
7
|
-
onMessageCreatedLocal,
|
|
8
|
-
onMessageCreatedMqtt,
|
|
9
|
-
onMessageDeleted,
|
|
10
|
-
onMessageUpdated,
|
|
11
|
-
} from '../events';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* ```js
|
|
15
|
-
* import { observeMessages } from '@amityco/ts-sdk'
|
|
16
|
-
*
|
|
17
|
-
* let messages = []
|
|
18
|
-
*
|
|
19
|
-
* const unsubscribe = observeMessages(channelId, message => merge(messages, message))
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* Observe all mutations on a list of {@link Amity.Message} for a given {@link Amity.SubChannel} object
|
|
23
|
-
*
|
|
24
|
-
* @param subChannelId the ID of the channel where to observe the messages
|
|
25
|
-
* @param callback the function to call when new data are available
|
|
26
|
-
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
27
|
-
*
|
|
28
|
-
* @category Message Observer
|
|
29
|
-
*/
|
|
30
|
-
export const observeMessages = (
|
|
31
|
-
subChannelId: Amity.SubChannel['subChannelId'],
|
|
32
|
-
callback: Amity.ObjectListener<
|
|
33
|
-
Amity.Snapshot<Amity.Message>,
|
|
34
|
-
['onCreate', 'onUpdate', 'onDelete']
|
|
35
|
-
>,
|
|
36
|
-
): Amity.Unsubscriber => {
|
|
37
|
-
const { log } = getActiveClient();
|
|
38
|
-
|
|
39
|
-
const timestamp = Date.now();
|
|
40
|
-
log(`observeMessages(tmpid: ${timestamp}) > listen`);
|
|
41
|
-
|
|
42
|
-
const disposers: Amity.Unsubscriber[] = [];
|
|
43
|
-
|
|
44
|
-
const router = (
|
|
45
|
-
message: Amity.Snapshot<Amity.Message>,
|
|
46
|
-
action: 'onCreate' | 'onUpdate' | 'onDelete',
|
|
47
|
-
) => {
|
|
48
|
-
if (message.data?.subChannelId !== subChannelId) return;
|
|
49
|
-
|
|
50
|
-
if (callback instanceof Function) return callback(message);
|
|
51
|
-
|
|
52
|
-
callback.onEvent?.(action, message);
|
|
53
|
-
callback[action]?.(message);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
disposers.push(
|
|
57
|
-
onMessageCreatedMqtt(data =>
|
|
58
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
|
|
59
|
-
),
|
|
60
|
-
onMessageCreatedLocal(data =>
|
|
61
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
|
|
62
|
-
),
|
|
63
|
-
onMessageUpdated(data =>
|
|
64
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
|
|
65
|
-
),
|
|
66
|
-
onMessageDeleted(data =>
|
|
67
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onDelete'),
|
|
68
|
-
),
|
|
69
|
-
convertEventPayload(
|
|
70
|
-
onMessageMarkerFetched,
|
|
71
|
-
'contentId',
|
|
72
|
-
'message',
|
|
73
|
-
)(data =>
|
|
74
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
|
|
75
|
-
),
|
|
76
|
-
convertEventPayload(
|
|
77
|
-
onMessageMarked,
|
|
78
|
-
'contentId',
|
|
79
|
-
'message',
|
|
80
|
-
)(data =>
|
|
81
|
-
router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onCreate'),
|
|
82
|
-
),
|
|
83
|
-
);
|
|
84
|
-
|
|
85
|
-
return () => {
|
|
86
|
-
log(`observeMessages(tmpid: ${timestamp}) > dispose`);
|
|
87
|
-
disposers.forEach(fn => fn());
|
|
88
|
-
};
|
|
89
|
-
};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { getActiveClient } from '~/client/api/activeClient';
|
|
2
|
-
import { isLocalId } from '~/core/model';
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
* To get message identifier ids used as a cache key for the each message.
|
|
6
|
-
* These ids are used to store in the query stream and use to get messages from cache.
|
|
7
|
-
*
|
|
8
|
-
* The query stream data keeps the message identifier ids as follows:
|
|
9
|
-
* ['server_message_id_1', 'server_message_id_2', 'LOCAL_message_id_1', 'LOCAL_message_id_2']
|
|
10
|
-
*
|
|
11
|
-
* Example use case: Message created locally and then created on the server.
|
|
12
|
-
*
|
|
13
|
-
* 1. Message created locally has `LOCAL_message_id_2` as referenceId.
|
|
14
|
-
* 2. The `message.created` event will be fired from server with message payload that has no the referenceId.
|
|
15
|
-
* 3. SDK use this function to find indentifer id for each message in the payload. If the message is created locally, the identifier id will be the local reference id.
|
|
16
|
-
* 4. The SDK use this identifier ids to check if the message is already in the query stream before appending it.
|
|
17
|
-
*
|
|
18
|
-
* @param The raw message payload from server response
|
|
19
|
-
* @returns The identifier ids of the messages
|
|
20
|
-
*/
|
|
21
|
-
export function getMessageIdentifierIds(messages: Amity.RawMessage[]) {
|
|
22
|
-
const client = getActiveClient();
|
|
23
|
-
const { objectSyncMap } = client;
|
|
24
|
-
|
|
25
|
-
return messages
|
|
26
|
-
.map(message => {
|
|
27
|
-
/* NOTE: This logic is used to get identifier id for each message.
|
|
28
|
-
*
|
|
29
|
-
* if messageId is a local id, use it as identifier id else get identifier id from objectSyncMap.
|
|
30
|
-
* if find referenceId in objectSyncMap, this means this message is a local created message. The identifier id will be local message id.
|
|
31
|
-
* if cannot find identifier id in objectSyncMap, this means this message is not a local created message. The identifier id will be server message id.
|
|
32
|
-
*/
|
|
33
|
-
if (isLocalId(message.messageId)) return message.messageId;
|
|
34
|
-
return objectSyncMap.get(message.messageId) ?? message.messageId;
|
|
35
|
-
})
|
|
36
|
-
.filter(Boolean);
|
|
37
|
-
}
|