@amityco/ts-sdk 7.8.1-5d16a58a.0 → 7.8.1-680d3cc.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 (296) 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 +5 -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 +1 -0
  10. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js.map +1 -1
  11. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts +11 -0
  12. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.d.ts.map +1 -0
  13. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js +2 -0
  14. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/hashtag.js.map +1 -0
  15. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.d.ts +2 -1
  16. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.d.ts.map +1 -1
  17. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/notification.js.map +1 -1
  18. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/pinnedPost.d.ts +1 -4
  19. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/pinnedPost.d.ts.map +1 -1
  20. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/pinnedPost.js.map +1 -1
  21. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.d.ts +3 -1
  22. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.d.ts.map +1 -1
  23. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/poll.js.map +1 -1
  24. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts +14 -1
  25. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.d.ts.map +1 -1
  26. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/post.js.map +1 -1
  27. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts +2 -0
  28. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
  29. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js +2 -0
  30. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
  31. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts +16 -0
  32. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
  33. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js +21 -0
  34. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/getShareableLinkConfiguration.js.map +1 -0
  35. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts +2 -0
  36. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.d.ts.map +1 -1
  37. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js +2 -0
  38. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/client/api/index.js.map +1 -1
  39. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/commentRepository/api/deleteComment.js +6 -6
  40. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/commentRepository/api/deleteComment.js.map +1 -1
  41. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.d.ts.map +1 -1
  42. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.js +2 -1
  43. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/model/index.js.map +1 -1
  44. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.d.ts +0 -1
  45. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.d.ts.map +1 -1
  46. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.js +0 -1
  47. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/index.js.map +1 -1
  48. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.d.ts +3 -0
  49. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  50. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.js +3 -0
  51. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/queryGlobalFeed.js.map +1 -1
  52. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts +2 -2
  53. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts.map +1 -1
  54. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js +2 -2
  55. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js.map +1 -1
  56. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +13 -0
  57. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  58. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js +60 -0
  59. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.js.map +1 -0
  60. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +5 -0
  61. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +1 -0
  62. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js +13 -0
  63. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.js.map +1 -0
  64. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +15 -0
  65. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +1 -0
  66. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.js +66 -0
  67. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.js.map +1 -0
  68. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +22 -0
  69. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +1 -0
  70. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js +45 -0
  71. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getCustomRankingGlobalFeed.js.map +1 -0
  72. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts +13 -0
  73. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  74. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js +60 -0
  75. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.js.map +1 -0
  76. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +5 -0
  77. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +1 -0
  78. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js +13 -0
  79. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/PaginationController.js.map +1 -0
  80. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts +15 -0
  81. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +1 -0
  82. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js +66 -0
  83. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.js.map +1 -0
  84. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts +22 -0
  85. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.d.ts.map +1 -0
  86. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js +45 -0
  87. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getGlobalFeed.js.map +1 -0
  88. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +0 -1
  89. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -1
  90. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js +1 -22
  91. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js.map +1 -1
  92. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts +3 -1
  93. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts.map +1 -1
  94. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js +3 -1
  95. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js.map +1 -1
  96. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts +6 -0
  97. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.d.ts.map +1 -0
  98. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js +60 -0
  99. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/utils.js.map +1 -0
  100. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
  101. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/liveReactionRepository/api/createReaction.js.map +1 -1
  102. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.d.ts +3 -3
  103. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.d.ts.map +1 -1
  104. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.js +2 -2
  105. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/createPoll.js.map +1 -1
  106. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.d.ts +1 -1
  107. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/createPost.js.map +1 -1
  108. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.d.ts +1 -1
  109. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/editPost.js.map +1 -1
  110. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js +2 -2
  111. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/api/queryPosts.js.map +1 -1
  112. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.d.ts.map +1 -1
  113. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.js +26 -1
  114. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/events/utils.js.map +1 -1
  115. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.d.ts.map +1 -1
  116. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.js +5 -0
  117. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.js.map +1 -1
  118. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -1
  119. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.js +5 -1
  120. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.js.map +1 -1
  121. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +6 -0
  122. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
  123. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.js +17 -0
  124. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.js.map +1 -1
  125. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
  126. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.js +2 -50
  127. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPosts/PostLiveCollectionController.js.map +1 -1
  128. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
  129. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
  130. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js +126 -0
  131. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.js.map +1 -0
  132. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
  133. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
  134. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js +27 -0
  135. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.js.map +1 -0
  136. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
  137. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
  138. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js +65 -0
  139. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.js.map +1 -0
  140. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts +1 -0
  141. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.d.ts.map +1 -1
  142. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js +1 -0
  143. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/index.js.map +1 -1
  144. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
  145. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
  146. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js +45 -0
  147. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/searchPostsByHashtag.js.map +1 -0
  148. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts +13 -0
  149. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.d.ts.map +1 -0
  150. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js +61 -0
  151. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/postRepository/observers/utils.js.map +1 -0
  152. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
  153. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.js +1 -1
  154. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/addReaction.js.map +1 -1
  155. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
  156. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.js +1 -1
  157. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/api/removeReaction.js.map +1 -1
  158. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  159. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.js +9 -4
  160. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/postLinkedObject.js.map +1 -1
  161. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  162. package/dist/@types/domains/client.d.ts +4 -0
  163. package/dist/@types/domains/client.d.ts.map +1 -1
  164. package/dist/@types/domains/content.d.ts +1 -0
  165. package/dist/@types/domains/content.d.ts.map +1 -1
  166. package/dist/@types/domains/feed.d.ts +5 -0
  167. package/dist/@types/domains/feed.d.ts.map +1 -1
  168. package/dist/@types/domains/hashtag.d.ts +11 -0
  169. package/dist/@types/domains/hashtag.d.ts.map +1 -0
  170. package/dist/@types/domains/notification.d.ts +2 -1
  171. package/dist/@types/domains/notification.d.ts.map +1 -1
  172. package/dist/@types/domains/pinnedPost.d.ts +1 -4
  173. package/dist/@types/domains/pinnedPost.d.ts.map +1 -1
  174. package/dist/@types/domains/poll.d.ts +3 -1
  175. package/dist/@types/domains/poll.d.ts.map +1 -1
  176. package/dist/@types/domains/post.d.ts +14 -1
  177. package/dist/@types/domains/post.d.ts.map +1 -1
  178. package/dist/@types/index.d.ts +2 -0
  179. package/dist/@types/index.d.ts.map +1 -1
  180. package/dist/client/api/getShareableLinkConfiguration.d.ts +16 -0
  181. package/dist/client/api/getShareableLinkConfiguration.d.ts.map +1 -0
  182. package/dist/client/api/index.d.ts +2 -0
  183. package/dist/client/api/index.d.ts.map +1 -1
  184. package/dist/core/model/index.d.ts.map +1 -1
  185. package/dist/feedRepository/api/index.d.ts +0 -1
  186. package/dist/feedRepository/api/index.d.ts.map +1 -1
  187. package/dist/feedRepository/api/queryGlobalFeed.d.ts +3 -0
  188. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  189. package/dist/feedRepository/index.d.ts +2 -2
  190. package/dist/feedRepository/index.d.ts.map +1 -1
  191. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts +13 -0
  192. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  193. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts +5 -0
  194. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.d.ts.map +1 -0
  195. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts +15 -0
  196. package/dist/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.d.ts.map +1 -0
  197. package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts +22 -0
  198. package/dist/feedRepository/observers/getCustomRankingGlobalFeed.d.ts.map +1 -0
  199. package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts +13 -0
  200. package/dist/feedRepository/observers/getGlobalFeed/LiveCollectionController.d.ts.map +1 -0
  201. package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts +5 -0
  202. package/dist/feedRepository/observers/getGlobalFeed/PaginationController.d.ts.map +1 -0
  203. package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts +15 -0
  204. package/dist/feedRepository/observers/getGlobalFeed/QueryStreamController.d.ts.map +1 -0
  205. package/dist/feedRepository/observers/getGlobalFeed.d.ts +22 -0
  206. package/dist/feedRepository/observers/getGlobalFeed.d.ts.map +1 -0
  207. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +0 -1
  208. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -1
  209. package/dist/feedRepository/observers/index.d.ts +3 -1
  210. package/dist/feedRepository/observers/index.d.ts.map +1 -1
  211. package/dist/feedRepository/observers/utils.d.ts +6 -0
  212. package/dist/feedRepository/observers/utils.d.ts.map +1 -0
  213. package/dist/index.cjs.js +891 -275
  214. package/dist/index.esm.js +808 -192
  215. package/dist/index.umd.js +4 -4
  216. package/dist/liveReactionRepository/api/createReaction.d.ts.map +1 -1
  217. package/dist/pollRepository/api/createPoll.d.ts +3 -3
  218. package/dist/pollRepository/api/createPoll.d.ts.map +1 -1
  219. package/dist/postRepository/api/createPost.d.ts +1 -1
  220. package/dist/postRepository/api/editPost.d.ts +1 -1
  221. package/dist/postRepository/events/utils.d.ts.map +1 -1
  222. package/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.d.ts.map +1 -1
  223. package/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -1
  224. package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +6 -0
  225. package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
  226. package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
  227. package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts +14 -0
  228. package/dist/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.d.ts.map +1 -0
  229. package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts +5 -0
  230. package/dist/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.d.ts.map +1 -0
  231. package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts +15 -0
  232. package/dist/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.d.ts.map +1 -0
  233. package/dist/postRepository/observers/index.d.ts +1 -0
  234. package/dist/postRepository/observers/index.d.ts.map +1 -1
  235. package/dist/postRepository/observers/searchPostsByHashtag.d.ts +22 -0
  236. package/dist/postRepository/observers/searchPostsByHashtag.d.ts.map +1 -0
  237. package/dist/postRepository/observers/utils.d.ts +13 -0
  238. package/dist/postRepository/observers/utils.d.ts.map +1 -0
  239. package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
  240. package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
  241. package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  242. package/package.json +1 -1
  243. package/src/@types/domains/client.ts +5 -0
  244. package/src/@types/domains/content.ts +1 -0
  245. package/src/@types/domains/feed.ts +17 -0
  246. package/src/@types/domains/hashtag.ts +11 -0
  247. package/src/@types/domains/notification.ts +1 -0
  248. package/src/@types/domains/pinnedPost.ts +1 -4
  249. package/src/@types/domains/poll.ts +3 -1
  250. package/src/@types/domains/post.ts +18 -1
  251. package/src/@types/index.ts +2 -0
  252. package/src/client/api/getShareableLinkConfiguration.ts +26 -0
  253. package/src/client/api/index.ts +4 -0
  254. package/src/commentRepository/api/deleteComment.ts +6 -6
  255. package/src/core/model/index.ts +2 -1
  256. package/src/feedRepository/api/index.ts +0 -1
  257. package/src/feedRepository/api/queryGlobalFeed.ts +3 -0
  258. package/src/feedRepository/index.ts +2 -2
  259. package/src/feedRepository/observers/getCustomRankingGlobalFeed/LiveCollectionController.ts +95 -0
  260. package/src/feedRepository/observers/getCustomRankingGlobalFeed/PaginationController.ts +25 -0
  261. package/src/feedRepository/observers/getCustomRankingGlobalFeed/QueryStreamController.ts +101 -0
  262. package/src/feedRepository/observers/getCustomRankingGlobalFeed.ts +56 -0
  263. package/src/feedRepository/observers/getGlobalFeed/LiveCollectionController.ts +91 -0
  264. package/src/feedRepository/observers/getGlobalFeed/PaginationController.ts +23 -0
  265. package/src/feedRepository/observers/getGlobalFeed/QueryStreamController.ts +99 -0
  266. package/src/feedRepository/observers/getGlobalFeed.ts +56 -0
  267. package/src/feedRepository/observers/getUserFeed/LiveCollectionController.ts +2 -32
  268. package/src/feedRepository/observers/index.ts +3 -1
  269. package/src/feedRepository/observers/utils.ts +85 -0
  270. package/src/liveReactionRepository/api/createReaction.ts +0 -1
  271. package/src/pollRepository/api/createPoll.ts +3 -3
  272. package/src/postRepository/api/createPost.ts +1 -1
  273. package/src/postRepository/api/editPost.ts +1 -1
  274. package/src/postRepository/api/queryPosts.ts +2 -2
  275. package/src/postRepository/events/utils.ts +35 -1
  276. package/src/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostLiveCollectionController.ts +5 -0
  277. package/src/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.ts +7 -1
  278. package/src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts +27 -0
  279. package/src/postRepository/observers/getPosts/PostLiveCollectionController.ts +2 -74
  280. package/src/postRepository/observers/getPostsByHashtag/SearchPostLiveCollectionController.ts +183 -0
  281. package/src/postRepository/observers/getPostsByHashtag/SearchPostPaginationController.ts +49 -0
  282. package/src/postRepository/observers/getPostsByHashtag/SearchPostQueryStreamController.ts +99 -0
  283. package/src/postRepository/observers/index.ts +1 -0
  284. package/src/postRepository/observers/searchPostsByHashtag.ts +56 -0
  285. package/src/postRepository/observers/utils.ts +97 -0
  286. package/src/reactionRepository/api/addReaction.ts +1 -0
  287. package/src/reactionRepository/api/removeReaction.ts +1 -0
  288. package/src/utils/linkedObject/postLinkedObject.ts +3 -3
  289. package/tsconfig.tsbuildinfo +1 -1
  290. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
  291. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
  292. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js +0 -83
  293. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/api/getCustomRankingGlobalFeed.js.map +0 -1
  294. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +0 -37
  295. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +0 -1
  296. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +0 -115
