@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.esm.js CHANGED
@@ -665,7 +665,8 @@ const PAYLOAD2MODEL = {
665
665
  };
666
666
  /** hidden */
667
667
  const isOutdated = (prevData, nextData) => {
668
- if ('updatedAt' in nextData && 'updatedAt' in nextData) {
668
+ // Check if the new value is outdated.
669
+ if ('updatedAt' in nextData && 'updatedAt' in prevData) {
669
670
  return new Date(nextData.updatedAt) < new Date(prevData.updatedAt);
670
671
  }
671
672
  return false;
@@ -25895,6 +25896,26 @@ const fetchLinkPreview = async (url) => {
25895
25896
  return data;
25896
25897
  };
25897
25898
 
25899
+ /**
25900
+ * ```js
25901
+ * import Client from '@amityco/ts-sdk'
25902
+ * const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
25903
+ * const postLinkPattern = shareableLinkConfiguration.post
25904
+ * ```
25905
+ *
25906
+ * Fetches a {@link Amity.ShareableLinkConfiguration} object
25907
+ *
25908
+ * @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
25909
+ *
25910
+ * @category Client API
25911
+ * @async
25912
+ */
25913
+ const getShareableLinkConfiguration = async () => {
25914
+ const client = getActiveClient();
25915
+ const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
25916
+ return data;
25917
+ };
25918
+
25898
25919
  /**
25899
25920
  * ```js
25900
25921
  * import { onChannelMarkerFetched } from '@amityco/ts-sdk'
@@ -26264,6 +26285,8 @@ var index$o = /*#__PURE__*/Object.freeze({
26264
26285
  enableUnreadCount: enableUnreadCount,
26265
26286
  setUploadedFileAccessType: setUploadedFileAccessType,
26266
26287
  fetchLinkPreview: fetchLinkPreview,
26288
+ getSocialSettings: getSocialSettings,
26289
+ getShareableLinkConfiguration: getShareableLinkConfiguration,
26267
26290
  onConnectionError: onConnectionError,
26268
26291
  onClientDisconnected: onClientDisconnected,
26269
26292
  onClientBanned: onClientBanned,
@@ -27967,15 +27990,18 @@ function isAmityClipPost(post) {
27967
27990
  }
27968
27991
 
27969
27992
  const postLinkedObject = (post) => {
27970
- return Object.assign(Object.assign({}, post), { childrenPosts: post.children
27993
+ return shallowClone(post, {
27994
+ childrenPosts: post.children
27971
27995
  .map(childPost => { var _a; return (_a = pullFromCache(['post', 'get', childPost])) === null || _a === void 0 ? void 0 : _a.data; })
27972
27996
  .filter(isNonNullable)
27973
- .map(postLinkedObject), analytics: {
27997
+ .map(postLinkedObject),
27998
+ analytics: {
27974
27999
  markAsViewed: () => {
27975
28000
  const analyticsEngineInstance = AnalyticsEngine$1.getInstance();
27976
28001
  analyticsEngineInstance.markPostAsViewed(post.postId);
27977
28002
  },
27978
- }, get latestComments() {
28003
+ },
28004
+ get latestComments() {
27979
28005
  if (!post.comments)
27980
28006
  return [];
27981
28007
  return (post.comments
@@ -28049,7 +28075,8 @@ const postLinkedObject = (post) => {
28049
28075
  return isAmityClipPost(post)
28050
28076
  ? (_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
28051
28077
  : undefined;
28052
- } });
28078
+ },
28079
+ });
28053
28080
  };
28054
28081
 
28055
28082
  const getCachedMarker = (message) => {
@@ -31044,7 +31071,7 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
31044
31071
  ]);
31045
31072
  if (!model || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
31046
31073
  return true;
31047
- 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 }) });
31074
+ 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() });
31048
31075
  if (referenceType === 'comment') {
31049
31076
  fireEvent('local.comment.addReaction', {
31050
31077
  comment: updatedModel,
@@ -31167,7 +31194,7 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
31167
31194
  ]);
31168
31195
  if (!model)
31169
31196
  return true;
31170
- 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) }) });
31197
+ 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() });
31171
31198
  if (referenceType === 'comment') {
31172
31199
  fireEvent('local.comment.removeReaction', {
31173
31200
  comment: updatedModel,
@@ -31281,6 +31308,26 @@ const prepareSemanticSearchPostPayload = (_a) => {
31281
31308
  return Object.assign(Object.assign({}, processedPostPayload), { polls });
31282
31309
  };
31283
31310
 
31311
+ const processDeleteChildPost = (payload) => {
31312
+ var _a;
31313
+ const post = payload.posts[0];
31314
+ if (!post.parentId)
31315
+ return;
31316
+ const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
31317
+ if (!parentPost)
31318
+ return;
31319
+ pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: parentPost.children.filter(childId => childId !== post.postId) }));
31320
+ };
31321
+ const processCreateChildPost = (payload) => {
31322
+ var _a;
31323
+ const post = payload.posts[0];
31324
+ if (!post.parentId)
31325
+ return;
31326
+ const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
31327
+ if (!parentPost)
31328
+ return;
31329
+ pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: [...new Set([post.postId, ...parentPost.children])] }));
31330
+ };
31284
31331
  const createPostEventSubscriber = (event, callback) => {
31285
31332
  const client = getActiveClient();
31286
31333
  const filter = (payload) => {
@@ -31305,6 +31352,7 @@ const createPostEventSubscriber = (event, callback) => {
31305
31352
  }
31306
31353
  if (event === 'post.deleted') {
31307
31354
  const { postId, postedUserId } = payload.posts[0];
31355
+ processDeleteChildPost(payload);
31308
31356
  try {
31309
31357
  isInTombstone('post', postId);
31310
31358
  }
@@ -31331,6 +31379,8 @@ const createPostEventSubscriber = (event, callback) => {
31331
31379
  }
31332
31380
  queries === null || queries === void 0 ? void 0 : queries.map(({ key, data }) => upsertInCache(key, data, { cachedAt: -1 }));
31333
31381
  }
31382
+ if (event === 'post.created')
31383
+ processCreateChildPost(payload);
31334
31384
  callback(post.data);
31335
31385
  }
31336
31386
  };
