@amityco/ts-sdk 7.7.1-b4d2931b.0 → 7.7.1-bd711609.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/feed.d.ts +31 -4
- 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 +21 -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/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 +1 -2
- 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/getCustomRankingGlobalFeed.d.ts +37 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js +83 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.d.ts +1 -0
- 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 +1 -0
- 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 +0 -3
- 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 +0 -3
- 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/{dist/feedRepository/observers/getGlobalFeed → .rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed}/LiveCollectionController.d.ts +4 -3
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js +129 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js +15 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/{getGlobalFeed → getUserFeed}/QueryStreamController.d.ts +3 -3
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/{getCustomRankingGlobalFeed → getUserFeed}/QueryStreamController.js +27 -15
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js +46 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts +1 -2
- 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 +1 -2
- 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/postRepository/events/utils.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.js +1 -26
- 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 +0 -5
- 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 +1 -5
- 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 +0 -6
- 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 +0 -17
- 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 +50 -2
- 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/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 +4 -9
- 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/feed.d.ts +31 -4
- package/dist/@types/domains/feed.d.ts.map +1 -1
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +37 -0
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -0
- package/dist/feedRepository/api/index.d.ts +1 -0
- package/dist/feedRepository/api/index.d.ts.map +1 -1
- package/dist/feedRepository/api/queryGlobalFeed.d.ts +0 -3
- 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/{.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed → dist/feedRepository/observers/getUserFeed}/LiveCollectionController.d.ts +4 -3
- package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
- package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
- package/dist/feedRepository/observers/{getGlobalFeed → getUserFeed}/QueryStreamController.d.ts +3 -3
- package/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
- package/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
- package/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
- package/dist/feedRepository/observers/index.d.ts +1 -2
- package/dist/feedRepository/observers/index.d.ts.map +1 -1
- package/dist/index.cjs.js +245 -366
- package/dist/index.esm.js +245 -366
- package/dist/index.umd.js +4 -4
- 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 +0 -6
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
- package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
- package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
- package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
- package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/domains/feed.ts +38 -11
- package/src/commentRepository/api/deleteComment.ts +6 -6
- package/src/core/model/index.ts +1 -2
- package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +115 -0
- package/src/feedRepository/api/index.ts +1 -0
- package/src/feedRepository/api/queryGlobalFeed.ts +0 -3
- package/src/feedRepository/index.ts +2 -2
- package/src/feedRepository/observers/getUserFeed/LiveCollectionController.ts +193 -0
- package/src/feedRepository/observers/getUserFeed/PaginationController.ts +37 -0
- package/src/feedRepository/observers/{getGlobalFeed → getUserFeed}/QueryStreamController.ts +36 -16
- package/src/feedRepository/observers/getUserFeed.ts +56 -0
- package/src/feedRepository/observers/index.ts +1 -2
- package/src/postRepository/events/utils.ts +1 -35
- package/src/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.ts +0 -5
- package/src/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.ts +1 -7
- package/src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts +0 -27
- package/src/postRepository/observers/getPosts/PostLiveCollectionController.ts +74 -2
- package/src/reactionRepository/api/addReaction.ts +0 -1
- package/src/reactionRepository/api/removeReaction.ts +0 -1
- 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/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +0 -13
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js +0 -60
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +0 -5
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js +0 -13
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +0 -15
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +0 -22
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js +0 -45
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js +0 -60
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +0 -5
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js +0 -13
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js +0 -66
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts +0 -22
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js +0 -45
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts +0 -6
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js +0 -60
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts +0 -13
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js +0 -61
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js.map +0 -1
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +0 -13
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +0 -1
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +0 -5
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +0 -1
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +0 -15
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +0 -1
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +0 -22
- package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +0 -1
- package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +0 -1
- package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +0 -5
- package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +0 -1
- package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +0 -1
- package/dist/feedRepository/observers/getGlobalFeed.d.ts +0 -22
- package/dist/feedRepository/observers/getGlobalFeed.d.ts.map +0 -1
- package/dist/feedRepository/observers/utils.d.ts +0 -6
- package/dist/feedRepository/observers/utils.d.ts.map +0 -1
- package/dist/postRepository/observers/utils.d.ts +0 -13
- package/dist/postRepository/observers/utils.d.ts.map +0 -1
- package/src/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.ts +0 -95
- package/src/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.ts +0 -25
- package/src/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.ts +0 -101
- package/src/feedRepository/observers/getCustomRankingGlobalFeed.ts +0 -56
- package/src/feedRepository/observers/getGlobalFeed/LiveCollectionController.ts +0 -91
- package/src/feedRepository/observers/getGlobalFeed/PaginationController.ts +0 -23
- package/src/feedRepository/observers/getGlobalFeed.ts +0 -56
- package/src/feedRepository/observers/utils.ts +0 -85
- package/src/postRepository/observers/utils.ts +0 -97
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinnedPostQueryStreamController.js","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"PinnedPostQueryStreamController.js","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AAEnG,MAAM,OAAO,+BAAgC,SAAQ,qBAGpD;IAKC,YACE,KAAqC,EACrC,QAAkB,EAClB,YAAgE,EAChE,cAAiF;QAEjF,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,YAAY,CAAC,QAAiC;QAClD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5C,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,MAAM,gBAAgB,mCACjB,QAAQ,KACX,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,GAC9E,CAAC;YAEF,aAAa,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,mBAAmB,CACjB,QAA6D,EAC7D,SAA4C,EAC5C,OAAO,GAAG,KAAK;;QAEf,IAAI,OAAO,EAAE;YACX,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC5C,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,UAAU,GAAG,MAAA,aAAa,CAAsC,IAAI,CAAC,QAAQ,CAAC,0CAAE,IAAI,CAAC;YAE3F,MAAM,WAAW,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,mCAAI,EAAE,CAAC;YAE3C,WAAW,CAAC,IAAI,CAAC,QAAQ,kCACpB,UAAU,KACb,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAC9E,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC;gBAChB,MAAM,4CAA6B;gBACnC,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;SACJ;IACH,CAAC;CACF","sourcesContent":["import { QueryStreamController } from '~/core/liveCollection/QueryStreamController';\nimport { pullFromCache, pushToCache } from '~/cache/api';\nimport { ingestInCache } from '~/cache/api/ingestInCache';\nimport { getResolver } from '~/core/model';\nimport { getActiveClient } from '~/client';\nimport { convertRawUserToInternalUser } from '~/userRepository/utils/convertRawUserToInternalUser';\n\nexport class PinnedPostQueryStreamController extends QueryStreamController<\n Amity.PinnedPostPayload,\n Amity.PinnedPostLiveCollection\n> {\n private notifyChange: (params: Amity.LiveCollectionNotifyParams) => void;\n\n private preparePayload: (response: Amity.PinnedPostPayload) => Amity.ProcessedPostPayload;\n\n constructor(\n query: Amity.PinnedPostLiveCollection,\n cacheKey: string[],\n notifyChange: (params: Amity.LiveCollectionNotifyParams) => void,\n preparePayload: (response: Amity.PinnedPostPayload) => Amity.ProcessedPostPayload,\n ) {\n super(query, cacheKey);\n this.notifyChange = notifyChange;\n this.preparePayload = preparePayload;\n }\n\n // eslint-disable-next-line class-methods-use-this\n async saveToMainDB(response: Amity.PinnedPostPayload) {\n const client = getActiveClient();\n const cachedAt = client.cache && Date.now();\n\n if (client.cache) {\n const processedPayload = {\n ...response,\n users: response.users ? response.users.map(convertRawUserToInternalUser) : [],\n };\n\n ingestInCache(processedPayload, { cachedAt });\n }\n }\n\n appendToQueryStream(\n response: Amity.PinnedPostPayload & Partial<Amity.Pagination>,\n direction: Amity.LiveCollectionPageDirection,\n refresh = false,\n ) {\n if (refresh) {\n pushToCache(this.cacheKey, {\n data: response.pins.map(getResolver('pin')),\n });\n } else {\n const collection = pullFromCache<Amity.PinnedPostLiveCollectionCache>(this.cacheKey)?.data;\n\n const pinnedPosts = collection?.data ?? [];\n\n pushToCache(this.cacheKey, {\n ...collection,\n data: [...new Set([...pinnedPosts, ...response.pins.map(getResolver('pin'))])],\n });\n\n this.notifyChange({\n origin: Amity.LiveDataOrigin.SERVER,\n loading: false,\n });\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPosts/PostLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"PostLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPosts/PostLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AA+B1F,qBAAa,4BAA6B,SAAQ,wBAAwB,CACxE,MAAM,EACN,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,IAAI,EACV,wBAAwB,CACzB;IACC,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,KAAK,CAA2B;gBAE5B,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;IAmB/F,SAAS,CAAC,KAAK;cAUC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU;IAI/E,SAAS,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,KAAK,CAAC,sCAAsC,CAAC,MAAM,CAAC;IAIvD,iBAAiB;IA0DjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IAsBzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE;CA+BvC"}
|
|
@@ -3,11 +3,19 @@ import { pullFromCache, pushToCache } from '~/cache/api';
|
|
|
3
3
|
import { PostPaginationController } from './PostPaginationController';
|
|
4
4
|
import { PostQueryStreamController } from './PostQueryStreamController';
|
|
5
5
|
import { LiveCollectionController } from '~/core/liveCollection/LiveCollectionController';
|
|
6
|
+
import { onPostCreated, onPostUpdated, onPostDeleted, onPostFlagged, onPostUnflagged, onPostReactionAdded, onPostReactionRemoved, onPostApproved, onPostDeclined, } from '~/postRepository/events';
|
|
6
7
|
import { filterByFeedType, filterByPostDataTypes, filterByPropEquality, sortByFirstCreated, sortByLastCreated, } from '~/core/query';
|
|
7
8
|
import { isNonNullable } from '~/utils';
|
|
9
|
+
import { EnumPostActions } from '../enums';
|
|
8
10
|
import { LinkedObject } from '~/utils/linkedObject';
|
|
9
11
|
import { preparePostPayload } from '~/postRepository/utils/payload';
|
|
10
|
-
import {
|
|
12
|
+
import { convertEventPayload } from '~/utils/event';
|
|
13
|
+
import { onCommentCreated, onCommentDeleted } from '~/commentRepository';
|
|
14
|
+
import { getPost } from '~/postRepository/internalApi/getPost';
|
|
15
|
+
import { onPostUpdatedLocal } from '~/postRepository/events/onPostUpdatedLocal';
|
|
16
|
+
import { onLocalPostReactionAdded } from '~/postRepository/events/onLocalPostReactionAdded';
|
|
17
|
+
import { onLocalPostReactionRemoved } from '~/postRepository/events/onLocalPostReactionRemoved';
|
|
18
|
+
import { onLocalPostDeleted } from '~/postRepository/events/onLocalPostDeleted';
|
|
11
19
|
export class PostLiveCollectionController extends LiveCollectionController {
|
|
12
20
|
constructor(query, callback) {
|
|
13
21
|
const queryStreamId = hash(query);
|
|
@@ -36,7 +44,47 @@ export class PostLiveCollectionController extends LiveCollectionController {
|
|
|
36
44
|
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
37
45
|
}
|
|
38
46
|
startSubscription() {
|
|
39
|
-
return this.queryStreamController.subscribeRTE(
|
|
47
|
+
return this.queryStreamController.subscribeRTE([
|
|
48
|
+
{ fn: onPostCreated, action: EnumPostActions.OnPostCreated },
|
|
49
|
+
{ fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
|
|
50
|
+
{ fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
|
|
51
|
+
{ fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
52
|
+
{ fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
|
|
53
|
+
{ fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
|
|
54
|
+
{ fn: onPostApproved, action: EnumPostActions.OnPostApproved },
|
|
55
|
+
{ fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
|
|
56
|
+
{ fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
57
|
+
{ fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
58
|
+
{ fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
|
|
59
|
+
{ fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
|
|
60
|
+
{ fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
|
|
61
|
+
{
|
|
62
|
+
fn: convertEventPayload((callback) => {
|
|
63
|
+
return onCommentCreated(async (comment) => {
|
|
64
|
+
var _a;
|
|
65
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
66
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
67
|
+
return;
|
|
68
|
+
await getPost(comment.referenceId);
|
|
69
|
+
callback(comment);
|
|
70
|
+
});
|
|
71
|
+
}, 'referenceId', 'post'),
|
|
72
|
+
action: EnumPostActions.OnPostUpdated,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
fn: convertEventPayload((callback) => {
|
|
76
|
+
return onCommentDeleted(async (comment) => {
|
|
77
|
+
var _a;
|
|
78
|
+
const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
79
|
+
if (!currentCollection || currentCollection.data.includes(comment.referenceId))
|
|
80
|
+
return;
|
|
81
|
+
await getPost(comment.referenceId);
|
|
82
|
+
callback(comment);
|
|
83
|
+
});
|
|
84
|
+
}, 'referenceId', 'post'),
|
|
85
|
+
action: EnumPostActions.OnPostUpdated,
|
|
86
|
+
},
|
|
87
|
+
]);
|
|
40
88
|
}
|
|
41
89
|
notifyChange({ origin, loading, error }) {
|
|
42
90
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostLiveCollectionController.js","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPosts/PostLiveCollectionController.ts"],"names":[],"mappings":"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","sourcesContent":["import hash from 'object-hash';\nimport { pullFromCache, pushToCache } from '~/cache/api';\nimport { PostPaginationController } from './PostPaginationController';\nimport { PostQueryStreamController } from './PostQueryStreamController';\nimport { LiveCollectionController } from '~/core/liveCollection/LiveCollectionController';\nimport {\n filterByFeedType,\n filterByPostDataTypes,\n filterByPropEquality,\n sortByFirstCreated,\n sortByLastCreated,\n} from '~/core/query';\nimport { isNonNullable } from '~/utils';\nimport { LinkedObject } from '~/utils/linkedObject';\nimport { preparePostPayload } from '~/postRepository/utils/payload';\nimport { getPostSubscription } from '../utils';\n\nexport class PostLiveCollectionController extends LiveCollectionController<\n 'post',\n Amity.PostLiveCollection,\n Amity.Post,\n PostPaginationController\n> {\n private queryStreamController: PostQueryStreamController;\n\n private query: Amity.PostLiveCollection;\n\n constructor(query: Amity.PostLiveCollection, callback: Amity.LiveCollectionCallback<Amity.Post>) {\n const queryStreamId = hash(query);\n const cacheKey = ['posts', 'collection', queryStreamId];\n const paginationController = new PostPaginationController(query);\n\n super(paginationController, queryStreamId, cacheKey, callback);\n\n this.query = query;\n this.queryStreamController = new PostQueryStreamController(\n this.query,\n this.cacheKey,\n this.notifyChange.bind(this),\n preparePostPayload,\n );\n\n this.callback = callback.bind(this);\n this.loadPage({ initial: true });\n }\n\n protected setup() {\n const collection = pullFromCache<Amity.PostLiveCollectionCache>(this.cacheKey)?.data;\n if (!collection) {\n pushToCache(this.cacheKey, {\n data: [],\n params: {},\n });\n }\n }\n\n protected async persistModel(queryPayload: Amity.PostPayload & Amity.Pagination) {\n await this.queryStreamController.saveToMainDB(queryPayload);\n }\n\n protected persistQueryStream({\n response,\n direction,\n refresh,\n }: Amity.LiveCollectionPersistQueryStreamParams<'post'>) {\n this.queryStreamController.appendToQueryStream(response, direction, refresh);\n }\n\n startSubscription() {\n return this.queryStreamController.subscribeRTE(getPostSubscription(this.cacheKey));\n }\n\n notifyChange({ origin, loading, error }: Amity.LiveCollectionNotifyParams) {\n const collection = pullFromCache<Amity.PostLiveCollectionCache>(this.cacheKey)?.data;\n if (!collection) return;\n\n const data = this.applyFilter(\n collection.data\n .map(id => pullFromCache<Amity.InternalPost>(['post', 'get', id])!)\n .filter(isNonNullable)\n .map(({ data }) => data) ?? [],\n ).map(LinkedObject.post);\n\n if (!this.shouldNotify(data) && origin === 'event') return;\n\n this.callback({\n onNextPage: () => this.loadPage({ direction: Amity.LiveCollectionPageDirection.NEXT }),\n data,\n hasNextPage: !!this.paginationController.getNextToken(),\n loading,\n error,\n });\n }\n\n applyFilter(data: Amity.InternalPost[]) {\n let posts = data;\n\n if (!this.query.includeDeleted) {\n posts = filterByPropEquality(posts, 'isDeleted', false);\n }\n\n if (this.query.tags) {\n posts = posts.filter(p => p.tags?.some(t => this.query.tags?.includes(t)));\n }\n\n if (this.query.targetType === 'community' && this.query.feedType) {\n posts = filterByFeedType(posts, this.query.feedType);\n }\n\n if (this.query.dataTypes?.length) {\n posts = filterByPostDataTypes(posts, this.query.dataTypes);\n }\n\n switch (this.query.sortBy) {\n case 'firstCreated':\n posts = posts.sort(sortByFirstCreated);\n break;\n case 'lastCreated':\n default:\n posts = posts.sort(sortByLastCreated);\n break;\n }\n\n return posts;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PostLiveCollectionController.js","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPosts/PostLiveCollectionController.ts"],"names":[],"mappings":"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","sourcesContent":["import hash from 'object-hash';\nimport { pullFromCache, pushToCache } from '~/cache/api';\nimport { PostPaginationController } from './PostPaginationController';\nimport { PostQueryStreamController } from './PostQueryStreamController';\nimport { LiveCollectionController } from '~/core/liveCollection/LiveCollectionController';\nimport {\n onPostCreated,\n onPostUpdated,\n onPostDeleted,\n onPostFlagged,\n onPostUnflagged,\n onPostReactionAdded,\n onPostReactionRemoved,\n onPostApproved,\n onPostDeclined,\n} from '~/postRepository/events';\nimport {\n filterByFeedType,\n filterByPostDataTypes,\n filterByPropEquality,\n sortByFirstCreated,\n sortByLastCreated,\n} from '~/core/query';\nimport { isNonNullable } from '~/utils';\nimport { EnumPostActions } from '../enums';\nimport { LinkedObject } from '~/utils/linkedObject';\nimport { preparePostPayload } from '~/postRepository/utils/payload';\nimport { convertEventPayload } from '~/utils/event';\nimport { onCommentCreated, onCommentDeleted } from '~/commentRepository';\nimport { getPost } from '~/postRepository/internalApi/getPost';\nimport { onPostUpdatedLocal } from '~/postRepository/events/onPostUpdatedLocal';\nimport { onLocalPostReactionAdded } from '~/postRepository/events/onLocalPostReactionAdded';\nimport { onLocalPostReactionRemoved } from '~/postRepository/events/onLocalPostReactionRemoved';\nimport { onLocalPostDeleted } from '~/postRepository/events/onLocalPostDeleted';\n\nexport class PostLiveCollectionController extends LiveCollectionController<\n 'post',\n Amity.PostLiveCollection,\n Amity.Post,\n PostPaginationController\n> {\n private queryStreamController: PostQueryStreamController;\n\n private query: Amity.PostLiveCollection;\n\n constructor(query: Amity.PostLiveCollection, callback: Amity.LiveCollectionCallback<Amity.Post>) {\n const queryStreamId = hash(query);\n const cacheKey = ['posts', 'collection', queryStreamId];\n const paginationController = new PostPaginationController(query);\n\n super(paginationController, queryStreamId, cacheKey, callback);\n\n this.query = query;\n this.queryStreamController = new PostQueryStreamController(\n this.query,\n this.cacheKey,\n this.notifyChange.bind(this),\n preparePostPayload,\n );\n\n this.callback = callback.bind(this);\n this.loadPage({ initial: true });\n }\n\n protected setup() {\n const collection = pullFromCache<Amity.PostLiveCollectionCache>(this.cacheKey)?.data;\n if (!collection) {\n pushToCache(this.cacheKey, {\n data: [],\n params: {},\n });\n }\n }\n\n protected async persistModel(queryPayload: Amity.PostPayload & Amity.Pagination) {\n await this.queryStreamController.saveToMainDB(queryPayload);\n }\n\n protected persistQueryStream({\n response,\n direction,\n refresh,\n }: Amity.LiveCollectionPersistQueryStreamParams<'post'>) {\n this.queryStreamController.appendToQueryStream(response, direction, refresh);\n }\n\n startSubscription() {\n return this.queryStreamController.subscribeRTE([\n { fn: onPostCreated, action: EnumPostActions.OnPostCreated },\n { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },\n { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },\n { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },\n { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },\n { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },\n { fn: onPostApproved, action: EnumPostActions.OnPostApproved },\n { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },\n { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },\n { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },\n { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },\n { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },\n { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },\n {\n fn: convertEventPayload(\n (callback: Amity.Listener<Amity.InternalComment>) => {\n return onCommentCreated(async (comment: Amity.InternalComment) => {\n const currentCollection = pullFromCache<Amity.PostLiveCollectionCache>(\n this.cacheKey,\n )?.data;\n\n if (!currentCollection || currentCollection.data.includes(comment.referenceId))\n return;\n\n await getPost(comment.referenceId);\n callback(comment);\n });\n },\n 'referenceId',\n 'post',\n ),\n action: EnumPostActions.OnPostUpdated,\n },\n {\n fn: convertEventPayload(\n (callback: Amity.Listener<Amity.InternalComment>) => {\n return onCommentDeleted(async (comment: Amity.InternalComment) => {\n const currentCollection = pullFromCache<Amity.PostLiveCollectionCache>(\n this.cacheKey,\n )?.data;\n\n if (!currentCollection || currentCollection.data.includes(comment.referenceId))\n return;\n\n await getPost(comment.referenceId);\n callback(comment);\n });\n },\n 'referenceId',\n 'post',\n ),\n action: EnumPostActions.OnPostUpdated,\n },\n ]);\n }\n\n notifyChange({ origin, loading, error }: Amity.LiveCollectionNotifyParams) {\n const collection = pullFromCache<Amity.PostLiveCollectionCache>(this.cacheKey)?.data;\n if (!collection) return;\n\n const data = this.applyFilter(\n collection.data\n .map(id => pullFromCache<Amity.InternalPost>(['post', 'get', id])!)\n .filter(isNonNullable)\n .map(({ data }) => data) ?? [],\n ).map(LinkedObject.post);\n\n if (!this.shouldNotify(data) && origin === 'event') return;\n\n this.callback({\n onNextPage: () => this.loadPage({ direction: Amity.LiveCollectionPageDirection.NEXT }),\n data,\n hasNextPage: !!this.paginationController.getNextToken(),\n loading,\n error,\n });\n }\n\n applyFilter(data: Amity.InternalPost[]) {\n let posts = data;\n\n if (!this.query.includeDeleted) {\n posts = filterByPropEquality(posts, 'isDeleted', false);\n }\n\n if (this.query.tags) {\n posts = posts.filter(p => p.tags?.some(t => this.query.tags?.includes(t)));\n }\n\n if (this.query.targetType === 'community' && this.query.feedType) {\n posts = filterByFeedType(posts, this.query.feedType);\n }\n\n if (this.query.dataTypes?.length) {\n posts = filterByPostDataTypes(posts, this.query.dataTypes);\n }\n\n switch (this.query.sortBy) {\n case 'firstCreated':\n posts = posts.sort(sortByFirstCreated);\n break;\n case 'lastCreated':\n default:\n posts = posts.sort(sortByLastCreated);\n break;\n }\n\n return posts;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/addReaction.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,WAAW;oBACP,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,QAAQ,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"addReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/addReaction.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,WAAW;oBACP,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,QAAQ,OAAO,CAAC;IAmFnB;;;;;;;;;;;;;;SAcK;kCAEY,MAAM,aAAa,eACrB,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,OAAO,GAAG,SAAS;CAtBrB,CAAC"}
|
|
@@ -47,7 +47,7 @@ export const addReaction = async (referenceType, referenceId, reactionName) => {
|
|
|
47
47
|
]);
|
|
48
48
|
if (!model || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
|
|
49
49
|
return true;
|
|
50
|
-
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 })
|
|
50
|
+
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 }) });
|
|
51
51
|
if (referenceType === 'comment') {
|
|
52
52
|
fireEvent('local.comment.addReaction', {
|
|
53
53
|
comment: updatedModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addReaction.js","sourceRoot":"","sources":["../../../src/reactionRepository/api/addReaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;EAEE;AACF;;;;;;;;;;;;;;;KAeK;AACL,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,aAA8C,EAC9C,WAA0C,EAC1C,YAAmD,EACjC,EAAE;;IACpB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;QACpC,WAAW;QACX,aAAa;QACb,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClE,MAAM,IAAI,WAAW,CACnB,uFAAuF,mFAGxF,CAAC;IAEJ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAwB,mBAAmB,EAAE;QAClF,WAAW;QACX,aAAa;QACb,YAAY;QACZ,gBAAgB,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,KAAK,GAAG,aAAa,CAAoC;YAC7D,aAAa;YACb,KAAK;YACL,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,KAAI,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;YAAE,OAAO,IAAI,CAAC;QAE1E,MAAM,YAAY,GAAG,gCAChB,KAAK,CAAC,IAAI,KACb,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAC7C,WAAW,EAAE,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,EAAE,YAAY,CAAC,EAC9D,SAAS,kCACJ,KAAK,CAAC,IAAI,CAAC,SAAS,KACvB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"addReaction.js","sourceRoot":"","sources":["../../../src/reactionRepository/api/addReaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;EAEE;AACF;;;;;;;;;;;;;;;KAeK;AACL,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,aAA8C,EAC9C,WAA0C,EAC1C,YAAmD,EACjC,EAAE;;IACpB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;QACpC,WAAW;QACX,aAAa;QACb,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClE,MAAM,IAAI,WAAW,CACnB,uFAAuF,mFAGxF,CAAC;IAEJ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAwB,mBAAmB,EAAE;QAClF,WAAW;QACX,aAAa;QACb,YAAY;QACZ,gBAAgB,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,KAAK,GAAG,aAAa,CAAoC;YAC7D,aAAa;YACb,KAAK;YACL,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,KAAI,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;YAAE,OAAO,IAAI,CAAC;QAE1E,MAAM,YAAY,GAAG,gCAChB,KAAK,CAAC,IAAI,KACb,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAC7C,WAAW,EAAE,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,EAAE,YAAY,CAAC,EAC9D,SAAS,kCACJ,KAAK,CAAC,IAAI,CAAC,SAAS,KACvB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,MAE3B,CAAC;QAEvC,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,SAAS,CAAC,2BAA2B,EAAE;gBACrC,OAAO,EAAE,YAAqC;gBAC9C,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAO;oBACtB,YAAY;oBACZ,UAAU,EAAE,IAAI,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;QACD,IAAI,aAAa,KAAK,MAAM,EAAE;YAC5B,SAAS,CAAC,wBAAwB,EAAE;gBAClC,IAAI,EAAE,YAAkC;gBACxC,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAO;oBACtB,YAAY;oBACZ,UAAU,EAAE,IAAI,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;QACD,IAAI,aAAa,KAAK,OAAO,EAAE;YAC7B,SAAS,CAAC,2BAA2B,EAAE;gBACrC,KAAK,EAAE,YAAmC;gBAC1C,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAO;oBACtB,YAAY;oBACZ,UAAU,EAAE,IAAI,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,yBAAyB;AAEzB;;;;;;;;;;;;;;KAcK;AACL,WAAW,CAAC,cAAc,GAAG,CAC3B,aAAkC,EAClC,WAA0C,EAC1C,YAAmD,EAC9B,EAAE;;IACvB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE;QACnD,WAAW;QACX,aAAa;QACb,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO;IAE1B,MAAM,KAAK,GAAG,aAAa,CAAoC;QAC7D,aAAa;QACb,KAAK;QACL,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,KAAI,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAAE,OAAO;IAE3E,MAAM,QAAQ,GAAG,gCACZ,KAAK,CAAC,IAAI,KACb,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAC7C,WAAW,EAAE,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,EAAE,YAAY,CAAC,EAC9D,SAAS,kCACJ,KAAK,CAAC,IAAI,CAAC,SAAS,KACvB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,MAE3B,CAAC;IAEvC,aAAa,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE;QAC3D,QAAQ,EAAE,+BAA+B;KAC1C,CAAC,CAAC;IAEH,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE3C,OAAO,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,QAAQ,CAAC,YAAY,CAAC,mCAAI,KAAK,CAAC;AAChE,CAAC,CAAC","sourcesContent":["import { getActiveClient } from '~/client/api';\n\nimport { upsertInCache, pullFromCache, pushToCache } from '~/cache/api';\n\nimport { UNSYNCED_OBJECT_CACHED_AT_VALUE } from '~/utils/constants';\nimport { dispatchReactable } from '../utils';\nimport { fireEvent } from '~/core/events';\nimport { ASCApiError } from '~/core/errors';\n\n/* begin_public_function\n id: reaction.add\n*/\n/**\n * ```js\n * import { addReaction } from '@amityco/ts-sdk'\n * const success = await addReaction('post', postId, 'like')\n * ```\n *\n * Creates an {@link Amity.Reaction}\n *\n * @param referenceType The type of thing to add a {@link Amity.Reaction} to, such as a post or a comment.\n * @param referenceId The ID of the thing to add a new {@link Amity.Reaction} to.\n * @param reactionName Reaction name, such as a `like` or `love`.\n * @returns The added result.\n *\n * @category Reaction API\n * @async\n * */\nexport const addReaction = async (\n referenceType: Amity.Reaction['referenceType'],\n referenceId: Amity.Reaction['referenceId'],\n reactionName: Amity.InternalReactor['reactionName'],\n): Promise<boolean> => {\n const client = getActiveClient();\n client.log('reaction/createReaction', {\n referenceId,\n referenceType,\n reactionName,\n });\n\n if (!['post', 'comment', 'story', 'message'].includes(referenceType))\n throw new ASCApiError(\n 'The reference type is not valid. It should be one of post, comment, story, or message',\n Amity.ServerError.BAD_REQUEST,\n Amity.ErrorLevel.ERROR,\n );\n\n const { data } = await client.http.post<{ addedId: 'string' }>('/api/v2/reactions', {\n referenceId,\n referenceType,\n reactionName,\n referenceVersion: referenceType === 'message' ? 5 : undefined,\n });\n\n if (client.cache) {\n const model = pullFromCache<Amity.Models[Amity.ReactableType]>([\n referenceType,\n 'get',\n referenceId,\n ]);\n\n if (!model || model.data.myReactions?.includes(reactionName)) return true;\n\n const updatedModel = {\n ...model.data,\n reactionsCount: model.data.reactionsCount + 1,\n myReactions: [...(model.data.myReactions ?? []), reactionName],\n reactions: {\n ...model.data.reactions,\n [reactionName]: (model.data.reactions[reactionName] ?? 0) + 1,\n },\n } as Amity.Models[Amity.ReactableType];\n\n if (referenceType === 'comment') {\n fireEvent('local.comment.addReaction', {\n comment: updatedModel as Amity.InternalComment,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.addedId,\n },\n });\n\n return true;\n }\n if (referenceType === 'post') {\n fireEvent('local.post.addReaction', {\n post: updatedModel as Amity.InternalPost,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.addedId,\n },\n });\n\n return true;\n }\n if (referenceType === 'story') {\n fireEvent('local.story.reactionAdded', {\n story: updatedModel as Amity.InternalStory,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.addedId,\n },\n });\n\n return true;\n }\n }\n\n return true;\n};\n/* end_public_function */\n\n/**\n * ```js\n * import { addReaction } from '@amityco/ts-sdk'\n * const success = addReaction.optimistically('post', postId, 'like')\n * ```\n *\n * Creates an {@link Amity.Reaction} optimistically\n *\n * @param referenceType The type of thing to add a {@link Amity.Reaction} to, such as a post or a comment.\n * @param referenceId The ID of the thing to add a new {@link Amity.Reaction} to.\n * @param reactionName Reaction name, such as a `like` or `love`.\n * @returns The added result.\n *\n * @category Reaction API\n * */\naddReaction.optimistically = (\n referenceType: Amity.ReactableType,\n referenceId: Amity.Reaction['referenceId'],\n reactionName: Amity.InternalReactor['reactionName'],\n): boolean | undefined => {\n const client = getActiveClient();\n client.log('reaction/createReaction.optimistically', {\n referenceId,\n referenceType,\n reactionName,\n });\n\n if (!client.cache) return;\n\n const model = pullFromCache<Amity.Models[Amity.ReactableType]>([\n referenceType,\n 'get',\n referenceId,\n ]);\n\n if (!model?.data || model.data.myReactions?.includes(reactionName)) return;\n\n const reaction = {\n ...model.data,\n reactionsCount: model.data.reactionsCount + 1,\n myReactions: [...(model.data.myReactions ?? []), reactionName],\n reactions: {\n ...model.data.reactions,\n [reactionName]: (model.data.reactions[reactionName] ?? 0) + 1,\n },\n } as Amity.Models[Amity.ReactableType];\n\n upsertInCache([referenceType, 'get', referenceId], reaction, {\n cachedAt: UNSYNCED_OBJECT_CACHED_AT_VALUE,\n });\n\n dispatchReactable(referenceType, reaction);\n\n return reaction?.myReactions?.includes(reactionName) ?? false;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/removeReaction.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,cAAc;oBACV,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,QAAQ,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"removeReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/removeReaction.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,cAAc;oBACV,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,QAAQ,OAAO,CAAC;IAsFnB;;;;;;;;;;;;;;SAcK;kCAEY,MAAM,aAAa,eACrB,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,OAAO,GAAG,SAAS;CAtBrB,CAAC"}
|
|
@@ -49,7 +49,7 @@ export const removeReaction = async (referenceType, referenceId, reactionName) =
|
|
|
49
49
|
]);
|
|
50
50
|
if (!model)
|
|
51
51
|
return true;
|
|
52
|
-
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) })
|
|
52
|
+
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) }) });
|
|
53
53
|
if (referenceType === 'comment') {
|
|
54
54
|
fireEvent('local.comment.removeReaction', {
|
|
55
55
|
comment: updatedModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeReaction.js","sourceRoot":"","sources":["../../../src/reactionRepository/api/removeReaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;EAEE;AACF;;;;;;;;;;;;;;;KAeK;AACL,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA8C,EAC9C,WAA0C,EAC1C,YAAmD,EACjC,EAAE;;IACpB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;QACpC,WAAW;QACX,aAAa;QACb,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClE,MAAM,IAAI,WAAW,CACnB,uFAAuF,mFAGxF,CAAC;IAEJ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAwB,mBAAmB,EAAE;QACpF,IAAI,EAAE;YACJ,WAAW;YACX,aAAa;YACb,YAAY;YACZ,gBAAgB,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,KAAK,GAAG,aAAa,CAAoC;YAC7D,aAAa;YACb,KAAK;YACL,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,YAAY,GAAG,gCAChB,KAAK,CAAC,IAAI,KACb,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAC1D,WAAW,EAAE,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,EACjF,SAAS,kCACJ,KAAK,CAAC,IAAI,CAAC,SAAS,KACvB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"removeReaction.js","sourceRoot":"","sources":["../../../src/reactionRepository/api/removeReaction.ts"],"names":[],"mappings":"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","sourcesContent":["import { getActiveClient } from '~/client/api';\n\nimport { upsertInCache, pullFromCache, pushToCache } from '~/cache/api';\n\nimport { UNSYNCED_OBJECT_CACHED_AT_VALUE } from '~/utils/constants';\n\nimport { dispatchReactable } from '../utils';\nimport { fireEvent } from '~/core/events';\nimport { ASCApiError } from '~/core/errors';\n\n/* begin_public_function\n id: reaction.remove\n*/\n/**\n * ```js\n * import { deleteReaction } from '@amityco/ts-sdk'\n * const success = await deleteReaction('post', 'foobar', 'like')\n * ```\n *\n * Removes a {@link Amity.Reaction} from a {@link Amity.Reactable} object\n *\n * @param referenceType The type of thing to add a {@link Amity.Reaction} to, such as a post or a comment.\n * @param referenceId The ID of the thing to add a new {@link Amity.Reaction} to.\n * @param reactionName Reaction name, such as a `like` or `love`.\n * @returns The removed result.\n *\n * @category Reaction API\n * @async\n * */\nexport const removeReaction = async (\n referenceType: Amity.Reaction['referenceType'],\n referenceId: Amity.Reaction['referenceId'],\n reactionName: Amity.InternalReactor['reactionName'],\n): Promise<boolean> => {\n const client = getActiveClient();\n client.log('reaction/removeReaction', {\n referenceId,\n referenceType,\n reactionName,\n });\n\n if (!['post', 'comment', 'story', 'message'].includes(referenceType))\n throw new ASCApiError(\n 'The reference type is not valid. It should be one of post, comment, story, or message',\n Amity.ServerError.BAD_REQUEST,\n Amity.ErrorLevel.ERROR,\n );\n\n const { data } = await client.http.delete<{ removedId: string }>(`/api/v2/reactions`, {\n data: {\n referenceId,\n referenceType,\n reactionName,\n referenceVersion: referenceType === 'message' ? 5 : undefined,\n },\n });\n\n if (client.cache) {\n const model = pullFromCache<Amity.Models[Amity.ReactableType]>([\n referenceType,\n 'get',\n referenceId,\n ]);\n\n if (!model) return true;\n\n const updatedModel = {\n ...model.data,\n reactionsCount: Math.max(0, model.data.reactionsCount - 1),\n myReactions: (model.data.myReactions ?? []).filter(item => item !== reactionName),\n reactions: {\n ...model.data.reactions,\n [reactionName]: Math.max(0, (model.data.reactions[reactionName] ?? 0) - 1),\n },\n } as Amity.Models[Amity.ReactableType];\n\n if (referenceType === 'comment') {\n fireEvent('local.comment.removeReaction', {\n comment: updatedModel as Amity.InternalComment,\n reactor: {\n reactionId: data.removedId,\n reactionName,\n userId: client.userId!,\n },\n });\n\n return true;\n }\n if (referenceType === 'post') {\n fireEvent('local.post.removeReaction', {\n post: updatedModel as Amity.InternalPost,\n reactor: {\n reactionId: data.removedId,\n reactionName,\n userId: client.userId!,\n },\n });\n\n return true;\n }\n\n if (referenceType === 'story') {\n fireEvent('local.story.reactionAdded', {\n story: updatedModel as Amity.InternalStory,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.removedId,\n },\n });\n\n return true;\n }\n }\n\n return true;\n};\n/* end_public_function */\n\n/**\n * ```js\n * import { removeReaction } from '@amityco/ts-sdk'\n * const success = removeReaction.optimistically('post', postId, 'like')\n * ```\n *\n * Removes a {@link Amity.Reaction} from a {@link Amity.Reactable} object optimistically\n *\n * @param referenceType The type of thing to add a {@link Amity.Reaction} to, such as a post or a comment.\n * @param referenceId The ID of the thing to add a new {@link Amity.Reaction} to.\n * @param reactionName Reaction name, such as a `like` or `love`.\n * @returns The added result.\n *\n * @category Reaction API\n * */\nremoveReaction.optimistically = (\n referenceType: Amity.ReactableType,\n referenceId: Amity.Reaction['referenceId'],\n reactionName: Amity.InternalReactor['reactionName'],\n): boolean | undefined => {\n const client = getActiveClient();\n client.log('reaction/removeReaction.optimistically', {\n referenceId,\n referenceType,\n reactionName,\n });\n\n if (!client.cache) return;\n\n const model = pullFromCache<Amity.Models[Amity.ReactableType]>([\n referenceType,\n 'get',\n referenceId,\n ]);\n\n if (!model?.data || !model.data.myReactions?.includes(reactionName)) return;\n\n const reaction = {\n ...model.data,\n reactionsCount: Math.max(0, model.data.reactionsCount - 1),\n myReactions: (model.data.myReactions ?? []).filter(item => item !== reactionName),\n reactions: {\n ...model.data.reactions,\n [reactionName]: Math.max(0, (model.data.reactions[reactionName] ?? 0) - 1),\n },\n } as Amity.Models[Amity.ReactableType];\n\n upsertInCache([referenceType, 'get', referenceId], reaction, {\n cachedAt: UNSYNCED_OBJECT_CACHED_AT_VALUE,\n });\n\n dispatchReactable(referenceType, reaction);\n\n return !reaction?.myReactions?.includes(reactionName);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/postLinkedObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"postLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/postLinkedObject.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,gBAAgB,SAAU,MAAM,YAAY,KAAG,MAAM,IAyFjE,CAAC"}
|
|
@@ -3,22 +3,18 @@ import { commentLinkedObject } from '~/utils/linkedObject/commentLinkedObject';
|
|
|
3
3
|
import AnalyticsEngine from '../../analytic/service/analytic/AnalyticsEngine';
|
|
4
4
|
import { userLinkedObject } from './userLinkedObject';
|
|
5
5
|
import { isAmityFilePost, isAmityImagePost, isAmityLivestreamPost, isAmityPollPost, isAmityVideoPost, isAmityClipPost, } from '../postTypePredicate';
|
|
6
|
-
import { shallowClone } from '../shallowClone';
|
|
7
6
|
import { streamLinkedObject } from './streamLinkedObject';
|
|
8
7
|
import { isNonNullable } from '..';
|
|
9
8
|
export const postLinkedObject = (post) => {
|
|
10
|
-
return
|
|
11
|
-
childrenPosts: post.children
|
|
9
|
+
return Object.assign(Object.assign({}, post), { childrenPosts: post.children
|
|
12
10
|
.map(childPost => { var _a; return (_a = pullFromCache(['post', 'get', childPost])) === null || _a === void 0 ? void 0 : _a.data; })
|
|
13
11
|
.filter(isNonNullable)
|
|
14
|
-
.map(postLinkedObject),
|
|
15
|
-
analytics: {
|
|
12
|
+
.map(postLinkedObject), analytics: {
|
|
16
13
|
markAsViewed: () => {
|
|
17
14
|
const analyticsEngineInstance = AnalyticsEngine.getInstance();
|
|
18
15
|
analyticsEngineInstance.markPostAsViewed(post.postId);
|
|
19
16
|
},
|
|
20
|
-
},
|
|
21
|
-
get latestComments() {
|
|
17
|
+
}, get latestComments() {
|
|
22
18
|
if (!post.comments)
|
|
23
19
|
return [];
|
|
24
20
|
return (post.comments
|
|
@@ -92,7 +88,6 @@ export const postLinkedObject = (post) => {
|
|
|
92
88
|
return isAmityClipPost(post)
|
|
93
89
|
? (_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
|
|
94
90
|
: undefined;
|
|
95
|
-
}
|
|
96
|
-
});
|
|
91
|
+
} });
|
|
97
92
|
};
|
|
98
93
|
//# sourceMappingURL=postLinkedObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postLinkedObject.js","sourceRoot":"","sources":["../../../src/utils/linkedObject/postLinkedObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,eAAe,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"postLinkedObject.js","sourceRoot":"","sources":["../../../src/utils/linkedObject/postLinkedObject.ts"],"names":[],"mappings":"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","sourcesContent":["import { pullFromCache } from '~/cache/api';\nimport { commentLinkedObject } from '~/utils/linkedObject/commentLinkedObject';\nimport AnalyticsEngine from '../../analytic/service/analytic/AnalyticsEngine';\nimport { userLinkedObject } from './userLinkedObject';\nimport {\n isAmityFilePost,\n isAmityImagePost,\n isAmityLivestreamPost,\n isAmityPollPost,\n isAmityVideoPost,\n isAmityClipPost,\n} from '../postTypePredicate';\nimport { streamLinkedObject } from './streamLinkedObject';\nimport { isNonNullable } from '..';\n\nexport const postLinkedObject = (post: Amity.InternalPost): Amity.Post => {\n return {\n ...post,\n childrenPosts: post.children\n .map(childPost => pullFromCache<Amity.InternalPost>(['post', 'get', childPost])?.data)\n .filter(isNonNullable)\n .map(postLinkedObject),\n analytics: {\n markAsViewed: () => {\n const analyticsEngineInstance = AnalyticsEngine.getInstance();\n analyticsEngineInstance.markPostAsViewed(post.postId);\n },\n },\n\n get latestComments(): (Amity.Comment | null)[] {\n if (!post.comments) return [];\n return (\n post.comments\n .map(commentId => {\n const commentCached = pullFromCache<Amity.InternalComment>([\n 'comment',\n 'get',\n commentId,\n ])?.data;\n\n if (!commentCached) return null;\n\n return commentLinkedObject(commentCached);\n })\n .filter(Boolean) || []\n );\n },\n\n get creator(): Amity.User | undefined {\n const cacheData = pullFromCache<Amity.User>(['user', 'get', post.postedUserId]);\n if (!cacheData?.data) return;\n return userLinkedObject(cacheData.data);\n },\n\n getImageInfo(): Amity.File<'image'> | undefined {\n return isAmityImagePost(post)\n ? pullFromCache<Amity.File<'image'>>(['file', 'get', post?.data?.fileId])?.data\n : undefined;\n },\n\n getVideoInfo(): Amity.File<'video'> | undefined {\n return isAmityVideoPost(post)\n ? pullFromCache<Amity.File<'video'>>(['file', 'get', post?.data?.videoFileId?.original])\n ?.data\n : undefined;\n },\n\n getVideoThumbnailInfo(): Amity.File<'image'> | undefined {\n return isAmityVideoPost(post)\n ? pullFromCache<Amity.File<'image'>>(['file', 'get', post?.data?.thumbnailFileId])?.data\n : undefined;\n },\n\n getFileInfo(): Amity.File<'file'> | undefined {\n return isAmityFilePost(post)\n ? pullFromCache<Amity.File<'file'>>(['file', 'get', post?.data?.fileId])?.data\n : undefined;\n },\n\n getLivestreamInfo(): Amity.Stream | undefined {\n if (!isAmityLivestreamPost(post)) return;\n const cache = pullFromCache<Amity.InternalStream>([\n 'stream',\n 'get',\n post?.data?.streamId,\n ])?.data;\n if (!cache) return;\n\n return streamLinkedObject(cache);\n },\n\n getPollInfo(): Amity.Poll | undefined {\n if (!isAmityPollPost(post)) return;\n const cache = pullFromCache<Amity.Poll>(['poll', 'get', post?.data?.pollId])?.data;\n if (!cache) return;\n return cache;\n },\n\n getClipInfo(): Amity.File<'clip'> | undefined {\n return isAmityClipPost(post)\n ? pullFromCache<Amity.File<'clip'>>(['file', 'get', post?.data?.fileId])?.data\n : undefined;\n },\n };\n};\n"]}
|