package/dist/index.cjs.js CHANGED
@@ -153,6 +153,29 @@ exports.JoinResultStatusEnum = void 0;
153
153
  JoinResultStatusEnum["Pending"] = "pending";
154
154
  })(exports.JoinResultStatusEnum || (exports.JoinResultStatusEnum = {}));
155
155
 
156
+ exports.FeedDataTypeEnum = void 0;
157
+ (function (FeedDataTypeEnum) {
158
+ FeedDataTypeEnum["Text"] = "text";
159
+ FeedDataTypeEnum["Video"] = "video";
160
+ FeedDataTypeEnum["Image"] = "image";
161
+ FeedDataTypeEnum["File"] = "file";
162
+ FeedDataTypeEnum["LiveStream"] = "liveStream";
163
+ FeedDataTypeEnum["Clip"] = "clip";
164
+ FeedDataTypeEnum["Poll"] = "poll";
165
+ })(exports.FeedDataTypeEnum || (exports.FeedDataTypeEnum = {}));
166
+ exports.FeedSortByEnum = void 0;
167
+ (function (FeedSortByEnum) {
168
+ FeedSortByEnum["LastCreated"] = "lastCreated";
169
+ FeedSortByEnum["FirstCreated"] = "firstCreated";
170
+ FeedSortByEnum["LastUpdated"] = "lastUpdated";
171
+ FeedSortByEnum["FirstUpdated"] = "firstUpdated";
172
+ })(exports.FeedSortByEnum || (exports.FeedSortByEnum = {}));
173
+ exports.FeedSourceEnum = void 0;
174
+ (function (FeedSourceEnum) {
175
+ FeedSourceEnum["Community"] = "community";
176
+ FeedSourceEnum["User"] = "user";
177
+ })(exports.FeedSourceEnum || (exports.FeedSourceEnum = {}));
178
+
156
179
  function getVersion() {
157
180
  try {
158
181
  // the string ''v7.8.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
@@ -658,7 +681,8 @@ const PAYLOAD2MODEL = {
658
681
  };
659
682
  /** hidden */
660
683
  const isOutdated = (prevData, nextData) => {
661
- if ('updatedAt' in nextData && 'updatedAt' in nextData) {
684
+ // Check if the new value is outdated.
685
+ if ('updatedAt' in nextData && 'updatedAt' in prevData) {
662
686
  return new Date(nextData.updatedAt) < new Date(prevData.updatedAt);
663
687
  }
664
688
  return false;
@@ -9781,6 +9805,26 @@ const fetchLinkPreview = async (url) => {
9781
9805
  return data;
9782
9806
  };
9783
9807
 
9808
+ /**
9809
+ * ```js
9810
+ * import Client from '@amityco/ts-sdk'
9811
+ * const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
9812
+ * const postLinkPattern = shareableLinkConfiguration.post
9813
+ * ```
9814
+ *
9815
+ * Fetches a {@link Amity.ShareableLinkConfiguration} object
9816
+ *
9817
+ * @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
9818
+ *
9819
+ * @category Client API
9820
+ * @async
9821
+ */
9822
+ const getShareableLinkConfiguration = async () => {
9823
+ const client = getActiveClient();
9824
+ const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
9825
+ return data;
9826
+ };
9827
+
9784
9828
  /**
9785
9829
  * ```js
9786
9830
  * import { onChannelMarkerFetched } from '@amityco/ts-sdk'
@@ -10150,6 +10194,8 @@ var index$o = /*#__PURE__*/Object.freeze({
10150
10194
  enableUnreadCount: enableUnreadCount,
10151
10195
  setUploadedFileAccessType: setUploadedFileAccessType,
10152
10196
  fetchLinkPreview: fetchLinkPreview,
10197
+ getSocialSettings: getSocialSettings,
10198
+ getShareableLinkConfiguration: getShareableLinkConfiguration,
10153
10199
  onConnectionError: onConnectionError,
10154
10200
  onClientDisconnected: onClientDisconnected,
10155
10201
  onClientBanned: onClientBanned,
@@ -11853,15 +11899,18 @@ function isAmityClipPost(post) {
11853
11899
  }
11854
11900
 
11855
11901
  const postLinkedObject = (post) => {
11856
- return Object.assign(Object.assign({}, post), { childrenPosts: post.children
11902
+ return shallowClone(post, {
11903
+ childrenPosts: post.children
11857
11904
  .map(childPost => { var _a; return (_a = pullFromCache(['post', 'get', childPost])) === null || _a === void 0 ? void 0 : _a.data; })
11858
11905
  .filter(isNonNullable)
11859
- .map(postLinkedObject), analytics: {
11906
+ .map(postLinkedObject),
11907
+ analytics: {
11860
11908
  markAsViewed: () => {
11861
11909
  const analyticsEngineInstance = AnalyticsEngine$1.getInstance();
11862
11910
  analyticsEngineInstance.markPostAsViewed(post.postId);
11863
11911
  },
11864
- }, get latestComments() {
11912
+ },
11913
+ get latestComments() {
11865
11914
  if (!post.comments)
11866
11915
  return [];
11867
11916
  return (post.comments
@@ -11935,7 +11984,8 @@ const postLinkedObject = (post) => {
11935
11984
  return isAmityClipPost(post)
11936
11985
  ? (_b = pullFromCache(['file', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.fileId])) === null || _b === void 0 ? void 0 : _b.data
11937
11986
  : undefined;
11938
- } });
11987
+ },
11988
+ });
11939
11989
  };
11940
11990
 
11941
11991
  const getCachedMarker = (message) => {
@@ -14930,7 +14980,7 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
14930
14980
  ]);
14931
14981
  if (!model || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
14932
14982
  return true;
14933
- const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }) });
14983
+ const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }), updatedAt: new Date().toISOString() });
14934
14984
  if (referenceType === 'comment') {
14935
14985
  fireEvent('local.comment.addReaction', {
14936
14986
  comment: updatedModel,
@@ -15053,7 +15103,7 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
15053
15103
  ]);
15054
15104
  if (!model)
15055
15105
  return true;
15056
- const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_a = model.data.myReactions) !== null && _a !== void 0 ? _a : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_b = model.data.reactions[reactionName]) !== null && _b !== void 0 ? _b : 0) - 1) }) });
15106
+ const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_a = model.data.myReactions) !== null && _a !== void 0 ? _a : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_b = model.data.reactions[reactionName]) !== null && _b !== void 0 ? _b : 0) - 1) }), updatedAt: new Date().toISOString() });
15057
15107
  if (referenceType === 'comment') {
15058
15108
  fireEvent('local.comment.removeReaction', {
15059
15109
  comment: updatedModel,
@@ -15167,6 +15217,26 @@ const prepareSemanticSearchPostPayload = (_a) => {
15167
15217
  return Object.assign(Object.assign({}, processedPostPayload), { polls });
15168
15218
  };
15169
15219
 
15220
+ const processDeleteChildPost = (payload) => {
15221
+ var _a;
15222
+ const post = payload.posts[0];
15223
+ if (!post.parentId)
15224
+ return;
15225
+ const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
15226
+ if (!parentPost)
15227
+ return;
15228
+ pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: parentPost.children.filter(childId => childId !== post.postId) }));
15229
+ };
15230
+ const processCreateChildPost = (payload) => {
15231
+ var _a;
15232
+ const post = payload.posts[0];
15233
+ if (!post.parentId)
15234
+ return;
15235
+ const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
15236
+ if (!parentPost)
15237
+ return;
15238
+ pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: [...new Set([post.postId, ...parentPost.children])] }));
15239
+ };
15170
15240
  const createPostEventSubscriber = (event, callback) => {
15171
15241
  const client = getActiveClient();
15172
15242
  const filter = (payload) => {
@@ -15191,6 +15261,7 @@ const createPostEventSubscriber = (event, callback) => {
15191
15261
  }
15192
15262
  if (event === 'post.deleted') {
15193
15263
  const { postId, postedUserId } = payload.posts[0];
15264
+ processDeleteChildPost(payload);
15194
15265
  try {
15195
15266
  isInTombstone('post', postId);
15196
15267
  }
@@ -15217,6 +15288,8 @@ const createPostEventSubscriber = (event, callback) => {
15217
15288
  }
15218
15289
  queries === null || queries === void 0 ? void 0 : queries.map(({ key, data }) => upsertInCache(key, data, { cachedAt: -1 }));
15219
15290
  }
15291
+ if (event === 'post.created')
15292
+ processCreateChildPost(payload);
15220
15293
  callback(post.data);
15221
15294
  }
15222
15295
  };