@@ -31357,6 +31407,8 @@ const createLocalPostEventSubscriber = (event, callback) => {
31357
31407
  });
31358
31408
  }
31359
31409
  const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
31410
+ if (event === 'local.post.deleted')
31411
+ processDeleteChildPost(payload);
31360
31412
  callback(post.data);
31361
31413
  }
31362
31414
  };
@@ -39132,6 +39184,9 @@ var index$b = /*#__PURE__*/Object.freeze({
39132
39184
  id: feed.query.global_feed
39133
39185
  */
39134
39186
  /**
39187
+ *
39188
+ * @deprecated This function will to be deprecated. Please use getGlobalFeed instead.
39189
+ *
39135
39190
  * ```js
39136
39191
  * import { queryGlobalFeed } from '@amityco/ts-sdk'
39137
39192
  * const posts = await queryGlobalFeed()
@@ -39214,88 +39269,12 @@ queryGlobalFeed.locally = (query) => {
39214
39269
  : undefined;
39215
39270
  };
39216
39271
 
39217
- /* begin_public_function
39218
- id: feed.query.custom_ranking_feed
39219
- */
39220
- /**
39221
- * ```js
39222
- * import { FeedRepository } from '@amityco/ts-sdk'
39223
- * const posts = await FeedRepository.getCustomRankingGlobalFeed()
39224
- * ```
39225
- *
39226
- * Queries a paginable list of {@link Amity.Post} objects
39227
- *
39228
- * @param query The query parameters
39229
- * @returns A page of {@link Amity.Post} objects
39230
- *
39231
- * @category Feed API
39232
- * @async
39233
- * */
39234
- const getCustomRankingGlobalFeed = async (query) => {
39235
- const client = getActiveClient();
39236
- client.log('feed/getCustomRankingGlobalFeed', query);
39237
- const _a = query !== null && query !== void 0 ? query : {}, { queryToken, limit } = _a, params = __rest(_a, ["queryToken", "limit"]);
39238
- const options = (() => {
39239
- if (queryToken)
39240
- return { token: queryToken };
39241
- return undefined;
39242
- })();
39243
- const { data: queryPayload } = await client.http.get(`/api/v5/me/global-feeds`, {
39244
- params: Object.assign(Object.assign({}, params), { limit: !queryToken ? limit : undefined, options }),
39245
- });
39246
- const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
39247
- const data = prepareMembershipPayload(payload, 'communityUsers');
39248
- const { posts } = data;
39249
- const cachedAt = client.cache && Date.now();
39250
- if (client.cache) {
39251
- ingestInCache(data);
39252
- const cacheKey = ['customGlobalFeed', 'query', Object.assign(Object.assign({}, params), { options })];
39253
- pushToCache(cacheKey, { posts: posts.map(getResolver('post')), paging });
39254
- }
39255
- return { data: posts.map(LinkedObject.post), cachedAt, paging };
39256
- };
39257
- /* end_public_function */
39258
- /**
39259
- * ```js
39260
- * import { FeedRepository } from '@amityco/ts-sdk'
39261
- * const posts = await FeedRepository.getCustomRankingGlobalFeed.locally()
39262
- * ```
39263
- *
39264
- * Queries a paginable list of {@link Amity.Post} objects from cache
39265
- *
39266
- * @param query The query parameters
39267
- * @returns A page of {@link Amity.Post} objects
39268
- *
39269
- * @category Feed API
39270
- * @async
39271
- * */
39272
- getCustomRankingGlobalFeed.locally = (query) => {
39273
- var _a, _b;
39274
- const client = getActiveClient();
39275
- client.log('post/getCustomRankingGlobalFeed.locally', query);
39276
- if (!client.cache)
39277
- return;
39278
- const params = __rest(query !== null && query !== void 0 ? query : {}, []);
39279
- const queryKey = ['customGlobalFeed', 'query', Object.assign({}, params)];
39280
- const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
39281
- if (!(data === null || data === void 0 ? void 0 : data.posts.length))
39282
- return;
39283
- const posts = data.posts
39284
- .map(postId => pullFromCache(['post', 'get', postId]))
39285
- .filter(Boolean)
39286
- .map(({ data }) => data);
39287
- const { paging } = data;
39288
- return posts.length === ((_b = data === null || data === void 0 ? void 0 : data.posts) === null || _b === void 0 ? void 0 : _b.length)
39289
- ? { data: posts.map(LinkedObject.post), cachedAt, paging }
39290
- : undefined;
39291
- };
39292
-
39293
- class UserFeedPaginationController extends PaginationController {
39272
+ class CustomRankingGlobalFeedPaginationController extends PaginationController {
39294
39273
  async getRequest(queryParams, token) {
39295
- const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
39274
+ const { limit } = queryParams, params = __rest(queryParams, ["limit"]);
39296
39275
  const options = token ? { token } : { limit };
39297
- const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
39298
- 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) }),
39276
+ const { data: queryResponse } = await this.http.get(`/api/v5/me/global-feeds`, {
39277
+ params: Object.assign(Object.assign({}, params), { options }),
39299
39278
  });
39300
39279
  return queryResponse;
39301
39280
  }
@@ -39314,7 +39293,7 @@ var EnumPostActions;
39314
39293
  EnumPostActions["OnPostDeclined"] = "onPostDeclined";
39315
39294
  })(EnumPostActions || (EnumPostActions = {}));
39316
39295
 
