@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
@@ -61,7 +61,7 @@ describe('getChannels with MessagePreview', () => {
61
61
 
62
62
  const subChannelWithNoMessagePreviewQueryResponse = {
63
63
  data: {
64
- messageFeeds: [rawSubChannel],
64
+ messageFeeds: [{ ...rawSubChannel, messagePreviewId: undefined }],
65
65
  messages: [],
66
66
  users: [user11],
67
67
  files: [],
@@ -448,7 +448,7 @@ describe('getChannels with MessagePreview', () => {
448
448
  'message-feed.updated',
449
449
  {
450
450
  messageFeeds: [rawUpdatedSubChannel],
451
- messages: [],
451
+ messages: [rawMessage],
452
452
  users: [],
453
453
  files: [],
454
454
  },
@@ -589,7 +589,7 @@ describe('getChannels with MessagePreview', () => {
589
589
  'it should update message preview to collection onSubChannelUpdated',
590
590
  'message-feed.updated',
591
591
  {
592
- messageFeeds: [rawUpdatedSubChannel],
592
+ messageFeeds: [{ ...rawUpdatedSubChannel, messagePreviewId: undefined }],
593
593
  messages: [],
594
594
  users: [],
595
595
  files: [],
@@ -600,8 +600,8 @@ describe('getChannels with MessagePreview', () => {
600
600
  ...rawUpdatedSubChannelWithMessagePreview,
601
601
  updatedAt: rawUpdatedSubChannel.updatedAt,
602
602
  }),
603
- messagePreviewId: updatedSubChannelMessagePreview.messagePreviewId,
604
- messagePreview: updatedSubChannelMessagePreview,
603
+ messagePreviewId: undefined,
604
+ messagePreview: null,
605
605
  },
606
606
  ],
607
607
  ],
@@ -620,23 +620,60 @@ describe('getChannels with MessagePreview', () => {
620
620
  client.emitter.emit(event, eventPayload);
621
621
  await pause();
622
622
 
623
- expect(callback).toHaveBeenCalledTimes(2);
624
- expect(callback).toHaveBeenNthCalledWith(1, expect.objectContaining(getSnapshot({})));
625
- expect(callback).toHaveBeenNthCalledWith(
626
- 2,
627
- expect.objectContaining(
628
- getSnapshot({
629
- data: [
630
- getSubChannelMessagePreviewWithUser(
631
- convertSubChannelFromRaw(
632
- subChannelWithNoMessagePreviewQueryResponse.data.messageFeeds[0],
623
+ if (event === 'message-feed.updated') {
624
+ expect(callback).toHaveBeenCalledTimes(3);
625
+ expect(callback).toHaveBeenNthCalledWith(1, expect.objectContaining(getSnapshot({})));
626
+ expect(callback).toHaveBeenNthCalledWith(
627
+ 2,
628
+ expect.objectContaining(
629
+ getSnapshot({
630
+ data: [
631
+ getSubChannelMessagePreviewWithUser(
632
+ convertSubChannelFromRaw(
633
+ subChannelWithNoMessagePreviewQueryResponse.data.messageFeeds[0],
634
+ ),
633
635
  ),
634
- ),
635
- ],
636
- loading: false,
637
- }),
638
- ),
639
- );
636
+ ],
637
+ loading: false,
638
+ }),
639
+ ),
640
+ );
641
+ expect(callback).toHaveBeenNthCalledWith(
642
+ 3,
643
+ expect.objectContaining(
644
+ getSnapshot({
645
+ data: [
646
+ getSubChannelMessagePreviewWithUser(
647
+ convertSubChannelFromRaw({
648
+ ...subChannelWithNoMessagePreviewQueryResponse.data.messageFeeds[0],
649
+ name: rawUpdatedSubChannel.name,
650
+ updatedAt: rawUpdatedSubChannel.updatedAt,
651
+ }),
652
+ ),
653
+ ],
654
+ loading: false,
655
+ }),
656
+ ),
657
+ );
658
+ } else {
659
+ expect(callback).toHaveBeenCalledTimes(2);
660
+ expect(callback).toHaveBeenNthCalledWith(1, expect.objectContaining(getSnapshot({})));
661
+ expect(callback).toHaveBeenNthCalledWith(
662
+ 2,
663
+ expect.objectContaining(
664
+ getSnapshot({
665
+ data: [
666
+ getSubChannelMessagePreviewWithUser(
667
+ convertSubChannelFromRaw(
668
+ subChannelWithNoMessagePreviewQueryResponse.data.messageFeeds[0],
669
+ ),
670
+ ),
671
+ ],
672
+ loading: false,
673
+ }),
674
+ ),
675
+ );
676
+ }
640
677
  });
641
678
  });
642
679
  });
@@ -13,7 +13,7 @@ export const MARKER_INCLUDED_SUB_CHANNEL_TYPE = ['broadcast', 'conversation', 'c
13
13
  export const isUnreadCountSupport = ({ channelType }: Pick<Amity.RawSubChannel, 'channelType'>) =>
14
14
  MARKER_INCLUDED_SUB_CHANNEL_TYPE.includes(channelType);
15
15
 
16
- const preUpdateSubChannelCache = (rawPayload: Amity.SubChannelPayload) => {
16
+ export const preUpdateSubChannelCache = (rawPayload: Amity.SubChannelPayload) => {
17
17
  ingestInCache({
18
18
  messageFeeds: rawPayload.messageFeeds.map(messageFeed => convertSubChannelFromRaw(messageFeed)),
19
19
  });
@@ -8,4 +8,9 @@ export const UNSYNCED_OBJECT_CACHED_AT_MESSAGE =
8
8
  export const UNSYNCED_OBJECT_CACHED_AT_VALUE = -5;
9
9
  export const SECOND = 1000;
10
10
  export const MINUTE = 60 * SECOND;
11
+ export const HOUR = 60 * MINUTE;
12
+ export const DAY = 24 * HOUR;
13
+ export const WEEK = 7 * DAY;
14
+ export const MONTH = 30 * DAY;
15
+ export const YEAR = 365 * DAY;
11
16
  export const ACCESS_TOKEN_WATCHER_INTERVAL = 10 * MINUTE;
@@ -1,4 +1,5 @@
1
1
  import { pullFromCache } from '~/cache/api/pullFromCache';
2
+ import { userLinkedObject } from './userLinkedObject';
2
3
 
3
4
  export const commentLinkedObject = (comment: Amity.InternalComment): Amity.Comment => {
4
5
  return {
@@ -42,7 +43,8 @@ export const commentLinkedObject = (comment: Amity.InternalComment): Amity.Comme
42
43
  },
43
44
  get creator(): Amity.User | undefined {
44
45
  const cacheData = pullFromCache<Amity.User>(['user', 'get', comment.userId]);
45
- return cacheData?.data;
46
+ if (cacheData?.data) return userLinkedObject(cacheData.data);
47
+ return undefined;
46
48
  },
47
49
  };
48
50
  };
@@ -1,3 +1,4 @@
1
+ import { storyLinkedObject } from '~/utils/linkedObject/storyLinkedObject';
1
2
  import { categoryLinkedObject } from './categoryLinkedObject';
2
3
  import { commentLinkedObject } from './commentLinkedObject';
3
4
  import { userLinkedObject } from './userLinkedObject';
@@ -8,4 +9,5 @@ export const LinkedObject = {
8
9
  post: postLinkedObject,
9
10
  user: userLinkedObject,
10
11
  category: categoryLinkedObject,
12
+ story: storyLinkedObject,
11
13
  };
@@ -1,6 +1,7 @@
1
1
  import { pullFromCache } from '~/cache/api';
2
2
  import { commentLinkedObject } from '~/utils/linkedObject/commentLinkedObject';
3
3
  import AnalyticsEngine from '../../analytic/service/analytic/AnalyticsEngine';
4
+ import { userLinkedObject } from './userLinkedObject';
4
5
 
5
6
  export const postLinkedObject = (post: Amity.InternalPost): Amity.Post => {
6
7
  return {
@@ -29,9 +30,10 @@ export const postLinkedObject = (post: Amity.InternalPost): Amity.Post => {
29
30
  .filter(Boolean) || []
30
31
  );
31
32
  },
32
- get creator(): Amity.User | null {
33
+ get creator(): Amity.User | undefined {
33
34
  const cacheData = pullFromCache<Amity.User>(['user', 'get', post.postedUserId]);
34
- return cacheData?.data || null;
35
+ if (cacheData?.data) return userLinkedObject(cacheData.data);
36
+ return undefined;
35
37
  },
36
38
  };
37
39
  };
@@ -0,0 +1,83 @@
1
+ import { pullFromCache } from '~/cache/api';
2
+ import AnalyticsEngine from '~/analytic/service/analytic/AnalyticsEngine';
3
+ import { userLinkedObject } from './userLinkedObject';
4
+
5
+ export const storyLinkedObject = (story: Amity.InternalStory): Amity.Story => {
6
+ return {
7
+ ...story,
8
+ analytics: {
9
+ markAsViewed: () => {
10
+ if (!story.expiresAt) return;
11
+ if (story.syncState !== 'synced') return;
12
+ const analyticsEngineInstance = AnalyticsEngine.getInstance();
13
+ analyticsEngineInstance.markStoryAsViewed(story.storyId, story.expiresAt);
14
+ },
15
+ },
16
+
17
+ get videoData(): Amity.File<'video'> | undefined {
18
+ const cache = pullFromCache<Amity.File<'video'>>([
19
+ 'file',
20
+ 'get',
21
+ story.data?.videoFileId?.original,
22
+ ]);
23
+
24
+ if (!cache) return undefined;
25
+
26
+ const { data } = cache;
27
+ return data || undefined;
28
+ },
29
+
30
+ get imageData(): Amity.File<'image'> | undefined {
31
+ if (!story.data?.fileId) return undefined;
32
+
33
+ const cache = pullFromCache<Amity.File<'image'>>(['file', 'get', story.data?.fileId]);
34
+
35
+ if (!cache) return undefined;
36
+
37
+ const { data } = cache;
38
+
39
+ if (!data) return undefined;
40
+
41
+ return {
42
+ ...data,
43
+ fileUrl: `${data.fileUrl}?size=full`,
44
+ };
45
+ },
46
+
47
+ get community(): Amity.Community | undefined {
48
+ if (story.targetType !== 'community') return undefined;
49
+ const cacheData = pullFromCache<Amity.Community>(['community', 'get', story?.targetId]);
50
+ if (!cacheData) return undefined;
51
+ return cacheData?.data || undefined;
52
+ },
53
+
54
+ get communityCategories(): Amity.Category[] | undefined {
55
+ if (story.targetType !== 'community') return undefined;
56
+ const cacheData = pullFromCache<Amity.Community>(['community', 'get', story?.targetId]);
57
+ if (!cacheData) return undefined;
58
+ const {
59
+ data: { categoryIds },
60
+ } = cacheData;
61
+
62
+ if (categoryIds.length === 0) return undefined;
63
+
64
+ return categoryIds
65
+ .map(categoryId => {
66
+ const categoryCacheData = pullFromCache<Amity.Category>(['category', 'get', categoryId]);
67
+ return categoryCacheData?.data || undefined;
68
+ })
69
+ .filter(category => category !== undefined) as Amity.Category[];
70
+ },
71
+
72
+ get creator(): Amity.User | undefined {
73
+ const cacheData = pullFromCache<Amity.User>(['user', 'get', story.creatorPublicId]);
74
+ if (!cacheData?.data) return;
75
+ return userLinkedObject(cacheData.data);
76
+ },
77
+
78
+ get storyTarget(): Amity.StoryTarget | undefined {
79
+ const cacheData = pullFromCache<Amity.StoryTarget>(['storyTarget', 'get', story.targetId]);
80
+ return cacheData?.data || undefined;
81
+ },
82
+ };
83
+ };
@@ -76,7 +76,7 @@ export const mockPage = {
76
76
  },
77
77
  };
78
78
 
79
- export const channelRaw1: Amity.RawChannel = generateRawChannel({ type: 'community' });
79
+ export const channelRaw1: Amity.RawChannel = generateRawChannel({ type: 'conversation' });
80
80
 
81
81
  export const channelRawLive1: Amity.RawChannel = generateRawChannel({ type: 'live' });
82
82
 
@@ -198,6 +198,16 @@ export const channelQueryResponse = {
198
198
  },
199
199
  };
200
200
 
201
+ export const channelQueryResponseWithoutPaging = {
202
+ data: {
203
+ channels: [channelRaw1, channelRaw2],
204
+ channelUsers: [],
205
+ files: [],
206
+ users: [],
207
+ messagePreviews: [],
208
+ },
209
+ };
210
+
201
211
  export const channelGetResponseWithMessagePreview = {
202
212
  data: {
203
213
  channels: [channelRawWithMessgePreviewConversation1],
@@ -421,19 +431,19 @@ export const channelDisplayName4 = generateRawChannel({
421
431
  });
422
432
 
423
433
  export const channelCreatedAt1 = generateRawChannel({
424
- channelId: 'channelId1',
434
+ channelId: 'channelId-CreateAt1',
425
435
  createdAt: '2023-09-29T12:00:00.000Z',
426
436
  displayName: '',
427
437
  });
428
438
 
429
439
  export const channelCreatedAt2 = generateRawChannel({
430
- channelId: 'channelId2',
440
+ channelId: 'channelId-CreateAt2',
431
441
  createdAt: '2023-09-29T12:00:01.000Z',
432
442
  displayName: '',
433
443
  });
434
444
 
435
445
  export const channelCreatedAt3 = generateRawChannel({
436
- channelId: 'channelId3',
446
+ channelId: 'channelId-CreateAt3',
437
447
  createdAt: '2023-09-29T12:00:02.000Z',
438
448
  displayName: '',
439
449
  });
@@ -1,32 +0,0 @@
1
- /**
2
- * ```js
3
- * import { queryCategories } from '@amityco/ts-sdk-react-native'
4
- * const { data: categories, prevPage, nextPage } = await queryCategories()
5
- * ```
6
- *
7
- * Queries a paginable list of {@link Amity.Category} objects
8
- *
9
- * @param query The query parameters
10
- * @returns A page of {@link Amity.Category} objects
11
- *
12
- * @category Category API
13
- * @async
14
- * */
15
- export declare const queryCategories: {
16
- (query?: Amity.QueryCategories): Promise<Amity.Cached<Amity.Paged<Amity.Category, Amity.Page>>>;
17
- /**
18
- * ```js
19
- * import { queryCategories } from '@amityco/ts-sdk-react-native'
20
- * const { data: categories, prevPage, nextPage } = queryCategories.locally()
21
- * ```
22
- *
23
- * Queries a paginable list of {@link Amity.Category} objects from cache
24
- *
25
- * @param query The query parameters
26
- * @returns categories
27
- *
28
- * @category category API
29
- */
30
- locally(query: Parameters<typeof queryCategories>[0]): Amity.Cached<Amity.Paged<Amity.Category, Amity.Page>> | undefined;
31
- };
32
- //# sourceMappingURL=queryCategories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryCategories.d.ts","sourceRoot":"","sources":["../../../src/categoryRepository/api/queryCategories.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;KAaK;AACL,eAAO,MAAM,eAAe;aAClB,MAAM,eAAe,GAC5B,QAAQ,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IA8CjE;;;;;;;;;;;;OAYG;mBAEM,WAAW,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAC3C,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,SAAS;CAjBnE,CAAC"}
@@ -1,116 +0,0 @@
1
- import { getActiveClient } from '~/client/api/activeClient';
2
-
3
- import { toToken, toPage } from '~/core/query';
4
-
5
- import { pullFromCache, pushToCache } from '~/cache/api';
6
- import { ingestInCache } from '~/cache/api/ingestInCache';
7
- import { getResolver } from '~/core/model';
8
-
9
- import { inferIsDeleted } from '~/utils/inferIsDeleted';
10
- import { LinkedObject } from '~/utils/linkedObject';
11
-
12
- /**
13
- * ```js
14
- * import { queryCategories } from '@amityco/ts-sdk-react-native'
15
- * const { data: categories, prevPage, nextPage } = await queryCategories()
16
- * ```
17
- *
18
- * Queries a paginable list of {@link Amity.Category} objects
19
- *
20
- * @param query The query parameters
21
- * @returns A page of {@link Amity.Category} objects
22
- *
23
- * @category Category API
24
- * @async
25
- * */
26
- export const queryCategories = async (
27
- query?: Amity.QueryCategories,
28
- ): Promise<Amity.Cached<Amity.Paged<Amity.Category, Amity.Page>>> => {
29
- const client = getActiveClient();
30
- client.log('category/queryCategories', query);
31
-
32
- const { page = { limit: 10 }, includeDeleted, ...params } = query ?? {};
33
-
34
- const { data } = await client.http.get<Amity.CategoryPayload & Amity.Pagination>(
35
- `/api/v3/community-categories`,
36
- {
37
- params: {
38
- ...params,
39
- isDeleted: inferIsDeleted(includeDeleted),
40
- options: {
41
- token: toToken(page, 'skiplimit'),
42
- },
43
- },
44
- },
45
- );
46
-
47
- const { paging, ...payload } = data;
48
- const { categories } = payload;
49
-
50
- const cachedAt = client.cache && Date.now();
51
-
52
- if (client.cache) {
53
- ingestInCache(payload as Amity.CategoryPayload, { cachedAt });
54
-
55
- const cacheKey = [
56
- 'category',
57
- 'query',
58
- { ...params, includeDeleted, options: { ...page } } as Amity.Serializable,
59
- ];
60
- pushToCache(cacheKey, { categories: categories.map(getResolver('category')), paging });
61
- }
62
-
63
- const nextPage = toPage(paging.next);
64
- const prevPage = toPage(paging.previous);
65
-
66
- return {
67
- data: categories.map(category => LinkedObject.category(category)),
68
- cachedAt,
69
- prevPage,
70
- nextPage,
71
- };
72
- };
73
-
74
- /**
75
- * ```js
76
- * import { queryCategories } from '@amityco/ts-sdk-react-native'
77
- * const { data: categories, prevPage, nextPage } = queryCategories.locally()
78
- * ```
79
- *
80
- * Queries a paginable list of {@link Amity.Category} objects from cache
81
- *
82
- * @param query The query parameters
83
- * @returns categories
84
- *
85
- * @category category API
86
- */
87
- queryCategories.locally = (
88
- query: Parameters<typeof queryCategories>[0],
89
- ): Amity.Cached<Amity.Paged<Amity.Category, Amity.Page>> | undefined => {
90
- const client = getActiveClient();
91
- client.log('category/queryCategories.locally', query);
92
-
93
- if (!client.cache) return;
94
-
95
- const { page = { limit: 10 }, ...params } = query ?? {};
96
-
97
- const queryKey = ['category', 'query', { ...params, options: { ...page } } as Amity.Serializable];
98
- const { data, cachedAt } =
99
- pullFromCache<{ categories: Pick<Amity.Category, 'categoryId'>[] } & Amity.Pagination>(
100
- queryKey,
101
- ) ?? {};
102
-
103
- if (!data?.categories.length) return;
104
-
105
- const categories: Amity.Category[] = data.categories
106
- .map(categoryId => pullFromCache<Amity.Category>(['category', 'get', categoryId])!)
107
- .filter(Boolean)
108
- .map(({ data }) => data);
109
-
110
- const prevPage = toPage(data?.paging.previous);
111
- const nextPage = toPage(data?.paging.next);
112
-
113
- return categories.length === data?.categories?.length
114
- ? { data: categories.map(LinkedObject.category), cachedAt, prevPage, nextPage }
115
- : undefined;
116
- };