@@ -15243,6 +15316,8 @@ const createLocalPostEventSubscriber = (event, callback) => {
15243
15316
  });
15244
15317
  }
15245
15318
  const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
15319
+ if (event === 'local.post.deleted')
15320
+ processDeleteChildPost(payload);
15246
15321
  callback(post.data);
15247
15322
  }
15248
15323
  };
@@ -23018,6 +23093,9 @@ var index$b = /*#__PURE__*/Object.freeze({
23018
23093
  id: feed.query.global_feed
23019
23094
  */
23020
23095
  /**
23096
+ *
23097
+ * @deprecated This function will to be deprecated. Please use getGlobalFeed instead.
23098
+ *
23021
23099
  * ```js
23022
23100
  * import { queryGlobalFeed } from '@amityco/ts-sdk'
23023
23101
  * const posts = await queryGlobalFeed()
@@ -23100,88 +23178,12 @@ queryGlobalFeed.locally = (query) => {
23100
23178
  : undefined;
23101
23179
  };
23102
23180
 
23103
- /* begin_public_function
23104
- id: feed.query.custom_ranking_feed
23105
- */
23106
- /**
23107
- * ```js
23108
- * import { FeedRepository } from '@amityco/ts-sdk'
23109
- * const posts = await FeedRepository.getCustomRankingGlobalFeed()
23110
- * ```
23111
- *
23112
- * Queries a paginable list of {@link Amity.Post} objects
23113
- *
23114
- * @param query The query parameters
23115
- * @returns A page of {@link Amity.Post} objects
23116
- *
23117
- * @category Feed API
23118
- * @async
23119
- * */
23120
- const getCustomRankingGlobalFeed = async (query) => {
23121
- const client = getActiveClient();
23122
- client.log('feed/getCustomRankingGlobalFeed', query);
23123
- const _a = query !== null && query !== void 0 ? query : {}, { queryToken, limit } = _a, params = __rest(_a, ["queryToken", "limit"]);
23124
- const options = (() => {
23125
- if (queryToken)
23126
- return { token: queryToken };
23127
- return undefined;
23128
- })();
23129
- const { data: queryPayload } = await client.http.get(`/api/v5/me/global-feeds`, {
23130
- params: Object.assign(Object.assign({}, params), { limit: !queryToken ? limit : undefined, options }),
23131
- });
23132
- const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
23133
- const data = prepareMembershipPayload(payload, 'communityUsers');
23134
- const { posts } = data;
23135
- const cachedAt = client.cache && Date.now();
23136
- if (client.cache) {
23137
- ingestInCache(data);
23138
- const cacheKey = ['customGlobalFeed', 'query', Object.assign(Object.assign({}, params), { options })];
23139
- pushToCache(cacheKey, { posts: posts.map(getResolver('post')), paging });
23140
- }
23141
- return { data: posts.map(LinkedObject.post), cachedAt, paging };
23142
- };
23143
- /* end_public_function */
23144
- /**
23145
- * ```js
23146
- * import { FeedRepository } from '@amityco/ts-sdk'
23147
- * const posts = await FeedRepository.getCustomRankingGlobalFeed.locally()
23148
- * ```
23149
- *
23150
- * Queries a paginable list of {@link Amity.Post} objects from cache
23151
- *
23152
- * @param query The query parameters
23153
- * @returns A page of {@link Amity.Post} objects
23154
- *
23155
- * @category Feed API
23156
- * @async
23157
- * */
23158
- getCustomRankingGlobalFeed.locally = (query) => {
23159
- var _a, _b;
23160
- const client = getActiveClient();
23161
- client.log('post/getCustomRankingGlobalFeed.locally', query);
23162
- if (!client.cache)
23163
- return;
23164
- const params = __rest(query !== null && query !== void 0 ? query : {}, []);
23165
- const queryKey = ['customGlobalFeed', 'query', Object.assign({}, params)];
23166
- const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
23167
- if (!(data === null || data === void 0 ? void 0 : data.posts.length))
23168
- return;
23169
- const posts = data.posts
23170
- .map(postId => pullFromCache(['post', 'get', postId]))
23171
- .filter(Boolean)
23172
- .map(({ data }) => data);
23173
- const { paging } = data;
23174
- return posts.length === ((_b = data === null || data === void 0 ? void 0 : data.posts) === null || _b === void 0 ? void 0 : _b.length)
23175
- ? { data: posts.map(LinkedObject.post), cachedAt, paging }
23176
- : undefined;
23177
- };
23178
-
23179
- class UserFeedPaginationController extends PaginationController {
23181
+ class CustomRankingGlobalFeedPaginationController extends PaginationController {
23180
23182
  async getRequest(queryParams, token) {
23181
- const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
23183
+ const { limit } = queryParams, params = __rest(queryParams, ["limit"]);
23182
23184
  const options = token ? { token } : { limit };
23183
- const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
23184
- params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
23185
+ const { data: queryResponse } = await this.http.get(`/api/v5/me/global-feeds`, {
23186
+ params: Object.assign(Object.assign({}, params), { options }),
23185
23187
  });
23186
23188
  return queryResponse;
23187
23189
  }
@@ -23200,7 +23202,7 @@ var EnumPostActions;
23200
23202
  EnumPostActions["OnPostDeclined"] = "onPostDeclined";
23201
23203
  })(EnumPostActions || (EnumPostActions = {}));
23202
23204
 
23203
- class UserFeedQueryStreamController extends QueryStreamController {
23205
+ class CustomRankingGlobalFeedQueryStreamController extends QueryStreamController {
23204
23206
  constructor(query, cacheKey, notifyChange, preparePayload) {
23205
23207
  super(query, cacheKey);
23206
23208
  this.notifyChange = notifyChange;
@@ -23229,40 +23231,28 @@ class UserFeedQueryStreamController extends QueryStreamController {
23229
23231
  }
23230
23232
  reactor(action) {
23231
23233
  return (post) => {
23232
- var _a, _b;
23234
+ var _a;
23233
23235
  const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
23234
23236
  if (!collection)
23235
23237
  return;
23236
- // if the collection is parent post collection and
23237
- // post is not included in the collection or post is child post
23238
- if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
23239
- !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
23238
+ if (post.parentPostId && !collection.data.includes(post.parentPostId))
23240
23239
  return;
23240
+ // Delete Action
23241
23241
  if (action === EnumPostActions.OnPostDeleted) {
23242
- collection.data = collection.data.filter(postId => postId !== post.postId);
23243
- }
23244
- if (post.parentPostId && post.isDeleted) {
23245
- const parentPost = (_b = pullFromCache([
23246
- 'post',
23247
- 'get',
23248
- post.parentPostId,
23249
- ])) === null || _b === void 0 ? void 0 : _b.data;
23250
- if (!parentPost)
23251
- return;
23252
- parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
23253
- pushToCache(['post', 'get', parentPost.postId], parentPost);
23254
- }
23255
- if (action === EnumPostActions.OnPostDeclined) {
23242
+ // Parent Post - Remove from collection
23256
23243
  collection.data = collection.data.filter(postId => postId !== post.postId);
23257
23244
  }
23258
23245
  if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
23259
- if (this.query.dataTypes &&
23260
- this.query.dataTypes.length > 0 &&
23261
- !this.query.dataTypes.includes(post.dataType)) {
23262
- return;
23246
+ // If the query has dataTypes array with value, check if post.dataType is include in the array
23247
+ if (this.query.dataTypes && this.query.dataTypes.length > 0) {
23248
+ if (!this.query.dataTypes.includes(post.dataType))
23249
+ return;
23263
23250
  }
23264
23251
  collection.data = [...new Set([post.postId, ...collection.data])];
23265
23252
  }
23253
+ if (action === EnumPostActions.OnPostDeclined) {
23254
+ collection.data = collection.data.filter(postId => postId !== post.postId);
23255
+ }
23266
23256
  pushToCache(this.cacheKey, collection);
23267
23257
  this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
23268
23258
  };
@@ -23566,6 +23556,12 @@ const deleteComment = async (commentId, permanent = false) => {
23566
23556
  });
23567
23557
  // to support hard deletion
23568
23558
  const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true });
23559
+ if (permanent) {
23560
+ scheduleTask(() => pushToTombstone('comment', commentId));
23561
+ }
23562
+ else {
23563
+ upsertInCache(['comment', 'get', commentId], { isDeleted: true });
23564
+ }
23569
23565
  if (comment.data.referenceType === 'story') {
23570
23566
  const story = await getStoryByStoryId$1(comment.data.referenceId);
23571
23567
  fireEvent('local.story.updated', {
@@ -23610,12 +23606,6 @@ const deleteComment = async (commentId, permanent = false) => {
23610
23606
  users: [],
23611
23607
  communityUsers: [],
23612
23608
  });
23613
- if (permanent) {
23614
- scheduleTask(() => pushToTombstone('comment', commentId));
23615
- }
23616
- else {
23617
- upsertInCache(['comment', 'get', commentId], { isDeleted: true });
23618
- }
23619
23609
  return deleted;
23620
23610
  };
23621
23611
  /* end_public_function */
@@ -24215,20 +24205,20 @@ getPost$1.locally = (postId) => {
24215
24205
 
24216
24206
  /**
24217
24207
  * ```js
24218
- * import { onPostUpdatedLocal } from '@amityco/ts-sdk'
24219
- * const dispose = onPostUpdatedLocal(post => {
24208
+ * import { onLocalPostDeleted } from '@amityco/ts-sdk'
24209
+ * const dispose = onLocalPostDeleted(post => {
24220
24210
  * // ...
24221
24211
  * })
24222
24212
  * ```
24223
24213
  *
24224
- * Fired when a {@link Amity.InternalPost} has been updated
24214
+ * Fired when a {@link Amity.InternalPost} has been deleted
24225
24215
  *
24226
24216
  * @param callback The function to call when the event was fired
24227
24217
  * @returns an {@link Amity.Unsubscriber} function to stop listening
24228
24218
  *
24229
24219
  * @category Post Events
24230
24220
  */
24231
- const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
24221
+ const onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
24232
24222
 
24233
24223
  /**
24234
24224
  * ```js
@@ -24290,29 +24280,74 @@ const onLocalPostReactionRemoved = (callback) => {
24290
24280
 
24291
24281
  /**
24292
24282
  * ```js
24293
- * import { onLocalPostDeleted } from '@amityco/ts-sdk'
24294
- * const dispose = onLocalPostDeleted(post => {
24283
+ * import { onPostUpdatedLocal } from '@amityco/ts-sdk'
24284
+ * const dispose = onPostUpdatedLocal(post => {
24295
24285
  * // ...
24296
24286
  * })
24297
24287
  * ```
24298
24288
  *
24299
- * Fired when a {@link Amity.InternalPost} has been deleted
24289
+ * Fired when a {@link Amity.InternalPost} has been updated
24300
24290
  *
24301
24291
  * @param callback The function to call when the event was fired
24302
24292
  * @returns an {@link Amity.Unsubscriber} function to stop listening
24303
24293
  *
24304
24294
  * @category Post Events
24305
24295
  */
24306
- const onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
24296
+ const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
24307
24297
 
24308
- class UserFeedLiveCollectionController extends LiveCollectionController {
24298
+ const commentEventHandler$1 = (callback, eventHandler, cacheKey) => {
24299
+ return eventHandler(async (comment) => {
24300
+ var _a;
24301
+ const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24302
+ if (!currentCollection || !currentCollection.data.includes(comment.referenceId))
24303
+ return;
24304
+ await getPost$1(comment.referenceId);
24305
+ callback(comment);
24306
+ });
24307
+ };
24308
+ const generateCommentSubscriptions$1 = (cacheKey) => {
24309
+ const eventHandlers = [
24310
+ onCommentCreated,
24311
+ onCommentDeleted,
24312
+ onCommentReactionAdded,
24313
+ onCommentReactionRemoved,
24314
+ onCommentCreatedLocal,
24315
+ onCommentDeleteLocal,
24316
+ onLocalCommentReactionAdded,
24317
+ onLocalCommentReactionRemoved,
24318
+ ];
24319
+ return eventHandlers.map(handler => ({
24320
+ fn: convertEventPayload((callback) => commentEventHandler$1(callback, handler, cacheKey), 'referenceId', 'post'),
24321
+ action: EnumPostActions.OnPostUpdated,
24322
+ }));
24323
+ };
24324
+ const getGlobalFeedSubscriptions = (cacheKey) => {
24325
+ return [
24326
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
24327
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
24328
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
24329
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
24330
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
24331
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
24332
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
24333
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
24334
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24335
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24336
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24337
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24338
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
24339
+ ...generateCommentSubscriptions$1(cacheKey),
24340
+ ];
24341
+ };
24342
+
24343
+ class CustomRankingGlobalFeedLiveCollectionController extends LiveCollectionController {
24309
24344
  constructor(query, callback) {
24310
24345
  const queryStreamId = hash__default["default"](query);
24311
- const cacheKey = ['userFeed', 'collection', queryStreamId];
24312
- const paginationController = new UserFeedPaginationController(query);
24346
+ const cacheKey = ['customRankingGlobalFeed', 'collection', queryStreamId];
24347
+ const paginationController = new CustomRankingGlobalFeedPaginationController(query);
24313
24348
  super(paginationController, queryStreamId, cacheKey, callback);
24314
24349
  this.query = query;
24315
- this.queryStreamController = new UserFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
24350
+ this.queryStreamController = new CustomRankingGlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
24316
24351
  this.callback = callback.bind(this);
24317
24352
  this.loadPage({ initial: true });
24318
24353
  }
@@ -24333,54 +24368,14 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
24333
24368
  this.queryStreamController.appendToQueryStream(response, direction, refresh);
24334
24369
  }
24335
24370
  startSubscription() {
24336
- return this.queryStreamController.subscribeRTE([
24337
- { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
24338
- { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
24339
- { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
24340
- { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
24341
- { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
24342
- { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
24343
- { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
24344
- { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
24345
- { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24346
- { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24347
- { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24348
- { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24349
- { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
24350
- {
24351
- fn: convertEventPayload((callback) => {
24352
- return onCommentCreated(async (comment) => {
24353
- var _a;
24354
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24355
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
24356
- return;
24357
- await getPost$1(comment.referenceId);
24358
- callback(comment);
24359
- });
24360
- }, 'referenceId', 'post'),
24361
- action: EnumPostActions.OnPostUpdated,
24362
- },
24363
- {
24364
- fn: convertEventPayload((callback) => {
24365
- return onCommentDeleted(async (comment) => {
24366
- var _a;
24367
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24368
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
24369
- return;
24370
- await getPost$1(comment.referenceId);
24371
- callback(comment);
24372
- });
24373
- }, 'referenceId', 'post'),
24374
- action: EnumPostActions.OnPostUpdated,
24375
- },
24376
- ]);
24371
+ return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
24377
24372
  }
24378
24373
  notifyChange({ origin, loading, error }) {
24379
24374
  var _a, _b;
24380
24375
  const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24381
24376
  if (!collection)
24382
24377
  return;
24383
- const data = this.applyFilter((_b = collection.data
24378
+ const data = ((_b = collection.data
24384
24379
  .map(id => pullFromCache(['post', 'get', id]))
24385
24380
  .filter(isNonNullable)
24386
24381
  .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
@@ -24394,74 +24389,433 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
24394
24389
  error,
24395
24390
  });
24396
24391
  }
24397
- applyFilter(data) {
24398
- var _a;
24399
- let posts = data;
24400
- if (!this.query.includeDeleted) {
24401
- posts = filterByPropEquality(posts, 'isDeleted', false);
24402
- }
24403
- if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
24404
- posts = filterByPostDataTypes(posts, this.query.dataTypes);
24405
- }
24406
- switch (this.query.sortBy) {
24407
- case 'firstCreated':
24408
- posts = posts.sort(sortByFirstCreated);
24409
- break;
24410
- case 'lastCreated':
24411
- default:
24412
- posts = posts.sort(sortByLastCreated);
24413
- break;
24414
- }
24415
- return posts;
24416
- }
24417
24392
  }
24418
24393
 
24419
24394
  /* begin_public_function
24420
- id: feed.query.user_feed
24395
+ id: feed.query.custom_ranking_feed
24421
24396
  */
24422
24397
  /**
24423
24398
  * ```js
24424
24399
  * import { FeedRepository } from '@amityco/ts-sdk'
24425
24400
  *
24426
24401
  * let posts = []
24427
- * const unsubscribe = FeedRepository.getUserFeed({
24428
- * userId: string,
24429
- * feedSources: ['user', 'community'],
24430
- * }, response => response => processResponse(response))
24402
+ * const unsub = FeedRepository.getGlobalFeed({
24403
+ * dataTypes: ['video','image'],
24404
+ * resolveParent: true,
24405
+ * }, response => processResponse(response))
24431
24406
  * ```
24432
24407
  *
24433
- * Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
24408
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
24434
24409
  *
24435
- * @param params.userId the ID of the user
24436
- * @param params.feedSources the sources of the feed
24410
+ * @param params.dataTypes array of data types for the posts
24437
24411
  * @param callback the function to call when new data are available
24438
24412
  * @param config
24439
24413
  * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
24440
24414
  *
24441
24415
  * @category Posts Live Collection
24442
24416
  */
24443
- const getUserFeed = (params, callback, config) => {
24417
+ const getCustomRankingGlobalFeed = (params, callback, config) => {
24444
24418
  const { log, cache } = getActiveClient();
24445
24419
  if (!cache) {
24446
24420
  console.log(ENABLE_CACHE_MESSAGE);
24447
24421
  }
24448
24422
  const timestamp = Date.now();
24449
- log(`getUserFeed(tmpid: ${timestamp}) > listen`);
24450
- const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
24451
- const disposers = userFeedLiveCollection.startSubscription();
24452
- const cacheKey = userFeedLiveCollection.getCacheKey();
24423
+ log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > listen`);
24424
+ const liveCollection = new CustomRankingGlobalFeedLiveCollectionController(params, callback);
24425
+ const disposers = liveCollection.startSubscription();
24426
+ const cacheKey = liveCollection.getCacheKey();
24453
24427
  disposers.push(() => dropFromCache(cacheKey));
24454
24428
  return () => {
24455
- log(`getUserFeed(tmpid: ${timestamp}) > dispose`);
24429
+ log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > dispose`);
24456
24430
  disposers.forEach(fn => fn());
24457
24431
  };
24458
24432
  };
24459
24433
  /* end_public_function */
24460
24434
 
24461
- var index$9 = /*#__PURE__*/Object.freeze({
24462
- __proto__: null,
24435
+ class GlobalFeedPaginationController extends PaginationController {
24436
+ async getRequest(queryParams, token) {
24437
+ const { limit, resolveParent } = queryParams, params = __rest(queryParams, ["limit", "resolveParent"]);
24438
+ const options = token ? { token } : { limit };
24439
+ const { data: queryResponse } = await this.http.get(`/api/v4/me/global-feeds`, {
24440
+ params: Object.assign(Object.assign({}, params), { resolveParent: resolveParent !== null && resolveParent !== void 0 ? resolveParent : true, options }),
24441
+ });
24442
+ return queryResponse;
24443
+ }
24444
+ }
24445
+
24446
+ class GlobalFeedQueryStreamController extends QueryStreamController {
24447
+ constructor(query, cacheKey, notifyChange, preparePayload) {
24448
+ super(query, cacheKey);
24449
+ this.notifyChange = notifyChange;
24450
+ this.preparePayload = preparePayload;
24451
+ }
24452
+ async saveToMainDB(response) {
24453
+ const processedPayload = await this.preparePayload(response);
24454
+ const client = getActiveClient();
24455
+ const cachedAt = client.cache && Date.now();
24456
+ if (client.cache) {
24457
+ ingestInCache(processedPayload, { cachedAt });
24458
+ }
24459
+ }
24460
+ appendToQueryStream(response, direction, refresh = false) {
24461
+ var _a, _b;
24462
+ if (refresh) {
24463
+ pushToCache(this.cacheKey, {
24464
+ data: response.posts.map(getResolver('post')),
24465
+ });
24466
+ }
24467
+ else {
24468
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24469
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
24470
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
24471
+ }
24472
+ }
24473
+ reactor(action) {
24474
+ return (post) => {
24475
+ var _a;
24476
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24477
+ if (!collection)
24478
+ return;
24479
+ if (post.parentPostId && !collection.data.includes(post.parentPostId))
24480
+ return;
24481
+ // Delete Action
24482
+ if (action === EnumPostActions.OnPostDeleted) {
24483
+ // Parent Post - Remove from collection
24484
+ collection.data = collection.data.filter(postId => postId !== post.postId);
24485
+ }
24486
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
24487
+ // If the query has dataTypes array with value, check if post.dataType is include in the array
24488
+ if (this.query.dataTypes && this.query.dataTypes.length > 0) {
24489
+ if (!this.query.dataTypes.includes(post.dataType))
24490
+ return;
24491
+ }
24492
+ collection.data = [...new Set([post.postId, ...collection.data])];
24493
+ }
24494
+ if (action === EnumPostActions.OnPostDeclined) {
24495
+ collection.data = collection.data.filter(postId => postId !== post.postId);
24496
+ }
24497
+ pushToCache(this.cacheKey, collection);
24498
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
24499
+ };
24500
+ }
24501
+ subscribeRTE(createSubscriber) {
24502
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
24503
+ }
24504
+ }
24505
+
24506
+ class GlobalFeedLiveCollectionController extends LiveCollectionController {
24507
+ constructor(query, callback) {
24508
+ const queryStreamId = hash__default["default"](query);
24509
+ const cacheKey = ['globalFeed', 'collection', queryStreamId];
24510
+ const paginationController = new GlobalFeedPaginationController(query);
24511
+ super(paginationController, queryStreamId, cacheKey, callback);
24512
+ this.query = query;
24513
+ this.queryStreamController = new GlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
24514
+ this.callback = callback.bind(this);
24515
+ this.loadPage({ initial: true });
24516
+ }
24517
+ setup() {
24518
+ var _a;
24519
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24520
+ if (!collection) {
24521
+ pushToCache(this.cacheKey, {
24522
+ data: [],
24523
+ params: {},
24524
+ });
24525
+ }
24526
+ }
24527
+ async persistModel(queryPayload) {
24528
+ await this.queryStreamController.saveToMainDB(queryPayload);
24529
+ }
24530
+ persistQueryStream({ response, direction, refresh, }) {
24531
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
24532
+ }
24533
+ startSubscription() {
24534
+ return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
24535
+ }
24536
+ notifyChange({ origin, loading, error }) {
24537
+ var _a, _b;
24538
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24539
+ if (!collection)
24540
+ return;
24541
+ const data = ((_b = collection.data
24542
+ .map(id => pullFromCache(['post', 'get', id]))
24543
+ .filter(isNonNullable)
24544
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
24545
+ if (!this.shouldNotify(data) && origin === 'event')
24546
+ return;
24547
+ this.callback({
24548
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
24549
+ data,
24550
+ hasNextPage: !!this.paginationController.getNextToken(),
24551
+ loading,
24552
+ error,
24553
+ });
24554
+ }
24555
+ }
24556
+
24557
+ /* begin_public_function
24558
+ id: feed.query.global_feed
24559
+ */
24560
+ /**
24561
+ * ```js
24562
+ * import { FeedRepository } from '@amityco/ts-sdk'
24563
+ *
24564
+ * let posts = []
24565
+ * const unsub = FeedRepository.getGlobalFeed({
24566
+ * dataTypes: ['video','image'],
24567
+ * resolveParent: true,
24568
+ * }, response => processResponse(response))
24569
+ * ```
24570
+ *
24571
+ * Observe all mutations on a list of {@link Amity.Post} for global feed
24572
+ * @param params.dataTypes array of data types for the posts
24573
+ * @param params.resolveParent
24574
+ * @param callback the function to call when new data are available
24575
+ * @param config
24576
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
24577
+ *
24578
+ * @category Posts Live Collection
24579
+ */
24580
+ const getGlobalFeed = (params, callback, config) => {
24581
+ const { log, cache } = getActiveClient();
24582
+ if (!cache) {
24583
+ console.log(ENABLE_CACHE_MESSAGE);
24584
+ }
24585
+ const timestamp = Date.now();
24586
+ log(`getGlobalFeed(tmpid: ${timestamp}) > listen`);
24587
+ const liveCollection = new GlobalFeedLiveCollectionController(params, callback);
24588
+ const disposers = liveCollection.startSubscription();
24589
+ const cacheKey = liveCollection.getCacheKey();
24590
+ disposers.push(() => dropFromCache(cacheKey));
24591
+ return () => {
24592
+ log(`getGlobalFeed(tmpid: ${timestamp}) > dispose`);
24593
+ disposers.forEach(fn => fn());
24594
+ };
24595
+ };
24596
+ /* end_public_function */
24597
+
24598
+ class UserFeedPaginationController extends PaginationController {
24599
+ async getRequest(queryParams, token) {
24600
+ const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
24601
+ const options = token ? { token } : { limit };
24602
+ const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
24603
+ params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
24604
+ });
24605
+ return queryResponse;
24606
+ }
24607
+ }
24608
+
24609
+ class UserFeedQueryStreamController extends QueryStreamController {
24610
+ constructor(query, cacheKey, notifyChange, preparePayload) {
24611
+ super(query, cacheKey);
24612
+ this.notifyChange = notifyChange;
24613
+ this.preparePayload = preparePayload;
24614
+ }
24615
+ async saveToMainDB(response) {
24616
+ const processedPayload = await this.preparePayload(response);
24617
+ const client = getActiveClient();
24618
+ const cachedAt = client.cache && Date.now();
24619
+ if (client.cache) {
24620
+ ingestInCache(processedPayload, { cachedAt });
24621
+ }
24622
+ }
24623
+ appendToQueryStream(response, direction, refresh = false) {
24624
+ var _a, _b;
24625
+ if (refresh) {
24626
+ pushToCache(this.cacheKey, {
24627
+ data: response.posts.map(getResolver('post')),
24628
+ });
24629
+ }
24630
+ else {
24631
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24632
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
24633
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
24634
+ }
24635
+ }
24636
+ reactor(action) {
24637
+ return (post) => {
24638
+ var _a, _b;
24639
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24640
+ if (!collection)
24641
+ return;
24642
+ // if the collection is parent post collection and
24643
+ // post is not included in the collection or post is child post
24644
+ if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
24645
+ !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
24646
+ return;
24647
+ if (action === EnumPostActions.OnPostDeleted) {
24648
+ collection.data = collection.data.filter(postId => postId !== post.postId);
24649
+ }
24650
+ if (post.parentPostId && post.isDeleted) {
24651
+ const parentPost = (_b = pullFromCache([
24652
+ 'post',
24653
+ 'get',
24654
+ post.parentPostId,
24655
+ ])) === null || _b === void 0 ? void 0 : _b.data;
24656
+ if (!parentPost)
24657
+ return;
24658
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
24659
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
24660
+ }
24661
+ if (action === EnumPostActions.OnPostDeclined) {
24662
+ collection.data = collection.data.filter(postId => postId !== post.postId);
24663
+ }
24664
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
24665
+ if (this.query.dataTypes &&
24666
+ this.query.dataTypes.length > 0 &&
24667
+ !this.query.dataTypes.includes(post.dataType)) {
24668
+ return;
24669
+ }
24670
+ collection.data = [...new Set([post.postId, ...collection.data])];
24671
+ }
24672
+ pushToCache(this.cacheKey, collection);
24673
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
24674
+ };
24675
+ }
24676
+ subscribeRTE(createSubscriber) {
24677
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
24678
+ }
24679
+ }
24680
+
24681
+ class UserFeedLiveCollectionController extends LiveCollectionController {
24682
+ constructor(query, callback) {
24683
+ const queryStreamId = hash__default["default"](query);
24684
+ const cacheKey = ['userFeed', 'collection', queryStreamId];
24685
+ const paginationController = new UserFeedPaginationController(query);
24686
+ super(paginationController, queryStreamId, cacheKey, callback);
24687
+ this.query = query;
24688
+ this.queryStreamController = new UserFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
24689
+ this.callback = callback.bind(this);
24690
+ this.loadPage({ initial: true });
24691
+ }
24692
+ setup() {
24693
+ var _a;
24694
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24695
+ if (!collection) {
24696
+ pushToCache(this.cacheKey, {
24697
+ data: [],
24698
+ params: {},
24699
+ });
24700
+ }
24701
+ }
24702
+ async persistModel(queryPayload) {
24703
+ await this.queryStreamController.saveToMainDB(queryPayload);
24704
+ }
24705
+ persistQueryStream({ response, direction, refresh, }) {
24706
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
24707
+ }
24708
+ startSubscription() {
24709
+ return this.queryStreamController.subscribeRTE([
24710
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
24711
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
24712
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
24713
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
24714
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
24715
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
24716
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
24717
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
24718
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24719
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24720
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24721
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24722
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
24723
+ {
24724
+ fn: convertEventPayload((callback) => {
24725
+ return onCommentCreated(async (comment) => {
24726
+ var _a;
24727
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24728
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
24729
+ return;
24730
+ await getPost$1(comment.referenceId);
24731
+ callback(comment);
24732
+ });
24733
+ }, 'referenceId', 'post'),
24734
+ action: EnumPostActions.OnPostUpdated,
24735
+ },
24736
+ {
24737
+ fn: convertEventPayload((callback) => {
24738
+ return onCommentDeleted(async (comment) => {
24739
+ var _a;
24740
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24741
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
24742
+ return;
24743
+ await getPost$1(comment.referenceId);
24744
+ callback(comment);
24745
+ });
24746
+ }, 'referenceId', 'post'),
24747
+ action: EnumPostActions.OnPostUpdated,
24748
+ },
24749
+ ]);
24750
+ }
24751
+ notifyChange({ origin, loading, error }) {
24752
+ var _a, _b;
24753
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24754
+ if (!collection)
24755
+ return;
24756
+ const data = ((_b = collection.data
24757
+ .map(id => pullFromCache(['post', 'get', id]))
24758
+ .filter(isNonNullable)
24759
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
24760
+ if (!this.shouldNotify(data) && origin === 'event')
24761
+ return;
24762
+ this.callback({
24763
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
24764
+ data,
24765
+ hasNextPage: !!this.paginationController.getNextToken(),
24766
+ loading,
24767
+ error,
24768
+ });
24769
+ }
24770
+ }
24771
+
24772
+ /* begin_public_function
24773
+ id: feed.query.user_feed
24774
+ */
24775
+ /**
24776
+ * ```js
24777
+ * import { FeedRepository } from '@amityco/ts-sdk'
24778
+ *
24779
+ * let posts = []
24780
+ * const unsubscribe = FeedRepository.getUserFeed({
24781
+ * userId: string,
24782
+ * feedSources: ['user', 'community'],
24783
+ * }, response => response => processResponse(response))
24784
+ * ```
24785
+ *
24786
+ * Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
24787
+ *
24788
+ * @param params.userId the ID of the user
24789
+ * @param params.feedSources the sources of the feed
24790
+ * @param callback the function to call when new data are available
24791
+ * @param config
24792
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
24793
+ *
24794
+ * @category Posts Live Collection
24795
+ */
24796
+ const getUserFeed = (params, callback, config) => {
24797
+ const { log, cache } = getActiveClient();
24798
+ if (!cache) {
24799
+ console.log(ENABLE_CACHE_MESSAGE);
24800
+ }
24801
+ const timestamp = Date.now();
24802
+ log(`getUserFeed(tmpid: ${timestamp}) > listen`);
24803
+ const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
24804
+ const disposers = userFeedLiveCollection.startSubscription();
24805
+ const cacheKey = userFeedLiveCollection.getCacheKey();
24806
+ disposers.push(() => dropFromCache(cacheKey));
24807
+ return () => {
24808
+ log(`getUserFeed(tmpid: ${timestamp}) > dispose`);
24809
+ disposers.forEach(fn => fn());
24810
+ };
24811
+ };
24812
+ /* end_public_function */
24813
+
24814
+ var index$9 = /*#__PURE__*/Object.freeze({
24815
+ __proto__: null,
24463
24816
  queryGlobalFeed: queryGlobalFeed,
24464
24817
  getCustomRankingGlobalFeed: getCustomRankingGlobalFeed,
24818
+ getGlobalFeed: getGlobalFeed,
24465
24819
  getUserFeed: getUserFeed
24466
24820
  });
24467
24821
 
@@ -25126,75 +25480,81 @@ class PostQueryStreamController extends QueryStreamController {
25126
25480
  }
25127
25481
  }
25128
25482
 
25483
+ const commentEventHandler = (callback, eventHandler, cacheKey, resolveId) => {
25484
+ return eventHandler(async (comment) => {
25485
+ var _a;
25486
+ const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
25487
+ if (!currentCollection ||
25488
+ !currentCollection.data.includes(resolveId ? resolveId(comment.referenceId) : comment.referenceId))
25489
+ return;
25490
+ await getPost$1(comment.referenceId);
25491
+ callback(comment);
25492
+ });
25493
+ };
25494
+ const generateCommentSubscriptions = ({ cacheKey, resolveId, }) => {
25495
+ const eventHandlers = [
25496
+ onCommentCreated,
25497
+ onCommentDeleted,
25498
+ onCommentReactionAdded,
25499
+ onCommentReactionRemoved,
25500
+ onCommentCreatedLocal,
25501
+ onCommentDeleteLocal,
25502
+ onLocalCommentReactionAdded,
25503
+ onLocalCommentReactionRemoved,
25504
+ ];
25505
+ return eventHandlers.map(handler => ({
25506
+ fn: convertEventPayload((callback) => commentEventHandler(callback, handler, cacheKey, resolveId), 'referenceId', 'post'),
25507
+ action: EnumPostActions.OnPostUpdated,
25508
+ }));
25509
+ };
25510
+ const getPostSubscription = (cacheKey) => {
25511
+ return [
25512
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
25513
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
25514
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
25515
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
25516
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
25517
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
25518
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
25519
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
25520
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
25521
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
25522
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
25523
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
25524
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
25525
+ ...generateCommentSubscriptions({ cacheKey }),
25526
+ ];
25527
+ };
25528
+
25129
25529
  class PostLiveCollectionController extends LiveCollectionController {
25130
25530
  constructor(query, callback) {
25131
25531
  const queryStreamId = hash__default["default"](query);
25132
25532
  const cacheKey = ['posts', 'collection', queryStreamId];
25133
25533
  const paginationController = new PostPaginationController(query);
25134
- super(paginationController, queryStreamId, cacheKey, callback);
25135
- this.query = query;
25136
- this.queryStreamController = new PostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
25137
- this.callback = callback.bind(this);
25138
- this.loadPage({ initial: true });
25139
- }
25140
- setup() {
25141
- var _a;
25142
- const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
25143
- if (!collection) {
25144
- pushToCache(this.cacheKey, {
25145
- data: [],
25146
- params: {},
25147
- });
25148
- }
25149
- }
25150
- async persistModel(queryPayload) {
25151
- await this.queryStreamController.saveToMainDB(queryPayload);
25152
- }
25153
- persistQueryStream({ response, direction, refresh, }) {
25154
- this.queryStreamController.appendToQueryStream(response, direction, refresh);
25155
- }
25156
- startSubscription() {
25157
- return this.queryStreamController.subscribeRTE([
25158
- { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
25159
- { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
25160
- { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
25161
- { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
25162
- { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
25163
- { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
25164
- { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
25165
- { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
25166
- { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
25167
- { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
25168
- { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
25169
- { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
25170
- { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
25171
- {
25172
- fn: convertEventPayload((callback) => {
25173
- return onCommentCreated(async (comment) => {
25174
- var _a;
25175
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
25176
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
25177
- return;
25178
- await getPost$1(comment.referenceId);
25179
- callback(comment);
25180
- });
25181
- }, 'referenceId', 'post'),
25182
- action: EnumPostActions.OnPostUpdated,
25183
- },
25184
- {
25185
- fn: convertEventPayload((callback) => {
25186
- return onCommentDeleted(async (comment) => {
25187
- var _a;
25188
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
25189
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
25190
- return;
25191
- await getPost$1(comment.referenceId);
25192
- callback(comment);
25193
- });
25194
- }, 'referenceId', 'post'),
25195
- action: EnumPostActions.OnPostUpdated,
25196
- },
25197
- ]);
25534
+ super(paginationController, queryStreamId, cacheKey, callback);
25535
+ this.query = query;
25536
+ this.queryStreamController = new PostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
25537
+ this.callback = callback.bind(this);
25538
+ this.loadPage({ initial: true });
25539
+ }
25540
+ setup() {
25541
+ var _a;
25542
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
25543
+ if (!collection) {
25544
+ pushToCache(this.cacheKey, {
25545
+ data: [],
25546
+ params: {},
25547
+ });
25548
+ }
25549
+ }
25550
+ async persistModel(queryPayload) {
25551
+ await this.queryStreamController.saveToMainDB(queryPayload);
25552
+ }
25553
+ persistQueryStream({ response, direction, refresh, }) {
25554
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
25555
+ }
25556
+ startSubscription() {
25557
+ return this.queryStreamController.subscribeRTE(getPostSubscription(this.cacheKey));
25198
25558
  }
25199
25559
  notifyChange({ origin, loading, error }) {
25200
25560
  var _a, _b;
@@ -25329,6 +25689,22 @@ class PinnedPostQueryStreamController extends QueryStreamController {
25329
25689
  });
25330
25690
  }
25331
25691
  }
25692
+ reactor(action) {
25693
+ return (post) => {
25694
+ var _a;
25695
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
25696
+ if (!collection)
25697
+ return;
25698
+ if (action === EnumPostActions.OnPostDeleted) {
25699
+ collection.data = collection.data.filter(referenceId => referenceId !== `global#${post.postId}`);
25700
+ }
25701
+ pushToCache(this.cacheKey, collection);
25702
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
25703
+ };
25704
+ }
25705
+ subscribeRTE(createSubscriber) {
25706
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
25707
+ }
25332
25708
  }
25333
25709
 
25334
25710
  class PinnedPostLiveCollectionController extends LiveCollectionController {
@@ -25360,7 +25736,10 @@ class PinnedPostLiveCollectionController extends LiveCollectionController {
25360
25736
  }
25361
25737
  // eslint-disable-next-line class-methods-use-this
25362
25738
  startSubscription() {
25363
- return [];
25739
+ return this.queryStreamController.subscribeRTE(generateCommentSubscriptions({
25740
+ cacheKey: this.cacheKey,
25741
+ resolveId: id => `${this.query.placement}#${id}`,
25742
+ }));
25364
25743
  }
25365
25744
  notifyChange({ origin, loading, error }) {
25366
25745
  var _a, _b;
@@ -25512,6 +25891,10 @@ class GlobalPinnedPostLiveCollectionController extends LiveCollectionController
25512
25891
  fn: onPostDeleted,
25513
25892
  action: EnumPostActions.OnPostDeleted,
25514
25893
  },
25894
+ ...generateCommentSubscriptions({
25895
+ cacheKey: this.cacheKey,
25896
+ resolveId: id => `global#${id}`,
25897
+ }),
25515
25898
  ]);
25516
25899
  }
25517
25900
  notifyChange({ origin, loading, error }) {
@@ -25791,6 +26174,238 @@ const semanticSearchPosts = (params, callback, config) => {
25791
26174
  };
25792
26175
  };
25793
26176
 
26177
+ class SearchPostPaginationController extends PaginationController {
26178
+ async getRequest(queryParams, token) {
26179
+ const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, matchingOnlyParentPost, hashtags, dataTypes, targetType = 'all' } = queryParams, params = __rest(queryParams, ["limit", "matchingOnlyParentPost", "hashtags", "dataTypes", "targetType"]);
26180
+ const baseOptions = {
26181
+ type: params.sortBy || queryParams.limit ? 'pagination' : undefined,
26182
+ };
26183
+ const options = token ? Object.assign(Object.assign({}, baseOptions), { token }) : Object.assign(Object.assign({}, baseOptions), { limit });
26184
+ const { data: queryResponse } = await this.http.get(`/api/v1/search/posts`, {
26185
+ params: Object.assign(Object.assign({}, params), { hashtags,
26186
+ dataTypes,
26187
+ targetType,
26188
+ /*
26189
+ * when creating post like image, file, video BE will create 2 posts
26190
+ * 1. parent post to store text with dataType=text
26191
+ * 2. child post to store dataTypes post data
26192
+ *
26193
+ * By default, BE queries only parent post
26194
+ */
26195
+ matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length), options }),
26196
+ });
26197
+ return queryResponse;
26198
+ }
26199
+ }
26200
+
26201
+ class SearchPostQueryStreamController extends QueryStreamController {
26202
+ constructor(query, cacheKey, notifyChange, preparePayload) {
26203
+ super(query, cacheKey);
26204
+ this.notifyChange = notifyChange;
26205
+ this.preparePayload = preparePayload;
26206
+ }
26207
+ async saveToMainDB(response) {
26208
+ const processedPayload = await this.preparePayload(response);
26209
+ const client = getActiveClient();
26210
+ const cachedAt = client.cache && Date.now();
26211
+ if (client.cache) {
26212
+ ingestInCache(processedPayload, { cachedAt });
26213
+ }
26214
+ }
26215
+ appendToQueryStream(response, direction, refresh = false) {
26216
+ var _a, _b;
26217
+ if (refresh) {
26218
+ pushToCache(this.cacheKey, {
26219
+ data: response.posts.map(getResolver('post')),
26220
+ });
26221
+ }
26222
+ else {
26223
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
26224
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
26225
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
26226
+ }
26227
+ }
26228
+ reactor(action) {
26229
+ return (post) => {
26230
+ var _a, _b;
26231
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
26232
+ if (!collection)
26233
+ return;
26234
+ if (post.parentPostId && post.isDeleted) {
26235
+ const parentPost = (_b = pullFromCache([
26236
+ 'post',
26237
+ 'get',
26238
+ post.parentPostId,
26239
+ ])) === null || _b === void 0 ? void 0 : _b.data;
26240
+ if (!parentPost)
26241
+ return;
26242
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
26243
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
26244
+ }
26245
+ if (action === EnumPostActions.OnPostDeclined) {
26246
+ collection.data = collection.data.filter(postId => postId !== post.postId);
26247
+ }
26248
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
26249
+ collection.data = [...new Set([post.postId, ...collection.data])];
26250
+ }
26251
+ pushToCache(this.cacheKey, collection);
26252
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
26253
+ };
26254
+ }
26255
+ subscribeRTE(createSubscriber) {
26256
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
26257
+ }
26258
+ }
26259
+
26260
+ class SearchPostLiveCollectionController extends LiveCollectionController {
26261
+ constructor(query, callback) {
26262
+ const queryStreamId = hash__default["default"](query);
26263
+ const cacheKey = ['posts', 'collection', queryStreamId];
26264
+ const paginationController = new SearchPostPaginationController(query);
26265
+ super(paginationController, queryStreamId, cacheKey, callback);
26266
+ this.query = query;
26267
+ this.queryStreamController = new SearchPostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
26268
+ this.callback = callback.bind(this);
26269
+ this.loadPage({ initial: true });
26270
+ }
26271
+ setup() {
26272
+ var _a;
26273
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
26274
+ if (!collection) {
26275
+ pushToCache(this.cacheKey, {
26276
+ data: [],
26277
+ params: {},
26278
+ });
26279
+ }
26280
+ }
26281
+ async persistModel(queryPayload) {
26282
+ await this.queryStreamController.saveToMainDB(queryPayload);
26283
+ }
26284
+ persistQueryStream({ response, direction, refresh, }) {
26285
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
26286
+ }
26287
+ startSubscription() {
26288
+ return this.queryStreamController.subscribeRTE([
26289
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
26290
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
26291
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
26292
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
26293
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
26294
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
26295
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
26296
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
26297
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
26298
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
26299
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
26300
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
26301
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
26302
+ {
26303
+ fn: convertEventPayload((callback) => {
26304
+ return onCommentCreated(async (comment) => {
26305
+ var _a;
26306
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
26307
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
26308
+ return;
26309
+ await getPost$1(comment.referenceId);
26310
+ callback(comment);
26311
+ });
26312
+ }, 'referenceId', 'post'),
26313
+ action: EnumPostActions.OnPostUpdated,
26314
+ },
26315
+ {
26316
+ fn: convertEventPayload((callback) => {
26317
+ return onCommentDeleted(async (comment) => {
26318
+ var _a;
26319
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
26320
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
26321
+ return;
26322
+ await getPost$1(comment.referenceId);
26323
+ callback(comment);
26324
+ });
26325
+ }, 'referenceId', 'post'),
26326
+ action: EnumPostActions.OnPostUpdated,
26327
+ },
26328
+ ]);
26329
+ }
26330
+ notifyChange({ origin, loading, error }) {
26331
+ var _a, _b;
26332
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
26333
+ if (!collection)
26334
+ return;
26335
+ const data = this.applyFilter((_b = collection.data
26336
+ .map(id => pullFromCache(['post', 'get', id]))
26337
+ .filter(isNonNullable)
26338
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
26339
+ if (!this.shouldNotify(data) && origin === 'event')
26340
+ return;
26341
+ this.callback({
26342
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
26343
+ data,
26344
+ hasNextPage: !!this.paginationController.getNextToken(),
26345
+ loading,
26346
+ error,
26347
+ });
26348
+ }
26349
+ applyFilter(data) {
26350
+ var _a;
26351
+ let posts = data;
26352
+ if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
26353
+ posts = filterByPostDataTypes(posts, this.query.dataTypes);
26354
+ }
26355
+ switch (this.query.sortBy) {
26356
+ case 'firstCreated':
26357
+ posts = posts.sort(sortByFirstCreated);
26358
+ break;
26359
+ case 'lastCreated':
26360
+ default:
26361
+ posts = posts.sort(sortByLastCreated);
26362
+ break;
26363
+ }
26364
+ return posts;
26365
+ }
26366
+ }
26367
+
26368
+ /* begin_public_function
26369
+ id: post.query
26370
+ */
26371
+ /**
26372
+ * ```js
26373
+ * import { PostRepository } from '@amityco/ts-sdk'
26374
+ *
26375
+ * let posts = []
26376
+ * const unsub = PostRepository.searchPostsByHashtag({
26377
+ * hashtags: ['amity'],
26378
+ * limit: 10,
26379
+ * }, response => merge(posts, response.data))
26380
+ * ```
26381
+ *
26382
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
26383
+ *
26384
+ * @param params.hashtags the hashtags to search for
26385
+ * @param callback the function to call when new data are available
26386
+ * @param config
26387
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
26388
+ *
26389
+ * @category Posts Live Collection
26390
+ */
26391
+ const searchPostsByHashtag = (params, callback, config) => {
26392
+ const { log, cache } = getActiveClient();
26393
+ if (!cache) {
26394
+ console.log(ENABLE_CACHE_MESSAGE);
26395
+ }
26396
+ const timestamp = Date.now();
26397
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > listen`);
26398
+ const postsLiveCollection = new SearchPostLiveCollectionController(params, callback);
26399
+ const disposers = postsLiveCollection.startSubscription();
26400
+ const cacheKey = postsLiveCollection.getCacheKey();
26401
+ disposers.push(() => dropFromCache(cacheKey));
26402
+ return () => {
26403
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > dispose`);
26404
+ disposers.forEach(fn => fn());
26405
+ };
26406
+ };
26407
+ /* end_public_function */
26408
+
25794
26409
  var index$8 = /*#__PURE__*/Object.freeze({
25795
26410
  __proto__: null,
25796
26411
  getPostByIds: getPostByIds,
@@ -25818,7 +26433,8 @@ var index$8 = /*#__PURE__*/Object.freeze({
25818
26433
  getPosts: getPosts,
25819
26434
  getPinnedPosts: getPinnedPosts,
25820
26435
  getGlobalPinnedPosts: getGlobalPinnedPosts,
25821
- semanticSearchPosts: semanticSearchPosts
26436
+ semanticSearchPosts: semanticSearchPosts,
26437
+ searchPostsByHashtag: searchPostsByHashtag
25822
26438
  });
25823
26439
 
25824
26440
  /* begin_public_function
@@ -26423,8 +27039,8 @@ var index$7 = /*#__PURE__*/Object.freeze({
26423
27039
  * const created = await createPoll({
26424
27040
  * question: 'question',
26425
27041
  * answers: [
26426
- * { dataType: 'text', data: 'answer1' },
26427
- * { dataType: 'text', data: 'answer2' },
27042
+ * { dataType: 'text', data: 'answer1', fileId: 'fileId1' },
27043
+ * { dataType: 'text', data: 'answer2', fileId: 'fileId2' },
26428
27044
  * ],
26429
27045
  * closedIn: 1649136484
26430
27046
  * }))