39317
- class UserFeedQueryStreamController extends QueryStreamController {
39296
+ class CustomRankingGlobalFeedQueryStreamController extends QueryStreamController {
39318
39297
  constructor(query, cacheKey, notifyChange, preparePayload) {
39319
39298
  super(query, cacheKey);
39320
39299
  this.notifyChange = notifyChange;
@@ -39343,40 +39322,28 @@ class UserFeedQueryStreamController extends QueryStreamController {
39343
39322
  }
39344
39323
  reactor(action) {
39345
39324
  return (post) => {
39346
- var _a, _b;
39325
+ var _a;
39347
39326
  const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
39348
39327
  if (!collection)
39349
39328
  return;
39350
- // if the collection is parent post collection and
39351
- // post is not included in the collection or post is child post
39352
- if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
39353
- !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
39329
+ if (post.parentPostId && !collection.data.includes(post.parentPostId))
39354
39330
  return;
39331
+ // Delete Action
39355
39332
  if (action === EnumPostActions.OnPostDeleted) {
39356
- collection.data = collection.data.filter(postId => postId !== post.postId);
39357
- }
39358
- if (post.parentPostId && post.isDeleted) {
39359
- const parentPost = (_b = pullFromCache([
39360
- 'post',
39361
- 'get',
39362
- post.parentPostId,
39363
- ])) === null || _b === void 0 ? void 0 : _b.data;
39364
- if (!parentPost)
39365
- return;
39366
- parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
39367
- pushToCache(['post', 'get', parentPost.postId], parentPost);
39368
- }
39369
- if (action === EnumPostActions.OnPostDeclined) {
39333
+ // Parent Post - Remove from collection
39370
39334
  collection.data = collection.data.filter(postId => postId !== post.postId);
39371
39335
  }
39372
39336
  if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
39373
- if (this.query.dataTypes &&
39374
- this.query.dataTypes.length > 0 &&
39375
- !this.query.dataTypes.includes(post.dataType)) {
39376
- return;
39337
+ // If the query has dataTypes array with value, check if post.dataType is include in the array
39338
+ if (this.query.dataTypes && this.query.dataTypes.length > 0) {
39339
+ if (!this.query.dataTypes.includes(post.dataType))
39340
+ return;
39377
39341
  }
39378
39342
  collection.data = [...new Set([post.postId, ...collection.data])];
39379
39343
  }
39344
+ if (action === EnumPostActions.OnPostDeclined) {
39345
+ collection.data = collection.data.filter(postId => postId !== post.postId);
39346
+ }
39380
39347
  pushToCache(this.cacheKey, collection);
39381
39348
  this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
39382
39349
  };
@@ -39680,6 +39647,12 @@ const deleteComment = async (commentId, permanent = false) => {
39680
39647
  });
39681
39648
  // to support hard deletion
39682
39649
  const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true });
39650
+ if (permanent) {
39651
+ scheduleTask(() => pushToTombstone('comment', commentId));
39652
+ }
39653
+ else {
39654
+ upsertInCache(['comment', 'get', commentId], { isDeleted: true });
39655
+ }
39683
39656
  if (comment.data.referenceType === 'story') {
39684
39657
  const story = await getStoryByStoryId$1(comment.data.referenceId);
39685
39658
  fireEvent('local.story.updated', {
@@ -39724,12 +39697,6 @@ const deleteComment = async (commentId, permanent = false) => {
39724
39697
  users: [],
39725
39698
  communityUsers: [],
39726
39699
  });
39727
- if (permanent) {
39728
- scheduleTask(() => pushToTombstone('comment', commentId));
39729
- }
39730
- else {
39731
- upsertInCache(['comment', 'get', commentId], { isDeleted: true });
39732
- }
39733
39700
  return deleted;
39734
39701
  };
39735
39702
  /* end_public_function */
@@ -40329,20 +40296,20 @@ getPost$1.locally = (postId) => {
40329
40296
 
40330
40297
  /**
40331
40298
  * ```js
40332
- * import { onPostUpdatedLocal } from '@amityco/ts-sdk'
40333
- * const dispose = onPostUpdatedLocal(post => {
40299
+ * import { onLocalPostDeleted } from '@amityco/ts-sdk'
40300
+ * const dispose = onLocalPostDeleted(post => {
40334
40301
  * // ...
40335
40302
  * })
40336
40303
  * ```
40337
40304
  *
40338
- * Fired when a {@link Amity.InternalPost} has been updated
40305
+ * Fired when a {@link Amity.InternalPost} has been deleted
40339
40306
  *
40340
40307
  * @param callback The function to call when the event was fired
40341
40308
  * @returns an {@link Amity.Unsubscriber} function to stop listening
40342
40309
  *
40343
40310
  * @category Post Events
40344
40311
  */
40345
- const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
40312
+ const onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
40346
40313
 
40347
40314
  /**
40348
40315
  * ```js
@@ -40404,20 +40371,403 @@ const onLocalPostReactionRemoved = (callback) => {
40404
40371
 
40405
40372
  /**
40406
40373
  * ```js
40407
- * import { onLocalPostDeleted } from '@amityco/ts-sdk'
40408
- * const dispose = onLocalPostDeleted(post => {
40374
+ * import { onPostUpdatedLocal } from '@amityco/ts-sdk'
40375
+ * const dispose = onPostUpdatedLocal(post => {
40409
40376
  * // ...
40410
40377
  * })
40411
40378
  * ```
40412
40379
  *
40413
- * Fired when a {@link Amity.InternalPost} has been deleted
40380
+ * Fired when a {@link Amity.InternalPost} has been updated
40414
40381
  *
40415
40382
  * @param callback The function to call when the event was fired
40416
40383
  * @returns an {@link Amity.Unsubscriber} function to stop listening
40417
40384
  *
40418
40385
  * @category Post Events
40419
40386
  */
40420
- const onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
40387
+ const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
40388
+
40389
+ const commentEventHandler$1 = (callback, eventHandler, cacheKey) => {
40390
+ return eventHandler(async (comment) => {
40391
+ var _a;
40392
+ const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40393
+ if (!currentCollection || !currentCollection.data.includes(comment.referenceId))
40394
+ return;
40395
+ await getPost$1(comment.referenceId);
40396
+ callback(comment);
40397
+ });
40398
+ };
40399
+ const generateCommentSubscriptions$1 = (cacheKey) => {
40400
+ const eventHandlers = [
40401
+ onCommentCreated,
40402
+ onCommentDeleted,
40403
+ onCommentReactionAdded,
40404
+ onCommentReactionRemoved,
40405
+ onCommentCreatedLocal,
40406
+ onCommentDeleteLocal,
40407
+ onLocalCommentReactionAdded,
40408
+ onLocalCommentReactionRemoved,
40409
+ ];
40410
+ return eventHandlers.map(handler => ({
40411
+ fn: convertEventPayload((callback) => commentEventHandler$1(callback, handler, cacheKey), 'referenceId', 'post'),
40412
+ action: EnumPostActions.OnPostUpdated,
40413
+ }));
40414
+ };
40415
+ const getGlobalFeedSubscriptions = (cacheKey) => {
40416
+ return [
40417
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
40418
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
40419
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
40420
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
40421
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
40422
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
40423
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
40424
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
40425
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
40426
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
40427
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
40428
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
40429
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
40430
+ ...generateCommentSubscriptions$1(cacheKey),
40431
+ ];
40432
+ };
40433
+
40434
+ class CustomRankingGlobalFeedLiveCollectionController extends LiveCollectionController {
40435
+ constructor(query, callback) {
40436
+ const queryStreamId = hash(query);
40437
+ const cacheKey = ['customRankingGlobalFeed', 'collection', queryStreamId];
40438
+ const paginationController = new CustomRankingGlobalFeedPaginationController(query);
40439
+ super(paginationController, queryStreamId, cacheKey, callback);
40440
+ this.query = query;
40441
+ this.queryStreamController = new CustomRankingGlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
40442
+ this.callback = callback.bind(this);
40443
+ this.loadPage({ initial: true });
40444
+ }
40445
+ setup() {
40446
+ var _a;
40447
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40448
+ if (!collection) {
40449
+ pushToCache(this.cacheKey, {
40450
+ data: [],
40451
+ params: {},
40452
+ });
40453
+ }
40454
+ }
40455
+ async persistModel(queryPayload) {
40456
+ await this.queryStreamController.saveToMainDB(queryPayload);
40457
+ }
40458
+ persistQueryStream({ response, direction, refresh, }) {
40459
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
40460
+ }
40461
+ startSubscription() {
40462
+ return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
40463
+ }
40464
+ notifyChange({ origin, loading, error }) {
40465
+ var _a, _b;
40466
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40467
+ if (!collection)
40468
+ return;
40469
+ const data = ((_b = collection.data
40470
+ .map(id => pullFromCache(['post', 'get', id]))
40471
+ .filter(isNonNullable)
40472
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
40473
+ if (!this.shouldNotify(data) && origin === 'event')
40474
+ return;
40475
+ this.callback({
40476
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
40477
+ data,
40478
+ hasNextPage: !!this.paginationController.getNextToken(),
40479
+ loading,
40480
+ error,
40481
+ });
40482
+ }
40483
+ }
40484
+
40485
+ /* begin_public_function
40486
+ id: feed.query.custom_ranking_feed
40487
+ */
40488
+ /**
40489
+ * ```js
40490
+ * import { FeedRepository } from '@amityco/ts-sdk'
40491
+ *
40492
+ * let posts = []
40493
+ * const unsub = FeedRepository.getGlobalFeed({
40494
+ * dataTypes: ['video','image'],
40495
+ * resolveParent: true,
40496
+ * }, response => processResponse(response))
40497
+ * ```
40498
+ *
40499
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
40500
+ *
40501
+ * @param params.dataTypes array of data types for the posts
40502
+ * @param callback the function to call when new data are available
40503
+ * @param config
40504
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
40505
+ *
40506
+ * @category Posts Live Collection
40507
+ */
40508
+ const getCustomRankingGlobalFeed = (params, callback, config) => {
40509
+ const { log, cache } = getActiveClient();
40510
+ if (!cache) {
40511
+ console.log(ENABLE_CACHE_MESSAGE);
40512
+ }
40513
+ const timestamp = Date.now();
40514
+ log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > listen`);
40515
+ const liveCollection = new CustomRankingGlobalFeedLiveCollectionController(params, callback);
40516
+ const disposers = liveCollection.startSubscription();
40517
+ const cacheKey = liveCollection.getCacheKey();
40518
+ disposers.push(() => dropFromCache(cacheKey));
40519
+ return () => {
40520
+ log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > dispose`);
40521
+ disposers.forEach(fn => fn());
40522
+ };
40523
+ };
40524
+ /* end_public_function */
40525
+
40526
+ class GlobalFeedPaginationController extends PaginationController {
40527
+ async getRequest(queryParams, token) {
40528
+ const { limit, resolveParent } = queryParams, params = __rest(queryParams, ["limit", "resolveParent"]);
40529
+ const options = token ? { token } : { limit };
40530
+ const { data: queryResponse } = await this.http.get(`/api/v4/me/global-feeds`, {
40531
+ params: Object.assign(Object.assign({}, params), { resolveParent: resolveParent !== null && resolveParent !== void 0 ? resolveParent : true, options }),
40532
+ });
40533
+ return queryResponse;
40534
+ }
40535
+ }
40536
+
40537
+ class GlobalFeedQueryStreamController extends QueryStreamController {
40538
+ constructor(query, cacheKey, notifyChange, preparePayload) {
40539
+ super(query, cacheKey);
40540
+ this.notifyChange = notifyChange;
40541
+ this.preparePayload = preparePayload;
40542
+ }
40543
+ async saveToMainDB(response) {
40544
+ const processedPayload = await this.preparePayload(response);
40545
+ const client = getActiveClient();
40546
+ const cachedAt = client.cache && Date.now();
40547
+ if (client.cache) {
40548
+ ingestInCache(processedPayload, { cachedAt });
40549
+ }
40550
+ }
40551
+ appendToQueryStream(response, direction, refresh = false) {
40552
+ var _a, _b;
40553
+ if (refresh) {
40554
+ pushToCache(this.cacheKey, {
40555
+ data: response.posts.map(getResolver('post')),
40556
+ });
40557
+ }
40558
+ else {
40559
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40560
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
40561
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
40562
+ }
40563
+ }
40564
+ reactor(action) {
40565
+ return (post) => {
40566
+ var _a;
40567
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40568
+ if (!collection)
40569
+ return;
40570
+ if (post.parentPostId && !collection.data.includes(post.parentPostId))
40571
+ return;
40572
+ // Delete Action
40573
+ if (action === EnumPostActions.OnPostDeleted) {
40574
+ // Parent Post - Remove from collection
40575
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40576
+ }
40577
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
40578
+ // If the query has dataTypes array with value, check if post.dataType is include in the array
40579
+ if (this.query.dataTypes && this.query.dataTypes.length > 0) {
40580
+ if (!this.query.dataTypes.includes(post.dataType))
40581
+ return;
40582
+ }
40583
+ collection.data = [...new Set([post.postId, ...collection.data])];
40584
+ }
40585
+ if (action === EnumPostActions.OnPostDeclined) {
40586
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40587
+ }
40588
+ pushToCache(this.cacheKey, collection);
40589
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
40590
+ };
40591
+ }
40592
+ subscribeRTE(createSubscriber) {
40593
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
40594
+ }
40595
+ }
40596
+
40597
+ class GlobalFeedLiveCollectionController extends LiveCollectionController {
40598
+ constructor(query, callback) {
40599
+ const queryStreamId = hash(query);
40600
+ const cacheKey = ['globalFeed', 'collection', queryStreamId];
40601
+ const paginationController = new GlobalFeedPaginationController(query);
40602
+ super(paginationController, queryStreamId, cacheKey, callback);
40603
+ this.query = query;
40604
+ this.queryStreamController = new GlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
40605
+ this.callback = callback.bind(this);
40606
+ this.loadPage({ initial: true });
40607
+ }
40608
+ setup() {
40609
+ var _a;
40610
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40611
+ if (!collection) {
40612
+ pushToCache(this.cacheKey, {
40613
+ data: [],
40614
+ params: {},
40615
+ });
40616
+ }
40617
+ }
40618
+ async persistModel(queryPayload) {
40619
+ await this.queryStreamController.saveToMainDB(queryPayload);
40620
+ }
40621
+ persistQueryStream({ response, direction, refresh, }) {
40622
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
40623
+ }
40624
+ startSubscription() {
40625
+ return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
40626
+ }
40627
+ notifyChange({ origin, loading, error }) {
40628
+ var _a, _b;
40629
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40630
+ if (!collection)
40631
+ return;
40632
+ const data = ((_b = collection.data
40633
+ .map(id => pullFromCache(['post', 'get', id]))
40634
+ .filter(isNonNullable)
40635
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
40636
+ if (!this.shouldNotify(data) && origin === 'event')
40637
+ return;
40638
+ this.callback({
40639
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
40640
+ data,
40641
+ hasNextPage: !!this.paginationController.getNextToken(),
40642
+ loading,
40643
+ error,
40644
+ });
40645
+ }
40646
+ }
40647
+
40648
+ /* begin_public_function
40649
+ id: feed.query.global_feed
40650
+ */
40651
+ /**
40652
+ * ```js
40653
+ * import { FeedRepository } from '@amityco/ts-sdk'
40654
+ *
40655
+ * let posts = []
40656
+ * const unsub = FeedRepository.getGlobalFeed({
40657
+ * dataTypes: ['video','image'],
40658
+ * resolveParent: true,
40659
+ * }, response => processResponse(response))
40660
+ * ```
40661
+ *
40662
+ * Observe all mutations on a list of {@link Amity.Post} for global feed
40663
+ * @param params.dataTypes array of data types for the posts
40664
+ * @param params.resolveParent
40665
+ * @param callback the function to call when new data are available
40666
+ * @param config
40667
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
40668
+ *
40669
+ * @category Posts Live Collection
40670
+ */
40671
+ const getGlobalFeed = (params, callback, config) => {
40672
+ const { log, cache } = getActiveClient();
40673
+ if (!cache) {
40674
+ console.log(ENABLE_CACHE_MESSAGE);
40675
+ }
40676
+ const timestamp = Date.now();
40677
+ log(`getGlobalFeed(tmpid: ${timestamp}) > listen`);
40678
+ const liveCollection = new GlobalFeedLiveCollectionController(params, callback);
40679
+ const disposers = liveCollection.startSubscription();
40680
+ const cacheKey = liveCollection.getCacheKey();
40681
+ disposers.push(() => dropFromCache(cacheKey));
40682
+ return () => {
40683
+ log(`getGlobalFeed(tmpid: ${timestamp}) > dispose`);
40684
+ disposers.forEach(fn => fn());
40685
+ };
40686
+ };
40687
+ /* end_public_function */
40688
+
40689
+ class UserFeedPaginationController extends PaginationController {
40690
+ async getRequest(queryParams, token) {
40691
+ const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
40692
+ const options = token ? { token } : { limit };
40693
+ const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
40694
+ 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) }),
40695
+ });
40696
+ return queryResponse;
40697
+ }
40698
+ }
40699
+
40700
+ class UserFeedQueryStreamController extends QueryStreamController {
40701
+ constructor(query, cacheKey, notifyChange, preparePayload) {
40702
+ super(query, cacheKey);
40703
+ this.notifyChange = notifyChange;
40704
+ this.preparePayload = preparePayload;
40705
+ }
40706
+ async saveToMainDB(response) {
40707
+ const processedPayload = await this.preparePayload(response);
40708
+ const client = getActiveClient();
40709
+ const cachedAt = client.cache && Date.now();
40710
+ if (client.cache) {
40711
+ ingestInCache(processedPayload, { cachedAt });
40712
+ }
40713
+ }
40714
+ appendToQueryStream(response, direction, refresh = false) {
40715
+ var _a, _b;
40716
+ if (refresh) {
40717
+ pushToCache(this.cacheKey, {
40718
+ data: response.posts.map(getResolver('post')),
40719
+ });
40720
+ }
40721
+ else {
40722
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40723
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
40724
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
40725
+ }
40726
+ }
40727
+ reactor(action) {
40728
+ return (post) => {
40729
+ var _a, _b;
40730
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40731
+ if (!collection)
40732
+ return;
40733
+ // if the collection is parent post collection and
40734
+ // post is not included in the collection or post is child post
40735
+ if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
40736
+ !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
40737
+ return;
40738
+ if (action === EnumPostActions.OnPostDeleted) {
40739
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40740
+ }
40741
+ if (post.parentPostId && post.isDeleted) {
40742
+ const parentPost = (_b = pullFromCache([
40743
+ 'post',
40744
+ 'get',
40745
+ post.parentPostId,
40746
+ ])) === null || _b === void 0 ? void 0 : _b.data;
40747
+ if (!parentPost)
40748
+ return;
40749
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
40750
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
40751
+ }
40752
+ if (action === EnumPostActions.OnPostDeclined) {
40753
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40754
+ }
40755
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
40756
+ if (this.query.dataTypes &&
40757
+ this.query.dataTypes.length > 0 &&
40758
+ !this.query.dataTypes.includes(post.dataType)) {
40759
+ return;
40760
+ }
40761
+ collection.data = [...new Set([post.postId, ...collection.data])];
40762
+ }
40763
+ pushToCache(this.cacheKey, collection);
40764
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
40765
+ };
40766
+ }
40767
+ subscribeRTE(createSubscriber) {
40768
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
40769
+ }
40770
+ }
40421
40771
 
