@amityco/ts-sdk 7.8.1-1d9a9fe7.0 → 7.8.1-2915b77.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/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts +4 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts +4 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts +11 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js +2 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.d.ts +2 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.d.ts +3 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts +14 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts +16 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js +21 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts +2 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js +2 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/commentRepository/api/deleteComment.js +6 -6
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/commentRepository/api/deleteComment.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.js +2 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.d.ts +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.js +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.d.ts +3 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.js +3 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +13 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js +60 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js +13 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +15 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.js +66 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +22 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js +45 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts +13 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js +60 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js +13 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts +15 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js +66 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts +22 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js +45 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js +1 -22
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts +3 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js +3 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts +6 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js +60 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.d.ts +3 -3
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.js +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.d.ts +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.d.ts +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.js +26 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.js +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.js +5 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +6 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.js +17 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.js +2 -50
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js +126 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js +27 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js +65 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js +45 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts +13 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js +61 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.js +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.js +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.js +9 -4
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
- package/dist/@types/domains/client.d.ts +4 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/content.d.ts +1 -0
- package/dist/@types/domains/content.d.ts.map +1 -1
- package/dist/@types/domains/feed.d.ts +4 -0
- package/dist/@types/domains/feed.d.ts.map +1 -1
- package/dist/@types/domains/hashtag.d.ts +11 -0
- package/dist/@types/domains/hashtag.d.ts.map +1 -0
- package/dist/@types/domains/notification.d.ts +2 -1
- package/dist/@types/domains/notification.d.ts.map +1 -1
- package/dist/@types/domains/poll.d.ts +3 -1
- package/dist/@types/domains/poll.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +14 -1
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/client/api/getShareableLinkConfiguration.d.ts +16 -0
- package/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
- package/dist/client/api/index.d.ts +2 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/core/model/index.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 -2
- 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/getUserFeed/LiveCollectionController.d.ts +0 -1
- package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -1
- package/dist/feedRepository/observers/index.d.ts +3 -1
- package/dist/feedRepository/observers/index.d.ts.map +1 -1
- package/dist/feedRepository/observers/utils.d.ts +6 -0
- package/dist/feedRepository/observers/utils.d.ts.map +1 -0
- package/dist/index.cjs.js +869 -276
- package/dist/index.esm.js +784 -191
- package/dist/index.umd.js +4 -4
- package/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
- package/dist/pollRepository/api/createPoll.d.ts +3 -3
- package/dist/pollRepository/api/createPoll.d.ts.map +1 -1
- package/dist/postRepository/api/createPost.d.ts +1 -1
- package/dist/postRepository/api/editPost.d.ts +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/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
- package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
- package/dist/postRepository/observers/index.d.ts +1 -0
- package/dist/postRepository/observers/index.d.ts.map +1 -1
- package/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
- package/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
- package/dist/postRepository/observers/utils.d.ts +13 -0
- package/dist/postRepository/observers/utils.d.ts.map +1 -0
- package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
- package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
- package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/domains/client.ts +5 -0
- package/src/@types/domains/content.ts +1 -0
- package/src/@types/domains/feed.ts +16 -0
- package/src/@types/domains/hashtag.ts +11 -0
- package/src/@types/domains/notification.ts +1 -0
- package/src/@types/domains/poll.ts +3 -1
- package/src/@types/domains/post.ts +18 -1
- package/src/@types/index.ts +1 -0
- package/src/client/api/getShareableLinkConfiguration.ts +26 -0
- package/src/client/api/index.ts +4 -0
- package/src/commentRepository/api/deleteComment.ts +6 -6
- package/src/core/model/index.ts +2 -1
- package/src/feedRepository/api/index.ts +0 -1
- package/src/feedRepository/api/queryGlobalFeed.ts +3 -0
- package/src/feedRepository/index.ts +2 -2
- 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/getUserFeed/LiveCollectionController.ts +2 -32
- package/src/feedRepository/observers/index.ts +3 -1
- package/src/feedRepository/observers/utils.ts +85 -0
- package/src/liveReactionRepository/api/createReaction.ts +0 -1
- package/src/pollRepository/api/createPoll.ts +3 -3
- package/src/postRepository/api/createPost.ts +1 -1
- package/src/postRepository/api/editPost.ts +1 -1
- package/src/postRepository/api/queryPosts.ts +2 -2
- 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/getPostsByHashtag/SearchPostLiveCollectionController.ts +183 -0
- package/src/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.ts +49 -0
- package/src/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.ts +99 -0
- package/src/postRepository/observers/index.ts +1 -0
- package/src/postRepository/observers/searchPostsByHashtag.ts +56 -0
- package/src/postRepository/observers/utils.ts +97 -0
- package/src/reactionRepository/api/addReaction.ts +1 -0
- package/src/reactionRepository/api/removeReaction.ts +1 -0
- package/src/utils/linkedObject/postLinkedObject.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js +0 -83
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js.map +0 -1
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
- package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +0 -115
package/dist/index.cjs.js
CHANGED
|
@@ -681,7 +681,8 @@ const PAYLOAD2MODEL = {
|
|
|
681
681
|
};
|
|
682
682
|
/** hidden */
|
|
683
683
|
const isOutdated = (prevData, nextData) => {
|
|
684
|
-
|
|
684
|
+
// Check if the new value is outdated.
|
|
685
|
+
if ('updatedAt' in nextData && 'updatedAt' in prevData) {
|
|
685
686
|
return new Date(nextData.updatedAt) < new Date(prevData.updatedAt);
|
|
686
687
|
}
|
|
687
688
|
return false;
|
|
@@ -9804,6 +9805,26 @@ const fetchLinkPreview = async (url) => {
|
|
|
9804
9805
|
return data;
|
|
9805
9806
|
};
|
|
9806
9807
|
|
|
9808
|
+
/**
|
|
9809
|
+
* ```js
|
|
9810
|
+
* import Client from '@amityco/ts-sdk'
|
|
9811
|
+
* const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
|
|
9812
|
+
* const postLinkPattern = shareableLinkConfiguration.post
|
|
9813
|
+
* ```
|
|
9814
|
+
*
|
|
9815
|
+
* Fetches a {@link Amity.ShareableLinkConfiguration} object
|
|
9816
|
+
*
|
|
9817
|
+
* @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
|
|
9818
|
+
*
|
|
9819
|
+
* @category Client API
|
|
9820
|
+
* @async
|
|
9821
|
+
*/
|
|
9822
|
+
const getShareableLinkConfiguration = async () => {
|
|
9823
|
+
const client = getActiveClient();
|
|
9824
|
+
const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
|
|
9825
|
+
return data;
|
|
9826
|
+
};
|
|
9827
|
+
|
|
9807
9828
|
/**
|
|
9808
9829
|
* ```js
|
|
9809
9830
|
* import { onChannelMarkerFetched } from '@amityco/ts-sdk'
|
|
@@ -10173,6 +10194,8 @@ var index$o = /*#__PURE__*/Object.freeze({
|
|
|
10173
10194
|
enableUnreadCount: enableUnreadCount,
|
|
10174
10195
|
setUploadedFileAccessType: setUploadedFileAccessType,
|
|
10175
10196
|
fetchLinkPreview: fetchLinkPreview,
|
|
10197
|
+
getSocialSettings: getSocialSettings,
|
|
10198
|
+
getShareableLinkConfiguration: getShareableLinkConfiguration,
|
|
10176
10199
|
onConnectionError: onConnectionError,
|
|
10177
10200
|
onClientDisconnected: onClientDisconnected,
|
|
10178
10201
|
onClientBanned: onClientBanned,
|
|
@@ -11876,15 +11899,18 @@ function isAmityClipPost(post) {
|
|
|
11876
11899
|
}
|
|
11877
11900
|
|
|
11878
11901
|
const postLinkedObject = (post) => {
|
|
11879
|
-
return
|
|
11902
|
+
return shallowClone(post, {
|
|
11903
|
+
childrenPosts: post.children
|
|
11880
11904
|
.map(childPost => { var _a; return (_a = pullFromCache(['post', 'get', childPost])) === null || _a === void 0 ? void 0 : _a.data; })
|
|
11881
11905
|
.filter(isNonNullable)
|
|
11882
|
-
.map(postLinkedObject),
|
|
11906
|
+
.map(postLinkedObject),
|
|
11907
|
+
analytics: {
|
|
11883
11908
|
markAsViewed: () => {
|
|
11884
11909
|
const analyticsEngineInstance = AnalyticsEngine$1.getInstance();
|
|
11885
11910
|
analyticsEngineInstance.markPostAsViewed(post.postId);
|
|
11886
11911
|
},
|
|
11887
|
-
},
|
|
11912
|
+
},
|
|
11913
|
+
get latestComments() {
|
|
11888
11914
|
if (!post.comments)
|
|
11889
11915
|
return [];
|
|
11890
11916
|
return (post.comments
|
|
@@ -11958,7 +11984,8 @@ const postLinkedObject = (post) => {
|
|
|
11958
11984
|
return isAmityClipPost(post)
|
|
11959
11985
|
? (_b = pullFromCache(['file', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.fileId])) === null || _b === void 0 ? void 0 : _b.data
|
|
11960
11986
|
: undefined;
|
|
11961
|
-
}
|
|
11987
|
+
},
|
|
11988
|
+
});
|
|
11962
11989
|
};
|
|
11963
11990
|
|
|
11964
11991
|
const getCachedMarker = (message) => {
|
|
@@ -14953,7 +14980,7 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
|
|
|
14953
14980
|
]);
|
|
14954
14981
|
if (!model || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
|
|
14955
14982
|
return true;
|
|
14956
|
-
const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }) });
|
|
14983
|
+
const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }), updatedAt: new Date().toISOString() });
|
|
14957
14984
|
if (referenceType === 'comment') {
|
|
14958
14985
|
fireEvent('local.comment.addReaction', {
|
|
14959
14986
|
comment: updatedModel,
|
|
@@ -15076,7 +15103,7 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
|
|
|
15076
15103
|
]);
|
|
15077
15104
|
if (!model)
|
|
15078
15105
|
return true;
|
|
15079
|
-
const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_a = model.data.myReactions) !== null && _a !== void 0 ? _a : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_b = model.data.reactions[reactionName]) !== null && _b !== void 0 ? _b : 0) - 1) }) });
|
|
15106
|
+
const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_a = model.data.myReactions) !== null && _a !== void 0 ? _a : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_b = model.data.reactions[reactionName]) !== null && _b !== void 0 ? _b : 0) - 1) }), updatedAt: new Date().toISOString() });
|
|
15080
15107
|
if (referenceType === 'comment') {
|
|
15081
15108
|
fireEvent('local.comment.removeReaction', {
|
|
15082
15109
|
comment: updatedModel,
|
|
@@ -15190,6 +15217,26 @@ const prepareSemanticSearchPostPayload = (_a) => {
|
|
|
15190
15217
|
return Object.assign(Object.assign({}, processedPostPayload), { polls });
|
|
15191
15218
|
};
|
|
15192
15219
|
|
|
15220
|
+
const processDeleteChildPost = (payload) => {
|
|
15221
|
+
var _a;
|
|
15222
|
+
const post = payload.posts[0];
|
|
15223
|
+
if (!post.parentId)
|
|
15224
|
+
return;
|
|
15225
|
+
const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
15226
|
+
if (!parentPost)
|
|
15227
|
+
return;
|
|
15228
|
+
pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: parentPost.children.filter(childId => childId !== post.postId) }));
|
|
15229
|
+
};
|
|
15230
|
+
const processCreateChildPost = (payload) => {
|
|
15231
|
+
var _a;
|
|
15232
|
+
const post = payload.posts[0];
|
|
15233
|
+
if (!post.parentId)
|
|
15234
|
+
return;
|
|
15235
|
+
const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
15236
|
+
if (!parentPost)
|
|
15237
|
+
return;
|
|
15238
|
+
pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: [...new Set([post.postId, ...parentPost.children])] }));
|
|
15239
|
+
};
|
|
15193
15240
|
const createPostEventSubscriber = (event, callback) => {
|
|
15194
15241
|
const client = getActiveClient();
|
|
15195
15242
|
const filter = (payload) => {
|
|
@@ -15214,6 +15261,7 @@ const createPostEventSubscriber = (event, callback) => {
|
|
|
15214
15261
|
}
|
|
15215
15262
|
if (event === 'post.deleted') {
|
|
15216
15263
|
const { postId, postedUserId } = payload.posts[0];
|
|
15264
|
+
processDeleteChildPost(payload);
|
|
15217
15265
|
try {
|
|
15218
15266
|
isInTombstone('post', postId);
|
|
15219
15267
|
}
|
|
@@ -15240,6 +15288,8 @@ const createPostEventSubscriber = (event, callback) => {
|
|
|
15240
15288
|
}
|
|
15241
15289
|
queries === null || queries === void 0 ? void 0 : queries.map(({ key, data }) => upsertInCache(key, data, { cachedAt: -1 }));
|
|
15242
15290
|
}
|
|
15291
|
+
if (event === 'post.created')
|
|
15292
|
+
processCreateChildPost(payload);
|
|
15243
15293
|
callback(post.data);
|
|
15244
15294
|
}
|
|
15245
15295
|
};
|
|
@@ -15266,6 +15316,8 @@ const createLocalPostEventSubscriber = (event, callback) => {
|
|
|
15266
15316
|
});
|
|
15267
15317
|
}
|
|
15268
15318
|
const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
|
|
15319
|
+
if (event === 'local.post.deleted')
|
|
15320
|
+
processDeleteChildPost(payload);
|
|
15269
15321
|
callback(post.data);
|
|
15270
15322
|
}
|
|
15271
15323
|
};
|
|
@@ -23041,6 +23093,9 @@ var index$b = /*#__PURE__*/Object.freeze({
|
|
|
23041
23093
|
id: feed.query.global_feed
|
|
23042
23094
|
*/
|
|
23043
23095
|
/**
|
|
23096
|
+
*
|
|
23097
|
+
* @deprecated This function will to be deprecated. Please use getGlobalFeed instead.
|
|
23098
|
+
*
|
|
23044
23099
|
* ```js
|
|
23045
23100
|
* import { queryGlobalFeed } from '@amityco/ts-sdk'
|
|
23046
23101
|
* const posts = await queryGlobalFeed()
|
|
@@ -23123,88 +23178,12 @@ queryGlobalFeed.locally = (query) => {
|
|
|
23123
23178
|
: undefined;
|
|
23124
23179
|
};
|
|
23125
23180
|
|
|
23126
|
-
|
|
23127
|
-
id: feed.query.custom_ranking_feed
|
|
23128
|
-
*/
|
|
23129
|
-
/**
|
|
23130
|
-
* ```js
|
|
23131
|
-
* import { FeedRepository } from '@amityco/ts-sdk'
|
|
23132
|
-
* const posts = await FeedRepository.getCustomRankingGlobalFeed()
|
|
23133
|
-
* ```
|
|
23134
|
-
*
|
|
23135
|
-
* Queries a paginable list of {@link Amity.Post} objects
|
|
23136
|
-
*
|
|
23137
|
-
* @param query The query parameters
|
|
23138
|
-
* @returns A page of {@link Amity.Post} objects
|
|
23139
|
-
*
|
|
23140
|
-
* @category Feed API
|
|
23141
|
-
* @async
|
|
23142
|
-
* */
|
|
23143
|
-
const getCustomRankingGlobalFeed = async (query) => {
|
|
23144
|
-
const client = getActiveClient();
|
|
23145
|
-
client.log('feed/getCustomRankingGlobalFeed', query);
|
|
23146
|
-
const _a = query !== null && query !== void 0 ? query : {}, { queryToken, limit } = _a, params = __rest(_a, ["queryToken", "limit"]);
|
|
23147
|
-
const options = (() => {
|
|
23148
|
-
if (queryToken)
|
|
23149
|
-
return { token: queryToken };
|
|
23150
|
-
return undefined;
|
|
23151
|
-
})();
|
|
23152
|
-
const { data: queryPayload } = await client.http.get(`/api/v5/me/global-feeds`, {
|
|
23153
|
-
params: Object.assign(Object.assign({}, params), { limit: !queryToken ? limit : undefined, options }),
|
|
23154
|
-
});
|
|
23155
|
-
const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
|
|
23156
|
-
const data = prepareMembershipPayload(payload, 'communityUsers');
|
|
23157
|
-
const { posts } = data;
|
|
23158
|
-
const cachedAt = client.cache && Date.now();
|
|
23159
|
-
if (client.cache) {
|
|
23160
|
-
ingestInCache(data);
|
|
23161
|
-
const cacheKey = ['customGlobalFeed', 'query', Object.assign(Object.assign({}, params), { options })];
|
|
23162
|
-
pushToCache(cacheKey, { posts: posts.map(getResolver('post')), paging });
|
|
23163
|
-
}
|
|
23164
|
-
return { data: posts.map(LinkedObject.post), cachedAt, paging };
|
|
23165
|
-
};
|
|
23166
|
-
/* end_public_function */
|
|
23167
|
-
/**
|
|
23168
|
-
* ```js
|
|
23169
|
-
* import { FeedRepository } from '@amityco/ts-sdk'
|
|
23170
|
-
* const posts = await FeedRepository.getCustomRankingGlobalFeed.locally()
|
|
23171
|
-
* ```
|
|
23172
|
-
*
|
|
23173
|
-
* Queries a paginable list of {@link Amity.Post} objects from cache
|
|
23174
|
-
*
|
|
23175
|
-
* @param query The query parameters
|
|
23176
|
-
* @returns A page of {@link Amity.Post} objects
|
|
23177
|
-
*
|
|
23178
|
-
* @category Feed API
|
|
23179
|
-
* @async
|
|
23180
|
-
* */
|
|
23181
|
-
getCustomRankingGlobalFeed.locally = (query) => {
|
|
23182
|
-
var _a, _b;
|
|
23183
|
-
const client = getActiveClient();
|
|
23184
|
-
client.log('post/getCustomRankingGlobalFeed.locally', query);
|
|
23185
|
-
if (!client.cache)
|
|
23186
|
-
return;
|
|
23187
|
-
const params = __rest(query !== null && query !== void 0 ? query : {}, []);
|
|
23188
|
-
const queryKey = ['customGlobalFeed', 'query', Object.assign({}, params)];
|
|
23189
|
-
const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
|
|
23190
|
-
if (!(data === null || data === void 0 ? void 0 : data.posts.length))
|
|
23191
|
-
return;
|
|
23192
|
-
const posts = data.posts
|
|
23193
|
-
.map(postId => pullFromCache(['post', 'get', postId]))
|
|
23194
|
-
.filter(Boolean)
|
|
23195
|
-
.map(({ data }) => data);
|
|
23196
|
-
const { paging } = data;
|
|
23197
|
-
return posts.length === ((_b = data === null || data === void 0 ? void 0 : data.posts) === null || _b === void 0 ? void 0 : _b.length)
|
|
23198
|
-
? { data: posts.map(LinkedObject.post), cachedAt, paging }
|
|
23199
|
-
: undefined;
|
|
23200
|
-
};
|
|
23201
|
-
|
|
23202
|
-
class UserFeedPaginationController extends PaginationController {
|
|
23181
|
+
class CustomRankingGlobalFeedPaginationController extends PaginationController {
|
|
23203
23182
|
async getRequest(queryParams, token) {
|
|
23204
|
-
const {
|
|
23183
|
+
const { limit } = queryParams, params = __rest(queryParams, ["limit"]);
|
|
23205
23184
|
const options = token ? { token } : { limit };
|
|
23206
|
-
const { data: queryResponse } = await this.http.get(`/api/
|
|
23207
|
-
params: Object.assign(Object.assign({}, params), { options
|
|
23185
|
+
const { data: queryResponse } = await this.http.get(`/api/v5/me/global-feeds`, {
|
|
23186
|
+
params: Object.assign(Object.assign({}, params), { options }),
|
|
23208
23187
|
});
|
|
23209
23188
|
return queryResponse;
|
|
23210
23189
|
}
|
|
@@ -23223,7 +23202,7 @@ var EnumPostActions;
|
|
|
23223
23202
|
EnumPostActions["OnPostDeclined"] = "onPostDeclined";
|
|
23224
23203
|
})(EnumPostActions || (EnumPostActions = {}));
|
|
23225
23204
|
|
|
23226
|
-
class
|
|
23205
|
+
class CustomRankingGlobalFeedQueryStreamController extends QueryStreamController {
|
|
23227
23206
|
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
23228
23207
|
super(query, cacheKey);
|
|
23229
23208
|
this.notifyChange = notifyChange;
|
|
@@ -23252,40 +23231,28 @@ class UserFeedQueryStreamController extends QueryStreamController {
|
|
|
23252
23231
|
}
|
|
23253
23232
|
reactor(action) {
|
|
23254
23233
|
return (post) => {
|
|
23255
|
-
var _a
|
|
23234
|
+
var _a;
|
|
23256
23235
|
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
23257
23236
|
if (!collection)
|
|
23258
23237
|
return;
|
|
23259
|
-
|
|
23260
|
-
// post is not included in the collection or post is child post
|
|
23261
|
-
if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
|
|
23262
|
-
!collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
|
|
23238
|
+
if (post.parentPostId && !collection.data.includes(post.parentPostId))
|
|
23263
23239
|
return;
|
|
23240
|
+
// Delete Action
|
|
23264
23241
|
if (action === EnumPostActions.OnPostDeleted) {
|
|
23265
|
-
|
|
23266
|
-
}
|
|
23267
|
-
if (post.parentPostId && post.isDeleted) {
|
|
23268
|
-
const parentPost = (_b = pullFromCache([
|
|
23269
|
-
'post',
|
|
23270
|
-
'get',
|
|
23271
|
-
post.parentPostId,
|
|
23272
|
-
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
23273
|
-
if (!parentPost)
|
|
23274
|
-
return;
|
|
23275
|
-
parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
|
|
23276
|
-
pushToCache(['post', 'get', parentPost.postId], parentPost);
|
|
23277
|
-
}
|
|
23278
|
-
if (action === EnumPostActions.OnPostDeclined) {
|
|
23242
|
+
// Parent Post - Remove from collection
|
|
23279
23243
|
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
23280
23244
|
}
|
|
23281
23245
|
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
23282
|
-
|
|
23283
|
-
|
|
23284
|
-
!this.query.dataTypes.includes(post.dataType))
|
|
23285
|
-
|
|
23246
|
+
// If the query has dataTypes array with value, check if post.dataType is include in the array
|
|
23247
|
+
if (this.query.dataTypes && this.query.dataTypes.length > 0) {
|
|
23248
|
+
if (!this.query.dataTypes.includes(post.dataType))
|
|
23249
|
+
return;
|
|
23286
23250
|
}
|
|
23287
23251
|
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
23288
23252
|
}
|
|
23253
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
23254
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
23255
|
+
}
|
|
23289
23256
|
pushToCache(this.cacheKey, collection);
|
|
23290
23257
|
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
23291
23258
|
};
|
|
@@ -23589,6 +23556,12 @@ const deleteComment = async (commentId, permanent = false) => {
|
|
|
23589
23556
|
});
|
|
23590
23557
|
// to support hard deletion
|
|
23591
23558
|
const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true });
|
|
23559
|
+
if (permanent) {
|
|
23560
|
+
scheduleTask(() => pushToTombstone('comment', commentId));
|
|
23561
|
+
}
|
|
23562
|
+
else {
|
|
23563
|
+
upsertInCache(['comment', 'get', commentId], { isDeleted: true });
|
|
23564
|
+
}
|
|
23592
23565
|
if (comment.data.referenceType === 'story') {
|
|
23593
23566
|
const story = await getStoryByStoryId$1(comment.data.referenceId);
|
|
23594
23567
|
fireEvent('local.story.updated', {
|
|
@@ -23633,12 +23606,6 @@ const deleteComment = async (commentId, permanent = false) => {
|
|
|
23633
23606
|
users: [],
|
|
23634
23607
|
communityUsers: [],
|
|
23635
23608
|
});
|
|
23636
|
-
if (permanent) {
|
|
23637
|
-
scheduleTask(() => pushToTombstone('comment', commentId));
|
|
23638
|
-
}
|
|
23639
|
-
else {
|
|
23640
|
-
upsertInCache(['comment', 'get', commentId], { isDeleted: true });
|
|
23641
|
-
}
|
|
23642
23609
|
return deleted;
|
|
23643
23610
|
};
|
|
23644
23611
|
/* end_public_function */
|
|
@@ -24238,20 +24205,20 @@ getPost$1.locally = (postId) => {
|
|
|
24238
24205
|
|
|
24239
24206
|
/**
|
|
24240
24207
|
* ```js
|
|
24241
|
-
* import {
|
|
24242
|
-
* const dispose =
|
|
24208
|
+
* import { onLocalPostDeleted } from '@amityco/ts-sdk'
|
|
24209
|
+
* const dispose = onLocalPostDeleted(post => {
|
|
24243
24210
|
* // ...
|
|
24244
24211
|
* })
|
|
24245
24212
|
* ```
|
|
24246
24213
|
*
|
|
24247
|
-
* Fired when a {@link Amity.InternalPost} has been
|
|
24214
|
+
* Fired when a {@link Amity.InternalPost} has been deleted
|
|
24248
24215
|
*
|
|
24249
24216
|
* @param callback The function to call when the event was fired
|
|
24250
24217
|
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
24251
24218
|
*
|
|
24252
24219
|
* @category Post Events
|
|
24253
24220
|
*/
|
|
24254
|
-
const
|
|
24221
|
+
const onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
|
|
24255
24222
|
|
|
24256
24223
|
/**
|
|
24257
24224
|
* ```js
|
|
@@ -24313,29 +24280,74 @@ const onLocalPostReactionRemoved = (callback) => {
|
|
|
24313
24280
|
|
|
24314
24281
|
/**
|
|
24315
24282
|
* ```js
|
|
24316
|
-
* import {
|
|
24317
|
-
* const dispose =
|
|
24283
|
+
* import { onPostUpdatedLocal } from '@amityco/ts-sdk'
|
|
24284
|
+
* const dispose = onPostUpdatedLocal(post => {
|
|
24318
24285
|
* // ...
|
|
24319
24286
|
* })
|
|
24320
24287
|
* ```
|
|
24321
24288
|
*
|
|
24322
|
-
* Fired when a {@link Amity.InternalPost} has been
|
|
24289
|
+
* Fired when a {@link Amity.InternalPost} has been updated
|
|
24323
24290
|
*
|
|
24324
24291
|
* @param callback The function to call when the event was fired
|
|
24325
24292
|
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
24326
24293
|
*
|
|
24327
24294
|
* @category Post Events
|
|
24328
24295
|
*/
|
|
24329
|
-
const
|
|
24296
|
+
const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
|
|
24330
24297
|
|
|
24331
|
-
|
|
24298
|
+
const commentEventHandler$1 = (callback, eventHandler, cacheKey) => {
|
|
24299
|
+
return eventHandler(async (comment) => {
|
|
24300
|
+
var _a;
|
|
24301
|
+
const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24302
|
+
if (!currentCollection || !currentCollection.data.includes(comment.referenceId))
|
|
24303
|
+
return;
|
|
24304
|
+
await getPost$1(comment.referenceId);
|
|
24305
|
+
callback(comment);
|
|
24306
|
+
});
|
|
24307
|
+
};
|
|
24308
|
+
const generateCommentSubscriptions$1 = (cacheKey) => {
|
|
24309
|
+
const eventHandlers = [
|
|
24310
|
+
onCommentCreated,
|
|
24311
|
+
onCommentDeleted,
|
|
24312
|
+
onCommentReactionAdded,
|
|
24313
|
+
onCommentReactionRemoved,
|
|
24314
|
+
onCommentCreatedLocal,
|
|
24315
|
+
onCommentDeleteLocal,
|
|
24316
|
+
onLocalCommentReactionAdded,
|
|
24317
|
+
onLocalCommentReactionRemoved,
|
|
24318
|
+
];
|
|
24319
|
+
return eventHandlers.map(handler => ({
|
|
24320
|
+
fn: convertEventPayload((callback) => commentEventHandler$1(callback, handler, cacheKey), 'referenceId', 'post'),
|
|
24321
|
+
action: EnumPostActions.OnPostUpdated,
|
|
24322
|
+
}));
|
|
24323
|
+
};
|
|
24324
|
+
const getGlobalFeedSubscriptions = (cacheKey) => {
|
|
24325
|
+
return [
|
|
24326
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
24327
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
24328
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
24329
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24330
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
24331
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
24332
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
24333
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
24334
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24335
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24336
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24337
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24338
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24339
|
+
...generateCommentSubscriptions$1(cacheKey),
|
|
24340
|
+
];
|
|
24341
|
+
};
|
|
24342
|
+
|
|
24343
|
+
class CustomRankingGlobalFeedLiveCollectionController extends LiveCollectionController {
|
|
24332
24344
|
constructor(query, callback) {
|
|
24333
24345
|
const queryStreamId = hash__default["default"](query);
|
|
24334
|
-
const cacheKey = ['
|
|
24335
|
-
const paginationController = new
|
|
24346
|
+
const cacheKey = ['customRankingGlobalFeed', 'collection', queryStreamId];
|
|
24347
|
+
const paginationController = new CustomRankingGlobalFeedPaginationController(query);
|
|
24336
24348
|
super(paginationController, queryStreamId, cacheKey, callback);
|
|
24337
24349
|
this.query = query;
|
|
24338
|
-
this.queryStreamController = new
|
|
24350
|
+
this.queryStreamController = new CustomRankingGlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
24339
24351
|
this.callback = callback.bind(this);
|
|
24340
24352
|
this.loadPage({ initial: true });
|
|
24341
24353
|
}
|
|
@@ -24356,54 +24368,14 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
|
|
|
24356
24368
|
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
24357
24369
|
}
|
|
24358
24370
|
startSubscription() {
|
|
24359
|
-
return this.queryStreamController.subscribeRTE(
|
|
24360
|
-
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
24361
|
-
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
24362
|
-
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
24363
|
-
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24364
|
-
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
24365
|
-
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
24366
|
-
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
24367
|
-
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
24368
|
-
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24369
|
-
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24370
|
-
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24371
|
-
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24372
|
-
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24373
|
-
{
|
|
24374
|
-
fn: convertEventPayload((callback) => {
|
|
24375
|
-
return onCommentCreated(async (comment) => {
|
|
24376
|
-
var _a;
|
|
24377
|
-
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24378
|
-
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
24379
|
-
return;
|
|
24380
|
-
await getPost$1(comment.referenceId);
|
|
24381
|
-
callback(comment);
|
|
24382
|
-
});
|
|
24383
|
-
}, 'referenceId', 'post'),
|
|
24384
|
-
action: EnumPostActions.OnPostUpdated,
|
|
24385
|
-
},
|
|
24386
|
-
{
|
|
24387
|
-
fn: convertEventPayload((callback) => {
|
|
24388
|
-
return onCommentDeleted(async (comment) => {
|
|
24389
|
-
var _a;
|
|
24390
|
-
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24391
|
-
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
24392
|
-
return;
|
|
24393
|
-
await getPost$1(comment.referenceId);
|
|
24394
|
-
callback(comment);
|
|
24395
|
-
});
|
|
24396
|
-
}, 'referenceId', 'post'),
|
|
24397
|
-
action: EnumPostActions.OnPostUpdated,
|
|
24398
|
-
},
|
|
24399
|
-
]);
|
|
24371
|
+
return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
|
|
24400
24372
|
}
|
|
24401
24373
|
notifyChange({ origin, loading, error }) {
|
|
24402
24374
|
var _a, _b;
|
|
24403
24375
|
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24404
24376
|
if (!collection)
|
|
24405
24377
|
return;
|
|
24406
|
-
const data =
|
|
24378
|
+
const data = ((_b = collection.data
|
|
24407
24379
|
.map(id => pullFromCache(['post', 'get', id]))
|
|
24408
24380
|
.filter(isNonNullable)
|
|
24409
24381
|
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
@@ -24417,74 +24389,433 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
|
|
|
24417
24389
|
error,
|
|
24418
24390
|
});
|
|
24419
24391
|
}
|
|
24420
|
-
applyFilter(data) {
|
|
24421
|
-
var _a;
|
|
24422
|
-
let posts = data;
|
|
24423
|
-
if (!this.query.includeDeleted) {
|
|
24424
|
-
posts = filterByPropEquality(posts, 'isDeleted', false);
|
|
24425
|
-
}
|
|
24426
|
-
if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
24427
|
-
posts = filterByPostDataTypes(posts, this.query.dataTypes);
|
|
24428
|
-
}
|
|
24429
|
-
switch (this.query.sortBy) {
|
|
24430
|
-
case 'firstCreated':
|
|
24431
|
-
posts = posts.sort(sortByFirstCreated);
|
|
24432
|
-
break;
|
|
24433
|
-
case 'lastCreated':
|
|
24434
|
-
default:
|
|
24435
|
-
posts = posts.sort(sortByLastCreated);
|
|
24436
|
-
break;
|
|
24437
|
-
}
|
|
24438
|
-
return posts;
|
|
24439
|
-
}
|
|
24440
24392
|
}
|
|
24441
24393
|
|
|
24442
24394
|
/* begin_public_function
|
|
24443
|
-
id: feed.query.
|
|
24395
|
+
id: feed.query.custom_ranking_feed
|
|
24444
24396
|
*/
|
|
24445
24397
|
/**
|
|
24446
24398
|
* ```js
|
|
24447
24399
|
* import { FeedRepository } from '@amityco/ts-sdk'
|
|
24448
24400
|
*
|
|
24449
24401
|
* let posts = []
|
|
24450
|
-
* const
|
|
24451
|
-
*
|
|
24452
|
-
*
|
|
24453
|
-
* }, response =>
|
|
24402
|
+
* const unsub = FeedRepository.getGlobalFeed({
|
|
24403
|
+
* dataTypes: ['video','image'],
|
|
24404
|
+
* resolveParent: true,
|
|
24405
|
+
* }, response => processResponse(response))
|
|
24454
24406
|
* ```
|
|
24455
24407
|
*
|
|
24456
|
-
* Observe all mutations on a list of {@link Amity.Post} for a given
|
|
24408
|
+
* Observe all mutations on a list of {@link Amity.Post} for a given target object
|
|
24457
24409
|
*
|
|
24458
|
-
* @param params.
|
|
24459
|
-
* @param params.feedSources the sources of the feed
|
|
24410
|
+
* @param params.dataTypes array of data types for the posts
|
|
24460
24411
|
* @param callback the function to call when new data are available
|
|
24461
24412
|
* @param config
|
|
24462
24413
|
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
24463
24414
|
*
|
|
24464
24415
|
* @category Posts Live Collection
|
|
24465
24416
|
*/
|
|
24466
|
-
const
|
|
24417
|
+
const getCustomRankingGlobalFeed = (params, callback, config) => {
|
|
24467
24418
|
const { log, cache } = getActiveClient();
|
|
24468
24419
|
if (!cache) {
|
|
24469
24420
|
console.log(ENABLE_CACHE_MESSAGE);
|
|
24470
24421
|
}
|
|
24471
24422
|
const timestamp = Date.now();
|
|
24472
|
-
log(`
|
|
24473
|
-
const
|
|
24474
|
-
const disposers =
|
|
24475
|
-
const cacheKey =
|
|
24423
|
+
log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > listen`);
|
|
24424
|
+
const liveCollection = new CustomRankingGlobalFeedLiveCollectionController(params, callback);
|
|
24425
|
+
const disposers = liveCollection.startSubscription();
|
|
24426
|
+
const cacheKey = liveCollection.getCacheKey();
|
|
24476
24427
|
disposers.push(() => dropFromCache(cacheKey));
|
|
24477
24428
|
return () => {
|
|
24478
|
-
log(`
|
|
24429
|
+
log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > dispose`);
|
|
24479
24430
|
disposers.forEach(fn => fn());
|
|
24480
24431
|
};
|
|
24481
24432
|
};
|
|
24482
24433
|
/* end_public_function */
|
|
24483
24434
|
|
|
24484
|
-
|
|
24485
|
-
|
|
24486
|
-
|
|
24435
|
+
class GlobalFeedPaginationController extends PaginationController {
|
|
24436
|
+
async getRequest(queryParams, token) {
|
|
24437
|
+
const { limit, resolveParent } = queryParams, params = __rest(queryParams, ["limit", "resolveParent"]);
|
|
24438
|
+
const options = token ? { token } : { limit };
|
|
24439
|
+
const { data: queryResponse } = await this.http.get(`/api/v4/me/global-feeds`, {
|
|
24440
|
+
params: Object.assign(Object.assign({}, params), { resolveParent: resolveParent !== null && resolveParent !== void 0 ? resolveParent : true, options }),
|
|
24441
|
+
});
|
|
24442
|
+
return queryResponse;
|
|
24443
|
+
}
|
|
24444
|
+
}
|
|
24445
|
+
|
|
24446
|
+
class GlobalFeedQueryStreamController extends QueryStreamController {
|
|
24447
|
+
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
24448
|
+
super(query, cacheKey);
|
|
24449
|
+
this.notifyChange = notifyChange;
|
|
24450
|
+
this.preparePayload = preparePayload;
|
|
24451
|
+
}
|
|
24452
|
+
async saveToMainDB(response) {
|
|
24453
|
+
const processedPayload = await this.preparePayload(response);
|
|
24454
|
+
const client = getActiveClient();
|
|
24455
|
+
const cachedAt = client.cache && Date.now();
|
|
24456
|
+
if (client.cache) {
|
|
24457
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
24458
|
+
}
|
|
24459
|
+
}
|
|
24460
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
24461
|
+
var _a, _b;
|
|
24462
|
+
if (refresh) {
|
|
24463
|
+
pushToCache(this.cacheKey, {
|
|
24464
|
+
data: response.posts.map(getResolver('post')),
|
|
24465
|
+
});
|
|
24466
|
+
}
|
|
24467
|
+
else {
|
|
24468
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24469
|
+
const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
24470
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
|
|
24471
|
+
}
|
|
24472
|
+
}
|
|
24473
|
+
reactor(action) {
|
|
24474
|
+
return (post) => {
|
|
24475
|
+
var _a;
|
|
24476
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24477
|
+
if (!collection)
|
|
24478
|
+
return;
|
|
24479
|
+
if (post.parentPostId && !collection.data.includes(post.parentPostId))
|
|
24480
|
+
return;
|
|
24481
|
+
// Delete Action
|
|
24482
|
+
if (action === EnumPostActions.OnPostDeleted) {
|
|
24483
|
+
// Parent Post - Remove from collection
|
|
24484
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
24485
|
+
}
|
|
24486
|
+
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
24487
|
+
// If the query has dataTypes array with value, check if post.dataType is include in the array
|
|
24488
|
+
if (this.query.dataTypes && this.query.dataTypes.length > 0) {
|
|
24489
|
+
if (!this.query.dataTypes.includes(post.dataType))
|
|
24490
|
+
return;
|
|
24491
|
+
}
|
|
24492
|
+
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
24493
|
+
}
|
|
24494
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
24495
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
24496
|
+
}
|
|
24497
|
+
pushToCache(this.cacheKey, collection);
|
|
24498
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
24499
|
+
};
|
|
24500
|
+
}
|
|
24501
|
+
subscribeRTE(createSubscriber) {
|
|
24502
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
24503
|
+
}
|
|
24504
|
+
}
|
|
24505
|
+
|
|
24506
|
+
class GlobalFeedLiveCollectionController extends LiveCollectionController {
|
|
24507
|
+
constructor(query, callback) {
|
|
24508
|
+
const queryStreamId = hash__default["default"](query);
|
|
24509
|
+
const cacheKey = ['globalFeed', 'collection', queryStreamId];
|
|
24510
|
+
const paginationController = new GlobalFeedPaginationController(query);
|
|
24511
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
24512
|
+
this.query = query;
|
|
24513
|
+
this.queryStreamController = new GlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
24514
|
+
this.callback = callback.bind(this);
|
|
24515
|
+
this.loadPage({ initial: true });
|
|
24516
|
+
}
|
|
24517
|
+
setup() {
|
|
24518
|
+
var _a;
|
|
24519
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24520
|
+
if (!collection) {
|
|
24521
|
+
pushToCache(this.cacheKey, {
|
|
24522
|
+
data: [],
|
|
24523
|
+
params: {},
|
|
24524
|
+
});
|
|
24525
|
+
}
|
|
24526
|
+
}
|
|
24527
|
+
async persistModel(queryPayload) {
|
|
24528
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
24529
|
+
}
|
|
24530
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
24531
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
24532
|
+
}
|
|
24533
|
+
startSubscription() {
|
|
24534
|
+
return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
|
|
24535
|
+
}
|
|
24536
|
+
notifyChange({ origin, loading, error }) {
|
|
24537
|
+
var _a, _b;
|
|
24538
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24539
|
+
if (!collection)
|
|
24540
|
+
return;
|
|
24541
|
+
const data = ((_b = collection.data
|
|
24542
|
+
.map(id => pullFromCache(['post', 'get', id]))
|
|
24543
|
+
.filter(isNonNullable)
|
|
24544
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
24545
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
24546
|
+
return;
|
|
24547
|
+
this.callback({
|
|
24548
|
+
onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
|
|
24549
|
+
data,
|
|
24550
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
24551
|
+
loading,
|
|
24552
|
+
error,
|
|
24553
|
+
});
|
|
24554
|
+
}
|
|
24555
|
+
}
|
|
24556
|
+
|
|
24557
|
+
/* begin_public_function
|
|
24558
|
+
id: feed.query.global_feed
|
|
24559
|
+
*/
|
|
24560
|
+
/**
|
|
24561
|
+
* ```js
|
|
24562
|
+
* import { FeedRepository } from '@amityco/ts-sdk'
|
|
24563
|
+
*
|
|
24564
|
+
* let posts = []
|
|
24565
|
+
* const unsub = FeedRepository.getGlobalFeed({
|
|
24566
|
+
* dataTypes: ['video','image'],
|
|
24567
|
+
* resolveParent: true,
|
|
24568
|
+
* }, response => processResponse(response))
|
|
24569
|
+
* ```
|
|
24570
|
+
*
|
|
24571
|
+
* Observe all mutations on a list of {@link Amity.Post} for global feed
|
|
24572
|
+
* @param params.dataTypes array of data types for the posts
|
|
24573
|
+
* @param params.resolveParent
|
|
24574
|
+
* @param callback the function to call when new data are available
|
|
24575
|
+
* @param config
|
|
24576
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
24577
|
+
*
|
|
24578
|
+
* @category Posts Live Collection
|
|
24579
|
+
*/
|
|
24580
|
+
const getGlobalFeed = (params, callback, config) => {
|
|
24581
|
+
const { log, cache } = getActiveClient();
|
|
24582
|
+
if (!cache) {
|
|
24583
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
24584
|
+
}
|
|
24585
|
+
const timestamp = Date.now();
|
|
24586
|
+
log(`getGlobalFeed(tmpid: ${timestamp}) > listen`);
|
|
24587
|
+
const liveCollection = new GlobalFeedLiveCollectionController(params, callback);
|
|
24588
|
+
const disposers = liveCollection.startSubscription();
|
|
24589
|
+
const cacheKey = liveCollection.getCacheKey();
|
|
24590
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
24591
|
+
return () => {
|
|
24592
|
+
log(`getGlobalFeed(tmpid: ${timestamp}) > dispose`);
|
|
24593
|
+
disposers.forEach(fn => fn());
|
|
24594
|
+
};
|
|
24595
|
+
};
|
|
24596
|
+
/* end_public_function */
|
|
24597
|
+
|
|
24598
|
+
class UserFeedPaginationController extends PaginationController {
|
|
24599
|
+
async getRequest(queryParams, token) {
|
|
24600
|
+
const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
|
|
24601
|
+
const options = token ? { token } : { limit };
|
|
24602
|
+
const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
|
|
24603
|
+
params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
|
|
24604
|
+
});
|
|
24605
|
+
return queryResponse;
|
|
24606
|
+
}
|
|
24607
|
+
}
|
|
24608
|
+
|
|
24609
|
+
class UserFeedQueryStreamController extends QueryStreamController {
|
|
24610
|
+
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
24611
|
+
super(query, cacheKey);
|
|
24612
|
+
this.notifyChange = notifyChange;
|
|
24613
|
+
this.preparePayload = preparePayload;
|
|
24614
|
+
}
|
|
24615
|
+
async saveToMainDB(response) {
|
|
24616
|
+
const processedPayload = await this.preparePayload(response);
|
|
24617
|
+
const client = getActiveClient();
|
|
24618
|
+
const cachedAt = client.cache && Date.now();
|
|
24619
|
+
if (client.cache) {
|
|
24620
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
24621
|
+
}
|
|
24622
|
+
}
|
|
24623
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
24624
|
+
var _a, _b;
|
|
24625
|
+
if (refresh) {
|
|
24626
|
+
pushToCache(this.cacheKey, {
|
|
24627
|
+
data: response.posts.map(getResolver('post')),
|
|
24628
|
+
});
|
|
24629
|
+
}
|
|
24630
|
+
else {
|
|
24631
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24632
|
+
const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
24633
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
|
|
24634
|
+
}
|
|
24635
|
+
}
|
|
24636
|
+
reactor(action) {
|
|
24637
|
+
return (post) => {
|
|
24638
|
+
var _a, _b;
|
|
24639
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24640
|
+
if (!collection)
|
|
24641
|
+
return;
|
|
24642
|
+
// if the collection is parent post collection and
|
|
24643
|
+
// post is not included in the collection or post is child post
|
|
24644
|
+
if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
|
|
24645
|
+
!collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
|
|
24646
|
+
return;
|
|
24647
|
+
if (action === EnumPostActions.OnPostDeleted) {
|
|
24648
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
24649
|
+
}
|
|
24650
|
+
if (post.parentPostId && post.isDeleted) {
|
|
24651
|
+
const parentPost = (_b = pullFromCache([
|
|
24652
|
+
'post',
|
|
24653
|
+
'get',
|
|
24654
|
+
post.parentPostId,
|
|
24655
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
24656
|
+
if (!parentPost)
|
|
24657
|
+
return;
|
|
24658
|
+
parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
|
|
24659
|
+
pushToCache(['post', 'get', parentPost.postId], parentPost);
|
|
24660
|
+
}
|
|
24661
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
24662
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
24663
|
+
}
|
|
24664
|
+
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
24665
|
+
if (this.query.dataTypes &&
|
|
24666
|
+
this.query.dataTypes.length > 0 &&
|
|
24667
|
+
!this.query.dataTypes.includes(post.dataType)) {
|
|
24668
|
+
return;
|
|
24669
|
+
}
|
|
24670
|
+
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
24671
|
+
}
|
|
24672
|
+
pushToCache(this.cacheKey, collection);
|
|
24673
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
24674
|
+
};
|
|
24675
|
+
}
|
|
24676
|
+
subscribeRTE(createSubscriber) {
|
|
24677
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
24678
|
+
}
|
|
24679
|
+
}
|
|
24680
|
+
|
|
24681
|
+
class UserFeedLiveCollectionController extends LiveCollectionController {
|
|
24682
|
+
constructor(query, callback) {
|
|
24683
|
+
const queryStreamId = hash__default["default"](query);
|
|
24684
|
+
const cacheKey = ['userFeed', 'collection', queryStreamId];
|
|
24685
|
+
const paginationController = new UserFeedPaginationController(query);
|
|
24686
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
24687
|
+
this.query = query;
|
|
24688
|
+
this.queryStreamController = new UserFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
24689
|
+
this.callback = callback.bind(this);
|
|
24690
|
+
this.loadPage({ initial: true });
|
|
24691
|
+
}
|
|
24692
|
+
setup() {
|
|
24693
|
+
var _a;
|
|
24694
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24695
|
+
if (!collection) {
|
|
24696
|
+
pushToCache(this.cacheKey, {
|
|
24697
|
+
data: [],
|
|
24698
|
+
params: {},
|
|
24699
|
+
});
|
|
24700
|
+
}
|
|
24701
|
+
}
|
|
24702
|
+
async persistModel(queryPayload) {
|
|
24703
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
24704
|
+
}
|
|
24705
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
24706
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
24707
|
+
}
|
|
24708
|
+
startSubscription() {
|
|
24709
|
+
return this.queryStreamController.subscribeRTE([
|
|
24710
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
24711
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
24712
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
24713
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24714
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
24715
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
24716
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
24717
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
24718
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24719
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24720
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
24721
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
24722
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
24723
|
+
{
|
|
24724
|
+
fn: convertEventPayload((callback) => {
|
|
24725
|
+
return onCommentCreated(async (comment) => {
|
|
24726
|
+
var _a;
|
|
24727
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24728
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
24729
|
+
return;
|
|
24730
|
+
await getPost$1(comment.referenceId);
|
|
24731
|
+
callback(comment);
|
|
24732
|
+
});
|
|
24733
|
+
}, 'referenceId', 'post'),
|
|
24734
|
+
action: EnumPostActions.OnPostUpdated,
|
|
24735
|
+
},
|
|
24736
|
+
{
|
|
24737
|
+
fn: convertEventPayload((callback) => {
|
|
24738
|
+
return onCommentDeleted(async (comment) => {
|
|
24739
|
+
var _a;
|
|
24740
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24741
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
24742
|
+
return;
|
|
24743
|
+
await getPost$1(comment.referenceId);
|
|
24744
|
+
callback(comment);
|
|
24745
|
+
});
|
|
24746
|
+
}, 'referenceId', 'post'),
|
|
24747
|
+
action: EnumPostActions.OnPostUpdated,
|
|
24748
|
+
},
|
|
24749
|
+
]);
|
|
24750
|
+
}
|
|
24751
|
+
notifyChange({ origin, loading, error }) {
|
|
24752
|
+
var _a, _b;
|
|
24753
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
24754
|
+
if (!collection)
|
|
24755
|
+
return;
|
|
24756
|
+
const data = ((_b = collection.data
|
|
24757
|
+
.map(id => pullFromCache(['post', 'get', id]))
|
|
24758
|
+
.filter(isNonNullable)
|
|
24759
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
24760
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
24761
|
+
return;
|
|
24762
|
+
this.callback({
|
|
24763
|
+
onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
|
|
24764
|
+
data,
|
|
24765
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
24766
|
+
loading,
|
|
24767
|
+
error,
|
|
24768
|
+
});
|
|
24769
|
+
}
|
|
24770
|
+
}
|
|
24771
|
+
|
|
24772
|
+
/* begin_public_function
|
|
24773
|
+
id: feed.query.user_feed
|
|
24774
|
+
*/
|
|
24775
|
+
/**
|
|
24776
|
+
* ```js
|
|
24777
|
+
* import { FeedRepository } from '@amityco/ts-sdk'
|
|
24778
|
+
*
|
|
24779
|
+
* let posts = []
|
|
24780
|
+
* const unsubscribe = FeedRepository.getUserFeed({
|
|
24781
|
+
* userId: string,
|
|
24782
|
+
* feedSources: ['user', 'community'],
|
|
24783
|
+
* }, response => response => processResponse(response))
|
|
24784
|
+
* ```
|
|
24785
|
+
*
|
|
24786
|
+
* Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
|
|
24787
|
+
*
|
|
24788
|
+
* @param params.userId the ID of the user
|
|
24789
|
+
* @param params.feedSources the sources of the feed
|
|
24790
|
+
* @param callback the function to call when new data are available
|
|
24791
|
+
* @param config
|
|
24792
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
24793
|
+
*
|
|
24794
|
+
* @category Posts Live Collection
|
|
24795
|
+
*/
|
|
24796
|
+
const getUserFeed = (params, callback, config) => {
|
|
24797
|
+
const { log, cache } = getActiveClient();
|
|
24798
|
+
if (!cache) {
|
|
24799
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
24800
|
+
}
|
|
24801
|
+
const timestamp = Date.now();
|
|
24802
|
+
log(`getUserFeed(tmpid: ${timestamp}) > listen`);
|
|
24803
|
+
const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
|
|
24804
|
+
const disposers = userFeedLiveCollection.startSubscription();
|
|
24805
|
+
const cacheKey = userFeedLiveCollection.getCacheKey();
|
|
24806
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
24807
|
+
return () => {
|
|
24808
|
+
log(`getUserFeed(tmpid: ${timestamp}) > dispose`);
|
|
24809
|
+
disposers.forEach(fn => fn());
|
|
24810
|
+
};
|
|
24811
|
+
};
|
|
24812
|
+
/* end_public_function */
|
|
24813
|
+
|
|
24814
|
+
var index$9 = /*#__PURE__*/Object.freeze({
|
|
24815
|
+
__proto__: null,
|
|
24816
|
+
queryGlobalFeed: queryGlobalFeed,
|
|
24487
24817
|
getCustomRankingGlobalFeed: getCustomRankingGlobalFeed,
|
|
24818
|
+
getGlobalFeed: getGlobalFeed,
|
|
24488
24819
|
getUserFeed: getUserFeed
|
|
24489
24820
|
});
|
|
24490
24821
|
|
|
@@ -25149,75 +25480,81 @@ class PostQueryStreamController extends QueryStreamController {
|
|
|
25149
25480
|
}
|
|
25150
25481
|
}
|
|
25151
25482
|
|
|
25483
|
+
const commentEventHandler = (callback, eventHandler, cacheKey, resolveId) => {
|
|
25484
|
+
return eventHandler(async (comment) => {
|
|
25485
|
+
var _a;
|
|
25486
|
+
const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
25487
|
+
if (!currentCollection ||
|
|
25488
|
+
!currentCollection.data.includes(resolveId ? resolveId(comment.referenceId) : comment.referenceId))
|
|
25489
|
+
return;
|
|
25490
|
+
await getPost$1(comment.referenceId);
|
|
25491
|
+
callback(comment);
|
|
25492
|
+
});
|
|
25493
|
+
};
|
|
25494
|
+
const generateCommentSubscriptions = ({ cacheKey, resolveId, }) => {
|
|
25495
|
+
const eventHandlers = [
|
|
25496
|
+
onCommentCreated,
|
|
25497
|
+
onCommentDeleted,
|
|
25498
|
+
onCommentReactionAdded,
|
|
25499
|
+
onCommentReactionRemoved,
|
|
25500
|
+
onCommentCreatedLocal,
|
|
25501
|
+
onCommentDeleteLocal,
|
|
25502
|
+
onLocalCommentReactionAdded,
|
|
25503
|
+
onLocalCommentReactionRemoved,
|
|
25504
|
+
];
|
|
25505
|
+
return eventHandlers.map(handler => ({
|
|
25506
|
+
fn: convertEventPayload((callback) => commentEventHandler(callback, handler, cacheKey, resolveId), 'referenceId', 'post'),
|
|
25507
|
+
action: EnumPostActions.OnPostUpdated,
|
|
25508
|
+
}));
|
|
25509
|
+
};
|
|
25510
|
+
const getPostSubscription = (cacheKey) => {
|
|
25511
|
+
return [
|
|
25512
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
25513
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
25514
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
25515
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
25516
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
25517
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
25518
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
25519
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
25520
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
25521
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
25522
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
25523
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
25524
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
25525
|
+
...generateCommentSubscriptions({ cacheKey }),
|
|
25526
|
+
];
|
|
25527
|
+
};
|
|
25528
|
+
|
|
25152
25529
|
class PostLiveCollectionController extends LiveCollectionController {
|
|
25153
25530
|
constructor(query, callback) {
|
|
25154
25531
|
const queryStreamId = hash__default["default"](query);
|
|
25155
25532
|
const cacheKey = ['posts', 'collection', queryStreamId];
|
|
25156
25533
|
const paginationController = new PostPaginationController(query);
|
|
25157
|
-
super(paginationController, queryStreamId, cacheKey, callback);
|
|
25158
|
-
this.query = query;
|
|
25159
|
-
this.queryStreamController = new PostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
25160
|
-
this.callback = callback.bind(this);
|
|
25161
|
-
this.loadPage({ initial: true });
|
|
25162
|
-
}
|
|
25163
|
-
setup() {
|
|
25164
|
-
var _a;
|
|
25165
|
-
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
25166
|
-
if (!collection) {
|
|
25167
|
-
pushToCache(this.cacheKey, {
|
|
25168
|
-
data: [],
|
|
25169
|
-
params: {},
|
|
25170
|
-
});
|
|
25171
|
-
}
|
|
25172
|
-
}
|
|
25173
|
-
async persistModel(queryPayload) {
|
|
25174
|
-
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
25175
|
-
}
|
|
25176
|
-
persistQueryStream({ response, direction, refresh, }) {
|
|
25177
|
-
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
25178
|
-
}
|
|
25179
|
-
startSubscription() {
|
|
25180
|
-
return this.queryStreamController.subscribeRTE(
|
|
25181
|
-
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
25182
|
-
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
25183
|
-
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
25184
|
-
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
25185
|
-
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
25186
|
-
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
25187
|
-
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
25188
|
-
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
25189
|
-
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
25190
|
-
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
25191
|
-
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
25192
|
-
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
25193
|
-
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
25194
|
-
{
|
|
25195
|
-
fn: convertEventPayload((callback) => {
|
|
25196
|
-
return onCommentCreated(async (comment) => {
|
|
25197
|
-
var _a;
|
|
25198
|
-
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
25199
|
-
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
25200
|
-
return;
|
|
25201
|
-
await getPost$1(comment.referenceId);
|
|
25202
|
-
callback(comment);
|
|
25203
|
-
});
|
|
25204
|
-
}, 'referenceId', 'post'),
|
|
25205
|
-
action: EnumPostActions.OnPostUpdated,
|
|
25206
|
-
},
|
|
25207
|
-
{
|
|
25208
|
-
fn: convertEventPayload((callback) => {
|
|
25209
|
-
return onCommentDeleted(async (comment) => {
|
|
25210
|
-
var _a;
|
|
25211
|
-
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
25212
|
-
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
25213
|
-
return;
|
|
25214
|
-
await getPost$1(comment.referenceId);
|
|
25215
|
-
callback(comment);
|
|
25216
|
-
});
|
|
25217
|
-
}, 'referenceId', 'post'),
|
|
25218
|
-
action: EnumPostActions.OnPostUpdated,
|
|
25219
|
-
},
|
|
25220
|
-
]);
|
|
25534
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
25535
|
+
this.query = query;
|
|
25536
|
+
this.queryStreamController = new PostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
25537
|
+
this.callback = callback.bind(this);
|
|
25538
|
+
this.loadPage({ initial: true });
|
|
25539
|
+
}
|
|
25540
|
+
setup() {
|
|
25541
|
+
var _a;
|
|
25542
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
25543
|
+
if (!collection) {
|
|
25544
|
+
pushToCache(this.cacheKey, {
|
|
25545
|
+
data: [],
|
|
25546
|
+
params: {},
|
|
25547
|
+
});
|
|
25548
|
+
}
|
|
25549
|
+
}
|
|
25550
|
+
async persistModel(queryPayload) {
|
|
25551
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
25552
|
+
}
|
|
25553
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
25554
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
25555
|
+
}
|
|
25556
|
+
startSubscription() {
|
|
25557
|
+
return this.queryStreamController.subscribeRTE(getPostSubscription(this.cacheKey));
|
|
25221
25558
|
}
|
|
25222
25559
|
notifyChange({ origin, loading, error }) {
|
|
25223
25560
|
var _a, _b;
|
|
@@ -25352,6 +25689,22 @@ class PinnedPostQueryStreamController extends QueryStreamController {
|
|
|
25352
25689
|
});
|
|
25353
25690
|
}
|
|
25354
25691
|
}
|
|
25692
|
+
reactor(action) {
|
|
25693
|
+
return (post) => {
|
|
25694
|
+
var _a;
|
|
25695
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
25696
|
+
if (!collection)
|
|
25697
|
+
return;
|
|
25698
|
+
if (action === EnumPostActions.OnPostDeleted) {
|
|
25699
|
+
collection.data = collection.data.filter(referenceId => referenceId !== `global#${post.postId}`);
|
|
25700
|
+
}
|
|
25701
|
+
pushToCache(this.cacheKey, collection);
|
|
25702
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
25703
|
+
};
|
|
25704
|
+
}
|
|
25705
|
+
subscribeRTE(createSubscriber) {
|
|
25706
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
25707
|
+
}
|
|
25355
25708
|
}
|
|
25356
25709
|
|
|
25357
25710
|
class PinnedPostLiveCollectionController extends LiveCollectionController {
|
|
@@ -25383,7 +25736,10 @@ class PinnedPostLiveCollectionController extends LiveCollectionController {
|
|
|
25383
25736
|
}
|
|
25384
25737
|
// eslint-disable-next-line class-methods-use-this
|
|
25385
25738
|
startSubscription() {
|
|
25386
|
-
return
|
|
25739
|
+
return this.queryStreamController.subscribeRTE(generateCommentSubscriptions({
|
|
25740
|
+
cacheKey: this.cacheKey,
|
|
25741
|
+
resolveId: id => `${this.query.placement}#${id}`,
|
|
25742
|
+
}));
|
|
25387
25743
|
}
|
|
25388
25744
|
notifyChange({ origin, loading, error }) {
|
|
25389
25745
|
var _a, _b;
|
|
@@ -25535,6 +25891,10 @@ class GlobalPinnedPostLiveCollectionController extends LiveCollectionController
|
|
|
25535
25891
|
fn: onPostDeleted,
|
|
25536
25892
|
action: EnumPostActions.OnPostDeleted,
|
|
25537
25893
|
},
|
|
25894
|
+
...generateCommentSubscriptions({
|
|
25895
|
+
cacheKey: this.cacheKey,
|
|
25896
|
+
resolveId: id => `global#${id}`,
|
|
25897
|
+
}),
|
|
25538
25898
|
]);
|
|
25539
25899
|
}
|
|
25540
25900
|
notifyChange({ origin, loading, error }) {
|
|
@@ -25814,6 +26174,238 @@ const semanticSearchPosts = (params, callback, config) => {
|
|
|
25814
26174
|
};
|
|
25815
26175
|
};
|
|
25816
26176
|
|
|
26177
|
+
class SearchPostPaginationController extends PaginationController {
|
|
26178
|
+
async getRequest(queryParams, token) {
|
|
26179
|
+
const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, matchingOnlyParentPost, hashtags, dataTypes, targetType = 'all' } = queryParams, params = __rest(queryParams, ["limit", "matchingOnlyParentPost", "hashtags", "dataTypes", "targetType"]);
|
|
26180
|
+
const baseOptions = {
|
|
26181
|
+
type: params.sortBy || queryParams.limit ? 'pagination' : undefined,
|
|
26182
|
+
};
|
|
26183
|
+
const options = token ? Object.assign(Object.assign({}, baseOptions), { token }) : Object.assign(Object.assign({}, baseOptions), { limit });
|
|
26184
|
+
const { data: queryResponse } = await this.http.get(`/api/v1/search/posts`, {
|
|
26185
|
+
params: Object.assign(Object.assign({}, params), { hashtags,
|
|
26186
|
+
dataTypes,
|
|
26187
|
+
targetType,
|
|
26188
|
+
/*
|
|
26189
|
+
* when creating post like image, file, video BE will create 2 posts
|
|
26190
|
+
* 1. parent post to store text with dataType=text
|
|
26191
|
+
* 2. child post to store dataTypes post data
|
|
26192
|
+
*
|
|
26193
|
+
* By default, BE queries only parent post
|
|
26194
|
+
*/
|
|
26195
|
+
matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length), options }),
|
|
26196
|
+
});
|
|
26197
|
+
return queryResponse;
|
|
26198
|
+
}
|
|
26199
|
+
}
|
|
26200
|
+
|
|
26201
|
+
class SearchPostQueryStreamController extends QueryStreamController {
|
|
26202
|
+
constructor(query, cacheKey, notifyChange, preparePayload) {
|
|
26203
|
+
super(query, cacheKey);
|
|
26204
|
+
this.notifyChange = notifyChange;
|
|
26205
|
+
this.preparePayload = preparePayload;
|
|
26206
|
+
}
|
|
26207
|
+
async saveToMainDB(response) {
|
|
26208
|
+
const processedPayload = await this.preparePayload(response);
|
|
26209
|
+
const client = getActiveClient();
|
|
26210
|
+
const cachedAt = client.cache && Date.now();
|
|
26211
|
+
if (client.cache) {
|
|
26212
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
26213
|
+
}
|
|
26214
|
+
}
|
|
26215
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
26216
|
+
var _a, _b;
|
|
26217
|
+
if (refresh) {
|
|
26218
|
+
pushToCache(this.cacheKey, {
|
|
26219
|
+
data: response.posts.map(getResolver('post')),
|
|
26220
|
+
});
|
|
26221
|
+
}
|
|
26222
|
+
else {
|
|
26223
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
26224
|
+
const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
26225
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
|
|
26226
|
+
}
|
|
26227
|
+
}
|
|
26228
|
+
reactor(action) {
|
|
26229
|
+
return (post) => {
|
|
26230
|
+
var _a, _b;
|
|
26231
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
26232
|
+
if (!collection)
|
|
26233
|
+
return;
|
|
26234
|
+
if (post.parentPostId && post.isDeleted) {
|
|
26235
|
+
const parentPost = (_b = pullFromCache([
|
|
26236
|
+
'post',
|
|
26237
|
+
'get',
|
|
26238
|
+
post.parentPostId,
|
|
26239
|
+
])) === null || _b === void 0 ? void 0 : _b.data;
|
|
26240
|
+
if (!parentPost)
|
|
26241
|
+
return;
|
|
26242
|
+
parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
|
|
26243
|
+
pushToCache(['post', 'get', parentPost.postId], parentPost);
|
|
26244
|
+
}
|
|
26245
|
+
if (action === EnumPostActions.OnPostDeclined) {
|
|
26246
|
+
collection.data = collection.data.filter(postId => postId !== post.postId);
|
|
26247
|
+
}
|
|
26248
|
+
if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
|
|
26249
|
+
collection.data = [...new Set([post.postId, ...collection.data])];
|
|
26250
|
+
}
|
|
26251
|
+
pushToCache(this.cacheKey, collection);
|
|
26252
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
26253
|
+
};
|
|
26254
|
+
}
|
|
26255
|
+
subscribeRTE(createSubscriber) {
|
|
26256
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
26257
|
+
}
|
|
26258
|
+
}
|
|
26259
|
+
|
|
26260
|
+
class SearchPostLiveCollectionController extends LiveCollectionController {
|
|
26261
|
+
constructor(query, callback) {
|
|
26262
|
+
const queryStreamId = hash__default["default"](query);
|
|
26263
|
+
const cacheKey = ['posts', 'collection', queryStreamId];
|
|
26264
|
+
const paginationController = new SearchPostPaginationController(query);
|
|
26265
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
26266
|
+
this.query = query;
|
|
26267
|
+
this.queryStreamController = new SearchPostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
|
|
26268
|
+
this.callback = callback.bind(this);
|
|
26269
|
+
this.loadPage({ initial: true });
|
|
26270
|
+
}
|
|
26271
|
+
setup() {
|
|
26272
|
+
var _a;
|
|
26273
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
26274
|
+
if (!collection) {
|
|
26275
|
+
pushToCache(this.cacheKey, {
|
|
26276
|
+
data: [],
|
|
26277
|
+
params: {},
|
|
26278
|
+
});
|
|
26279
|
+
}
|
|
26280
|
+
}
|
|
26281
|
+
async persistModel(queryPayload) {
|
|
26282
|
+
await this.queryStreamController.saveToMainDB(queryPayload);
|
|
26283
|
+
}
|
|
26284
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
26285
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
26286
|
+
}
|
|
26287
|
+
startSubscription() {
|
|
26288
|
+
return this.queryStreamController.subscribeRTE([
|
|
26289
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
26290
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
26291
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
26292
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
26293
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
26294
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
26295
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
26296
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
26297
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
26298
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
26299
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
26300
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
26301
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
26302
|
+
{
|
|
26303
|
+
fn: convertEventPayload((callback) => {
|
|
26304
|
+
return onCommentCreated(async (comment) => {
|
|
26305
|
+
var _a;
|
|
26306
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
26307
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
26308
|
+
return;
|
|
26309
|
+
await getPost$1(comment.referenceId);
|
|
26310
|
+
callback(comment);
|
|
26311
|
+
});
|
|
26312
|
+
}, 'referenceId', 'post'),
|
|
26313
|
+
action: EnumPostActions.OnPostUpdated,
|
|
26314
|
+
},
|
|
26315
|
+
{
|
|
26316
|
+
fn: convertEventPayload((callback) => {
|
|
26317
|
+
return onCommentDeleted(async (comment) => {
|
|
26318
|
+
var _a;
|
|
26319
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
26320
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
26321
|
+
return;
|
|
26322
|
+
await getPost$1(comment.referenceId);
|
|
26323
|
+
callback(comment);
|
|
26324
|
+
});
|
|
26325
|
+
}, 'referenceId', 'post'),
|
|
26326
|
+
action: EnumPostActions.OnPostUpdated,
|
|
26327
|
+
},
|
|
26328
|
+
]);
|
|
26329
|
+
}
|
|
26330
|
+
notifyChange({ origin, loading, error }) {
|
|
26331
|
+
var _a, _b;
|
|
26332
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
26333
|
+
if (!collection)
|
|
26334
|
+
return;
|
|
26335
|
+
const data = this.applyFilter((_b = collection.data
|
|
26336
|
+
.map(id => pullFromCache(['post', 'get', id]))
|
|
26337
|
+
.filter(isNonNullable)
|
|
26338
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
|
|
26339
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
26340
|
+
return;
|
|
26341
|
+
this.callback({
|
|
26342
|
+
onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
|
|
26343
|
+
data,
|
|
26344
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
26345
|
+
loading,
|
|
26346
|
+
error,
|
|
26347
|
+
});
|
|
26348
|
+
}
|
|
26349
|
+
applyFilter(data) {
|
|
26350
|
+
var _a;
|
|
26351
|
+
let posts = data;
|
|
26352
|
+
if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
26353
|
+
posts = filterByPostDataTypes(posts, this.query.dataTypes);
|
|
26354
|
+
}
|
|
26355
|
+
switch (this.query.sortBy) {
|
|
26356
|
+
case 'firstCreated':
|
|
26357
|
+
posts = posts.sort(sortByFirstCreated);
|
|
26358
|
+
break;
|
|
26359
|
+
case 'lastCreated':
|
|
26360
|
+
default:
|
|
26361
|
+
posts = posts.sort(sortByLastCreated);
|
|
26362
|
+
break;
|
|
26363
|
+
}
|
|
26364
|
+
return posts;
|
|
26365
|
+
}
|
|
26366
|
+
}
|
|
26367
|
+
|
|
26368
|
+
/* begin_public_function
|
|
26369
|
+
id: post.query
|
|
26370
|
+
*/
|
|
26371
|
+
/**
|
|
26372
|
+
* ```js
|
|
26373
|
+
* import { PostRepository } from '@amityco/ts-sdk'
|
|
26374
|
+
*
|
|
26375
|
+
* let posts = []
|
|
26376
|
+
* const unsub = PostRepository.searchPostsByHashtag({
|
|
26377
|
+
* hashtags: ['amity'],
|
|
26378
|
+
* limit: 10,
|
|
26379
|
+
* }, response => merge(posts, response.data))
|
|
26380
|
+
* ```
|
|
26381
|
+
*
|
|
26382
|
+
* Observe all mutations on a list of {@link Amity.Post} for a given target object
|
|
26383
|
+
*
|
|
26384
|
+
* @param params.hashtags the hashtags to search for
|
|
26385
|
+
* @param callback the function to call when new data are available
|
|
26386
|
+
* @param config
|
|
26387
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
26388
|
+
*
|
|
26389
|
+
* @category Posts Live Collection
|
|
26390
|
+
*/
|
|
26391
|
+
const searchPostsByHashtag = (params, callback, config) => {
|
|
26392
|
+
const { log, cache } = getActiveClient();
|
|
26393
|
+
if (!cache) {
|
|
26394
|
+
console.log(ENABLE_CACHE_MESSAGE);
|
|
26395
|
+
}
|
|
26396
|
+
const timestamp = Date.now();
|
|
26397
|
+
log(`searchPostsByHashtag(tmpid: ${timestamp}) > listen`);
|
|
26398
|
+
const postsLiveCollection = new SearchPostLiveCollectionController(params, callback);
|
|
26399
|
+
const disposers = postsLiveCollection.startSubscription();
|
|
26400
|
+
const cacheKey = postsLiveCollection.getCacheKey();
|
|
26401
|
+
disposers.push(() => dropFromCache(cacheKey));
|
|
26402
|
+
return () => {
|
|
26403
|
+
log(`searchPostsByHashtag(tmpid: ${timestamp}) > dispose`);
|
|
26404
|
+
disposers.forEach(fn => fn());
|
|
26405
|
+
};
|
|
26406
|
+
};
|
|
26407
|
+
/* end_public_function */
|
|
26408
|
+
|
|
25817
26409
|
var index$8 = /*#__PURE__*/Object.freeze({
|
|
25818
26410
|
__proto__: null,
|
|
25819
26411
|
getPostByIds: getPostByIds,
|
|
@@ -25841,7 +26433,8 @@ var index$8 = /*#__PURE__*/Object.freeze({
|
|
|
25841
26433
|
getPosts: getPosts,
|
|
25842
26434
|
getPinnedPosts: getPinnedPosts,
|
|
25843
26435
|
getGlobalPinnedPosts: getGlobalPinnedPosts,
|
|
25844
|
-
semanticSearchPosts: semanticSearchPosts
|
|
26436
|
+
semanticSearchPosts: semanticSearchPosts,
|
|
26437
|
+
searchPostsByHashtag: searchPostsByHashtag
|
|
25845
26438
|
});
|
|
25846
26439
|
|
|
25847
26440
|
/* begin_public_function
|
|
@@ -26446,8 +27039,8 @@ var index$7 = /*#__PURE__*/Object.freeze({
|
|
|
26446
27039
|
* const created = await createPoll({
|
|
26447
27040
|
* question: 'question',
|
|
26448
27041
|
* answers: [
|
|
26449
|
-
* { dataType: 'text', data: 'answer1' },
|
|
26450
|
-
* { dataType: 'text', data: 'answer2' },
|
|
27042
|
+
* { dataType: 'text', data: 'answer1', fileId: 'fileId1' },
|
|
27043
|
+
* { dataType: 'text', data: 'answer2', fileId: 'fileId2' },
|
|
26451
27044
|
* ],
|
|
26452
27045
|
* closedIn: 1649136484
|
|
26453
27046
|
* }))
|