@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.
- package/dist/@types/core/events.d.ts +6 -1
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/live.d.ts +5 -3
- package/dist/@types/core/live.d.ts.map +1 -1
- package/dist/@types/core/model.d.ts +4 -0
- package/dist/@types/core/model.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +14 -0
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/core/permissions.d.ts +2 -1
- package/dist/@types/core/permissions.d.ts.map +1 -1
- package/dist/@types/domains/analytics.d.ts +4 -1
- package/dist/@types/domains/analytics.d.ts.map +1 -1
- package/dist/@types/domains/category.d.ts +2 -1
- package/dist/@types/domains/category.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +3 -1
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/comment.d.ts +1 -1
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/community.d.ts +8 -3
- package/dist/@types/domains/community.d.ts.map +1 -1
- package/dist/@types/domains/feed.d.ts +15 -0
- package/dist/@types/domains/feed.d.ts.map +1 -1
- package/dist/@types/domains/messagePreview.d.ts +1 -1
- package/dist/@types/domains/messagePreview.d.ts.map +1 -1
- package/dist/@types/domains/partials.d.ts +9 -0
- package/dist/@types/domains/partials.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +3 -2
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/domains/story.d.ts +126 -0
- package/dist/@types/domains/story.d.ts.map +1 -0
- package/dist/@types/domains/stream.d.ts +2 -1
- package/dist/@types/domains/stream.d.ts.map +1 -1
- package/dist/@types/domains/subChannel.d.ts +1 -1
- package/dist/@types/domains/subChannel.d.ts.map +1 -1
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/analytic/constant.d.ts +1 -0
- package/dist/analytic/constant.d.ts.map +1 -1
- package/dist/analytic/service/analytic/AnalyticsEngine.d.ts +1 -0
- package/dist/analytic/service/analytic/AnalyticsEngine.d.ts.map +1 -1
- package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts +5 -0
- package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts.map +1 -1
- package/dist/analytic/service/analytic/AnalyticsEventSyncer.d.ts +2 -0
- package/dist/analytic/service/analytic/AnalyticsEventSyncer.d.ts.map +1 -1
- package/dist/categoryRepository/internalApi/queryCategories.d.ts +2 -2
- package/dist/categoryRepository/internalApi/queryCategories.d.ts.map +1 -1
- package/dist/categoryRepository/observers/getCategories.d.ts.map +1 -1
- package/dist/channelRepository/api/createChannel.d.ts +1 -1
- package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberLiveCollectionController.d.ts +14 -0
- package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberLiveCollectionController.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberPaginationController.d.ts +13 -0
- package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberPaginationController.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberQueryStreamController.d.ts +14 -0
- package/dist/channelRepository/channelMembership/observers/liveCollection/ChannelMemberQueryStreamController.d.ts.map +1 -0
- package/dist/channelRepository/observers/getChannels.d.ts.map +1 -1
- package/dist/channelRepository/observers/liveCollection/ChannelLiveCollectionController.d.ts +19 -0
- package/dist/channelRepository/observers/liveCollection/ChannelLiveCollectionController.d.ts.map +1 -0
- package/dist/channelRepository/observers/liveCollection/ChannelPaginationController.d.ts +14 -0
- package/dist/channelRepository/observers/liveCollection/ChannelPaginationController.d.ts.map +1 -0
- package/dist/channelRepository/observers/liveCollection/ChannelPagnationNoPageController.d.ts +5 -0
- package/dist/channelRepository/observers/liveCollection/ChannelPagnationNoPageController.d.ts.map +1 -0
- package/dist/channelRepository/observers/liveCollection/ChannelQueryStreamController.d.ts +17 -0
- package/dist/channelRepository/observers/liveCollection/ChannelQueryStreamController.d.ts.map +1 -0
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts +1 -0
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
- package/dist/communityRepository/api/createCommunity.d.ts +1 -1
- package/dist/communityRepository/api/createCommunity.d.ts.map +1 -1
- package/dist/communityRepository/api/queryCommunities.d.ts +1 -1
- package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
- package/dist/communityRepository/api/updateCommunity.d.ts +1 -1
- package/dist/communityRepository/api/updateCommunity.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/api/queryCommunityMembers.d.ts +2 -7
- package/dist/communityRepository/communityMembership/api/queryCommunityMembers.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
- package/dist/communityRepository/observers/getCommunities.d.ts.map +1 -1
- package/dist/communityRepository/utils/payload.d.ts +2 -1
- package/dist/communityRepository/utils/payload.d.ts.map +1 -1
- package/dist/core/events.d.ts +3 -3
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/liveCollection/LiveCollectionController.d.ts +3 -2
- package/dist/core/liveCollection/LiveCollectionController.d.ts.map +1 -1
- package/dist/core/liveCollection/PaginationNoPageController.d.ts +9 -0
- package/dist/core/liveCollection/PaginationNoPageController.d.ts.map +1 -0
- package/dist/core/model/idResolvers.d.ts.map +1 -1
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/core/query/sorting.d.ts +14 -0
- package/dist/core/query/sorting.d.ts.map +1 -1
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +36 -2
- package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
- package/dist/feedRepository/api/queryGlobalFeed.d.ts +24 -6
- package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
- package/dist/index.cjs.js +7936 -7216
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +5842 -5121
- package/dist/index.umd.js +4 -4
- package/dist/marker/api/getChannelMarkers.d.ts +2 -5
- package/dist/marker/api/getChannelMarkers.d.ts.map +1 -1
- package/dist/marker/api/getMessageMarkers.d.ts +3 -4
- package/dist/marker/api/getMessageMarkers.d.ts.map +1 -1
- package/dist/marker/events/onMessageMarked.d.ts.map +1 -1
- package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -47
- package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
- package/dist/messageRepository/observers/liveCollection/MessageLiveCollectionController.d.ts.map +1 -1
- package/dist/messageRepository/observers/liveCollection/MessageQueryStreamController.d.ts +1 -1
- package/dist/messageRepository/observers/liveCollection/MessageQueryStreamController.d.ts.map +1 -1
- package/dist/postRepository/api/queryPosts.d.ts +1 -1
- package/dist/postRepository/api/queryPosts.d.ts.map +1 -1
- package/dist/postRepository/observers/getPosts.d.ts.map +1 -1
- package/dist/role/api/queryRoles.d.ts +9 -1
- package/dist/role/api/queryRoles.d.ts.map +1 -1
- package/dist/storyRepository/api/createImageStory.d.ts +17 -0
- package/dist/storyRepository/api/createImageStory.d.ts.map +1 -0
- package/dist/storyRepository/api/createVideoStory.d.ts +15 -0
- package/dist/storyRepository/api/createVideoStory.d.ts.map +1 -0
- package/dist/storyRepository/api/hardDeleteStory.d.ts +2 -0
- package/dist/storyRepository/api/hardDeleteStory.d.ts.map +1 -0
- package/dist/storyRepository/api/index.d.ts +5 -0
- package/dist/storyRepository/api/index.d.ts.map +1 -0
- package/dist/storyRepository/api/softDeleteStory.d.ts +2 -0
- package/dist/storyRepository/api/softDeleteStory.d.ts.map +1 -0
- package/dist/storyRepository/events/onStoryCreated.d.ts +2 -0
- package/dist/storyRepository/events/onStoryCreated.d.ts.map +1 -0
- package/dist/storyRepository/events/onStoryDeleted.d.ts +2 -0
- package/dist/storyRepository/events/onStoryDeleted.d.ts.map +1 -0
- package/dist/storyRepository/events/onStoryError.d.ts +2 -0
- package/dist/storyRepository/events/onStoryError.d.ts.map +1 -0
- package/dist/storyRepository/index.d.ts +3 -0
- package/dist/storyRepository/index.d.ts.map +1 -0
- package/dist/storyRepository/internalApi/createStory.d.ts +2 -0
- package/dist/storyRepository/internalApi/createStory.d.ts.map +1 -0
- package/dist/storyRepository/internalApi/deleteStory.d.ts +2 -0
- package/dist/storyRepository/internalApi/deleteStory.d.ts.map +1 -0
- package/dist/storyRepository/internalApi/getActiveStoriesByTarget.d.ts +2 -0
- package/dist/storyRepository/internalApi/getActiveStoriesByTarget.d.ts.map +1 -0
- package/dist/storyRepository/observers/getActiveStoriesByTarget.d.ts +2 -0
- package/dist/storyRepository/observers/getActiveStoriesByTarget.d.ts.map +1 -0
- package/dist/storyRepository/observers/index.d.ts +2 -0
- package/dist/storyRepository/observers/index.d.ts.map +1 -0
- package/dist/storyRepository/utils/convertRawToStory.d.ts +3 -0
- package/dist/storyRepository/utils/convertRawToStory.d.ts.map +1 -0
- package/dist/storyRepository/utils/convertStoryPayloadToRaw.d.ts +2 -0
- package/dist/storyRepository/utils/convertStoryPayloadToRaw.d.ts.map +1 -0
- package/dist/storyRepository/utils/createOptimisticEvent.d.ts +6 -0
- package/dist/storyRepository/utils/createOptimisticEvent.d.ts.map +1 -0
- package/dist/storyRepository/utils/getStoryCache.d.ts +5 -0
- package/dist/storyRepository/utils/getStoryCache.d.ts.map +1 -0
- package/dist/streamRepository/api/index.d.ts.map +1 -1
- package/dist/streamRepository/api/queryStreams.d.ts +2 -0
- package/dist/streamRepository/api/queryStreams.d.ts.map +1 -1
- package/dist/streamRepository/internalApi/queryStreams.d.ts +16 -0
- package/dist/streamRepository/internalApi/queryStreams.d.ts.map +1 -0
- package/dist/streamRepository/observers/getStreams.d.ts +1 -1
- package/dist/streamRepository/observers/getStreams.d.ts.map +1 -1
- package/dist/subChannelRepository/observers/getSubChannels.d.ts.map +1 -1
- package/dist/subChannelRepository/observers/liveCollection/SubChannelLiveCollectionController.d.ts +14 -0
- package/dist/subChannelRepository/observers/liveCollection/SubChannelLiveCollectionController.d.ts.map +1 -0
- package/dist/subChannelRepository/observers/liveCollection/SubChannelPaginationController.d.ts +9 -0
- package/dist/subChannelRepository/observers/liveCollection/SubChannelPaginationController.d.ts.map +1 -0
- package/dist/subChannelRepository/observers/liveCollection/SubChannelQueryStreamController.d.ts +14 -0
- package/dist/subChannelRepository/observers/liveCollection/SubChannelQueryStreamController.d.ts.map +1 -0
- package/dist/subChannelRepository/utils/prepareSubChannelPayload.d.ts +1 -0
- package/dist/subChannelRepository/utils/prepareSubChannelPayload.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/linkedObject/commentLinkedObject.d.ts.map +1 -1
- package/dist/utils/linkedObject/index.d.ts +1 -0
- package/dist/utils/linkedObject/index.d.ts.map +1 -1
- package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
- package/dist/utils/linkedObject/storyLinkedObject.d.ts +2 -0
- package/dist/utils/linkedObject/storyLinkedObject.d.ts.map +1 -0
- package/dist/utils/tests/dummy/channel.d.ts +9 -0
- package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +8 -1
- package/src/@types/core/live.ts +7 -4
- package/src/@types/core/model.ts +6 -0
- package/src/@types/core/payload.ts +19 -0
- package/src/@types/core/permissions.ts +1 -0
- package/src/@types/domains/analytics.ts +4 -1
- package/src/@types/domains/category.ts +2 -1
- package/src/@types/domains/channel.ts +4 -1
- package/src/@types/domains/comment.ts +1 -1
- package/src/@types/domains/community.ts +11 -5
- package/src/@types/domains/feed.ts +16 -0
- package/src/@types/domains/messagePreview.ts +1 -1
- package/src/@types/domains/partials.ts +12 -0
- package/src/@types/domains/post.ts +3 -2
- package/src/@types/domains/story.ts +150 -0
- package/src/@types/domains/stream.ts +2 -1
- package/src/@types/domains/subChannel.ts +1 -1
- package/src/@types/index.ts +1 -3
- package/src/analytic/constant.ts +2 -1
- package/src/analytic/service/analytic/AnalyticsEngine.ts +9 -0
- package/src/analytic/service/analytic/AnalyticsEventCapturer.ts +63 -10
- package/src/analytic/service/analytic/AnalyticsEventSyncer.ts +34 -4
- package/src/categoryRepository/internalApi/queryCategories.ts +25 -18
- package/src/categoryRepository/observers/getCategories.ts +4 -3
- package/src/channelRepository/api/createChannel.ts +7 -3
- package/src/channelRepository/channelMembership/observers/getMembers.ts +9 -123
- package/src/channelRepository/channelMembership/observers/liveCollection/ChannelMemberLiveCollectionController.ts +154 -0
- package/src/channelRepository/channelMembership/observers/liveCollection/ChannelMemberPaginationController.ts +28 -0
- package/src/channelRepository/channelMembership/observers/liveCollection/ChannelMemberQueryStreamController.ts +109 -0
- package/src/channelRepository/channelMembership/observers/tests/getMembers.test.ts +3 -1
- package/src/channelRepository/observers/getChannels.ts +10 -316
- package/src/channelRepository/observers/liveCollection/ChannelLiveCollectionController.ts +413 -0
- package/src/channelRepository/observers/liveCollection/ChannelPaginationController.ts +36 -0
- package/src/channelRepository/observers/liveCollection/ChannelPagnationNoPageController.ts +20 -0
- package/src/channelRepository/observers/liveCollection/ChannelQueryStreamController.ts +89 -0
- package/src/channelRepository/observers/tests/getChannel.test.ts +4 -1
- package/src/channelRepository/observers/tests/getChannels.test.ts +153 -40
- package/src/channelRepository/utils/prepareChannelPayload.ts +1 -1
- package/src/client/utils/markerSyncEngine.ts +1 -1
- package/src/communityRepository/api/createCommunity.ts +7 -6
- package/src/communityRepository/api/queryCommunities.ts +12 -14
- package/src/communityRepository/api/test/queryCommunity.test.ts +18 -12
- package/src/communityRepository/api/updateCommunity.ts +4 -3
- package/src/communityRepository/communityMembership/api/queryCommunityMembers.ts +26 -25
- package/src/communityRepository/communityMembership/observers/getMembers.ts +4 -3
- package/src/communityRepository/observers/getCommunities.ts +8 -5
- package/src/communityRepository/utils/payload.ts +7 -2
- package/src/core/liveCollection/LiveCollectionController.ts +19 -5
- package/src/core/liveCollection/PaginationNoPageController.ts +26 -0
- package/src/core/model/idResolvers.ts +2 -0
- package/src/core/model/index.ts +2 -0
- package/src/core/query/sorting.ts +18 -0
- package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +50 -8
- package/src/feedRepository/api/queryGlobalFeed.ts +56 -12
- package/src/index.ts +2 -1
- package/src/marker/api/getChannelMarkers.ts +6 -16
- package/src/marker/api/getMessageMarkers.ts +12 -20
- package/src/marker/api/tests/getChannelMarkers.test.ts +1 -11
- package/src/marker/api/tests/getMessageMarkers.test.ts +1 -11
- package/src/marker/events/onMessageMarked.ts +4 -5
- package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +9 -2
- package/src/messageRepository/observers/liveCollection/MessageLiveCollectionController.ts +1 -0
- package/src/messageRepository/observers/liveCollection/MessageQueryStreamController.ts +2 -1
- package/src/postRepository/api/queryPosts.ts +12 -10
- package/src/postRepository/observers/getPosts.ts +7 -4
- package/src/role/api/queryRoles.ts +25 -6
- package/src/storyRepository/api/createImageStory.ts +94 -0
- package/src/storyRepository/api/createVideoStory.ts +92 -0
- package/src/storyRepository/api/hardDeleteStory.ts +6 -0
- package/src/storyRepository/api/index.ts +4 -0
- package/src/storyRepository/api/softDeleteStory.ts +6 -0
- package/src/storyRepository/events/onStoryCreated.ts +14 -0
- package/src/storyRepository/events/onStoryDeleted.ts +14 -0
- package/src/storyRepository/events/onStoryError.ts +14 -0
- package/src/storyRepository/index.ts +2 -0
- package/src/storyRepository/internalApi/createStory.ts +26 -0
- package/src/storyRepository/internalApi/deleteStory.ts +35 -0
- package/src/storyRepository/internalApi/getActiveStoriesByTarget.ts +36 -0
- package/src/storyRepository/observers/getActiveStoriesByTarget.ts +163 -0
- package/src/storyRepository/observers/index.ts +1 -0
- package/src/storyRepository/utils/convertRawToStory.ts +16 -0
- package/src/storyRepository/utils/convertStoryPayloadToRaw.ts +43 -0
- package/src/storyRepository/utils/createOptimisticEvent.ts +63 -0
- package/src/storyRepository/utils/getStoryCache.ts +6 -0
- package/src/streamRepository/api/index.ts +1 -1
- package/src/streamRepository/api/queryStreams.ts +2 -0
- package/src/streamRepository/internalApi/queryStreams.ts +57 -0
- package/src/streamRepository/observers/getStreams.ts +6 -5
- package/src/subChannelRepository/observers/getSubChannels.ts +8 -228
- package/src/subChannelRepository/observers/liveCollection/SubChannelLiveCollectionController.ts +274 -0
- package/src/subChannelRepository/observers/liveCollection/SubChannelPaginationController.ts +35 -0
- package/src/subChannelRepository/observers/liveCollection/SubChannelQueryStreamController.ts +94 -0
- package/src/subChannelRepository/observers/tests/getSubChannels.test.ts +73 -45
- package/src/subChannelRepository/observers/tests/getSubChannelsWithMessagePreview.test.ts +58 -21
- package/src/subChannelRepository/utils/prepareSubChannelPayload.ts +1 -1
- package/src/utils/constants.ts +5 -0
- package/src/utils/linkedObject/commentLinkedObject.ts +3 -1
- package/src/utils/linkedObject/index.ts +2 -0
- package/src/utils/linkedObject/postLinkedObject.ts +4 -2
- package/src/utils/linkedObject/storyLinkedObject.ts +83 -0
- package/src/utils/tests/dummy/channel.ts +14 -4
- package/dist/categoryRepository/api/queryCategories.d.ts +0 -32
- package/dist/categoryRepository/api/queryCategories.d.ts.map +0 -1
- package/src/categoryRepository/api/queryCategories.ts +0 -116
|
@@ -2,7 +2,6 @@ import { pullFromCache, pushToCache } from '~/cache/api';
|
|
|
2
2
|
import { getActiveClient } from '~/client/api';
|
|
3
3
|
import { getResolver } from '~/core/model';
|
|
4
4
|
|
|
5
|
-
import { toPage, toToken } from '~/core/query';
|
|
6
5
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
7
6
|
import { prepareMembershipPayload } from '~/group/utils';
|
|
8
7
|
|
|
@@ -22,20 +21,25 @@ import { prepareMembershipPayload } from '~/group/utils';
|
|
|
22
21
|
* */
|
|
23
22
|
export const queryCommunityMembers = async (
|
|
24
23
|
query: Amity.QueryCommunityMembers,
|
|
25
|
-
): Promise<Amity.Cached<Amity.
|
|
24
|
+
): Promise<Amity.Cached<Amity.PageToken<Amity.Membership<'community'>>>> => {
|
|
26
25
|
const client = getActiveClient();
|
|
27
26
|
client.log('community/queryCommunityMembers', query);
|
|
28
27
|
|
|
29
|
-
const { page, ...params } = query ?? {};
|
|
28
|
+
const { page, limit, ...params } = query ?? {};
|
|
29
|
+
|
|
30
|
+
const options = (() => {
|
|
31
|
+
if (page) return { token: page };
|
|
32
|
+
if (limit) return { limit };
|
|
33
|
+
|
|
34
|
+
return undefined;
|
|
35
|
+
})();
|
|
30
36
|
|
|
31
37
|
const { data: queryPayload } = await client.http.get<
|
|
32
38
|
Amity.CommunityMembershipPayload & Amity.Pagination
|
|
33
39
|
>(`/api/v3/communities/${params.communityId}/users`, {
|
|
34
40
|
params: {
|
|
35
41
|
...params,
|
|
36
|
-
options
|
|
37
|
-
token: toToken(page, 'skiplimit'),
|
|
38
|
-
},
|
|
42
|
+
options,
|
|
39
43
|
},
|
|
40
44
|
});
|
|
41
45
|
|
|
@@ -47,11 +51,7 @@ export const queryCommunityMembers = async (
|
|
|
47
51
|
if (client.cache) {
|
|
48
52
|
ingestInCache(preparedPayload, { cachedAt });
|
|
49
53
|
|
|
50
|
-
const cacheKey = [
|
|
51
|
-
'communityUsers',
|
|
52
|
-
'query',
|
|
53
|
-
{ ...params, options: { ...page } } as Amity.Serializable,
|
|
54
|
-
];
|
|
54
|
+
const cacheKey = ['communityUsers', 'query', { ...params, options } as Amity.Serializable];
|
|
55
55
|
|
|
56
56
|
pushToCache(cacheKey, {
|
|
57
57
|
communityUsers: communityUsers.map(({ communityId, userId }) =>
|
|
@@ -61,10 +61,7 @@ export const queryCommunityMembers = async (
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
const prevPage = toPage(paging.previous);
|
|
66
|
-
|
|
67
|
-
return { data: communityUsers, cachedAt, nextPage, prevPage };
|
|
64
|
+
return { data: communityUsers, cachedAt, paging };
|
|
68
65
|
};
|
|
69
66
|
|
|
70
67
|
/**
|
|
@@ -80,19 +77,24 @@ export const queryCommunityMembers = async (
|
|
|
80
77
|
*
|
|
81
78
|
* @category Post API
|
|
82
79
|
*/
|
|
83
|
-
queryCommunityMembers.locally = (
|
|
80
|
+
queryCommunityMembers.locally = (
|
|
81
|
+
query: Parameters<typeof queryCommunityMembers>[0],
|
|
82
|
+
): Amity.Cached<Amity.PageToken<Amity.Membership<'community'>>> | undefined => {
|
|
84
83
|
const client = getActiveClient();
|
|
85
84
|
client.log('community/queryCommunityMembers', query);
|
|
86
85
|
|
|
87
86
|
if (!client.cache) return;
|
|
88
87
|
|
|
89
|
-
const { page, ...params } = query ?? {};
|
|
88
|
+
const { page, limit, ...params } = query ?? {};
|
|
89
|
+
|
|
90
|
+
const options = (() => {
|
|
91
|
+
if (page) return { token: page };
|
|
92
|
+
if (limit) return { limit };
|
|
93
|
+
|
|
94
|
+
return undefined;
|
|
95
|
+
})();
|
|
90
96
|
|
|
91
|
-
const cacheKey = [
|
|
92
|
-
'communityUsers',
|
|
93
|
-
'query',
|
|
94
|
-
{ ...params, options: { ...page } } as Amity.Serializable,
|
|
95
|
-
];
|
|
97
|
+
const cacheKey = ['communityUsers', 'query', { ...params, options } as Amity.Serializable];
|
|
96
98
|
|
|
97
99
|
const { data, cachedAt } =
|
|
98
100
|
pullFromCache<
|
|
@@ -108,10 +110,9 @@ queryCommunityMembers.locally = (query: Parameters<typeof queryCommunityMembers>
|
|
|
108
110
|
.filter(Boolean)
|
|
109
111
|
.map(({ data }) => data);
|
|
110
112
|
|
|
111
|
-
const
|
|
112
|
-
const nextPage = toPage(data?.paging.next);
|
|
113
|
+
const { paging } = data;
|
|
113
114
|
|
|
114
115
|
return communityUsers.length === data?.communityUsers?.length
|
|
115
|
-
? { data: communityUsers, cachedAt,
|
|
116
|
+
? { data: communityUsers, cachedAt, paging }
|
|
116
117
|
: undefined;
|
|
117
118
|
};
|
|
@@ -152,16 +152,17 @@ export const getMembers = (
|
|
|
152
152
|
|
|
153
153
|
const query = createQuery(queryCommunityMembers, {
|
|
154
154
|
...queryParams,
|
|
155
|
-
|
|
155
|
+
limit: initial ? limit : undefined,
|
|
156
|
+
page: !initial ? collection?.params.page : undefined,
|
|
156
157
|
});
|
|
157
158
|
|
|
158
159
|
runQuery(
|
|
159
160
|
query,
|
|
160
|
-
({ data: result, error, loading,
|
|
161
|
+
({ data: result, error, loading, paging }) => {
|
|
161
162
|
const data = {
|
|
162
163
|
loading,
|
|
163
164
|
error,
|
|
164
|
-
params: { page },
|
|
165
|
+
params: { page: paging?.next },
|
|
165
166
|
data: communityMembers,
|
|
166
167
|
};
|
|
167
168
|
|
|
@@ -68,7 +68,7 @@ export const getCommunities = (
|
|
|
68
68
|
const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config ?? {};
|
|
69
69
|
|
|
70
70
|
const disposers: Amity.Unsubscriber[] = [];
|
|
71
|
-
const cacheKey = ['community', 'collection',
|
|
71
|
+
const cacheKey = ['community', 'collection', queryParams as Amity.Serializable];
|
|
72
72
|
|
|
73
73
|
const responder = (data: Amity.CommunityLiveCollectionCache) => {
|
|
74
74
|
let communities: Amity.Community[] =
|
|
@@ -148,21 +148,24 @@ export const getCommunities = (
|
|
|
148
148
|
|
|
149
149
|
const query = createQuery(queryCommunities, {
|
|
150
150
|
...queryParams,
|
|
151
|
-
|
|
151
|
+
limit: initial ? limit : undefined,
|
|
152
|
+
page: !initial ? collection?.params.page : undefined,
|
|
152
153
|
});
|
|
153
154
|
|
|
154
155
|
runQuery(
|
|
155
156
|
query,
|
|
156
|
-
({ data: result, error, loading,
|
|
157
|
+
({ data: result, error, loading, paging }) => {
|
|
157
158
|
const data = {
|
|
158
159
|
loading,
|
|
159
160
|
error,
|
|
160
|
-
params: { page },
|
|
161
|
+
params: { page: paging?.next },
|
|
161
162
|
data: communities,
|
|
162
163
|
};
|
|
163
164
|
|
|
164
165
|
if (result) {
|
|
165
|
-
data.data =
|
|
166
|
+
data.data = initial
|
|
167
|
+
? result.map(getResolver('community'))
|
|
168
|
+
: [...new Set([...communities, ...result.map(getResolver('community'))])];
|
|
166
169
|
}
|
|
167
170
|
|
|
168
171
|
pushToCache(cacheKey, data);
|
|
@@ -36,15 +36,20 @@ export const prepareCommunityPayload = (
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export const prepareCommunityRequest = <
|
|
39
|
-
T extends {
|
|
39
|
+
T extends {
|
|
40
|
+
postSetting?: Amity.Community['postSetting'];
|
|
41
|
+
[k: string]: any;
|
|
42
|
+
},
|
|
40
43
|
>(
|
|
41
44
|
params: T,
|
|
42
45
|
) => {
|
|
43
|
-
const { postSetting = undefined, ...restParam } = params;
|
|
46
|
+
const { postSetting = undefined, storySetting, ...restParam } = params;
|
|
44
47
|
|
|
45
48
|
return {
|
|
46
49
|
...restParam,
|
|
47
50
|
// Repack community payload by mapping postSetting to the actual value.
|
|
48
51
|
...(postSetting ? CommunityPostSettingMaps[postSetting] : undefined),
|
|
52
|
+
// Convert story setting to the actual value. (Allow by default)
|
|
53
|
+
allowCommentInStory: storySetting?.enableComment !== false,
|
|
49
54
|
};
|
|
50
55
|
};
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import { convertGetterPropsToStatic } from '~/utils/object';
|
|
1
2
|
import { PaginationController } from './PaginationController';
|
|
2
3
|
import { isEqual } from '~/utils/isEqual';
|
|
4
|
+
import { PaginationNoPageController } from './PaginationNoPageController';
|
|
3
5
|
|
|
4
6
|
export abstract class LiveCollectionController<
|
|
5
7
|
TPayloadDomain extends keyof Amity.Payloads,
|
|
6
8
|
TQueryParams,
|
|
7
|
-
TPublicPayload,
|
|
8
|
-
TPaginationController extends
|
|
9
|
+
TPublicPayload extends Record<string, unknown>,
|
|
10
|
+
TPaginationController extends
|
|
11
|
+
| PaginationController<TPayloadDomain, TQueryParams>
|
|
12
|
+
| PaginationNoPageController<TPayloadDomain, TQueryParams>,
|
|
9
13
|
> {
|
|
10
14
|
protected paginationController: TPaginationController;
|
|
11
15
|
|
|
@@ -31,7 +35,13 @@ export abstract class LiveCollectionController<
|
|
|
31
35
|
|
|
32
36
|
private async refresh() {
|
|
33
37
|
try {
|
|
34
|
-
|
|
38
|
+
let result;
|
|
39
|
+
|
|
40
|
+
if (this.paginationController instanceof PaginationNoPageController) {
|
|
41
|
+
result = await this.paginationController.onFetch();
|
|
42
|
+
} else {
|
|
43
|
+
result = await this.paginationController.loadFirstPage();
|
|
44
|
+
}
|
|
35
45
|
if (!result) return;
|
|
36
46
|
|
|
37
47
|
await this.persistModel(result);
|
|
@@ -68,6 +78,8 @@ export abstract class LiveCollectionController<
|
|
|
68
78
|
|
|
69
79
|
async loadNextPage() {
|
|
70
80
|
try {
|
|
81
|
+
if (this.paginationController instanceof PaginationNoPageController) return;
|
|
82
|
+
|
|
71
83
|
const result = await this.paginationController.loadNextPage();
|
|
72
84
|
if (!result) return;
|
|
73
85
|
|
|
@@ -85,6 +97,8 @@ export abstract class LiveCollectionController<
|
|
|
85
97
|
|
|
86
98
|
async loadPrevPage() {
|
|
87
99
|
try {
|
|
100
|
+
if (this.paginationController instanceof PaginationNoPageController) return;
|
|
101
|
+
|
|
88
102
|
const result = await this.paginationController.loadPreviousPage();
|
|
89
103
|
if (!result) return;
|
|
90
104
|
|
|
@@ -101,7 +115,7 @@ export abstract class LiveCollectionController<
|
|
|
101
115
|
}
|
|
102
116
|
|
|
103
117
|
protected abstract persistModel(
|
|
104
|
-
response: Amity.Payloads[TPayloadDomain] & Amity.Pagination
|
|
118
|
+
response: Amity.Payloads[TPayloadDomain] & Partial<Amity.Pagination>,
|
|
105
119
|
): Promise<void>;
|
|
106
120
|
|
|
107
121
|
protected abstract persistQueryStream({
|
|
@@ -117,7 +131,7 @@ export abstract class LiveCollectionController<
|
|
|
117
131
|
protected shouldNotify(data: TPublicPayload[]) {
|
|
118
132
|
if (isEqual(this.snapshot, data)) return false;
|
|
119
133
|
|
|
120
|
-
this.snapshot = data;
|
|
134
|
+
this.snapshot = data.map(payload => convertGetterPropsToStatic(payload)) as TPublicPayload[];
|
|
121
135
|
return true;
|
|
122
136
|
}
|
|
123
137
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import { getActiveClient } from '~/client/api';
|
|
3
|
+
|
|
4
|
+
export abstract class PaginationNoPageController<
|
|
5
|
+
TPayloadDomain extends keyof Amity.Payloads,
|
|
6
|
+
TQueryParams,
|
|
7
|
+
> {
|
|
8
|
+
private queryParams: TQueryParams;
|
|
9
|
+
|
|
10
|
+
protected http: AxiosInstance;
|
|
11
|
+
|
|
12
|
+
constructor(queryParams: TQueryParams) {
|
|
13
|
+
const { http } = getActiveClient();
|
|
14
|
+
|
|
15
|
+
this.queryParams = queryParams;
|
|
16
|
+
this.http = http;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async onFetch() {
|
|
20
|
+
const queryResponse = await this.getRequest(this.queryParams);
|
|
21
|
+
|
|
22
|
+
return queryResponse;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
abstract getRequest(queryParams: TQueryParams): Promise<Amity.Payloads[TPayloadDomain]>;
|
|
26
|
+
}
|
package/src/core/model/index.ts
CHANGED
|
@@ -53,6 +53,24 @@ export const sortByLastCreated: SortingFunc<{ createdAt: Date | number | string
|
|
|
53
53
|
{ createdAt: b },
|
|
54
54
|
) => new Date(b).valueOf() - new Date(a).valueOf();
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Sorting a collection by its oldest items
|
|
58
|
+
* -- Due to Amity.UpdatedAt is an optional type, we need to define a default value to 0 to prevent error
|
|
59
|
+
*/
|
|
60
|
+
export const sortByFirstUpdated: SortingFunc<{ updatedAt?: Date | number | string }> = (
|
|
61
|
+
{ updatedAt: a = 0 },
|
|
62
|
+
{ updatedAt: b = 0 },
|
|
63
|
+
) => new Date(a).valueOf() - new Date(b).valueOf();
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Sorting a collection by its newest items
|
|
67
|
+
* -- Due to Amity.UpdatedAt is an optional type, we need to define a default value to 0 to prevent error
|
|
68
|
+
*/
|
|
69
|
+
export const sortByLastUpdated: SortingFunc<{ updatedAt?: Date | number | string }> = (
|
|
70
|
+
{ updatedAt: a = 0 },
|
|
71
|
+
{ updatedAt: b = 0 },
|
|
72
|
+
) => new Date(b).valueOf() - new Date(a).valueOf();
|
|
73
|
+
|
|
56
74
|
/**
|
|
57
75
|
* Sorting a collection by the items with most recent activity
|
|
58
76
|
*/
|
|
@@ -26,21 +26,50 @@ import { LinkedObject } from '~/utils/linkedObject';
|
|
|
26
26
|
* */
|
|
27
27
|
export const getCustomRankingGlobalFeed = async (query?: {
|
|
28
28
|
dataTypes?: ('video' | 'image' | 'file' | 'liveStream')[];
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated please use queryToken to query next pages or previous pages
|
|
31
|
+
* The first page result includes previous token and next token in paging field
|
|
32
|
+
* use this token as the queryToken to query next pages or previous pages
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
29
35
|
page?: Amity.Page;
|
|
30
|
-
|
|
36
|
+
limit?: number;
|
|
37
|
+
queryToken?: string;
|
|
38
|
+
}): Promise<
|
|
39
|
+
Omit<Amity.Cached<Amity.Paged<Amity.Post>> & Amity.Pagination, 'nextPage' | 'prevPage'> & {
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated use `paging.next` value as queryToken instead
|
|
42
|
+
*/
|
|
43
|
+
nextPage?: Amity.Page;
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated use `paging.previous` value as queryToken instead
|
|
46
|
+
*/
|
|
47
|
+
prevPage?: Amity.Page;
|
|
48
|
+
}
|
|
49
|
+
> => {
|
|
31
50
|
const client = getActiveClient();
|
|
32
51
|
client.log('feed/getCustomRankingGlobalFeed', query);
|
|
33
52
|
|
|
34
|
-
const { page, ...params } = query ?? {};
|
|
53
|
+
const { page, queryToken, limit, ...params } = query ?? {};
|
|
54
|
+
|
|
55
|
+
const options = (() => {
|
|
56
|
+
if (queryToken) return { token: queryToken };
|
|
57
|
+
|
|
58
|
+
if (page)
|
|
59
|
+
return {
|
|
60
|
+
token: toToken(page, 'skiplimit'),
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return undefined;
|
|
64
|
+
})();
|
|
35
65
|
|
|
36
66
|
const { data: queryPayload } = await client.http.get<Amity.PostPayload & Amity.Pagination>(
|
|
37
67
|
`/api/v5/me/global-feeds`,
|
|
38
68
|
{
|
|
39
69
|
params: {
|
|
40
70
|
...params,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
},
|
|
71
|
+
limit: !queryToken ? limit : undefined,
|
|
72
|
+
options,
|
|
44
73
|
},
|
|
45
74
|
},
|
|
46
75
|
);
|
|
@@ -67,7 +96,7 @@ export const getCustomRankingGlobalFeed = async (query?: {
|
|
|
67
96
|
const nextPage = toPage(paging.next);
|
|
68
97
|
const prevPage = toPage(paging.previous);
|
|
69
98
|
|
|
70
|
-
return { data: posts.map(LinkedObject.post), cachedAt, prevPage, nextPage };
|
|
99
|
+
return { data: posts.map(LinkedObject.post), cachedAt, prevPage, nextPage, paging };
|
|
71
100
|
};
|
|
72
101
|
/* end_public_function */
|
|
73
102
|
|
|
@@ -87,7 +116,18 @@ export const getCustomRankingGlobalFeed = async (query?: {
|
|
|
87
116
|
* */
|
|
88
117
|
getCustomRankingGlobalFeed.locally = (
|
|
89
118
|
query?: Parameters<typeof getCustomRankingGlobalFeed>[0],
|
|
90
|
-
):
|
|
119
|
+
):
|
|
120
|
+
| (Omit<Amity.Cached<Amity.Paged<Amity.Post>> & Amity.Pagination, 'nextPage' | 'prevPage'> & {
|
|
121
|
+
/**
|
|
122
|
+
* @deprecated use `paging.next` value as queryToken instead
|
|
123
|
+
*/
|
|
124
|
+
nextPage?: Amity.Page;
|
|
125
|
+
/**
|
|
126
|
+
* @deprecated use `paging.previous` value as queryToken instead
|
|
127
|
+
*/
|
|
128
|
+
prevPage?: Amity.Page;
|
|
129
|
+
})
|
|
130
|
+
| undefined => {
|
|
91
131
|
const client = getActiveClient();
|
|
92
132
|
client.log('post/getCustomRankingGlobalFeed.locally', query);
|
|
93
133
|
|
|
@@ -114,7 +154,9 @@ getCustomRankingGlobalFeed.locally = (
|
|
|
114
154
|
const prevPage = toPage(data?.paging.previous);
|
|
115
155
|
const nextPage = toPage(data?.paging.next);
|
|
116
156
|
|
|
157
|
+
const { paging } = data;
|
|
158
|
+
|
|
117
159
|
return posts.length === data?.posts?.length
|
|
118
|
-
? { data: posts.map(LinkedObject.post), cachedAt, prevPage, nextPage }
|
|
160
|
+
? { data: posts.map(LinkedObject.post), cachedAt, prevPage, nextPage, paging }
|
|
119
161
|
: undefined;
|
|
120
162
|
};
|
|
@@ -24,15 +24,24 @@ import { LinkedObject } from '~/utils/linkedObject';
|
|
|
24
24
|
* @category Feed API
|
|
25
25
|
* @async
|
|
26
26
|
* */
|
|
27
|
-
export const queryGlobalFeed = async (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
export const queryGlobalFeed = async (
|
|
28
|
+
query?: Amity.QueryGlobalFeed,
|
|
29
|
+
): Promise<
|
|
30
|
+
Omit<Amity.Cached<Amity.Paged<Amity.Post> & Amity.Pagination>, 'nextPage' | 'prevPage'> & {
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated use `paging.next` value as queryToken instead
|
|
33
|
+
*/
|
|
34
|
+
nextPage?: Amity.Page;
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated use `paging.previous` value as queryToken instead
|
|
37
|
+
*/
|
|
38
|
+
prevPage?: Amity.Page;
|
|
39
|
+
}
|
|
40
|
+
> => {
|
|
32
41
|
const client = getActiveClient();
|
|
33
42
|
client.log('feed/queryGlobalFeed', query);
|
|
34
43
|
|
|
35
|
-
const { useCustomRanking, page, ...params } = query ?? {};
|
|
44
|
+
const { useCustomRanking, page, queryToken, ...params } = query ?? {};
|
|
36
45
|
|
|
37
46
|
/*
|
|
38
47
|
* TODO: Remove useCustomRanking key from query
|
|
@@ -42,14 +51,24 @@ export const queryGlobalFeed = async (query?: {
|
|
|
42
51
|
'The param "useCustomRanking" has been deprecated. To get custom ranking feed use FeedRepository.getCustomRankingGlobalFeed instead',
|
|
43
52
|
);
|
|
44
53
|
|
|
54
|
+
if (page) console.warn('The param "page" has been deprecated. Please use "queryToken" instead.');
|
|
55
|
+
|
|
56
|
+
const options = (() => {
|
|
57
|
+
if (queryToken) return { token: queryToken };
|
|
58
|
+
if (page)
|
|
59
|
+
return {
|
|
60
|
+
token: toToken(page, 'skiplimit'),
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return undefined;
|
|
64
|
+
})();
|
|
65
|
+
|
|
45
66
|
const { data: queryPayload } = await client.http.get<Amity.PostPayload & Amity.Pagination>(
|
|
46
67
|
`/api/v4/me/global-feeds`,
|
|
47
68
|
{
|
|
48
69
|
params: {
|
|
49
70
|
...params,
|
|
50
|
-
options
|
|
51
|
-
token: toToken(page, 'skiplimit'),
|
|
52
|
-
},
|
|
71
|
+
options,
|
|
53
72
|
},
|
|
54
73
|
},
|
|
55
74
|
);
|
|
@@ -76,7 +95,13 @@ export const queryGlobalFeed = async (query?: {
|
|
|
76
95
|
const nextPage = toPage(paging.next);
|
|
77
96
|
const prevPage = toPage(paging.previous);
|
|
78
97
|
|
|
79
|
-
return {
|
|
98
|
+
return {
|
|
99
|
+
data: posts.map(LinkedObject.post),
|
|
100
|
+
cachedAt,
|
|
101
|
+
prevPage,
|
|
102
|
+
nextPage,
|
|
103
|
+
paging,
|
|
104
|
+
};
|
|
80
105
|
};
|
|
81
106
|
/* end_public_function */
|
|
82
107
|
|
|
@@ -96,7 +121,18 @@ export const queryGlobalFeed = async (query?: {
|
|
|
96
121
|
* */
|
|
97
122
|
queryGlobalFeed.locally = (
|
|
98
123
|
query?: Parameters<typeof queryGlobalFeed>[0],
|
|
99
|
-
):
|
|
124
|
+
):
|
|
125
|
+
| (Omit<Amity.Cached<Amity.Paged<Amity.Post> & Amity.Pagination>, 'nextPage' | 'prevPage'> & {
|
|
126
|
+
/**
|
|
127
|
+
* @deprecated use `paging.next` value as queryToken instead
|
|
128
|
+
*/
|
|
129
|
+
nextPage?: Amity.Page;
|
|
130
|
+
/**
|
|
131
|
+
* @deprecated use `paging.previous` value as queryToken instead
|
|
132
|
+
*/
|
|
133
|
+
prevPage?: Amity.Page;
|
|
134
|
+
})
|
|
135
|
+
| undefined => {
|
|
100
136
|
const client = getActiveClient();
|
|
101
137
|
client.log('post/queryGlobalFeed.locally', query);
|
|
102
138
|
|
|
@@ -120,10 +156,18 @@ queryGlobalFeed.locally = (
|
|
|
120
156
|
.map(({ data }) => data)
|
|
121
157
|
.map(LinkedObject.post);
|
|
122
158
|
|
|
159
|
+
const { paging } = data;
|
|
160
|
+
|
|
123
161
|
const prevPage = toPage(data?.paging.previous);
|
|
124
162
|
const nextPage = toPage(data?.paging.next);
|
|
125
163
|
|
|
126
164
|
return posts.length === data?.posts?.length
|
|
127
|
-
? {
|
|
165
|
+
? {
|
|
166
|
+
data: posts,
|
|
167
|
+
cachedAt,
|
|
168
|
+
prevPage,
|
|
169
|
+
nextPage,
|
|
170
|
+
paging,
|
|
171
|
+
}
|
|
128
172
|
: undefined;
|
|
129
173
|
};
|
package/src/index.ts
CHANGED
|
@@ -28,7 +28,6 @@ export * as ChannelRepository from './channelRepository';
|
|
|
28
28
|
export * as MessageRepository from './messageRepository';
|
|
29
29
|
export * as SubChannelRepository from './subChannelRepository';
|
|
30
30
|
|
|
31
|
-
export * from './marker/api';
|
|
32
31
|
export * from './marker/events';
|
|
33
32
|
|
|
34
33
|
// // asc social
|
|
@@ -43,5 +42,7 @@ export * as PollRepository from './pollRepository';
|
|
|
43
42
|
|
|
44
43
|
export * as LiveStreamPlayer from './liveStreamPlayer';
|
|
45
44
|
|
|
45
|
+
export * as StoryRepository from './storyRepository';
|
|
46
|
+
|
|
46
47
|
// // external apis
|
|
47
48
|
export * from './external/api';
|
|
@@ -10,11 +10,8 @@ import { convertChannelMarkerResponse, convertUserMarkerResponse } from '~/utils
|
|
|
10
10
|
* const channelMarkers = await getChannelMarkers(['ch1', 'ch2'])
|
|
11
11
|
* ```
|
|
12
12
|
*
|
|
13
|
-
* Fetches a paginable list of {@link Amity.ChannelMarker} objects
|
|
14
|
-
*
|
|
15
13
|
* @param channelIds the IDs of the {@link Amity.RawChannel} marker to fetch
|
|
16
|
-
* @
|
|
17
|
-
* @returns A page of {@link Amity.ChannelMarker} objects
|
|
14
|
+
* @returns A List of {@link Amity.ChannelMarker} by channelIds
|
|
18
15
|
*
|
|
19
16
|
* @category Channel API
|
|
20
17
|
* @async
|
|
@@ -22,24 +19,20 @@ import { convertChannelMarkerResponse, convertUserMarkerResponse } from '~/utils
|
|
|
22
19
|
*/
|
|
23
20
|
export const getChannelMarkers = async (
|
|
24
21
|
channelIds: Amity.Channel['channelId'][],
|
|
25
|
-
|
|
26
|
-
): Promise<Amity.Cached<Amity.Paged<Amity.ChannelMarker>>> => {
|
|
22
|
+
): Promise<Amity.Cached<Amity.ChannelMarker[]>> => {
|
|
27
23
|
const client = getActiveClient();
|
|
28
|
-
client.log('channel/getChannelMarkers', channelIds
|
|
24
|
+
client.log('channel/getChannelMarkers', channelIds);
|
|
29
25
|
|
|
30
26
|
const { data: queryPayload } = await client.http.get<
|
|
31
27
|
Amity.ChannelMarkerPayload & Amity.Pagination
|
|
32
28
|
>(`/api/v1/markers/channels`, {
|
|
33
29
|
params: {
|
|
34
30
|
channelIds,
|
|
35
|
-
options: {
|
|
36
|
-
token: toToken(page, 'skiplimit'),
|
|
37
|
-
},
|
|
38
31
|
},
|
|
39
32
|
});
|
|
40
33
|
|
|
41
|
-
const {
|
|
42
|
-
|
|
34
|
+
const { userEntityMarkers: userEntityMarkersPayload, userMarkers: userMarkersPayload } =
|
|
35
|
+
queryPayload;
|
|
43
36
|
|
|
44
37
|
const userMarkers = convertUserMarkerResponse(userMarkersPayload);
|
|
45
38
|
const userEntityMarkers = convertChannelMarkerResponse(userEntityMarkersPayload);
|
|
@@ -52,8 +45,5 @@ export const getChannelMarkers = async (
|
|
|
52
45
|
});
|
|
53
46
|
fireEvent('local.userMarker.fetched', { userMarkers });
|
|
54
47
|
|
|
55
|
-
|
|
56
|
-
const prevPage = toPage(paging.previous);
|
|
57
|
-
|
|
58
|
-
return { data: userEntityMarkers, cachedAt, prevPage, nextPage };
|
|
48
|
+
return { data: userEntityMarkers, cachedAt };
|
|
59
49
|
};
|
|
@@ -10,11 +10,10 @@ import { convertUserMarkerResponse } from '~/utils/marker';
|
|
|
10
10
|
* const messageMarkers = await getMessageMarkers(['sch1', 'sch2'])
|
|
11
11
|
* ```
|
|
12
12
|
*
|
|
13
|
-
* Fetches a
|
|
13
|
+
* Fetches a list of {@link Amity.MessageMarker} by messageIds
|
|
14
14
|
*
|
|
15
15
|
* @param messageIds the feed IDs of the {@link Amity.RawMessage} marker to fetch
|
|
16
|
-
* @
|
|
17
|
-
* @returns A page of {@link Amity.MessageMarker} objects
|
|
16
|
+
* @returns A list of {@link Amity.MessageMarker} by messageIds
|
|
18
17
|
*
|
|
19
18
|
* @category Channel API
|
|
20
19
|
* @async
|
|
@@ -22,24 +21,20 @@ import { convertUserMarkerResponse } from '~/utils/marker';
|
|
|
22
21
|
*/
|
|
23
22
|
export const getMessageMarkers = async (
|
|
24
23
|
messageIds: Amity.RawMessage['messageFeedId'][],
|
|
25
|
-
|
|
26
|
-
): Promise<Amity.Cached<Amity.Paged<Amity.MessageMarker>>> => {
|
|
24
|
+
): Promise<Amity.Cached<Amity.MessageMarker[]>> => {
|
|
27
25
|
const client = getActiveClient();
|
|
28
|
-
client.log('channel/getMessageMarkers', messageIds
|
|
26
|
+
client.log('channel/getMessageMarkers', messageIds);
|
|
29
27
|
|
|
30
|
-
const { data: queryPayload } = await client.http.get<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
options: {
|
|
36
|
-
token: toToken(page, 'skiplimit'),
|
|
28
|
+
const { data: queryPayload } = await client.http.get<Amity.MessageMarkerPayload>(
|
|
29
|
+
`/api/v1/markers/messages`,
|
|
30
|
+
{
|
|
31
|
+
params: {
|
|
32
|
+
messageIds,
|
|
37
33
|
},
|
|
38
34
|
},
|
|
39
|
-
|
|
35
|
+
);
|
|
40
36
|
|
|
41
|
-
const {
|
|
42
|
-
const { contentMarkers, feedMarkers, userMarkers: userMarkersPayload } = payload;
|
|
37
|
+
const { contentMarkers, feedMarkers, userMarkers: userMarkersPayload } = queryPayload;
|
|
43
38
|
|
|
44
39
|
const userMarkers = convertUserMarkerResponse(userMarkersPayload);
|
|
45
40
|
|
|
@@ -50,8 +45,5 @@ export const getMessageMarkers = async (
|
|
|
50
45
|
fireEvent('local.messageMarker.fetched', { contentMarkers });
|
|
51
46
|
fireEvent('local.userMarker.fetched', { userMarkers });
|
|
52
47
|
|
|
53
|
-
|
|
54
|
-
const prevPage = toPage(paging.previous);
|
|
55
|
-
|
|
56
|
-
return { data: contentMarkers, cachedAt, prevPage, nextPage };
|
|
48
|
+
return { data: contentMarkers, cachedAt };
|
|
57
49
|
};
|