40422
40772
  class UserFeedLiveCollectionController extends LiveCollectionController {
40423
40773
  constructor(query, callback) {
@@ -40494,7 +40844,7 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
40494
40844
  const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40495
40845
  if (!collection)
40496
40846
  return;
40497
- const data = this.applyFilter((_b = collection.data
40847
+ const data = ((_b = collection.data
40498
40848
  .map(id => pullFromCache(['post', 'get', id]))
40499
40849
  .filter(isNonNullable)
40500
40850
  .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
@@ -40508,26 +40858,6 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
40508
40858
  error,
40509
40859
  });
40510
40860
  }
40511
- applyFilter(data) {
40512
- var _a;
40513
- let posts = data;
40514
- if (!this.query.includeDeleted) {
40515
- posts = filterByPropEquality(posts, 'isDeleted', false);
40516
- }
40517
- if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
40518
- posts = filterByPostDataTypes(posts, this.query.dataTypes);
40519
- }
40520
- switch (this.query.sortBy) {
40521
- case 'firstCreated':
40522
- posts = posts.sort(sortByFirstCreated);
40523
- break;
40524
- case 'lastCreated':
40525
- default:
40526
- posts = posts.sort(sortByLastCreated);
40527
- break;
40528
- }
40529
- return posts;
40530
- }
40531
40861
  }
40532
40862
 
40533
40863
  /* begin_public_function
@@ -40576,6 +40906,7 @@ var index$9 = /*#__PURE__*/Object.freeze({
40576
40906
  __proto__: null,
40577
40907
  queryGlobalFeed: queryGlobalFeed,
40578
40908
  getCustomRankingGlobalFeed: getCustomRankingGlobalFeed,
40909
+ getGlobalFeed: getGlobalFeed,
40579
40910
  getUserFeed: getUserFeed
40580
40911
  });
40581
40912
 
@@ -41240,6 +41571,52 @@ class PostQueryStreamController extends QueryStreamController {
41240
41571
  }
41241
41572
  }
