@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.esm.js CHANGED
@@ -137,6 +137,29 @@ var JoinResultStatusEnum;
137
137
  JoinResultStatusEnum["Pending"] = "pending";
138
138
  })(JoinResultStatusEnum || (JoinResultStatusEnum = {}));
139
139
 
140
+ var FeedDataTypeEnum;
141
+ (function (FeedDataTypeEnum) {
142
+ FeedDataTypeEnum["Text"] = "text";
143
+ FeedDataTypeEnum["Video"] = "video";
144
+ FeedDataTypeEnum["Image"] = "image";
145
+ FeedDataTypeEnum["File"] = "file";
146
+ FeedDataTypeEnum["LiveStream"] = "liveStream";
147
+ FeedDataTypeEnum["Clip"] = "clip";
148
+ FeedDataTypeEnum["Poll"] = "poll";
149
+ })(FeedDataTypeEnum || (FeedDataTypeEnum = {}));
150
+ var FeedSortByEnum;
151
+ (function (FeedSortByEnum) {
152
+ FeedSortByEnum["LastCreated"] = "lastCreated";
153
+ FeedSortByEnum["FirstCreated"] = "firstCreated";
154
+ FeedSortByEnum["LastUpdated"] = "lastUpdated";
155
+ FeedSortByEnum["FirstUpdated"] = "firstUpdated";
156
+ })(FeedSortByEnum || (FeedSortByEnum = {}));
157
+ var FeedSourceEnum;
158
+ (function (FeedSourceEnum) {
159
+ FeedSourceEnum["Community"] = "community";
160
+ FeedSourceEnum["User"] = "user";
161
+ })(FeedSourceEnum || (FeedSourceEnum = {}));
162
+
140
163
  function getVersion() {
141
164
  try {
142
165
  // the string ''v7.8.0-esm'' should be replaced by actual value by @rollup/plugin-replace
@@ -642,7 +665,8 @@ const PAYLOAD2MODEL = {
642
665
  };
643
666
  /** hidden */
644
667
  const isOutdated = (prevData, nextData) => {
645
- if ('updatedAt' in nextData && 'updatedAt' in nextData) {
668
+ // Check if the new value is outdated.
669
+ if ('updatedAt' in nextData && 'updatedAt' in prevData) {
646
670
  return new Date(nextData.updatedAt) < new Date(prevData.updatedAt);
647
671
  }
648
672
  return false;
@@ -25872,6 +25896,26 @@ const fetchLinkPreview = async (url) => {
25872
25896
  return data;
25873
25897
  };
25874
25898
 
25899
+ /**
25900
+ * ```js
25901
+ * import Client from '@amityco/ts-sdk'
25902
+ * const shareableLinkConfiguration = await Client.getShareableLinkConfiguration()
25903
+ * const postLinkPattern = shareableLinkConfiguration.post
25904
+ * ```
25905
+ *
25906
+ * Fetches a {@link Amity.ShareableLinkConfiguration} object
25907
+ *
25908
+ * @returns A Promise of {@link Amity.ShareableLinkConfiguration} object
25909
+ *
25910
+ * @category Client API
25911
+ * @async
25912
+ */
25913
+ const getShareableLinkConfiguration = async () => {
25914
+ const client = getActiveClient();
25915
+ const { data } = await client.http.get(`/api/v3/network-settings/shareable-deep-links`);
25916
+ return data;
25917
+ };
25918
+
25875
25919
  /**
25876
25920
  * ```js
25877
25921
  * import { onChannelMarkerFetched } from '@amityco/ts-sdk'
@@ -26241,6 +26285,8 @@ var index$o = /*#__PURE__*/Object.freeze({
26241
26285
  enableUnreadCount: enableUnreadCount,
26242
26286
  setUploadedFileAccessType: setUploadedFileAccessType,
26243
26287
  fetchLinkPreview: fetchLinkPreview,
26288
+ getSocialSettings: getSocialSettings,
26289
+ getShareableLinkConfiguration: getShareableLinkConfiguration,
26244
26290
  onConnectionError: onConnectionError,
26245
26291
  onClientDisconnected: onClientDisconnected,
26246
26292
  onClientBanned: onClientBanned,
@@ -27944,15 +27990,18 @@ function isAmityClipPost(post) {
27944
27990
  }
27945
27991
 
27946
27992
  const postLinkedObject = (post) => {
27947
- return Object.assign(Object.assign({}, post), { childrenPosts: post.children
27993
+ return shallowClone(post, {
27994
+ childrenPosts: post.children
27948
27995
  .map(childPost => { var _a; return (_a = pullFromCache(['post', 'get', childPost])) === null || _a === void 0 ? void 0 : _a.data; })
27949
27996
  .filter(isNonNullable)
27950
- .map(postLinkedObject), analytics: {
27997
+ .map(postLinkedObject),
27998
+ analytics: {
27951
27999
  markAsViewed: () => {
27952
28000
  const analyticsEngineInstance = AnalyticsEngine$1.getInstance();
27953
28001
  analyticsEngineInstance.markPostAsViewed(post.postId);
27954
28002
  },
27955
- }, get latestComments() {
28003
+ },
28004
+ get latestComments() {
27956
28005
  if (!post.comments)
27957
28006
  return [];
27958
28007
  return (post.comments
@@ -28026,7 +28075,8 @@ const postLinkedObject = (post) => {
28026
28075
  return isAmityClipPost(post)
28027
28076
  ? (_b = pullFromCache(['file', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.fileId])) === null || _b === void 0 ? void 0 : _b.data
28028
28077
  : undefined;
28029
- } });
28078
+ },
28079
+ });
28030
28080
  };
28031
28081
 
28032
28082
  const getCachedMarker = (message) => {
@@ -31021,7 +31071,7 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
31021
31071
  ]);
31022
31072
  if (!model || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
31023
31073
  return true;
31024
- const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }) });
31074
+ const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }), updatedAt: new Date().toISOString() });
31025
31075
  if (referenceType === 'comment') {
31026
31076
  fireEvent('local.comment.addReaction', {
31027
31077
  comment: updatedModel,
@@ -31144,7 +31194,7 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
31144
31194
  ]);
31145
31195
  if (!model)
31146
31196
  return true;
31147
- const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_a = model.data.myReactions) !== null && _a !== void 0 ? _a : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_b = model.data.reactions[reactionName]) !== null && _b !== void 0 ? _b : 0) - 1) }) });
31197
+ const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_a = model.data.myReactions) !== null && _a !== void 0 ? _a : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_b = model.data.reactions[reactionName]) !== null && _b !== void 0 ? _b : 0) - 1) }), updatedAt: new Date().toISOString() });
31148
31198
  if (referenceType === 'comment') {
31149
31199
  fireEvent('local.comment.removeReaction', {
31150
31200
  comment: updatedModel,
@@ -31258,6 +31308,26 @@ const prepareSemanticSearchPostPayload = (_a) => {
31258
31308
  return Object.assign(Object.assign({}, processedPostPayload), { polls });
31259
31309
  };
31260
31310
 
31311
+ const processDeleteChildPost = (payload) => {
31312
+ var _a;
31313
+ const post = payload.posts[0];
31314
+ if (!post.parentId)
31315
+ return;
31316
+ const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
31317
+ if (!parentPost)
31318
+ return;
31319
+ pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: parentPost.children.filter(childId => childId !== post.postId) }));
31320
+ };
31321
+ const processCreateChildPost = (payload) => {
31322
+ var _a;
31323
+ const post = payload.posts[0];
31324
+ if (!post.parentId)
31325
+ return;
31326
+ const parentPost = (_a = pullFromCache(['post', 'get', post.parentPostId])) === null || _a === void 0 ? void 0 : _a.data;
31327
+ if (!parentPost)
31328
+ return;
31329
+ pushToCache(['post', 'get', parentPost.postId], Object.assign(Object.assign({}, parentPost), { children: [...new Set([post.postId, ...parentPost.children])] }));
31330
+ };
31261
31331
  const createPostEventSubscriber = (event, callback) => {
31262
31332
  const client = getActiveClient();
31263
31333
  const filter = (payload) => {
@@ -31282,6 +31352,7 @@ const createPostEventSubscriber = (event, callback) => {
31282
31352
  }
31283
31353
  if (event === 'post.deleted') {
31284
31354
  const { postId, postedUserId } = payload.posts[0];
31355
+ processDeleteChildPost(payload);
31285
31356
  try {
31286
31357
  isInTombstone('post', postId);
31287
31358
  }
@@ -31308,6 +31379,8 @@ const createPostEventSubscriber = (event, callback) => {
31308
31379
  }
31309
31380
  queries === null || queries === void 0 ? void 0 : queries.map(({ key, data }) => upsertInCache(key, data, { cachedAt: -1 }));
31310
31381
  }
31382
+ if (event === 'post.created')
31383
+ processCreateChildPost(payload);
31311
31384
  callback(post.data);
31312
31385
  }
31313
31386
  };
