@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/channel.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,qBAAqB,YAAa,MAAM,UAAU,KAAG,MAAM,eAGvE,CAAC;AAEF,eAAO,MAAM,wBAAwB,eACvB,MAAM,cAAc,KAC/B,MAAM,uBAIP,CAAC;AAEH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,UAAU,CAiBvF;AAED,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAC/C,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAgBhC;AAED,eAAO,MAAM,yBAAyB,WAC5B,MAAM,aAAa,CAAC,SAAS,CAAC,QAChC,MAAM,YAAY,GAAG,SAAS,KACnC,MAAM,UAAU,CAAC,SAAS,CAG3B,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,
|
|
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
|
@@ -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'>;
|
package/src/@types/core/live.ts
CHANGED
|
@@ -18,8 +18,8 @@ declare global {
|
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
type LiveCollection<T extends any> = LiveObject<T[]> & {
|
|
21
|
-
onNextPage
|
|
22
|
-
hasNextPage
|
|
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
|
};
|
package/src/@types/core/model.ts
CHANGED
|
@@ -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?:
|
|
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?:
|
|
99
|
+
page?: Amity.Page;
|
|
97
100
|
};
|
|
98
101
|
|
|
99
102
|
type ChannelLiveCollection = Amity.LiveCollectionParams<Omit<QueryChannels, 'page'>>;
|
|
@@ -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
|
-
|
|
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?:
|
|
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?:
|
|
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.
|
|
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 |
|
|
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?:
|
|
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?:
|
|
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
|
}
|
package/src/@types/index.ts
CHANGED
|
@@ -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';
|
package/src/analytic/constant.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export const ANALYTIC_CACHE_KEY = ['analytic', '
|
|
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
|
-
|
|
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
|
|
19
|
-
|
|
20
|
-
|
|
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:
|
|
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
|
}
|