@amityco/ts-sdk-react-native 6.14.2-5d7d534.0 → 6.15.1-fee6c8f.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 (280) hide show
  1. package/dist/@types/core/events.d.ts +6 -1
  2. package/dist/@types/core/events.d.ts.map +1 -1
  3. package/dist/@types/core/live.d.ts +5 -3
  4. package/dist/@types/core/live.d.ts.map +1 -1
  5. package/dist/@types/core/model.d.ts +4 -0
  6. package/dist/@types/core/model.d.ts.map +1 -1
  7. package/dist/@types/core/payload.d.ts +14 -0
  8. package/dist/@types/core/payload.d.ts.map +1 -1
  9. package/dist/@types/core/permissions.d.ts +2 -1
  10. package/dist/@types/core/permissions.d.ts.map +1 -1
  11. package/dist/@types/domains/analytics.d.ts +4 -1
  12. package/dist/@types/domains/analytics.d.ts.map +1 -1
  13. package/dist/@types/domains/category.d.ts +2 -1
  14. package/dist/@types/domains/category.d.ts.map +1 -1
  15. package/dist/@types/domains/channel.d.ts +3 -1
  16. package/dist/@types/domains/channel.d.ts.map +1 -1
  17. package/dist/@types/domains/comment.d.ts +1 -1
  18. package/dist/@types/domains/comment.d.ts.map +1 -1
  19. package/dist/@types/domains/community.d.ts +8 -3
  20. package/dist/@types/domains/community.d.ts.map +1 -1
  21. package/dist/@types/domains/feed.d.ts +15 -0
  22. package/dist/@types/domains/feed.d.ts.map +1 -1
  23. package/dist/@types/domains/messagePreview.d.ts +1 -1
  24. package/dist/@types/domains/messagePreview.d.ts.map +1 -1
  25. package/dist/@types/domains/partials.d.ts +9 -0
  26. package/dist/@types/domains/partials.d.ts.map +1 -1
  27. package/dist/@types/domains/post.d.ts +3 -2
  28. package/dist/@types/domains/post.d.ts.map +1 -1
  29. package/dist/@types/domains/story.d.ts +126 -0
  30. package/dist/@types/domains/story.d.ts.map +1 -0
  31. package/dist/@types/domains/stream.d.ts +2 -1
  32. package/dist/@types/domains/stream.d.ts.map +1 -1
  33. package/dist/@types/domains/subChannel.d.ts +1 -1
  34. package/dist/@types/domains/subChannel.d.ts.map +1 -1
  35. package/dist/@types/index.d.ts +1 -0
  36. package/dist/@types/index.d.ts.map +1 -1
  37. package/dist/analytic/constant.d.ts +1 -0
  38. package/dist/analytic/constant.d.ts.map +1 -1
  39. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts +1 -0
  40. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts.map +1 -1
  41. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts +5 -0
  42. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts.map +1 -1
  43. package/dist/analytic/service/analytic/AnalyticsEventSyncer.d.ts +2 -0
  44. package/dist/analytic/service/analytic/AnalyticsEventSyncer.d.ts.map +1 -1
  45. package/dist/categoryRepository/internalApi/queryCategories.d.ts +2 -2
  46. package/dist/categoryRepository/internalApi/queryCategories.d.ts.map +1 -1
  47. package/dist/categoryRepository/observers/getCategories.d.ts.map +1 -1
  48. package/dist/channelRepository/api/createChannel.d.ts +1 -1
  49. package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
  50. package/dist/channelRepository/channelMembership/observers/getMembers.d.ts.map +1 -1
  51. package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberLiveCollectionController.d.ts +14 -0
  52. package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberLiveCollectionController.d.ts.map +1 -0
  53. package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberPaginationController.d.ts +13 -0
  54. package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberPaginationController.d.ts.map +1 -0
  55. package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberQueryStreamController.d.ts +14 -0
  56. package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberQueryStreamController.d.ts.map +1 -0
  57. package/dist/channelRepository/observers/getChannels.d.ts.map +1 -1
  58. package/dist/channelRepository/observers/liveCollection/ChannelLiveCollectionController.d.ts +19 -0
  59. package/dist/channelRepository/observers/liveCollection/ChannelLiveCollectionController.d.ts.map +1 -0
  60. package/dist/channelRepository/observers/liveCollection/ChannelPaginationController.d.ts +14 -0
  61. package/dist/channelRepository/observers/liveCollection/ChannelPaginationController.d.ts.map +1 -0
  62. package/dist/channelRepository/observers/liveCollection/ChannelPagnationNoPageController.d.ts +5 -0
  63. package/dist/channelRepository/observers/liveCollection/ChannelPagnationNoPageController.d.ts.map +1 -0
  64. package/dist/channelRepository/observers/liveCollection/ChannelQueryStreamController.d.ts +17 -0
  65. package/dist/channelRepository/observers/liveCollection/ChannelQueryStreamController.d.ts.map +1 -0
  66. package/dist/channelRepository/utils/prepareChannelPayload.d.ts +1 -0
  67. package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
  68. package/dist/communityRepository/api/createCommunity.d.ts +1 -1
  69. package/dist/communityRepository/api/createCommunity.d.ts.map +1 -1
  70. package/dist/communityRepository/api/queryCommunities.d.ts +1 -1
  71. package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
  72. package/dist/communityRepository/api/updateCommunity.d.ts +1 -1
  73. package/dist/communityRepository/api/updateCommunity.d.ts.map +1 -1
  74. package/dist/communityRepository/communityMembership/api/queryCommunityMembers.d.ts +2 -7
  75. package/dist/communityRepository/communityMembership/api/queryCommunityMembers.d.ts.map +1 -1
  76. package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
  77. package/dist/communityRepository/observers/getCommunities.d.ts.map +1 -1
  78. package/dist/communityRepository/utils/payload.d.ts +2 -1
  79. package/dist/communityRepository/utils/payload.d.ts.map +1 -1
  80. package/dist/core/events.d.ts +3 -3
  81. package/dist/core/events.d.ts.map +1 -1
  82. package/dist/core/liveCollection/LiveCollectionController.d.ts +3 -2
  83. package/dist/core/liveCollection/LiveCollectionController.d.ts.map +1 -1
  84. package/dist/core/liveCollection/PaginationNoPageController.d.ts +9 -0
  85. package/dist/core/liveCollection/PaginationNoPageController.d.ts.map +1 -0
  86. package/dist/core/model/idResolvers.d.ts.map +1 -1
  87. package/dist/core/model/index.d.ts.map +1 -1
  88. package/dist/core/query/sorting.d.ts +14 -0
  89. package/dist/core/query/sorting.d.ts.map +1 -1
  90. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +36 -2
  91. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
  92. package/dist/feedRepository/api/queryGlobalFeed.d.ts +24 -6
  93. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  94. package/dist/index.cjs.js +7936 -7216
  95. package/dist/index.d.ts +1 -1
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.esm.js +5842 -5121
  98. package/dist/index.umd.js +4 -4
  99. package/dist/marker/api/getChannelMarkers.d.ts +2 -5
  100. package/dist/marker/api/getChannelMarkers.d.ts.map +1 -1
  101. package/dist/marker/api/getMessageMarkers.d.ts +3 -4
  102. package/dist/marker/api/getMessageMarkers.d.ts.map +1 -1
  103. package/dist/marker/events/onMessageMarked.d.ts.map +1 -1
  104. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -47
  105. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
  106. package/dist/messageRepository/observers/liveCollection/MessageLiveCollectionController.d.ts.map +1 -1
  107. package/dist/messageRepository/observers/liveCollection/MessageQueryStreamController.d.ts +1 -1
  108. package/dist/messageRepository/observers/liveCollection/MessageQueryStreamController.d.ts.map +1 -1
  109. package/dist/postRepository/api/queryPosts.d.ts +1 -1
  110. package/dist/postRepository/api/queryPosts.d.ts.map +1 -1
  111. package/dist/postRepository/observers/getPosts.d.ts.map +1 -1
  112. package/dist/role/api/queryRoles.d.ts +9 -1
  113. package/dist/role/api/queryRoles.d.ts.map +1 -1
  114. package/dist/storyRepository/api/createImageStory.d.ts +17 -0
  115. package/dist/storyRepository/api/createImageStory.d.ts.map +1 -0
  116. package/dist/storyRepository/api/createVideoStory.d.ts +15 -0
  117. package/dist/storyRepository/api/createVideoStory.d.ts.map +1 -0
  118. package/dist/storyRepository/api/hardDeleteStory.d.ts +2 -0
  119. package/dist/storyRepository/api/hardDeleteStory.d.ts.map +1 -0
  120. package/dist/storyRepository/api/index.d.ts +5 -0
  121. package/dist/storyRepository/api/index.d.ts.map +1 -0
  122. package/dist/storyRepository/api/softDeleteStory.d.ts +2 -0
  123. package/dist/storyRepository/api/softDeleteStory.d.ts.map +1 -0
  124. package/dist/storyRepository/events/onStoryCreated.d.ts +2 -0
  125. package/dist/storyRepository/events/onStoryCreated.d.ts.map +1 -0
  126. package/dist/storyRepository/events/onStoryDeleted.d.ts +2 -0
  127. package/dist/storyRepository/events/onStoryDeleted.d.ts.map +1 -0
  128. package/dist/storyRepository/events/onStoryError.d.ts +2 -0
  129. package/dist/storyRepository/events/onStoryError.d.ts.map +1 -0
  130. package/dist/storyRepository/index.d.ts +3 -0
  131. package/dist/storyRepository/index.d.ts.map +1 -0
  132. package/dist/storyRepository/internalApi/createStory.d.ts +2 -0
  133. package/dist/storyRepository/internalApi/createStory.d.ts.map +1 -0
  134. package/dist/storyRepository/internalApi/deleteStory.d.ts +2 -0
  135. package/dist/storyRepository/internalApi/deleteStory.d.ts.map +1 -0
  136. package/dist/storyRepository/internalApi/getActiveStoriesByTarget.d.ts +2 -0
  137. package/dist/storyRepository/internalApi/getActiveStoriesByTarget.d.ts.map +1 -0
  138. package/dist/storyRepository/observers/getActiveStoriesByTarget.d.ts +2 -0
  139. package/dist/storyRepository/observers/getActiveStoriesByTarget.d.ts.map +1 -0
  140. package/dist/storyRepository/observers/index.d.ts +2 -0
  141. package/dist/storyRepository/observers/index.d.ts.map +1 -0
  142. package/dist/storyRepository/utils/convertRawToStory.d.ts +3 -0
  143. package/dist/storyRepository/utils/convertRawToStory.d.ts.map +1 -0
  144. package/dist/storyRepository/utils/convertStoryPayloadToRaw.d.ts +2 -0
  145. package/dist/storyRepository/utils/convertStoryPayloadToRaw.d.ts.map +1 -0
  146. package/dist/storyRepository/utils/createOptimisticEvent.d.ts +6 -0
  147. package/dist/storyRepository/utils/createOptimisticEvent.d.ts.map +1 -0
  148. package/dist/storyRepository/utils/getStoryCache.d.ts +5 -0
  149. package/dist/storyRepository/utils/getStoryCache.d.ts.map +1 -0
  150. package/dist/streamRepository/api/index.d.ts.map +1 -1
  151. package/dist/streamRepository/api/queryStreams.d.ts +2 -0
  152. package/dist/streamRepository/api/queryStreams.d.ts.map +1 -1
  153. package/dist/streamRepository/internalApi/queryStreams.d.ts +16 -0
  154. package/dist/streamRepository/internalApi/queryStreams.d.ts.map +1 -0
  155. package/dist/streamRepository/observers/getStreams.d.ts +1 -1
  156. package/dist/streamRepository/observers/getStreams.d.ts.map +1 -1
  157. package/dist/subChannelRepository/observers/getSubChannels.d.ts.map +1 -1
  158. package/dist/subChannelRepository/observers/liveCollection/SubChannelLiveCollectionController.d.ts +14 -0
  159. package/dist/subChannelRepository/observers/liveCollection/SubChannelLiveCollectionController.d.ts.map +1 -0
  160. package/dist/subChannelRepository/observers/liveCollection/SubChannelPaginationController.d.ts +9 -0
  161. package/dist/subChannelRepository/observers/liveCollection/SubChannelPaginationController.d.ts.map +1 -0
  162. package/dist/subChannelRepository/observers/liveCollection/SubChannelQueryStreamController.d.ts +14 -0
  163. package/dist/subChannelRepository/observers/liveCollection/SubChannelQueryStreamController.d.ts.map +1 -0
  164. package/dist/subChannelRepository/utils/prepareSubChannelPayload.d.ts +1 -0
  165. package/dist/subChannelRepository/utils/prepareSubChannelPayload.d.ts.map +1 -1
  166. package/dist/utils/constants.d.ts +5 -0
  167. package/dist/utils/constants.d.ts.map +1 -1
  168. package/dist/utils/linkedObject/commentLinkedObject.d.ts.map +1 -1
  169. package/dist/utils/linkedObject/index.d.ts +1 -0
  170. package/dist/utils/linkedObject/index.d.ts.map +1 -1
  171. package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  172. package/dist/utils/linkedObject/storyLinkedObject.d.ts +2 -0
  173. package/dist/utils/linkedObject/storyLinkedObject.d.ts.map +1 -0
  174. package/dist/utils/tests/dummy/channel.d.ts +9 -0
  175. package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
  176. package/package.json +1 -1
  177. package/src/@types/core/events.ts +8 -1
  178. package/src/@types/core/live.ts +7 -4
  179. package/src/@types/core/model.ts +6 -0
  180. package/src/@types/core/payload.ts +19 -0
  181. package/src/@types/core/permissions.ts +1 -0
  182. package/src/@types/domains/analytics.ts +4 -1
  183. package/src/@types/domains/category.ts +2 -1
  184. package/src/@types/domains/channel.ts +4 -1
  185. package/src/@types/domains/comment.ts +1 -1
  186. package/src/@types/domains/community.ts +11 -5
  187. package/src/@types/domains/feed.ts +16 -0
  188. package/src/@types/domains/messagePreview.ts +1 -1
  189. package/src/@types/domains/partials.ts +12 -0
  190. package/src/@types/domains/post.ts +3 -2
  191. package/src/@types/domains/story.ts +150 -0
  192. package/src/@types/domains/stream.ts +2 -1
  193. package/src/@types/domains/subChannel.ts +1 -1
  194. package/src/@types/index.ts +1 -3
  195. package/src/analytic/constant.ts +2 -1
  196. package/src/analytic/service/analytic/AnalyticsEngine.ts +9 -0
  197. package/src/analytic/service/analytic/AnalyticsEventCapturer.ts +63 -10
  198. package/src/analytic/service/analytic/AnalyticsEventSyncer.ts +34 -4
  199. package/src/categoryRepository/internalApi/queryCategories.ts +25 -18
  200. package/src/categoryRepository/observers/getCategories.ts +4 -3
  201. package/src/channelRepository/api/createChannel.ts +7 -3
  202. package/src/channelRepository/channelMembership/observers/getMembers.ts +9 -123
  203. package/src/channelRepository/channelMembership/observers/liveCollection/ChannelMemberLiveCollectionController.ts +154 -0
  204. package/src/channelRepository/channelMembership/observers/liveCollection/ChannelMemberPaginationController.ts +28 -0
  205. package/src/channelRepository/channelMembership/observers/liveCollection/ChannelMemberQueryStreamController.ts +109 -0
  206. package/src/channelRepository/channelMembership/observers/tests/getMembers.test.ts +3 -1
  207. package/src/channelRepository/observers/getChannels.ts +10 -316
  208. package/src/channelRepository/observers/liveCollection/ChannelLiveCollectionController.ts +413 -0
  209. package/src/channelRepository/observers/liveCollection/ChannelPaginationController.ts +36 -0
  210. package/src/channelRepository/observers/liveCollection/ChannelPagnationNoPageController.ts +20 -0
  211. package/src/channelRepository/observers/liveCollection/ChannelQueryStreamController.ts +89 -0
  212. package/src/channelRepository/observers/tests/getChannel.test.ts +4 -1
  213. package/src/channelRepository/observers/tests/getChannels.test.ts +153 -40
  214. package/src/channelRepository/utils/prepareChannelPayload.ts +1 -1
  215. package/src/client/utils/markerSyncEngine.ts +1 -1
  216. package/src/communityRepository/api/createCommunity.ts +7 -6
  217. package/src/communityRepository/api/queryCommunities.ts +12 -14
  218. package/src/communityRepository/api/test/queryCommunity.test.ts +18 -12
  219. package/src/communityRepository/api/updateCommunity.ts +4 -3
  220. package/src/communityRepository/communityMembership/api/queryCommunityMembers.ts +26 -25
  221. package/src/communityRepository/communityMembership/observers/getMembers.ts +4 -3
  222. package/src/communityRepository/observers/getCommunities.ts +8 -5
  223. package/src/communityRepository/utils/payload.ts +7 -2
  224. package/src/core/liveCollection/LiveCollectionController.ts +19 -5
  225. package/src/core/liveCollection/PaginationNoPageController.ts +26 -0
  226. package/src/core/model/idResolvers.ts +2 -0
  227. package/src/core/model/index.ts +2 -0
  228. package/src/core/query/sorting.ts +18 -0
  229. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +50 -8
  230. package/src/feedRepository/api/queryGlobalFeed.ts +56 -12
  231. package/src/index.ts +2 -1
  232. package/src/marker/api/getChannelMarkers.ts +6 -16
  233. package/src/marker/api/getMessageMarkers.ts +12 -20
  234. package/src/marker/api/tests/getChannelMarkers.test.ts +1 -11
  235. package/src/marker/api/tests/getMessageMarkers.test.ts +1 -11
  236. package/src/marker/events/onMessageMarked.ts +4 -5
  237. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +9 -2
  238. package/src/messageRepository/observers/liveCollection/MessageLiveCollectionController.ts +1 -0
  239. package/src/messageRepository/observers/liveCollection/MessageQueryStreamController.ts +2 -1
  240. package/src/postRepository/api/queryPosts.ts +12 -10
  241. package/src/postRepository/observers/getPosts.ts +7 -4
  242. package/src/role/api/queryRoles.ts +25 -6
  243. package/src/storyRepository/api/createImageStory.ts +94 -0
  244. package/src/storyRepository/api/createVideoStory.ts +92 -0
  245. package/src/storyRepository/api/hardDeleteStory.ts +6 -0
  246. package/src/storyRepository/api/index.ts +4 -0
  247. package/src/storyRepository/api/softDeleteStory.ts +6 -0
  248. package/src/storyRepository/events/onStoryCreated.ts +14 -0
  249. package/src/storyRepository/events/onStoryDeleted.ts +14 -0
  250. package/src/storyRepository/events/onStoryError.ts +14 -0
  251. package/src/storyRepository/index.ts +2 -0
  252. package/src/storyRepository/internalApi/createStory.ts +26 -0
  253. package/src/storyRepository/internalApi/deleteStory.ts +35 -0
  254. package/src/storyRepository/internalApi/getActiveStoriesByTarget.ts +36 -0
  255. package/src/storyRepository/observers/getActiveStoriesByTarget.ts +163 -0
  256. package/src/storyRepository/observers/index.ts +1 -0
  257. package/src/storyRepository/utils/convertRawToStory.ts +16 -0
  258. package/src/storyRepository/utils/convertStoryPayloadToRaw.ts +43 -0
  259. package/src/storyRepository/utils/createOptimisticEvent.ts +63 -0
  260. package/src/storyRepository/utils/getStoryCache.ts +6 -0
  261. package/src/streamRepository/api/index.ts +1 -1
  262. package/src/streamRepository/api/queryStreams.ts +2 -0
  263. package/src/streamRepository/internalApi/queryStreams.ts +57 -0
  264. package/src/streamRepository/observers/getStreams.ts +6 -5
  265. package/src/subChannelRepository/observers/getSubChannels.ts +8 -228
  266. package/src/subChannelRepository/observers/liveCollection/SubChannelLiveCollectionController.ts +274 -0
  267. package/src/subChannelRepository/observers/liveCollection/SubChannelPaginationController.ts +35 -0
  268. package/src/subChannelRepository/observers/liveCollection/SubChannelQueryStreamController.ts +94 -0
  269. package/src/subChannelRepository/observers/tests/getSubChannels.test.ts +73 -45
  270. package/src/subChannelRepository/observers/tests/getSubChannelsWithMessagePreview.test.ts +58 -21
  271. package/src/subChannelRepository/utils/prepareSubChannelPayload.ts +1 -1
  272. package/src/utils/constants.ts +5 -0
  273. package/src/utils/linkedObject/commentLinkedObject.ts +3 -1
  274. package/src/utils/linkedObject/index.ts +2 -0
  275. package/src/utils/linkedObject/postLinkedObject.ts +4 -2
  276. package/src/utils/linkedObject/storyLinkedObject.ts +83 -0
  277. package/src/utils/tests/dummy/channel.ts +14 -4
  278. package/dist/categoryRepository/api/queryCategories.d.ts +0 -32
  279. package/dist/categoryRepository/api/queryCategories.d.ts.map +0 -1
  280. package/src/categoryRepository/api/queryCategories.ts +0 -116
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/channel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk-react-native",
3
- "version": "6.14.2-5d7d534.0",
3
+ "version": "6.15.1-fee6c8f.0",
4
4
  "license": "CC-BY-ND-4.0",