@@ -31334,6 +31407,8 @@ const createLocalPostEventSubscriber = (event, callback) => {
31334
31407
  });
31335
31408
  }
31336
31409
  const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
31410
+ if (event === 'local.post.deleted')
31411
+ processDeleteChildPost(payload);
31337
31412
  callback(post.data);
31338
31413
  }
31339
31414
  };
@@ -39109,6 +39184,9 @@ var index$b = /*#__PURE__*/Object.freeze({
39109
39184
  id: feed.query.global_feed
39110
39185
  */
39111
39186
  /**
39187
+ *
39188
+ * @deprecated This function will to be deprecated. Please use getGlobalFeed instead.
39189
+ *
39112
39190
  * ```js
39113
39191
  * import { queryGlobalFeed } from '@amityco/ts-sdk'
39114
39192
  * const posts = await queryGlobalFeed()
@@ -39191,88 +39269,12 @@ queryGlobalFeed.locally = (query) => {
39191
39269
  : undefined;
39192
39270
  };
39193
39271
 
39194
- /* begin_public_function
39195
- id: feed.query.custom_ranking_feed
39196
- */
39197
- /**
39198
- * ```js
39199
- * import { FeedRepository } from '@amityco/ts-sdk'
39200
- * const posts = await FeedRepository.getCustomRankingGlobalFeed()
39201
- * ```
39202
- *
39203
- * Queries a paginable list of {@link Amity.Post} objects
39204
- *
39205
- * @param query The query parameters
39206
- * @returns A page of {@link Amity.Post} objects
39207
- *
39208
- * @category Feed API
39209
- * @async
39210
- * */
39211
- const getCustomRankingGlobalFeed = async (query) => {
39212
- const client = getActiveClient();
39213
- client.log('feed/getCustomRankingGlobalFeed', query);
39214
- const _a = query !== null && query !== void 0 ? query : {}, { queryToken, limit } = _a, params = __rest(_a, ["queryToken", "limit"]);
39215
- const options = (() => {
39216
- if (queryToken)
39217
- return { token: queryToken };
39218
- return undefined;
39219
- })();
39220
- const { data: queryPayload } = await client.http.get(`/api/v5/me/global-feeds`, {
39221
- params: Object.assign(Object.assign({}, params), { limit: !queryToken ? limit : undefined, options }),
39222
- });
39223
- const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
39224
- const data = prepareMembershipPayload(payload, 'communityUsers');
39225
- const { posts } = data;
39226
- const cachedAt = client.cache && Date.now();
39227
- if (client.cache) {
39228
- ingestInCache(data);
39229
- const cacheKey = ['customGlobalFeed', 'query', Object.assign(Object.assign({}, params), { options })];
39230
- pushToCache(cacheKey, { posts: posts.map(getResolver('post')), paging });
39231
- }
39232
- return { data: posts.map(LinkedObject.post), cachedAt, paging };
39233
- };
39234
- /* end_public_function */
39235
- /**
39236
- * ```js
39237
- * import { FeedRepository } from '@amityco/ts-sdk'
39238
- * const posts = await FeedRepository.getCustomRankingGlobalFeed.locally()
39239
- * ```
39240
- *
39241
- * Queries a paginable list of {@link Amity.Post} objects from cache
39242
- *
39243
- * @param query The query parameters
39244
- * @returns A page of {@link Amity.Post} objects
39245
- *
39246
- * @category Feed API
39247
- * @async
39248
- * */
39249
- getCustomRankingGlobalFeed.locally = (query) => {
39250
- var _a, _b;
39251
- const client = getActiveClient();
39252
- client.log('post/getCustomRankingGlobalFeed.locally', query);
39253
- if (!client.cache)
39254
- return;
39255
- const params = __rest(query !== null && query !== void 0 ? query : {}, []);
39256
- const queryKey = ['customGlobalFeed', 'query', Object.assign({}, params)];
39257
- const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
39258
- if (!(data === null || data === void 0 ? void 0 : data.posts.length))
39259
- return;
39260
- const posts = data.posts
39261
- .map(postId => pullFromCache(['post', 'get', postId]))
39262
- .filter(Boolean)
39263
- .map(({ data }) => data);
39264
- const { paging } = data;
39265
- return posts.length === ((_b = data === null || data === void 0 ? void 0 : data.posts) === null || _b === void 0 ? void 0 : _b.length)
39266
- ? { data: posts.map(LinkedObject.post), cachedAt, paging }
39267
- : undefined;
39268
- };
39269
-
39270
- class UserFeedPaginationController extends PaginationController {
39272
+ class CustomRankingGlobalFeedPaginationController extends PaginationController {
39271
39273
  async getRequest(queryParams, token) {
39272
- const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
39274
+ const { limit } = queryParams, params = __rest(queryParams, ["limit"]);
39273
39275
  const options = token ? { token } : { limit };
39274
- const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
39275
- params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
39276
+ const { data: queryResponse } = await this.http.get(`/api/v5/me/global-feeds`, {
39277
+ params: Object.assign(Object.assign({}, params), { options }),
39276
39278
  });
39277
39279
  return queryResponse;
39278
39280
  }
@@ -39291,7 +39293,7 @@ var EnumPostActions;
39291
39293
  EnumPostActions["OnPostDeclined"] = "onPostDeclined";
39292
39294
  })(EnumPostActions || (EnumPostActions = {}));
39293
39295
 
39294
- class UserFeedQueryStreamController extends QueryStreamController {
39296
+ class CustomRankingGlobalFeedQueryStreamController extends QueryStreamController {
39295
39297
  constructor(query, cacheKey, notifyChange, preparePayload) {
39296
39298
  super(query, cacheKey);
39297
39299
  this.notifyChange = notifyChange;
@@ -39320,40 +39322,28 @@ class UserFeedQueryStreamController extends QueryStreamController {
39320
39322
  }
39321
39323
  reactor(action) {
39322
39324
  return (post) => {
39323
- var _a, _b;
39325
+ var _a;
39324
39326
  const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
39325
39327
  if (!collection)
39326
39328
  return;
39327
- // if the collection is parent post collection and
39328
- // post is not included in the collection or post is child post
39329
- if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
39330
- !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
39329
+ if (post.parentPostId && !collection.data.includes(post.parentPostId))
39331
39330
  return;
39331
+ // Delete Action
39332
39332
  if (action === EnumPostActions.OnPostDeleted) {
39333
- collection.data = collection.data.filter(postId => postId !== post.postId);
39334
- }
39335
- if (post.parentPostId && post.isDeleted) {
39336
- const parentPost = (_b = pullFromCache([
39337
- 'post',
39338
- 'get',
39339
- post.parentPostId,
39340
- ])) === null || _b === void 0 ? void 0 : _b.data;
39341
- if (!parentPost)
39342
- return;
39343
- parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
39344
- pushToCache(['post', 'get', parentPost.postId], parentPost);
39345
- }
39346
- if (action === EnumPostActions.OnPostDeclined) {
39333
+ // Parent Post - Remove from collection
39347
39334
  collection.data = collection.data.filter(postId => postId !== post.postId);
39348
39335
  }
39349
39336
  if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
39350
- if (this.query.dataTypes &&
39351
- this.query.dataTypes.length > 0 &&
39352
- !this.query.dataTypes.includes(post.dataType)) {
39353
- return;
39337
+ // If the query has dataTypes array with value, check if post.dataType is include in the array
39338
+ if (this.query.dataTypes && this.query.dataTypes.length > 0) {
39339
+ if (!this.query.dataTypes.includes(post.dataType))
39340
+ return;
39354
39341
  }
39355
39342
  collection.data = [...new Set([post.postId, ...collection.data])];
39356
39343
  }
39344
+ if (action === EnumPostActions.OnPostDeclined) {
39345
+ collection.data = collection.data.filter(postId => postId !== post.postId);
39346
+ }
39357
39347
  pushToCache(this.cacheKey, collection);
39358
39348
  this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
39359
39349
  };
@@ -39657,6 +39647,12 @@ const deleteComment = async (commentId, permanent = false) => {
39657
39647
  });
39658
39648
  // to support hard deletion
39659
39649
  const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true });
39650
+ if (permanent) {
39651
+ scheduleTask(() => pushToTombstone('comment', commentId));
39652
+ }
39653
+ else {
39654
+ upsertInCache(['comment', 'get', commentId], { isDeleted: true });
39655
+ }
39660
39656
  if (comment.data.referenceType === 'story') {
39661
39657
  const story = await getStoryByStoryId$1(comment.data.referenceId);
39662
39658
  fireEvent('local.story.updated', {
@@ -39701,12 +39697,6 @@ const deleteComment = async (commentId, permanent = false) => {
39701
39697
  users: [],
39702
39698
  communityUsers: [],
39703
39699
  });
39704
- if (permanent) {
39705
- scheduleTask(() => pushToTombstone('comment', commentId));
39706
- }
39707
- else {
39708
- upsertInCache(['comment', 'get', commentId], { isDeleted: true });
39709
- }
39710
39700
  return deleted;
39711
39701
  };
39712
39702
  /* end_public_function */
@@ -40306,20 +40296,20 @@ getPost$1.locally = (postId) => {
40306
40296
 
40307
40297
  /**
40308
40298
  * ```js
40309
- * import { onPostUpdatedLocal } from '@amityco/ts-sdk'
40310
- * const dispose = onPostUpdatedLocal(post => {
40299
+ * import { onLocalPostDeleted } from '@amityco/ts-sdk'
40300
+ * const dispose = onLocalPostDeleted(post => {
40311
40301
  * // ...
40312
40302
  * })
40313
40303
  * ```
40314
40304
  *
40315
- * Fired when a {@link Amity.InternalPost} has been updated
40305
+ * Fired when a {@link Amity.InternalPost} has been deleted
40316
40306
  *
40317
40307
  * @param callback The function to call when the event was fired
40318
40308
  * @returns an {@link Amity.Unsubscriber} function to stop listening
40319
40309
  *
40320
40310
  * @category Post Events
40321
40311
  */
40322
- const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
40312
+ const onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
40323
40313
 
40324
40314
  /**
40325
40315
  * ```js
@@ -40381,20 +40371,403 @@ const onLocalPostReactionRemoved = (callback) => {
40381
40371
 
40382
40372
  /**
40383
40373
  * ```js
40384
- * import { onLocalPostDeleted } from '@amityco/ts-sdk'
40385
- * const dispose = onLocalPostDeleted(post => {
40374
+ * import { onPostUpdatedLocal } from '@amityco/ts-sdk'
40375
+ * const dispose = onPostUpdatedLocal(post => {
40386
40376
  * // ...
40387
40377
  * })
40388
40378
  * ```
40389
40379
  *
40390
- * Fired when a {@link Amity.InternalPost} has been deleted
40380
+ * Fired when a {@link Amity.InternalPost} has been updated
40391
40381
  *
40392
40382
  * @param callback The function to call when the event was fired
40393
40383
  * @returns an {@link Amity.Unsubscriber} function to stop listening
40394
40384
  *
40395
40385
  * @category Post Events
40396
40386
  */
40397
- const onLocalPostDeleted = (callback) => createLocalPostEventSubscriber('local.post.deleted', callback);
40387
+ const onPostUpdatedLocal = (callback) => createLocalPostEventSubscriber('local.post.updated', callback);
40388
+
40389
+ const commentEventHandler$1 = (callback, eventHandler, cacheKey) => {
40390
+ return eventHandler(async (comment) => {
40391
+ var _a;
40392
+ const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40393
+ if (!currentCollection || !currentCollection.data.includes(comment.referenceId))
40394
+ return;
40395
+ await getPost$1(comment.referenceId);
40396
+ callback(comment);
40397
+ });
40398
+ };
40399
+ const generateCommentSubscriptions$1 = (cacheKey) => {
40400
+ const eventHandlers = [
40401
+ onCommentCreated,
40402
+ onCommentDeleted,
40403
+ onCommentReactionAdded,
40404
+ onCommentReactionRemoved,
40405
+ onCommentCreatedLocal,
40406
+ onCommentDeleteLocal,
40407
+ onLocalCommentReactionAdded,
40408
+ onLocalCommentReactionRemoved,
40409
+ ];
40410
+ return eventHandlers.map(handler => ({
40411
+ fn: convertEventPayload((callback) => commentEventHandler$1(callback, handler, cacheKey), 'referenceId', 'post'),
40412
+ action: EnumPostActions.OnPostUpdated,
40413
+ }));
40414
+ };
40415
+ const getGlobalFeedSubscriptions = (cacheKey) => {
40416
+ return [
40417
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
40418
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
40419
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
40420
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
40421
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
40422
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
40423
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
40424
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
40425
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
40426
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
40427
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
40428
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
40429
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
40430
+ ...generateCommentSubscriptions$1(cacheKey),
40431
+ ];
40432
+ };
40433
+
40434
+ class CustomRankingGlobalFeedLiveCollectionController extends LiveCollectionController {
40435
+ constructor(query, callback) {
40436
+ const queryStreamId = hash(query);
40437
+ const cacheKey = ['customRankingGlobalFeed', 'collection', queryStreamId];
40438
+ const paginationController = new CustomRankingGlobalFeedPaginationController(query);
40439
+ super(paginationController, queryStreamId, cacheKey, callback);
40440
+ this.query = query;
40441
+ this.queryStreamController = new CustomRankingGlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
40442
+ this.callback = callback.bind(this);
40443
+ this.loadPage({ initial: true });
40444
+ }
40445
+ setup() {
40446
+ var _a;
40447
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40448
+ if (!collection) {
40449
+ pushToCache(this.cacheKey, {
40450
+ data: [],
40451
+ params: {},
40452
+ });
40453
+ }
40454
+ }
40455
+ async persistModel(queryPayload) {
40456
+ await this.queryStreamController.saveToMainDB(queryPayload);
40457
+ }
40458
+ persistQueryStream({ response, direction, refresh, }) {
40459
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
40460
+ }
40461
+ startSubscription() {
40462
+ return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
40463
+ }
40464
+ notifyChange({ origin, loading, error }) {
40465
+ var _a, _b;
40466
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40467
+ if (!collection)
40468
+ return;
40469
+ const data = ((_b = collection.data
40470
+ .map(id => pullFromCache(['post', 'get', id]))
40471
+ .filter(isNonNullable)
40472
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
40473
+ if (!this.shouldNotify(data) && origin === 'event')
40474
+ return;
40475
+ this.callback({
40476
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
40477
+ data,
40478
+ hasNextPage: !!this.paginationController.getNextToken(),
40479
+ loading,
40480
+ error,
40481
+ });
40482
+ }
40483
+ }
40484
+
40485
+ /* begin_public_function
40486
+ id: feed.query.custom_ranking_feed
40487
+ */
40488
+ /**
40489
+ * ```js
40490
+ * import { FeedRepository } from '@amityco/ts-sdk'
40491
+ *
40492
+ * let posts = []
40493
+ * const unsub = FeedRepository.getGlobalFeed({
40494
+ * dataTypes: ['video','image'],
40495
+ * resolveParent: true,
40496
+ * }, response => processResponse(response))
40497
+ * ```
40498
+ *
40499
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
40500
+ *
40501
+ * @param params.dataTypes array of data types for the posts
40502
+ * @param callback the function to call when new data are available
40503
+ * @param config
40504
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
40505
+ *
40506
+ * @category Posts Live Collection
40507
+ */
40508
+ const getCustomRankingGlobalFeed = (params, callback, config) => {
40509
+ const { log, cache } = getActiveClient();
40510
+ if (!cache) {
40511
+ console.log(ENABLE_CACHE_MESSAGE);
40512
+ }
40513
+ const timestamp = Date.now();
40514
+ log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > listen`);
40515
+ const liveCollection = new CustomRankingGlobalFeedLiveCollectionController(params, callback);
40516
+ const disposers = liveCollection.startSubscription();
40517
+ const cacheKey = liveCollection.getCacheKey();
40518
+ disposers.push(() => dropFromCache(cacheKey));
40519
+ return () => {
40520
+ log(`getCustomRankingGlobalFeed(tmpid: ${timestamp}) > dispose`);
40521
+ disposers.forEach(fn => fn());
40522
+ };
40523
+ };
40524
+ /* end_public_function */
40525
+
40526
+ class GlobalFeedPaginationController extends PaginationController {
40527
+ async getRequest(queryParams, token) {
40528
+ const { limit, resolveParent } = queryParams, params = __rest(queryParams, ["limit", "resolveParent"]);
40529
+ const options = token ? { token } : { limit };
40530
+ const { data: queryResponse } = await this.http.get(`/api/v4/me/global-feeds`, {
40531
+ params: Object.assign(Object.assign({}, params), { resolveParent: resolveParent !== null && resolveParent !== void 0 ? resolveParent : true, options }),
40532
+ });
40533
+ return queryResponse;
40534
+ }
40535
+ }
40536
+
40537
+ class GlobalFeedQueryStreamController extends QueryStreamController {
40538
+ constructor(query, cacheKey, notifyChange, preparePayload) {
40539
+ super(query, cacheKey);
40540
+ this.notifyChange = notifyChange;
40541
+ this.preparePayload = preparePayload;
40542
+ }
40543
+ async saveToMainDB(response) {
40544
+ const processedPayload = await this.preparePayload(response);
40545
+ const client = getActiveClient();
40546
+ const cachedAt = client.cache && Date.now();
40547
+ if (client.cache) {
40548
+ ingestInCache(processedPayload, { cachedAt });
40549
+ }
40550
+ }
40551
+ appendToQueryStream(response, direction, refresh = false) {
40552
+ var _a, _b;
40553
+ if (refresh) {
40554
+ pushToCache(this.cacheKey, {
40555
+ data: response.posts.map(getResolver('post')),
40556
+ });
40557
+ }
40558
+ else {
40559
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40560
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
40561
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
40562
+ }
40563
+ }
40564
+ reactor(action) {
40565
+ return (post) => {
40566
+ var _a;
40567
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40568
+ if (!collection)
40569
+ return;
40570
+ if (post.parentPostId && !collection.data.includes(post.parentPostId))
40571
+ return;
40572
+ // Delete Action
40573
+ if (action === EnumPostActions.OnPostDeleted) {
40574
+ // Parent Post - Remove from collection
40575
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40576
+ }
40577
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
40578
+ // If the query has dataTypes array with value, check if post.dataType is include in the array
40579
+ if (this.query.dataTypes && this.query.dataTypes.length > 0) {
40580
+ if (!this.query.dataTypes.includes(post.dataType))
40581
+ return;
40582
+ }
40583
+ collection.data = [...new Set([post.postId, ...collection.data])];
40584
+ }
40585
+ if (action === EnumPostActions.OnPostDeclined) {
40586
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40587
+ }
40588
+ pushToCache(this.cacheKey, collection);
40589
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
40590
+ };
40591
+ }
40592
+ subscribeRTE(createSubscriber) {
40593
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
40594
+ }
40595
+ }
40596
+
40597
+ class GlobalFeedLiveCollectionController extends LiveCollectionController {
40598
+ constructor(query, callback) {
40599
+ const queryStreamId = hash(query);
40600
+ const cacheKey = ['globalFeed', 'collection', queryStreamId];
40601
+ const paginationController = new GlobalFeedPaginationController(query);
40602
+ super(paginationController, queryStreamId, cacheKey, callback);
40603
+ this.query = query;
40604
+ this.queryStreamController = new GlobalFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
40605
+ this.callback = callback.bind(this);
40606
+ this.loadPage({ initial: true });
40607
+ }
40608
+ setup() {
40609
+ var _a;
40610
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40611
+ if (!collection) {
40612
+ pushToCache(this.cacheKey, {
40613
+ data: [],
40614
+ params: {},
40615
+ });
40616
+ }
40617
+ }
40618
+ async persistModel(queryPayload) {
40619
+ await this.queryStreamController.saveToMainDB(queryPayload);
40620
+ }
40621
+ persistQueryStream({ response, direction, refresh, }) {
40622
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
40623
+ }
40624
+ startSubscription() {
40625
+ return this.queryStreamController.subscribeRTE(getGlobalFeedSubscriptions(this.cacheKey));
40626
+ }
40627
+ notifyChange({ origin, loading, error }) {
40628
+ var _a, _b;
40629
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40630
+ if (!collection)
40631
+ return;
40632
+ const data = ((_b = collection.data
40633
+ .map(id => pullFromCache(['post', 'get', id]))
40634
+ .filter(isNonNullable)
40635
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
40636
+ if (!this.shouldNotify(data) && origin === 'event')
40637
+ return;
40638
+ this.callback({
40639
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
40640
+ data,
40641
+ hasNextPage: !!this.paginationController.getNextToken(),
40642
+ loading,
40643
+ error,
40644
+ });
40645
+ }
40646
+ }
40647
+
40648
+ /* begin_public_function
40649
+ id: feed.query.global_feed
40650
+ */
40651
+ /**
40652
+ * ```js
40653
+ * import { FeedRepository } from '@amityco/ts-sdk'
40654
+ *
40655
+ * let posts = []
40656
+ * const unsub = FeedRepository.getGlobalFeed({
40657
+ * dataTypes: ['video','image'],
40658
+ * resolveParent: true,
40659
+ * }, response => processResponse(response))
40660
+ * ```
40661
+ *
40662
+ * Observe all mutations on a list of {@link Amity.Post} for global feed
40663
+ * @param params.dataTypes array of data types for the posts
40664
+ * @param params.resolveParent
40665
+ * @param callback the function to call when new data are available
40666
+ * @param config
40667
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
40668
+ *
40669
+ * @category Posts Live Collection
40670
+ */
40671
+ const getGlobalFeed = (params, callback, config) => {
40672
+ const { log, cache } = getActiveClient();
40673
+ if (!cache) {
40674
+ console.log(ENABLE_CACHE_MESSAGE);
40675
+ }
40676
+ const timestamp = Date.now();
40677
+ log(`getGlobalFeed(tmpid: ${timestamp}) > listen`);
40678
+ const liveCollection = new GlobalFeedLiveCollectionController(params, callback);
40679
+ const disposers = liveCollection.startSubscription();
40680
+ const cacheKey = liveCollection.getCacheKey();
40681
+ disposers.push(() => dropFromCache(cacheKey));
40682
+ return () => {
40683
+ log(`getGlobalFeed(tmpid: ${timestamp}) > dispose`);
40684
+ disposers.forEach(fn => fn());
40685
+ };
40686
+ };
40687
+ /* end_public_function */
40688
+
40689
+ class UserFeedPaginationController extends PaginationController {
40690
+ async getRequest(queryParams, token) {
40691
+ const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
40692
+ const options = token ? { token } : { limit };
40693
+ const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
40694
+ params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
40695
+ });
40696
+ return queryResponse;
40697
+ }
40698
+ }
40699
+
40700
+ class UserFeedQueryStreamController extends QueryStreamController {
40701
+ constructor(query, cacheKey, notifyChange, preparePayload) {
40702
+ super(query, cacheKey);
40703
+ this.notifyChange = notifyChange;
40704
+ this.preparePayload = preparePayload;
40705
+ }
40706
+ async saveToMainDB(response) {
40707
+ const processedPayload = await this.preparePayload(response);
40708
+ const client = getActiveClient();
40709
+ const cachedAt = client.cache && Date.now();
40710
+ if (client.cache) {
40711
+ ingestInCache(processedPayload, { cachedAt });
40712
+ }
40713
+ }
40714
+ appendToQueryStream(response, direction, refresh = false) {
40715
+ var _a, _b;
40716
+ if (refresh) {
40717
+ pushToCache(this.cacheKey, {
40718
+ data: response.posts.map(getResolver('post')),
40719
+ });
40720
+ }
40721
+ else {
40722
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40723
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
40724
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
40725
+ }
40726
+ }
40727
+ reactor(action) {
40728
+ return (post) => {
40729
+ var _a, _b;
40730
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40731
+ if (!collection)
40732
+ return;
40733
+ // if the collection is parent post collection and
40734
+ // post is not included in the collection or post is child post
40735
+ if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
40736
+ !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
40737
+ return;
40738
+ if (action === EnumPostActions.OnPostDeleted) {
40739
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40740
+ }
40741
+ if (post.parentPostId && post.isDeleted) {
40742
+ const parentPost = (_b = pullFromCache([
40743
+ 'post',
40744
+ 'get',
40745
+ post.parentPostId,
40746
+ ])) === null || _b === void 0 ? void 0 : _b.data;
40747
+ if (!parentPost)
40748
+ return;
40749
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
40750
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
40751
+ }
40752
+ if (action === EnumPostActions.OnPostDeclined) {
40753
+ collection.data = collection.data.filter(postId => postId !== post.postId);
40754
+ }
40755
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
40756
+ if (this.query.dataTypes &&
40757
+ this.query.dataTypes.length > 0 &&
40758
+ !this.query.dataTypes.includes(post.dataType)) {
40759
+ return;
40760
+ }
40761
+ collection.data = [...new Set([post.postId, ...collection.data])];
40762
+ }
40763
+ pushToCache(this.cacheKey, collection);
40764
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
40765
+ };
40766
+ }
40767
+ subscribeRTE(createSubscriber) {
40768
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
40769
+ }
40770
+ }
40398
40771
 
40399
40772
  class UserFeedLiveCollectionController extends LiveCollectionController {
40400
40773
  constructor(query, callback) {
@@ -40471,7 +40844,7 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
40471
40844
  const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
40472
40845
  if (!collection)
40473
40846
  return;
40474
- const data = this.applyFilter((_b = collection.data
40847
+ const data = ((_b = collection.data
40475
40848
  .map(id => pullFromCache(['post', 'get', id]))
40476
40849
  .filter(isNonNullable)
40477
40850
  .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
@@ -40485,26 +40858,6 @@ class UserFeedLiveCollectionController extends LiveCollectionController {
40485
40858
  error,
40486
40859
  });
40487
40860
  }
40488
- applyFilter(data) {
40489
- var _a;
40490
- let posts = data;
40491
- if (!this.query.includeDeleted) {
40492
- posts = filterByPropEquality(posts, 'isDeleted', false);
40493
- }
40494
- if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
40495
- posts = filterByPostDataTypes(posts, this.query.dataTypes);
40496
- }
40497
- switch (this.query.sortBy) {
40498
- case 'firstCreated':
40499
- posts = posts.sort(sortByFirstCreated);
40500
- break;
40501
- case 'lastCreated':
40502
- default:
40503
- posts = posts.sort(sortByLastCreated);
40504
- break;
40505
- }
40506
- return posts;
40507
- }
40508
40861
  }
40509
40862
 
40510
40863
  /* begin_public_function
@@ -40553,6 +40906,7 @@ var index$9 = /*#__PURE__*/Object.freeze({
40553
40906
  __proto__: null,
40554
40907
  queryGlobalFeed: queryGlobalFeed,
40555
40908
  getCustomRankingGlobalFeed: getCustomRankingGlobalFeed,
40909
+ getGlobalFeed: getGlobalFeed,
40556
40910
  getUserFeed: getUserFeed
40557
40911
  });
40558
40912
 
@@ -41217,6 +41571,52 @@ class PostQueryStreamController extends QueryStreamController {
41217
41571
  }
41218
41572
  }
41219
41573
 
41574
+ const commentEventHandler = (callback, eventHandler, cacheKey, resolveId) => {
41575
+ return eventHandler(async (comment) => {
41576
+ var _a;
41577
+ const currentCollection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41578
+ if (!currentCollection ||
41579
+ !currentCollection.data.includes(resolveId ? resolveId(comment.referenceId) : comment.referenceId))
41580
+ return;
41581
+ await getPost$1(comment.referenceId);
41582
+ callback(comment);
41583
+ });
41584
+ };
41585
+ const generateCommentSubscriptions = ({ cacheKey, resolveId, }) => {
41586
+ const eventHandlers = [
41587
+ onCommentCreated,
41588
+ onCommentDeleted,
41589
+ onCommentReactionAdded,
41590
+ onCommentReactionRemoved,
41591
+ onCommentCreatedLocal,
41592
+ onCommentDeleteLocal,
41593
+ onLocalCommentReactionAdded,
41594
+ onLocalCommentReactionRemoved,
41595
+ ];
41596
+ return eventHandlers.map(handler => ({
41597
+ fn: convertEventPayload((callback) => commentEventHandler(callback, handler, cacheKey, resolveId), 'referenceId', 'post'),
41598
+ action: EnumPostActions.OnPostUpdated,
41599
+ }));
41600
+ };
41601
+ const getPostSubscription = (cacheKey) => {
41602
+ return [
41603
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
41604
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
41605
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
41606
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
41607
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
41608
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
41609
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
41610
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
41611
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41612
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41613
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41614
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41615
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
41616
+ ...generateCommentSubscriptions({ cacheKey }),
41617
+ ];
41618
+ };
41619
+
41220
41620
  class PostLiveCollectionController extends LiveCollectionController {
41221
41621
  constructor(query, callback) {
41222
41622
  const queryStreamId = hash(query);
@@ -41245,47 +41645,7 @@ class PostLiveCollectionController extends LiveCollectionController {
41245
41645
  this.queryStreamController.appendToQueryStream(response, direction, refresh);
41246
41646
  }
41247
41647
  startSubscription() {
41248
- return this.queryStreamController.subscribeRTE([
41249
- { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
41250
- { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
41251
- { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
41252
- { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
41253
- { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
41254
- { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
41255
- { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
41256
- { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
41257
- { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41258
- { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41259
- { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
41260
- { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
41261
- { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
41262
- {
41263
- fn: convertEventPayload((callback) => {
41264
- return onCommentCreated(async (comment) => {
41265
- var _a;
41266
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41267
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
41268
- return;
41269
- await getPost$1(comment.referenceId);
41270
- callback(comment);
41271
- });
41272
- }, 'referenceId', 'post'),
41273
- action: EnumPostActions.OnPostUpdated,
41274
- },
41275
- {
41276
- fn: convertEventPayload((callback) => {
41277
- return onCommentDeleted(async (comment) => {
41278
- var _a;
41279
- const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41280
- if (!currentCollection || currentCollection.data.includes(comment.referenceId))
41281
- return;
41282
- await getPost$1(comment.referenceId);
41283
- callback(comment);
41284
- });
41285
- }, 'referenceId', 'post'),
41286
- action: EnumPostActions.OnPostUpdated,
41287
- },
41288
- ]);
41648
+ return this.queryStreamController.subscribeRTE(getPostSubscription(this.cacheKey));
41289
41649
  }
41290
41650
  notifyChange({ origin, loading, error }) {
41291
41651
  var _a, _b;
@@ -41420,6 +41780,22 @@ class PinnedPostQueryStreamController extends QueryStreamController {
41420
41780
  });
41421
41781
  }
41422
41782
  }
41783
+ reactor(action) {
41784
+ return (post) => {
41785
+ var _a;
41786
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
41787
+ if (!collection)
41788
+ return;
41789
+ if (action === EnumPostActions.OnPostDeleted) {
41790
+ collection.data = collection.data.filter(referenceId => referenceId !== `global#${post.postId}`);
41791
+ }
41792
+ pushToCache(this.cacheKey, collection);
41793
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
41794
+ };
41795
+ }
41796
+ subscribeRTE(createSubscriber) {
41797
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
41798
+ }
41423
41799
  }
41424
41800
 
41425
41801
  class PinnedPostLiveCollectionController extends LiveCollectionController {
@@ -41451,7 +41827,10 @@ class PinnedPostLiveCollectionController extends LiveCollectionController {
41451
41827
  }
41452
41828
  // eslint-disable-next-line class-methods-use-this
41453
41829
  startSubscription() {
41454
- return [];
41830
+ return this.queryStreamController.subscribeRTE(generateCommentSubscriptions({
41831
+ cacheKey: this.cacheKey,
41832
+ resolveId: id => `${this.query.placement}#${id}`,
41833
+ }));
41455
41834
  }
41456
41835
  notifyChange({ origin, loading, error }) {
41457
41836
  var _a, _b;
@@ -41603,6 +41982,10 @@ class GlobalPinnedPostLiveCollectionController extends LiveCollectionController
41603
41982
  fn: onPostDeleted,
41604
41983
  action: EnumPostActions.OnPostDeleted,
41605
41984
  },
41985
+ ...generateCommentSubscriptions({
41986
+ cacheKey: this.cacheKey,
41987
+ resolveId: id => `global#${id}`,
41988
+ }),
41606
41989
  ]);
41607
41990
  }
41608
41991
  notifyChange({ origin, loading, error }) {
@@ -41882,6 +42265,238 @@ const semanticSearchPosts = (params, callback, config) => {
41882
42265
  };
41883
42266
  };
41884
42267
 
42268
+ class SearchPostPaginationController extends PaginationController {
42269
+ async getRequest(queryParams, token) {
42270
+ const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, matchingOnlyParentPost, hashtags, dataTypes, targetType = 'all' } = queryParams, params = __rest(queryParams, ["limit", "matchingOnlyParentPost", "hashtags", "dataTypes", "targetType"]);
42271
+ const baseOptions = {
42272
+ type: params.sortBy || queryParams.limit ? 'pagination' : undefined,
42273
+ };
42274
+ const options = token ? Object.assign(Object.assign({}, baseOptions), { token }) : Object.assign(Object.assign({}, baseOptions), { limit });
42275
+ const { data: queryResponse } = await this.http.get(`/api/v1/search/posts`, {
42276
+ params: Object.assign(Object.assign({}, params), { hashtags,
42277
+ dataTypes,
42278
+ targetType,
42279
+ /*
42280
+ * when creating post like image, file, video BE will create 2 posts
42281
+ * 1. parent post to store text with dataType=text
42282
+ * 2. child post to store dataTypes post data
42283
+ *
42284
+ * By default, BE queries only parent post
42285
+ */
42286
+ matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length), options }),
42287
+ });
42288
+ return queryResponse;
42289
+ }
42290
+ }
42291
+
42292
+ class SearchPostQueryStreamController extends QueryStreamController {
42293
+ constructor(query, cacheKey, notifyChange, preparePayload) {
42294
+ super(query, cacheKey);
42295
+ this.notifyChange = notifyChange;
42296
+ this.preparePayload = preparePayload;
42297
+ }
42298
+ async saveToMainDB(response) {
42299
+ const processedPayload = await this.preparePayload(response);
42300
+ const client = getActiveClient();
42301
+ const cachedAt = client.cache && Date.now();
42302
+ if (client.cache) {
42303
+ ingestInCache(processedPayload, { cachedAt });
42304
+ }
42305
+ }
42306
+ appendToQueryStream(response, direction, refresh = false) {
42307
+ var _a, _b;
42308
+ if (refresh) {
42309
+ pushToCache(this.cacheKey, {
42310
+ data: response.posts.map(getResolver('post')),
42311
+ });
42312
+ }
42313
+ else {
42314
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42315
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
42316
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
42317
+ }
42318
+ }
42319
+ reactor(action) {
42320
+ return (post) => {
42321
+ var _a, _b;
42322
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42323
+ if (!collection)
42324
+ return;
42325
+ if (post.parentPostId && post.isDeleted) {
42326
+ const parentPost = (_b = pullFromCache([
42327
+ 'post',
42328
+ 'get',
42329
+ post.parentPostId,
42330
+ ])) === null || _b === void 0 ? void 0 : _b.data;
42331
+ if (!parentPost)
42332
+ return;
42333
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
42334
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
42335
+ }
42336
+ if (action === EnumPostActions.OnPostDeclined) {
42337
+ collection.data = collection.data.filter(postId => postId !== post.postId);
42338
+ }
42339
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
42340
+ collection.data = [...new Set([post.postId, ...collection.data])];
42341
+ }
42342
+ pushToCache(this.cacheKey, collection);
42343
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
42344
+ };
42345
+ }
42346
+ subscribeRTE(createSubscriber) {
42347
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
42348
+ }
42349
+ }
42350
+
42351
+ class SearchPostLiveCollectionController extends LiveCollectionController {
42352
+ constructor(query, callback) {
42353
+ const queryStreamId = hash(query);
42354
+ const cacheKey = ['posts', 'collection', queryStreamId];
42355
+ const paginationController = new SearchPostPaginationController(query);
42356
+ super(paginationController, queryStreamId, cacheKey, callback);
42357
+ this.query = query;
42358
+ this.queryStreamController = new SearchPostQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
42359
+ this.callback = callback.bind(this);
42360
+ this.loadPage({ initial: true });
42361
+ }
42362
+ setup() {
42363
+ var _a;
42364
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42365
+ if (!collection) {
42366
+ pushToCache(this.cacheKey, {
42367
+ data: [],
42368
+ params: {},
42369
+ });
42370
+ }
42371
+ }
42372
+ async persistModel(queryPayload) {
42373
+ await this.queryStreamController.saveToMainDB(queryPayload);
42374
+ }
42375
+ persistQueryStream({ response, direction, refresh, }) {
42376
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
42377
+ }
42378
+ startSubscription() {
42379
+ return this.queryStreamController.subscribeRTE([
42380
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
42381
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
42382
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
42383
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
42384
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
42385
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
42386
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
42387
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
42388
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
42389
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
42390
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
42391
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
42392
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
42393
+ {
42394
+ fn: convertEventPayload((callback) => {
42395
+ return onCommentCreated(async (comment) => {
42396
+ var _a;
42397
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42398
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
42399
+ return;
42400
+ await getPost$1(comment.referenceId);
42401
+ callback(comment);
42402
+ });
42403
+ }, 'referenceId', 'post'),
42404
+ action: EnumPostActions.OnPostUpdated,
42405
+ },
42406
+ {
42407
+ fn: convertEventPayload((callback) => {
42408
+ return onCommentDeleted(async (comment) => {
42409
+ var _a;
42410
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42411
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
42412
+ return;
42413
+ await getPost$1(comment.referenceId);
42414
+ callback(comment);
42415
+ });
42416
+ }, 'referenceId', 'post'),
42417
+ action: EnumPostActions.OnPostUpdated,
42418
+ },
42419
+ ]);
42420
+ }
42421
+ notifyChange({ origin, loading, error }) {
42422
+ var _a, _b;
42423
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
42424
+ if (!collection)
42425
+ return;
42426
+ const data = this.applyFilter((_b = collection.data
42427
+ .map(id => pullFromCache(['post', 'get', id]))
42428
+ .filter(isNonNullable)
42429
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
42430
+ if (!this.shouldNotify(data) && origin === 'event')
42431
+ return;
42432
+ this.callback({
42433
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
42434
+ data,
42435
+ hasNextPage: !!this.paginationController.getNextToken(),
42436
+ loading,
42437
+ error,
42438
+ });
42439
+ }
42440
+ applyFilter(data) {
42441
+ var _a;
42442
+ let posts = data;
42443
+ if ((_a = this.query.dataTypes) === null || _a === void 0 ? void 0 : _a.length) {
42444
+ posts = filterByPostDataTypes(posts, this.query.dataTypes);
42445
+ }
42446
+ switch (this.query.sortBy) {
42447
+ case 'firstCreated':
42448
+ posts = posts.sort(sortByFirstCreated);
42449
+ break;
42450
+ case 'lastCreated':
42451
+ default:
42452
+ posts = posts.sort(sortByLastCreated);
42453
+ break;
42454
+ }
42455
+ return posts;
42456
+ }
42457
+ }
42458
+
42459
+ /* begin_public_function
42460
+ id: post.query
42461
+ */
42462
+ /**
42463
+ * ```js
42464
+ * import { PostRepository } from '@amityco/ts-sdk'
42465
+ *
42466
+ * let posts = []
42467
+ * const unsub = PostRepository.searchPostsByHashtag({
42468
+ * hashtags: ['amity'],
42469
+ * limit: 10,
42470
+ * }, response => merge(posts, response.data))
42471
+ * ```
42472
+ *
42473
+ * Observe all mutations on a list of {@link Amity.Post} for a given target object
42474
+ *
42475
+ * @param params.hashtags the hashtags to search for
42476
+ * @param callback the function to call when new data are available
42477
+ * @param config
42478
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
42479
+ *
42480
+ * @category Posts Live Collection
42481
+ */
42482
+ const searchPostsByHashtag = (params, callback, config) => {
42483
+ const { log, cache } = getActiveClient();
42484
+ if (!cache) {
42485
+ console.log(ENABLE_CACHE_MESSAGE);
42486
+ }
42487
+ const timestamp = Date.now();
42488
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > listen`);
42489
+ const postsLiveCollection = new SearchPostLiveCollectionController(params, callback);
42490
+ const disposers = postsLiveCollection.startSubscription();
42491
+ const cacheKey = postsLiveCollection.getCacheKey();
42492
+ disposers.push(() => dropFromCache(cacheKey));
42493
+ return () => {
42494
+ log(`searchPostsByHashtag(tmpid: ${timestamp}) > dispose`);
42495
+ disposers.forEach(fn => fn());
42496
+ };
42497
+ };
42498
+ /* end_public_function */
42499
+
41885
42500
  var index$8 = /*#__PURE__*/Object.freeze({
41886
42501
  __proto__: null,
41887
42502
  getPostByIds: getPostByIds,
@@ -41909,7 +42524,8 @@ var index$8 = /*#__PURE__*/Object.freeze({
41909
42524
  getPosts: getPosts,
41910
42525
  getPinnedPosts: getPinnedPosts,
41911
42526
  getGlobalPinnedPosts: getGlobalPinnedPosts,
41912
- semanticSearchPosts: semanticSearchPosts
42527
+ semanticSearchPosts: semanticSearchPosts,
42528
+ searchPostsByHashtag: searchPostsByHashtag
41913
42529
  });
41914
42530
 
41915
42531
  /* begin_public_function
@@ -42514,8 +43130,8 @@ var index$7 = /*#__PURE__*/Object.freeze({
42514
43130
  * const created = await createPoll({
42515
43131
  * question: 'question',
42516
43132
  * answers: [
42517
- * { dataType: 'text', data: 'answer1' },
42518
- * { dataType: 'text', data: 'answer2' },
43133
+ * { dataType: 'text', data: 'answer1', fileId: 'fileId1' },
43134
+ * { dataType: 'text', data: 'answer2', fileId: 'fileId2' },
42519
43135
  * ],
42520
43136
  * closedIn: 1649136484
42521
43137
  * }))
@@ -45103,4 +45719,4 @@ var index = /*#__PURE__*/Object.freeze({
45103
45719
  getReactions: getReactions
45104
45720
  });
45105
45721
 
45106
- export { API_REGIONS, index$3 as AdRepository, index$b as CategoryRepository, index$f as ChannelRepository, index$o as Client, index$a as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$c as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index$9 as FeedRepository, FileAccessTypeEnum, index$l as FileRepository, FileType, index$1 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index as LiveReactionRepository, index$5 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$j as MessageRepository, index$6 as PollRepository, PostContentType, index$8 as PostRepository, index$k as ReactionRepository, index$4 as StoryRepository, index$7 as StreamRepository, index$i as SubChannelRepository, SubscriptionLevels, index$m as UserRepository, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$2 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };
45722
+ export { API_REGIONS, index$3 as AdRepository, index$b as CategoryRepository, index$f as ChannelRepository, index$o as Client, index$a as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$c as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, FeedDataTypeEnum, index$9 as FeedRepository, FeedSortByEnum, FeedSourceEnum, FileAccessTypeEnum, index$l as FileRepository, FileType, index$1 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index as LiveReactionRepository, index$5 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$j as MessageRepository, index$6 as PollRepository, PostContentType, index$8 as PostRepository, index$k as ReactionRepository, index$4 as StoryRepository, index$7 as StreamRepository, index$i as SubChannelRepository, SubscriptionLevels, index$m as UserRepository, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$2 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };