@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.
Files changed (289) hide show
  1. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts +4 -0
  2. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.d.ts.map +1 -1
  3. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/client.js.map +1 -1
  4. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.d.ts +1 -0
  5. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.d.ts.map +1 -1
  6. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/content.js.map +1 -1
  7. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts +4 -0
  8. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts.map +1 -1
  9. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js.map +1 -1
  10. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts +11 -0
  11. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts.map +1 -0
  12. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js +2 -0
  13. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js.map +1 -0
  14. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.d.ts +2 -1
  15. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.d.ts.map +1 -1
  16. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.js.map +1 -1
  17. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.d.ts +3 -1
  18. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.d.ts.map +1 -1
  19. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.js.map +1 -1
  20. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts +14 -1
  21. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts.map +1 -1
  22. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.js.map +1 -1
  23. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts +1 -0
  24. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
  25. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js +1 -0
  26. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
  27. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts +16 -0
  28. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
  29. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js +21 -0
  30. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js.map +1 -0
  31. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts +2 -0
  32. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts.map +1 -1
  33. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js +2 -0
  34. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js.map +1 -1
  35. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/commentRepository/api/deleteComment.js +6 -6
  36. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/commentRepository/api/deleteComment.js.map +1 -1
  37. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.d.ts.map +1 -1
  38. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.js +2 -1
  39. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.js.map +1 -1
  40. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.d.ts +0 -1
  41. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.d.ts.map +1 -1
  42. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.js +0 -1
  43. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.js.map +1 -1
  44. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.d.ts +3 -0
  45. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  46. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.js +3 -0
  47. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.js.map +1 -1
  48. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts +2 -2
  49. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts.map +1 -1
  50. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js +2 -2
  51. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js.map +1 -1
  52. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +13 -0
  53. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  54. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js +60 -0
  55. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js.map +1 -0
  56. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +5 -0
  57. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +1 -0
  58. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js +13 -0
  59. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js.map +1 -0
  60. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +15 -0
  61. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +1 -0
  62. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.js +66 -0
  63. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.js.map +1 -0
  64. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +22 -0
  65. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +1 -0
  66. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js +45 -0
  67. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js.map +1 -0
  68. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts +13 -0
  69. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  70. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js +60 -0
  71. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js.map +1 -0
  72. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +5 -0
  73. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +1 -0
  74. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js +13 -0
  75. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js.map +1 -0
  76. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts +15 -0
  77. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +1 -0
  78. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js +66 -0
  79. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js.map +1 -0
  80. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts +22 -0
  81. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts.map +1 -0
  82. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js +45 -0
  83. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js.map +1 -0
  84. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +0 -1
  85. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -1
  86. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js +1 -22
  87. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js.map +1 -1
  88. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts +3 -1
  89. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts.map +1 -1
  90. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js +3 -1
  91. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js.map +1 -1
  92. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts +6 -0
  93. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts.map +1 -0
  94. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js +60 -0
  95. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js.map +1 -0
  96. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
  97. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.js.map +1 -1
  98. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.d.ts +3 -3
  99. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.d.ts.map +1 -1
  100. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.js +2 -2
  101. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.js.map +1 -1
  102. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.d.ts +1 -1
  103. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.js.map +1 -1
  104. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.d.ts +1 -1
  105. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.js.map +1 -1
  106. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js +2 -2
  107. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js.map +1 -1
  108. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.d.ts.map +1 -1
  109. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.js +26 -1
  110. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.js.map +1 -1
  111. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.d.ts.map +1 -1
  112. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.js +5 -0
  113. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.js.map +1 -1
  114. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -1
  115. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.js +5 -1
  116. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.js.map +1 -1
  117. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +6 -0
  118. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
  119. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.js +17 -0
  120. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.js.map +1 -1
  121. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
  122. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.js +2 -50
  123. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.js.map +1 -1
  124. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
  125. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
  126. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js +126 -0
  127. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js.map +1 -0
  128. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
  129. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
  130. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js +27 -0
  131. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js.map +1 -0
  132. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
  133. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
  134. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js +65 -0
  135. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js.map +1 -0
  136. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts +1 -0
  137. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts.map +1 -1
  138. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js +1 -0
  139. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js.map +1 -1
  140. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
  141. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
  142. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js +45 -0
  143. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js.map +1 -0
  144. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts +13 -0
  145. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts.map +1 -0
  146. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js +61 -0
  147. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js.map +1 -0
  148. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
  149. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.js +1 -1
  150. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.js.map +1 -1
  151. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
  152. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.js +1 -1
  153. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.js.map +1 -1
  154. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  155. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.js +9 -4
  156. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.js.map +1 -1
  157. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  158. package/dist/@types/domains/client.d.ts +4 -0
  159. package/dist/@types/domains/client.d.ts.map +1 -1
  160. package/dist/@types/domains/content.d.ts +1 -0
  161. package/dist/@types/domains/content.d.ts.map +1 -1
  162. package/dist/@types/domains/feed.d.ts +4 -0
  163. package/dist/@types/domains/feed.d.ts.map +1 -1
  164. package/dist/@types/domains/hashtag.d.ts +11 -0
  165. package/dist/@types/domains/hashtag.d.ts.map +1 -0
  166. package/dist/@types/domains/notification.d.ts +2 -1
  167. package/dist/@types/domains/notification.d.ts.map +1 -1
  168. package/dist/@types/domains/poll.d.ts +3 -1
  169. package/dist/@types/domains/poll.d.ts.map +1 -1
  170. package/dist/@types/domains/post.d.ts +14 -1
  171. package/dist/@types/domains/post.d.ts.map +1 -1
  172. package/dist/@types/index.d.ts +1 -0
  173. package/dist/@types/index.d.ts.map +1 -1
  174. package/dist/client/api/getShareableLinkConfiguration.d.ts +16 -0
  175. package/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
  176. package/dist/client/api/index.d.ts +2 -0
  177. package/dist/client/api/index.d.ts.map +1 -1
  178. package/dist/core/model/index.d.ts.map +1 -1
  179. package/dist/feedRepository/api/index.d.ts +0 -1
  180. package/dist/feedRepository/api/index.d.ts.map +1 -1
  181. package/dist/feedRepository/api/queryGlobalFeed.d.ts +3 -0
  182. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  183. package/dist/feedRepository/index.d.ts +2 -2
  184. package/dist/feedRepository/index.d.ts.map +1 -1
  185. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +13 -0
  186. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  187. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +5 -0
  188. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +1 -0
  189. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +15 -0
  190. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +1 -0
  191. package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +22 -0
  192. package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +1 -0
  193. package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts +13 -0
  194. package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  195. package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +5 -0
  196. package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +1 -0
  197. package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts +15 -0
  198. package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +1 -0
  199. package/dist/feedRepository/observers/getGlobalFeed.d.ts +22 -0
  200. package/dist/feedRepository/observers/getGlobalFeed.d.ts.map +1 -0
  201. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +0 -1
  202. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -1
  203. package/dist/feedRepository/observers/index.d.ts +3 -1
  204. package/dist/feedRepository/observers/index.d.ts.map +1 -1
  205. package/dist/feedRepository/observers/utils.d.ts +6 -0
  206. package/dist/feedRepository/observers/utils.d.ts.map +1 -0
  207. package/dist/index.cjs.js +869 -276
  208. package/dist/index.esm.js +784 -191
  209. package/dist/index.umd.js +4 -4
  210. package/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
  211. package/dist/pollRepository/api/createPoll.d.ts +3 -3
  212. package/dist/pollRepository/api/createPoll.d.ts.map +1 -1
  213. package/dist/postRepository/api/createPost.d.ts +1 -1
  214. package/dist/postRepository/api/editPost.d.ts +1 -1
  215. package/dist/postRepository/events/utils.d.ts.map +1 -1
  216. package/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.d.ts.map +1 -1
  217. package/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -1
  218. package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +6 -0
  219. package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
  220. package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
  221. package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
  222. package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
  223. package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
  224. package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
  225. package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
  226. package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
  227. package/dist/postRepository/observers/index.d.ts +1 -0
  228. package/dist/postRepository/observers/index.d.ts.map +1 -1
  229. package/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
  230. package/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
  231. package/dist/postRepository/observers/utils.d.ts +13 -0
  232. package/dist/postRepository/observers/utils.d.ts.map +1 -0
  233. package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
  234. package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
  235. package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  236. package/package.json +1 -1
  237. package/src/@types/domains/client.ts +5 -0
  238. package/src/@types/domains/content.ts +1 -0
  239. package/src/@types/domains/feed.ts +16 -0
  240. package/src/@types/domains/hashtag.ts +11 -0
  241. package/src/@types/domains/notification.ts +1 -0
  242. package/src/@types/domains/poll.ts +3 -1
  243. package/src/@types/domains/post.ts +18 -1
  244. package/src/@types/index.ts +1 -0
  245. package/src/client/api/getShareableLinkConfiguration.ts +26 -0
  246. package/src/client/api/index.ts +4 -0
  247. package/src/commentRepository/api/deleteComment.ts +6 -6
  248. package/src/core/model/index.ts +2 -1
  249. package/src/feedRepository/api/index.ts +0 -1
  250. package/src/feedRepository/api/queryGlobalFeed.ts +3 -0
  251. package/src/feedRepository/index.ts +2 -2
  252. package/src/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.ts +95 -0
  253. package/src/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.ts +25 -0
  254. package/src/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.ts +101 -0
  255. package/src/feedRepository/observers/getCustomRankingGlobalFeed.ts +56 -0
  256. package/src/feedRepository/observers/getGlobalFeed/LiveCollectionController.ts +91 -0
  257. package/src/feedRepository/observers/getGlobalFeed/PaginationController.ts +23 -0
  258. package/src/feedRepository/observers/getGlobalFeed/QueryStreamController.ts +99 -0
  259. package/src/feedRepository/observers/getGlobalFeed.ts +56 -0
  260. package/src/feedRepository/observers/getUserFeed/LiveCollectionController.ts +2 -32
  261. package/src/feedRepository/observers/index.ts +3 -1
  262. package/src/feedRepository/observers/utils.ts +85 -0
  263. package/src/liveReactionRepository/api/createReaction.ts +0 -1
  264. package/src/pollRepository/api/createPoll.ts +3 -3
  265. package/src/postRepository/api/createPost.ts +1 -1
  266. package/src/postRepository/api/editPost.ts +1 -1
  267. package/src/postRepository/api/queryPosts.ts +2 -2
  268. package/src/postRepository/events/utils.ts +35 -1
  269. package/src/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.ts +5 -0
  270. package/src/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.ts +7 -1
  271. package/src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts +27 -0
  272. package/src/postRepository/observers/getPosts/PostLiveCollectionController.ts +2 -74
  273. package/src/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.ts +183 -0
  274. package/src/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.ts +49 -0
  275. package/src/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.ts +99 -0
  276. package/src/postRepository/observers/index.ts +1 -0
  277. package/src/postRepository/observers/searchPostsByHashtag.ts +56 -0
  278. package/src/postRepository/observers/utils.ts +97 -0
  279. package/src/reactionRepository/api/addReaction.ts +1 -0
  280. package/src/reactionRepository/api/removeReaction.ts +1 -0
  281. package/src/utils/linkedObject/postLinkedObject.ts +3 -3
  282. package/tsconfig.tsbuildinfo +1 -1
  283. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
  284. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
  285. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js +0 -83
  286. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js.map +0 -1
  287. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
  288. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
  289. 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
- if ('updatedAt' in nextData && 'updatedAt' in nextData) {
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 Object.assign(Object.assign({}, post), { childrenPosts: post.children
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), analytics: {
11906
+ .map(postLinkedObject),
11907
+ analytics: {
11883
11908
  markAsViewed: () => {
11884
11909
  const analyticsEngineInstance = AnalyticsEngine$1.getInstance();
11885
11910
  analyticsEngineInstance.markPostAsViewed(post.postId);
11886
11911
  },
11887
- }, get latestComments() {
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
- /* begin_public_function
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 { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
23183
+ const { limit } = queryParams, params = __rest(queryParams, ["limit"]);
23205
23184
  const options = token ? { token } : { limit };
23206
- const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
23207
- 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) }),
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 UserFeedQueryStreamController extends QueryStreamController {
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, _b;
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
- // if the collection is parent post collection and
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
- collection.data = collection.data.filter(postId => postId !== post.postId);
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
- if (this.query.dataTypes &&
23283
- this.query.dataTypes.length > 0 &&
23284
- !this.query.dataTypes.includes(post.dataType)) {
23285
- return;
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 { onPostUpdatedLocal } from '@amityco/ts-sdk'
24242
- * const dispose = onPostUpdatedLocal(post => {
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 updated
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 onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
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 { onLocalPostDeleted } from '@amityco/ts-sdk'
24317
- * const dispose = onLocalPostDeleted(post => {
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 deleted
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 onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
24296
+ const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
24330
24297
 
24331
- class UserFeedLiveCollectionController extends LiveCollectionController {
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 = ['userFeed', 'collection', queryStreamId];
24335
- const paginationController = new UserFeedPaginationController(query);
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 UserFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
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 = this.applyFilter((_b = collection.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.user_feed
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 unsubscribe = FeedRepository.getUserFeed({
24451
- * userId: string,
24452
- * feedSources: ['user', 'community'],
24453
- * }, response => response => processResponse(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 user and feedSources
24408
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
24457
24409
  *
24458
- * @param params.userId the ID of the user
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 getUserFeed = (params, callback, config) => {
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(`getUserFeed(tmpid: ${timestamp}) > listen`);
24473
- const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
24474
- const disposers = userFeedLiveCollection.startSubscription();
24475
- const cacheKey = userFeedLiveCollection.getCacheKey();
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(`getUserFeed(tmpid: ${timestamp}) > dispose`);
24429
+ log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > dispose`);
24479
24430
  disposers.forEach(fn => fn());
24480
24431
  };
24481
24432
  };
24482
24433
  /* end_public_function */
24483
24434
 
24484
- var index$9 = /*#__PURE__*/Object.freeze({
24485
- __proto__: null,
24486
- queryGlobalFeed: queryGlobalFeed,
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
  * }))