5
5
  "author": "amity.co <developers@amity.co> (https://amity.co)",
6
6
  "description": "Amity Social Cloud Typescript SDK",
@@ -75,6 +75,12 @@ declare global {
75
75
  'message.reactionRemoved': Amity.MessagePayload;
76
76
  };
77
77
 
78
+ type MqttStoryEvents = {
79
+ 'story.created': Amity.StoryPayload;
80
+ 'story.deleted': Amity.StoryPayload;
81
+ 'story.error': Amity.StoryPayload;
82
+ };
83
+
78
84
  type MqttCommunityUserEvents = {
79
85
  'community.joined': Amity.CommunityMembershipPayload;
80
86
  'community.left': Amity.CommunityMembershipPayload;
@@ -148,7 +154,8 @@ declare global {
148
154
  MqttCommentEvents &
149
155
  MqttUserEvents &
150
156
  MqttFollowEvents &
151
- MqttMarkerEvents;
157
+ MqttMarkerEvents &
158
+ MqttStoryEvents;
152
159
 
153
160
  type LocalEvents = {
154
161
  'local.channel.updated': MakeRequired<Amity.ProcessedChannelPayload, 'channels'>;
@@ -18,8 +18,8 @@ declare global {
18
18
  };
19
19
 
20
20
  type LiveCollection<T extends any> = LiveObject<T[]> & {
21
- onNextPage: () => void;
22
- hasNextPage: boolean;
21
+ onNextPage?: () => void;
22
+ hasNextPage?: boolean;
23
23
  onPrevPage?: () => void;
24
24
  hasPrevPage?: boolean;
25
25
  };
@@ -37,7 +37,10 @@ declare global {
37
37
  type LiveCollectionCache<T extends any, U extends any> = Pick<
38
38
  LiveCollection<T>,
39
39
  'data' | 'error' | 'loading'
40
- > & { params: U };
40
+ > & { params: U } & {
41
+ // some live collection cache did not have this property
42
+ query?: Omit<Amity.QueryMessages, 'page'>;
43
+ };
41
44
 
42
45
  const enum LiveDataOrigin {
43
46
  LOCAL = 'local',
@@ -58,7 +61,7 @@ declare global {
58
61
  }
59
62
 
60
63
  type LiveCollectionPersistQueryStreamParams<T extends keyof Amity.Payloads> = {
61
- response: Amity.Payloads[T] & Amity.Pagination;
64
+ response: Amity.Payloads[T] & Partial<Amity.Pagination>;
62
65
  direction: LiveCollectionPageDirection;
63
66
  refresh?: boolean;
64
67
  };
@@ -11,6 +11,9 @@ declare global {
11
11
  file: Amity.File;
12
12
  role: Amity.Role;
13
13
 
14
+ story: Amity.InternalStory;
15
+ storyTarget: Amity.StoryTarget;
16
+
14
17
  channel: Amity.InternalChannel;
15
18
  subChannel: Amity.SubChannel;
16
19
  channelUsers: Amity.Membership<'channel'>;
@@ -56,6 +59,9 @@ declare global {
56
59
  file: Pick<Amity.File, 'fileId'>;
57
60
  role: Pick<Amity.Role, 'roleId'>;
58
61
 
62
+ story: Pick<Amity.InternalStory, 'referenceId'>;
63
+ storyTarget: Pick<Amity.StoryTarget, 'targetId'>;
64
+
59
65
  channel: Pick<Amity.Channel, 'channelId'>;
60
66
  subChannel: Pick<Amity.SubChannel, 'subChannelId'>;
61
67
  channelUsers: Pick<Amity.Membership<'channel'>, 'channelId' | 'userId'>;
@@ -287,6 +287,25 @@ declare global {
287
287
  files: Amity.File[];
288
288
  };
289
289
 
290
+ type StoryBasePayload = {
291
+ comments: Amity.InternalComment[];
292
+ files: Amity.File[];
293
+ users: Amity.InternalUser[];
294
+ communities: Amity.RawCommunity[];
295
+ communityUsers: Amity.Membership<'community'>[];
296
+ categories: Amity.InternalCategory[];
297
+ };
298
+
299
+ // Original Payload form BE
300
+ type StoryPayload = {
301
+ stories: Amity.RawStory[];
302
+ } & Amity.StoryBasePayload;
303
+
304
+ // Payload with optimistic status
305
+ type StoryWithOptimisticPayload = {
306
+ stories: Amity.InternalStory[];
307
+ } & Amity.StoryBasePayload;
308
+
290
309
  /**
291
310
  * Items that extend from `Amity.PostPayload`
292
311
  * - communities: `Amity.RawCommunity` -> `Amity.Community` (Added Marker Service related props)
@@ -38,6 +38,7 @@ declare global {
38
38
  CreateCommunityCategoryPermission = 'CREATE_COMMUNITY_CATEGORY',
39
39
  EditCommunityCategoryPermission = 'EDIT_COMMUNITY_CATEGORY',
40
40
  DeleteCommunityCategoryPermission = 'DELETE_COMMUNITY_CATEGORY',
41
+ ManageStoryPermission = 'MANAGE_COMMUNITY_STORY',
41
42
  }
42
43
 
43
44
  const enum PermissionLegacy {
@@ -2,8 +2,11 @@ export {};
2
2
 
3
3
  declare global {
4
4
  namespace Amity {
5
- type AnalyticEventContentType = 'post'; // For this version we focus on post only
6
5
  type AnalyticEventActivityType = 'view';
6
+ const enum AnalyticEventContentType {
7
+ Post = 'post',
8
+ Story = 'story',
9
+ }
7
10
 
8
11
  type AnalyticEventModel = {
9
12
  contentId: Amity.InternalPost['postId'];
@@ -17,7 +17,8 @@ declare global {
17
17
  type QueryCategories = {
18
18
  includeDeleted?: boolean;
19
19
  sortBy?: 'name' | 'firstCreated' | 'lastCreated';
20
- page?: Amity.Page;
20
+ page?: string;
21
+ limit?: number;
21
22
  };
22
23
 
23
24
  type CategoryLiveCollection = Amity.LiveCollectionParams<Omit<QueryCategories, 'page'>>;
@@ -52,6 +52,8 @@ declare global {
52
52
 
53
53
  messagePreviewId?: string;
54
54
 
55
+ isPublic?: boolean;
56
+
55
57
  lastActivity: Amity.timestamp;
56
58
  } & Amity.Metadata &
57
59
  Amity.Taggable &
@@ -85,6 +87,7 @@ declare global {
85
87
  };
86
88
 
87
89
  type QueryChannels = {
90
+ channelIds?: Amity.Channel['channelId'][];
88
91
  displayName?: string;
89
92
  membership?: 'all' | 'member' | 'notMember';
90
93
  sortBy?: 'displayName' | 'firstCreated' | 'lastCreated' | 'lastActivity';
@@ -93,7 +96,7 @@ declare global {
93
96
  tags?: Amity.Taggable['tags'];
94
97
  excludeTags?: Amity.Taggable['tags'];
95
98
  limit?: number;
96
- page?: string;
99
+ page?: Amity.Page;
97
100
  };
98
101
 
99
102
  type ChannelLiveCollection = Amity.LiveCollectionParams<Omit<QueryChannels, 'page'>>;
@@ -3,7 +3,7 @@ export {};
3
3
  declare global {
4
4
  namespace Amity {
5
5
  type CommentContentType = 'text';
6
- type CommentReferenceType = 'content' | 'post';
6
+ type CommentReferenceType = 'content' | 'post' | 'story';
7
7
 
8
8
  type CommentActionType =
9
9
  | 'onFetch'
@@ -67,9 +67,13 @@ declare global {
67
67
  Amity.SoftDelete &
68
68
  Amity.Subscribable;
69
69
 
70
- type Community = Omit<Amity.RawCommunity, 'onlyAdminCanPost' | 'needApprovalOnPostCreation'> & {
71
- postSetting?: ValueOf<typeof CommunityPostSettings>;
72
- };
70
+ type Community = Omit<Amity.RawCommunity, 'onlyAdminCanPost' | 'needApprovalOnPostCreation'> &
71
+ Amity.CommunityStorySettings & {
72
+ postSetting?: ValueOf<typeof CommunityPostSettings>;
73
+ storySetting?: {
74
+ enableComment: boolean;
75
+ };
76
+ };
73
77
 
74
78
  type QueryCommunities = {
75
79
  displayName?: string;
@@ -78,7 +82,8 @@ declare global {
78
82
  includeDeleted?: boolean;
79
83
  tags?: Amity.Taggable['tags'];
80
84
  sortBy?: 'displayName' | 'firstCreated' | 'lastCreated';
81
- page?: Amity.Page;
85
+ page?: string;
86
+ limit?: number;
82
87
  };
83
88
 
84
89
  type CommunityLiveCollection = Amity.LiveCollectionParams<Omit<QueryCommunities, 'page'>>;
@@ -94,7 +99,8 @@ declare global {
94
99
  roles?: string[];
95
100
  sortBy?: 'firstCreated' | 'lastCreated';
96
101
  search?: Amity.InternalUser['displayName'] | Amity.InternalUser['userId'];
97
- page?: Amity.Page;
102
+ page?: string;
103
+ limit?: number;
98
104
  };
99
105
 
100
106
  type CommunityMemberLiveCollection = Amity.LiveCollectionParams<
@@ -9,5 +9,21 @@ declare global {
9
9
  targetId: string;
10
10
  postCount: number;
11
11
  } & Amity.Timestamps;
12
+
13
+ type QueryGlobalFeed = {
14
+ dataType?: 'video' | 'image' | 'file' | 'liveStream';
15
+ /**
16
+ * @deprecated To get custom ranking feed use FeedRepository.getCustomRankingGlobalFeed instead
17
+ */
18
+ useCustomRanking?: boolean;
19
+ /**
20
+ * @deprecated please use queryToken to query next pages or previous pages
21
+ *
22
+ * The first page result includes previous token and next token in paging field
23
+ * use this token as the queryToken to query next pages or previous pages
24
+ */
25
+ page?: Amity.Page;
26
+ queryToken?: string;
27
+ };
12
28
  }
13
29
  }
@@ -15,7 +15,7 @@ declare global {
15
15
  creatorId: Amity.InternalUser['userId'];
16
16
  } & Amity.Timestamps;
17
17
 
18
- type MessagePreview = Omit<InternalMessagePreview, 'creatorId'> & { user?: Amity.InternalUser };
18
+ type MessagePreview = Omit<InternalMessagePreview, 'creatorId'> & { user?: Amity.User };
19
19
 
20
20
  const enum MessagePreviewSetting {
21
21
  NO_MESSAGE_PREVIEW = 'no-message-preview',
@@ -4,6 +4,14 @@ declare global {
4
4
  namespace Amity {
5
5
  type timestamp = string;
6
6
 
7
+ const enum SyncState {
8
+ Synced = 'synced',
9
+ Syncing = 'syncing',
10
+ Error = 'error',
11
+ }
12
+
13
+ type ImageDisplayMode = 'fit' | 'fill';
14
+
7
15
  type CreatedAt = {
8
16
  createdAt: timestamp;
9
17
  };
@@ -16,6 +24,10 @@ declare global {
16
24
  deletedAt?: timestamp;
17
25
  };
18
26
 
27
+ type ExpiresAt = {
28
+ expiresAt?: timestamp;
29
+ };
30
+
19
31
  type SyncAt = {
20
32
  lastSyncAt: timestamp;
21
33
  };
@@ -53,7 +53,7 @@ declare global {
53
53
 
54
54
  type PostLinkObject = {
55
55
  latestComments: (Amity.Comment | null)[];
56
- creator: Amity.User | null;
56
+ creator: Amity.User | undefined;
57
57
  analytics: {
58
58
  markAsViewed: () => void;
59
59
  };
@@ -71,7 +71,8 @@ declare global {
71
71
  feedType?: 'reviewing' | 'published';
72
72
  tags?: Amity.Taggable['tags'];
73
73
  matchingOnlyParentPost?: boolean;
74
- page?: Amity.PageRaw;
74
+ page?: string;
75
+ limit?: number;
75
76
  };
76
77
 
77
78
  // Omit sortBy explained in asc-3398
@@ -0,0 +1,150 @@
1
+ import { VideoResolution } from './file';
2
+
3
+ export {};
4
+
5
+ declare global {
6
+ namespace Amity {
7
+ type CommunityStorySettings = {
8
+ storySetting?: {
9
+ enableComment: boolean;
10
+ };
11
+ };
12
+
13
+ type StoryTargetType = 'community' | 'user' | 'content';
14
+
15
+ type StorySortBy = 'createdAt' | 'updatedAt';
16
+
17
+ const enum StoryItemType {
18
+ Hyperlink = 'hyperlink',
19
+ }
20
+
21
+ const enum StoryActionType {
22
+ OnCreate = 'onCreate',
23
+ OnUpdate = 'onUpdate',
24
+ OnDelete = 'onDelete',
25
+ OnError = 'onError',
26
+ }
27
+
28
+ const enum StoryDataType {
29
+ Text = 'text',
30
+ Image = 'image',
31
+ Video = 'video',
32
+ }
33
+
34
+ type StorySortOption = {
35
+ sortBy?: StorySortBy;
36
+ orderBy?: 'asc' | 'desc';
37
+ };
38
+
39
+ type GetStoriesByTargetParam = {
40
+ targetId: Amity.InternalStory['targetId'];
41
+ targetType: Amity.InternalStory['targetType'];
42
+ options?: Amity.StorySortOption;
43
+ };
44
+
45
+ type StoryTarget = {
46
+ lastStoryExpiresAt?: Amity.timestamp;
47
+ lastStorySeenExpiresAt?: Amity.timestamp;
48
+ targetId: string;
49
+ targetType: string;
50
+ targetPublicId: string;
51
+ targetUpdatedAt: Amity.timestamp;
52
+ };
53
+
54
+ type StoryItemData<T extends StoryItemType> = T extends 'hyperlink'
55
+ ? { url: string; alias: string }
56
+ : never;
57
+
58
+ type StoryItem = {
59
+ type: StoryItemType;
60
+ data: StoryItemData<StoryItemType>;
61
+ placement: {
62
+ width: number;
63
+ height: number;
64
+ transform: {
65
+ translate_x: number;
66
+ translate_y: number;
67
+ scale_x: number;
68
+ scale_y: number;
69
+ rotate: number;
70
+ };
71
+ };
72
+ };
73
+
74
+ // internal used for optimistic update
75
+ type StoryOptimistic = {
76
+ syncState?: Amity.SyncState;
77
+ };
78
+
79
+ type StoryLinkedObject = {
80
+ videoData?: Amity.File<'video'>;
81
+ imageData?: Amity.File<'image'>;
82
+ analytics: {
83
+ markAsViewed: () => void;
84
+ };
85
+ storyTarget?: Amity.StoryTarget;
86
+ community?: Amity.Community;
87
+ communityCategories?: Amity.Category[];
88
+ };
89
+
90
+ type RawStory = {
91
+ storyId: string;
92
+ path: string;
93
+ creatorId: Amity.InternalUser['userId'];
94
+ creatorPublicId: string;
95
+ targetId: string;
96
+ targetPublicId: string;
97
+ targetType: StoryTargetType;
98
+ dataType: StoryDataType;
99
+ items: StoryItem[];
100
+ data: {
101
+ text?: string;
102
+ fileId?: Amity.File['fileId'];
103
+ fileData?: ArrayBuffer | string | null;
104
+ thumbnailFileId?: Amity.File['fileId'];
105
+ imageDisplayMode?: Amity.ImageDisplayMode;
106
+ videoFileId?: {
107
+ [VideoResolution.ORIGINAL]?: string;
108
+ };
109
+ };
110
+ commentsCount: Amity.InternalPost['commentsCount'];
111
+ isDeleted: boolean;
112
+ hasFlaggedComment: boolean;
113
+ mentionedUsers: Amity.Post['mentionees'];
114
+ impression: 0;
115
+ reach: 0;
116
+ referenceId?: string;
117
+ } & Amity.Metadata &
118
+ Amity.Flaggable &
119
+ Amity.CreatedAt &
120
+ Amity.UpdatedAt &
121
+ Amity.ExpiresAt &
122
+ Amity.Reactable;
123
+
124
+ type InternalStory = Amity.RawStory & Amity.StoryOptimistic;
125
+
126
+ type StoryCreatePayload = {
127
+ data: {
128
+ text?: string;
129
+ fileId?: Amity.File['fileId'];
130
+ fileData?: ArrayBuffer | string | null;
131
+ imageDisplayMode?: Amity.ImageDisplayMode;
132
+ videoFileId?: Amity.RawStory['data']['videoFileId'];
133
+ };
134
+ referenceId: string; // Random ID used to reference story item between local-optimistic data and BE
135
+ dataType: Amity.StoryDataType;
136
+ items: Amity.StoryItem[];
137
+ targetType: Amity.StoryTargetType;
138
+ targetId: string;
139
+ metadata: Amity.Metadata;
140
+ syncState: Amity.SyncState;
141
+ };
142
+
143
+ type StoryLiveCollectionCache = Amity.LiveCollectionCache<
144
+ Amity.InternalStory['referenceId'],
145
+ { page?: Amity.Token }
146
+ >;
147
+
148
+ type Story = Amity.InternalStory & Amity.StoryLinkedObject;
149
+ }
150
+ }
@@ -71,7 +71,8 @@ declare global {
71
71
  userPublicIds?: Amity.InternalUser['userId'][];
72
72
  sortBy?: 'lastCreated' | 'firstCreated';
73
73
  isDeleted?: Amity.Stream['isDeleted'];
74
- page?: Amity.Page;
74
+ page?: string;
75
+ limit?: number;
75
76
  };
76
77
 
77
78
  type StreamLiveCollection = Amity.LiveCollectionParams<Omit<QueryStreams, 'page'>>;
@@ -52,7 +52,7 @@ declare global {
52
52
  type SubChannelLiveCollection = Amity.LiveCollectionParams<Omit<QuerySubChannels, 'page'>>;
53
53
 
54
54
  type SubChannelLiveCollectionCache = Amity.LiveCollectionCache<
55
- Amity.SubChannel,
55
+ Amity.SubChannel['subChannelId'],
56
56
  Pick<QuerySubChannels, 'page'> & { paging?: Amity.Pagination['paging'] }
57
57
  >;
58
58
  }
@@ -1,8 +1,6 @@
1
1
  import './global'; // global types (system)
2
-
3
2
  import './core/errors'; // global errors
4
3
  import './core/permissions'; // permissions enum
5
-
6
4
  import './core/payload'; // backend payload definition
7
5
  import './core/events'; // sdk events definitions
8
6
  import './core/paging'; // createQuery, runQuery
@@ -12,7 +10,6 @@ import './core/live';
12
10
 
13
11
  // domains
14
12
  import './domains/client'; // client definition
15
-
16
13
  import './domains/user';
17
14
  import './domains/follow';
18
15
 
@@ -31,6 +28,7 @@ import './domains/stream';
31
28
  import './domains/mention';
32
29
 
33
30
  import './domains/poll';
31
+ import './domains/story';
34
32
 
35
33
  export * from './domains/community';
36
34
  export * from './domains/content';
@@ -1 +1,2 @@
1
- export const ANALYTIC_CACHE_KEY = ['analytic', 'post'];
1
+ export const ANALYTIC_CACHE_KEY = ['analytic', 'normal-priority'];
2
+ export const HIGH_PRIORITY_ANALYTIC_CACHE_KEY = ['analytic', 'high-priority'];
@@ -26,6 +26,15 @@ class AnalyticsEngine {
26
26
  }
27
27
  }
28
28
 
29
+ markStoryAsViewed(storyId: Amity.InternalStory['storyId'], storyExpiresAt: Amity.timestamp) {
30
+ if (
31
+ this._client.sessionState === Amity.SessionStates.ESTABLISHED ||
32
+ this._client.sessionState === Amity.SessionStates.TOKEN_EXPIRED // For case token_expired, we assume token is expired and gonna re-connect soon
33
+ ) {
34
+ this._eventCapturer.markStoryAsViewed(storyId, storyExpiresAt);
35
+ }
36
+ }
37
+
29
38
  established() {
30
39
  this._eventSyncer.start();
31
40
  }
@@ -1,8 +1,7 @@
1
- import { getActiveClient } from '~/client/api/activeClient';
2
1
  import { upsertInCache } from '~/cache/api/upsertInCache';
3
2
  import { pullFromCache } from '~/cache/api/pullFromCache';
4
- import { MINUTE } from '~/utils/constants';
5
- import { ANALYTIC_CACHE_KEY } from '../../constant';
3
+ import { DAY, MINUTE } from '~/utils/constants';
4
+ import { ANALYTIC_CACHE_KEY, HIGH_PRIORITY_ANALYTIC_CACHE_KEY } from '../../constant';
6
5
 
7
6
  export class AnalyticsEventCapturer {
8
7
  _expireTime = 5 * MINUTE;
@@ -11,17 +10,37 @@ export class AnalyticsEventCapturer {
11
10
 
12
11
  _recentViewed: { [key: Amity.InternalPost['postId']]: Date } = {};
13
12
 
14
- markPostAsViewed(postId: Amity.InternalPost['postId']) {
13
+ _recentHighPriorityViewed: { [key: Amity.InternalStory['storyId']]: Date } = {};
14
+
15
+ isAbleToEnqueue(
16
+ itemId: Amity.Post['postId'] | Amity.Story['storyId'],
17
+ expireTime: number,
18
+ isHighPriority = false,
19
+ ) {
15
20
  const now = new Date();
16
- const client = getActiveClient();
17
21
 
18
- const recentViewedPostDate = this._recentViewed[postId] ?? new Date(-86400000);
19
- const timeDiff = now.getTime() - recentViewedPostDate.getTime();
20
- if (timeDiff < this._expireTime) {
22
+ const getRecentViewedDate = () => {
23
+ if (isHighPriority) return this._recentHighPriorityViewed[itemId];
24
+ return this._recentViewed[itemId];
25
+ };
26
+
27
+ const recentViewedDate = getRecentViewedDate() || new Date(DAY * -1);
28
+
29
+ const timeDiff = now.getTime() - recentViewedDate.getTime();
30
+
31
+ if (timeDiff < expireTime) {
21
32
  // just recently view this post, ignore the event.
22
- return;
33
+ return false;
23
34
  }
24
35
 
36
+ return true;
37
+ }
38
+
39
+ markPostAsViewed(postId: Amity.InternalPost['postId']) {
40
+ if (!this.isAbleToEnqueue(postId, this._expireTime)) return;
41
+
42
+ const now = new Date();
43
+
25
44
  const currentData: { event: Amity.AnalyticEventModel[] } = { event: [] };
26
45
  const cache = pullFromCache<{ event: Amity.AnalyticEventModel[] }>(ANALYTIC_CACHE_KEY);
27
46
 
@@ -37,7 +56,7 @@ export class AnalyticsEventCapturer {
37
56
 
38
57
  currentData.event.push({
39
58
  contentId: postId,
40
- contentType: 'post',
59
+ contentType: Amity.AnalyticEventContentType.Post,
41
60
  activityType: 'view',
42
61
  timestamp: now.toISOString(),
43
62
  });
@@ -45,4 +64,38 @@ export class AnalyticsEventCapturer {
45
64
  upsertInCache(ANALYTIC_CACHE_KEY, currentData);
46
65
  this._recentViewed[postId] = now;
47
66
  }
67
+
68
+ markStoryAsViewed(storyId: Amity.Story['storyId'], storyExpireAt: Amity.Story['expiresAt']) {
69
+ if (!storyExpireAt) return;
70
+ const now = new Date();
71
+ const expireTime = new Date(storyExpireAt);
72
+
73
+ if (this.isAbleToEnqueue(storyId, expireTime.getTime())) return;
74
+
75
+ const currentData: { event: Amity.AnalyticEventModel[] } = { event: [] };
76
+
77
+ const cache = pullFromCache<{ event: Amity.AnalyticEventModel[] }>(
78
+ HIGH_PRIORITY_ANALYTIC_CACHE_KEY,
79
+ );
80
+
81
+ if (cache?.data) {
82
+ currentData.event = cache.data.event;
83
+ }
84
+
85
+ // If the pool is full (Max 1000 items), remove the oldest data
86
+ if (currentData.event.length >= this._poolLimit) {
87
+ // Remove oldest data
88
+ currentData.event.shift();
89
+ }
90
+
91
+ currentData.event.push({
92
+ contentId: storyId,
93
+ contentType: Amity.AnalyticEventContentType.Story,
94
+ activityType: 'view',
95
+ timestamp: now.toISOString(),
96
+ });
97
+
98
+ upsertInCache(HIGH_PRIORITY_ANALYTIC_CACHE_KEY, currentData);
99
+ this._recentHighPriorityViewed[storyId] = now;
100
+ }
48
101
  }