41242
41573
 
41574
+ const commentEventHandler = (callback, eventHandler, cacheKey, resolveId) => {
41575
+ return eventHandler(async (comment) => {
41576
+ var _a;
41577
+ const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41578
+ if (!currentCollection ||
41579
+ !currentCollection.data.includes(resolveId ? resolveId(comment.referenceId) : comment.referenceId))
41580
+ return;
41581
+ await getPost$1(comment.referenceId);
41582
+ callback(comment);
41583
+ });
41584
+ };
41585
+ const generateCommentSubscriptions = ({ cacheKey, resolveId, }) => {
41586
+ const eventHandlers = [
41587
+ onCommentCreated,
41588
+ onCommentDeleted,
41589
+ onCommentReactionAdded,
41590
+ onCommentReactionRemoved,
41591
+ onCommentCreatedLocal,
41592
+ onCommentDeleteLocal,
41593
+ onLocalCommentReactionAdded,
41594
+ onLocalCommentReactionRemoved,
41595
+ ];
41596
+ return eventHandlers.map(handler => ({
41597
+ fn: convertEventPayload((callback) => commentEventHandler(callback, handler, cacheKey, resolveId), 'referenceId', 'post'),
41598
+ action: EnumPostActions.OnPostUpdated,
41599
+ }));
41600
+ };
41601
+ const getPostSubscription = (cacheKey) => {
41602
+ return [
41603
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
41604
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
41605
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
41606
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
41607
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
41608
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
41609
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
41610
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
41611
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41612
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41613
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41614
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41615
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
41616
+ ...generateCommentSubscriptions({ cacheKey }),
41617
+ ];
41618
+ };
41619
+
41243
41620
  class PostLiveCollectionController extends LiveCollectionController {
41244
41621
  constructor(query, callback) {
41245
41622
  const queryStreamId = hash(query);
@@ -41268,47 +41645,7 @@ class PostLiveCollectionController extends LiveCollectionController {
41268
41645
  this.queryStreamController.appendToQueryStream(response, direction, refresh);
41269
41646
  }
41270
41647
  startSubscription() {
41271
- return this.queryStreamController.subscribeRTE([
41272
- { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
41273
- { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
41274
- { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
41275
- { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
41276
- { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
41277
- { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
41278
- { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
41279
- { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
41280
- { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41281
- { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41282
- { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41283
- { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41284
- { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
41285
- {
41286
- fn: convertEventPayload((callback) => {
41287
- return onCommentCreated(async (comment) => {
41288
- var _a;
41289
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41290
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
41291
- return;
41292
- await getPost$1(comment.referenceId);
41293
- callback(comment);
41294
- });
41295
- }, 'referenceId', 'post'),
41296
- action: EnumPostActions.OnPostUpdated,
41297
- },
41298
- {
41299
- fn: convertEventPayload((callback) => {
41300
- return onCommentDeleted(async (comment) => {
41301
- var _a;
41302
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41303
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
41304
- return;
41305
- await getPost$1(comment.referenceId);
41306
- callback(comment);
41307
- });
41308
- }, 'referenceId', 'post'),
41309
- action: EnumPostActions.OnPostUpdated,
41310
- },
41311
- ]);
41648
+ return this.queryStreamController.subscribeRTE(getPostSubscription(this.cacheKey));
41312
41649
  }
41313
41650
  notifyChange({ origin, loading, error }) {
41314
41651
  var _a, _b;
@@ -41443,6 +41780,22 @@ class PinnedPostQueryStreamController extends QueryStreamController {
41443
41780
  });
41444
41781
  }
41445
41782
  }
41783
+ reactor(action) {
41784
+ return (post) => {
41785
+ var _a;
41786
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41787
+ if (!collection)
41788
+ return;
41789
+ if (action === EnumPostActions.OnPostDeleted) {
41790
+ collection.data = collection.data.filter(referenceId => referenceId !== `global#${post.postId}`);
41791
+ }
41792
+ pushToCache(this.cacheKey, collection);
41793
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
41794
+ };
41795
+ }
41796
+ subscribeRTE(createSubscriber) {
41797
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
41798
+ }
41446
41799
  }
41447
41800
 
41448
41801
  class PinnedPostLiveCollectionController extends LiveCollectionController {
@@ -41474,7 +41827,10 @@ class PinnedPostLiveCollectionController extends LiveCollectionController {
41474
41827
  }
41475
41828
  // eslint-disable-next-line class-methods-use-this
41476
41829
  startSubscription() {
41477
- return [];
41830
+ return this.queryStreamController.subscribeRTE(generateCommentSubscriptions({
41831
+ cacheKey: this.cacheKey,
41832
+ resolveId: id => `${this.query.placement}#${id}`,
41833
+ }));
41478
41834
  }
41479
41835
  notifyChange({ origin, loading, error }) {
41480
41836
  var _a, _b;
@@ -41626,6 +41982,10 @@ class GlobalPinnedPostLiveCollectionController extends LiveCollectionController
41626
41982
  fn: onPostDeleted,
41627
41983
  action: EnumPostActions.OnPostDeleted,
41628
41984
  },
41985
+ ...generateCommentSubscriptions({
41986
+ cacheKey: this.cacheKey,
41987
+ resolveId: id => `global#${id}`,
41988
+ }),
41629
41989
  ]);
41630
41990
  }
41631
41991
  notifyChange({ origin, loading, error }) {
@@ -41905,6 +42265,238 @@ const semanticSearchPosts = (params, callback, config) => {
41905
42265
  };
41906
42266
  };
41907
42267
 
42268
+ class SearchPostPaginationController extends PaginationController {
42269
+ async getRequest(queryParams, token) {
42270
+ const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, matchingOnlyParentPost, hashtags, dataTypes, targetType = 'all' } = queryParams, params = __rest(queryParams, ["limit", "matchingOnlyParentPost", "hashtags", "dataTypes", "targetType"]);
42271
+ const baseOptions = {
42272
+ type: params.sortBy || queryParams.limit ? 'pagination' : undefined,
42273
+ };
42274
+ const options = token ? Object.assign(Object.assign({}, baseOptions), { token }) : Object.assign(Object.assign({}, baseOptions), { limit });
42275
+ const { data: queryResponse } = await this.http.get(`/api/v1/search/posts`, {
42276
+ params: Object.assign(Object.assign({}, params), { hashtags,
42277
+ dataTypes,
42278
+ targetType,
42279
+ /*
42280
+ * when creating post like image, file, video BE will create 2 posts
42281
+ * 1. parent post to store text with dataType=text
42282
+ * 2. child post to store dataTypes post data
42283
+ *
42284
+ * By default, BE queries only parent post
42285
+ */
42286
+ matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length), options }),
42287
+ });
42288
+ return queryResponse;
42289
+ }
42290
+ }
42291
+
42292
+ class SearchPostQueryStreamController extends QueryStreamController {
42293
+ constructor(query, cacheKey, notifyChange, preparePayload) {
42294
+ super(query, cacheKey);
42295
+ this.notifyChange = notifyChange;
42296
+ this.preparePayload = preparePayload;
42297
+ }
42298
+ async saveToMainDB(response) {
42299
+ const processedPayload = await this.preparePayload(response);
42300
+ const client = getActiveClient();
42301
+ const cachedAt = client.cache && Date.now();
42302
+ if (client.cache) {
42303
+ ingestInCache(processedPayload, { cachedAt });
42304
+ }
42305
+ }
42306
+ appendToQueryStream(response, direction, refresh = false) {
42307
+ var _a, _b;
42308
+ if (refresh) {
42309
+ pushToCache(this.cacheKey, {
42310
+ data: response.posts.map(getResolver('post')),
42311
+ });
42312
+ }
42313
+ else {
42314
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42315
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
42316
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
42317
+ }
42318
+ }
42319
+ reactor(action) {
42320
+ return (post) => {
42321
+ var _a, _b;
42322
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42323
+ if (!collection)
42324
+ return;
42325
+ if (post.parentPostId && post.isDeleted) {
42326
+ const parentPost = (_b = pullFromCache([
42327
+ 'post',
42328
+ 'get',
42329
+ post.parentPostId,
42330
+ ])) === null || _b === void 0 ? void 0 : _b.data;
42331
+ if (!parentPost)
42332
+ return;
42333
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
42334
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
42335
+ }
42336
+ if (action === EnumPostActions.OnPostDeclined) {
42337
+ collection.data = collection.data.filter(postId => postId !== post.postId);
42338
+ }
42339
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
42340
+ collection.data = [...new Set([post.postId, ...collection.data])];
42341
+ }
42342
+ pushToCache(this.cacheKey, collection);
42343
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
42344
+ };
42345
+ }
42346
+ subscribeRTE(createSubscriber) {
42347
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
42348
+ }
42349
+ }
42350
+
42351
+ class SearchPostLiveCollectionController extends LiveCollectionController {
42352
+ constructor(query, callback) {
42353
+ const queryStreamId = hash(query);
42354
+ const cacheKey = ['posts', 'collection', queryStreamId];
42355
+ const paginationController = new SearchPostPaginationController(query);
42356
+ super(paginationController, queryStreamId, cacheKey, callback);
42357
+ this.query = query;
42358
+ this.queryStreamController = new SearchPostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
42359
+ this.callback = callback.bind(this);
42360
+ this.loadPage({ initial: true });
42361
+ }
42362
+ setup() {
42363
+ var _a;
42364
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42365
+ if (!collection) {
42366
+ pushToCache(this.cacheKey, {
42367
+ data: [],
42368
+ params: {},
42369
+ });
42370
+ }
42371
+ }
42372
+ async persistModel(queryPayload) {
42373
+ await this.queryStreamController.saveToMainDB(queryPayload);
42374
+ }
42375
+ persistQueryStream({ response, direction, refresh, }) {
42376
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
42377
+ }
42378
+ startSubscription() {
42379
+ return this.queryStreamController.subscribeRTE([
42380
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
42381
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
42382
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
42383
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
42384
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
42385
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
42386
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
42387
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
42388
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
42389
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
42390
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
42391
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
42392
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
42393
+ {
42394
+ fn: convertEventPayload((callback) => {
42395
+ return onCommentCreated(async (comment) => {
42396
+ var _a;
42397
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42398
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
42399
+ return;
42400
+ await getPost$1(comment.referenceId);
42401
+ callback(comment);
42402
+ });
42403
+ }, 'referenceId', 'post'),
42404
+ action: EnumPostActions.OnPostUpdated,
42405
+ },
42406
+ {
42407
+ fn: convertEventPayload((callback) => {
42408
+ return onCommentDeleted(async (comment) => {
42409
+ var _a;
42410
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42411
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
42412
+ return;
42413
+ await getPost$1(comment.referenceId);
42414
+ callback(comment);
42415
+ });
42416
+ }, 'referenceId', 'post'),
42417
+ action: EnumPostActions.OnPostUpdated,
42418
+ },
42419
+ ]);
42420
+ }
42421
+ notifyChange({ origin, loading, error }) {
42422
+ var _a, _b;
42423
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42424
+ if (!collection)
42425
+ return;
42426
+ const data = this.applyFilter((_b = collection.data
42427
+ .map(id => pullFromCache(['post', 'get', id]))
42428
+ .filter(isNonNullable)
42429
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
42430
+ if (!this.shouldNotify(data) && origin === 'event')
42431
+ return;
42432
+ this.callback({
42433
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
42434
+ data,
42435
+ hasNextPage: !!this.paginationController.getNextToken(),
42436
+ loading,
42437
+ error,
42438
+ });
42439
+ }
42440
+ applyFilter(data) {
42441
+ var _a;
42442
+ let posts = data;
42443
+ if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
42444
+ posts = filterByPostDataTypes(posts, this.query.dataTypes);
42445
+ }
42446
+ switch (this.query.sortBy) {
42447
+ case 'firstCreated':
42448
+ posts = posts.sort(sortByFirstCreated);
42449
+ break;
42450
+ case 'lastCreated':
42451
+ default:
42452
+ posts = posts.sort(sortByLastCreated);
42453
+ break;
42454
+ }
42455
+ return posts;
42456
+ }
42457
+ }
42458
+
42459
+ /* begin_public_function
42460
+ id: post.query
42461
+ */
42462
+ /**
42463
+ * ```js
42464
+ * import { PostRepository } from '@amityco/ts-sdk'
42465
+ *
42466
+ * let posts = []
42467
+ * const unsub = PostRepository.searchPostsByHashtag({
42468
+ * hashtags: ['amity'],
42469
+ * limit: 10,
42470
+ * }, response => merge(posts, response.data))
42471
+ * ```
42472
+ *
42473
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
42474
+ *
42475
+ * @param params.hashtags the hashtags to search for
42476
+ * @param callback the function to call when new data are available
42477
+ * @param config
42478
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
42479
+ *
42480
+ * @category Posts Live Collection
42481
+ */
42482
+ const searchPostsByHashtag = (params, callback, config) => {
42483
+ const { log, cache } = getActiveClient();
42484
+ if (!cache) {
42485
+ console.log(ENABLE_CACHE_MESSAGE);
42486
+ }
42487
+ const timestamp = Date.now();
42488
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > listen`);
42489
+ const postsLiveCollection = new SearchPostLiveCollectionController(params, callback);
42490
+ const disposers = postsLiveCollection.startSubscription();
42491
+ const cacheKey = postsLiveCollection.getCacheKey();
42492
+ disposers.push(() => dropFromCache(cacheKey));
42493
+ return () => {
42494
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > dispose`);
42495
+ disposers.forEach(fn => fn());
42496
+ };
42497
+ };
42498
+ /* end_public_function */
42499
+
41908
42500
  var index$8 = /*#__PURE__*/Object.freeze({
41909
42501
  __proto__: null,
41910
42502
  getPostByIds: getPostByIds,
@@ -41932,7 +42524,8 @@ var index$8 = /*#__PURE__*/Object.freeze({
41932
42524
  getPosts: getPosts,
41933
42525
  getPinnedPosts: getPinnedPosts,
41934
42526
  getGlobalPinnedPosts: getGlobalPinnedPosts,
41935
- semanticSearchPosts: semanticSearchPosts
42527
+ semanticSearchPosts: semanticSearchPosts,
42528
+ searchPostsByHashtag: searchPostsByHashtag
41936
42529
  });
41937
42530
 
41938
42531
  /* begin_public_function
@@ -42537,8 +43130,8 @@ var index$7 = /*#__PURE__*/Object.freeze({
42537
43130
  * const created = await createPoll({
42538
43131
  * question: 'question',
42539
43132
  * answers: [
42540
- * { dataType: 'text', data: 'answer1' },
42541
- * { dataType: 'text', data: 'answer2' },
43133
+ * { dataType: 'text', data: 'answer1', fileId: 'fileId1' },
43134
+ * { dataType: 'text', data: 'answer2', fileId: 'fileId2' },
42542
43135
  * ],
42543
43136
  * closedIn: 1649136484
42544
43137
  * }))