@amityco/ts-sdk 6.17.1-e9b6af1.0 → 6.17.2-ea577e1.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/payload.d.ts +1 -0
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/core/permissions.d.ts +5 -0
- package/dist/@types/core/permissions.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +1 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/story.d.ts +4 -0
- package/dist/@types/domains/story.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/client/observers/getTotalUnreadCount.d.ts.map +1 -1
- package/dist/client/observers/getUserUnread.d.ts.map +1 -1
- package/dist/client/utils/hasPermission/checkChannelPermission.d.ts +2 -0
- package/dist/client/utils/hasPermission/checkChannelPermission.d.ts.map +1 -0
- package/dist/client/utils/hasPermission/checkCommunityPermission.d.ts +2 -0
- package/dist/client/utils/hasPermission/checkCommunityPermission.d.ts.map +1 -0
- package/dist/client/utils/hasPermission/checkUserPermission.d.ts +2 -0
- package/dist/client/utils/hasPermission/checkUserPermission.d.ts.map +1 -0
- package/dist/client/utils/hasPermission/hasPermission.d.ts +6 -0
- package/dist/client/utils/hasPermission/hasPermission.d.ts.map +1 -0
- package/dist/client/utils/hasPermission/index.d.ts +2 -0
- package/dist/client/utils/hasPermission/index.d.ts.map +1 -0
- package/dist/client/utils/markerSyncEngine.d.ts.map +1 -1
- package/dist/index.cjs.js +510 -70
- package/dist/index.esm.js +510 -71
- package/dist/index.umd.js +4 -4
- package/dist/marker/api/getUserMarker.d.ts +1 -1
- package/dist/marker/api/getUserMarker.d.ts.map +1 -1
- package/dist/marker/events/onChannelMarkerFetched.d.ts.map +1 -1
- package/dist/marker/events/onUserMarkerFetched.d.ts +2 -1
- package/dist/marker/events/onUserMarkerFetched.d.ts.map +1 -1
- package/dist/messageRepository/events/onMessageCreated.d.ts +2 -1
- package/dist/messageRepository/events/onMessageCreated.d.ts.map +1 -1
- package/dist/messageRepository/observers/observeMessages.d.ts.map +1 -1
- package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
- package/dist/storyRepository/constants.d.ts +1 -0
- package/dist/storyRepository/constants.d.ts.map +1 -1
- package/dist/storyRepository/observers/getStoriesByTargetIds/StoryLiveCollectionController.d.ts +14 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/StoryLiveCollectionController.d.ts.map +1 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/StoryPaginationNoPageController.d.ts +5 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/StoryPaginationNoPageController.d.ts.map +1 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/StoryQueryStreamController.d.ts +16 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/StoryQueryStreamController.d.ts.map +1 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/getStoriesByTargetIds.d.ts +5 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/getStoriesByTargetIds.d.ts.map +1 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/index.d.ts +2 -0
- package/dist/storyRepository/observers/getStoriesByTargetIds/index.d.ts.map +1 -0
- package/dist/storyRepository/observers/index.d.ts +1 -0
- package/dist/storyRepository/observers/index.d.ts.map +1 -1
- package/dist/subChannelRepository/observers/getSubChannel.d.ts.map +1 -1
- package/dist/subChannelRepository/observers/getSubChannels/SubChannelLiveCollectionController.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/payload.ts +1 -0
- package/src/@types/core/permissions.ts +6 -0
- package/src/@types/domains/client.ts +2 -0
- package/src/@types/domains/story.ts +5 -0
- package/src/channelRepository/observers/getChannel.ts +30 -2
- package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +65 -3
- package/src/client/api/createClient.ts +3 -1
- package/src/client/observers/getTotalUnreadCount.ts +14 -4
- package/src/client/observers/getUserUnread.ts +95 -11
- package/src/client/utils/hasPermission/checkChannelPermission.ts +22 -0
- package/src/client/utils/hasPermission/checkCommunityPermission.ts +22 -0
- package/src/client/utils/hasPermission/checkUserPermission.ts +12 -0
- package/src/client/utils/hasPermission/hasPermission.ts +18 -0
- package/src/client/utils/hasPermission/index.ts +1 -0
- package/src/client/utils/markerSyncEngine.ts +46 -32
- package/src/marker/api/getUserMarker.ts +15 -4
- package/src/marker/events/onChannelMarkerFetched.ts +3 -1
- package/src/marker/events/onUserMarkerFetched.ts +17 -0
- package/src/messageRepository/api/tests/createMessage.test.ts +4 -4
- package/src/messageRepository/events/onMessageCreated.ts +20 -8
- package/src/messageRepository/events/tests/events.test.ts +2 -2
- package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +2 -2
- package/src/messageRepository/observers/observeMessages.ts +8 -2
- package/src/messageRepository/utils/prepareMessagePayload.ts +14 -4
- package/src/storyRepository/constants.ts +1 -0
- package/src/storyRepository/observers/getStoriesByTargetIds/StoryLiveCollectionController.ts +113 -0
- package/src/storyRepository/observers/getStoriesByTargetIds/StoryPaginationNoPageController.ts +18 -0
- package/src/storyRepository/observers/getStoriesByTargetIds/StoryQueryStreamController.ts +97 -0
- package/src/storyRepository/observers/getStoriesByTargetIds/getStoriesByTargetIds.ts +32 -0
- package/src/storyRepository/observers/getStoriesByTargetIds/index.ts +1 -0
- package/src/storyRepository/observers/index.ts +1 -0
- package/src/subChannelRepository/observers/getSubChannel.ts +35 -2
- package/src/subChannelRepository/observers/getSubChannels/SubChannelLiveCollectionController.ts +53 -2
|
@@ -5,7 +5,12 @@ import { getSubChannel as _getSubChannel } from '../api/getSubChannel';
|
|
|
5
5
|
import { onSubChannelDeleted, onSubChannelUpdated } from '../events';
|
|
6
6
|
import { onSubChannelFetched } from '../events/onSubChannelFetched';
|
|
7
7
|
import { pullFromCache, pushToCache } from '~/cache/api';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
onMessageCreatedLocal,
|
|
10
|
+
onMessageCreatedMqtt,
|
|
11
|
+
onMessageDeleted,
|
|
12
|
+
onMessageUpdated,
|
|
13
|
+
} from '~/messageRepository';
|
|
9
14
|
import {
|
|
10
15
|
handleMessageCreated,
|
|
11
16
|
handleMessageUpdated,
|
|
@@ -132,7 +137,35 @@ export const getSubChannel = (
|
|
|
132
137
|
|
|
133
138
|
callback(message);
|
|
134
139
|
};
|
|
135
|
-
return
|
|
140
|
+
return onMessageCreatedMqtt(updateMessagePreview);
|
|
141
|
+
},
|
|
142
|
+
'subChannelId',
|
|
143
|
+
'subChannel',
|
|
144
|
+
),
|
|
145
|
+
convertEventPayload(
|
|
146
|
+
(callback: Amity.Listener<Amity.Message>) => {
|
|
147
|
+
const updateMessagePreview = async (message: Amity.Message) => {
|
|
148
|
+
const messagePreviewSetting = await client.getMessagePreviewSetting(false);
|
|
149
|
+
if (messagePreviewSetting === Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW) return;
|
|
150
|
+
|
|
151
|
+
await handleMessageCreated(message);
|
|
152
|
+
|
|
153
|
+
if (message.subChannelId !== subChannelId) return;
|
|
154
|
+
|
|
155
|
+
const subChannel = pullFromCache<Amity.SubChannel>([
|
|
156
|
+
'subChannel',
|
|
157
|
+
'get',
|
|
158
|
+
subChannelId,
|
|
159
|
+
])?.data;
|
|
160
|
+
if (!subChannel) return;
|
|
161
|
+
|
|
162
|
+
updateSubChannelCache(message.subChannelId, subChannel, {
|
|
163
|
+
messagePreviewId: message.messageId,
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
callback(message);
|
|
167
|
+
};
|
|
168
|
+
return onMessageCreatedLocal(updateMessagePreview);
|
|
136
169
|
},
|
|
137
170
|
'subChannelId',
|
|
138
171
|
'subChannel',
|
package/src/subChannelRepository/observers/getSubChannels/SubChannelLiveCollectionController.ts
CHANGED
|
@@ -9,7 +9,12 @@ import {
|
|
|
9
9
|
onSubChannelDeleted,
|
|
10
10
|
onSubChannelUpdated,
|
|
11
11
|
} from '~/subChannelRepository/events';
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
onMessageUpdated,
|
|
14
|
+
onMessageDeleted,
|
|
15
|
+
onMessageCreatedMqtt,
|
|
16
|
+
onMessageCreatedLocal,
|
|
17
|
+
} from '~/messageRepository/events';
|
|
13
18
|
import { onSubChannelMarkerFetched, onSubChannelMarkerUpdated } from '~/marker/events';
|
|
14
19
|
import { convertEventPayload } from '~/utils/event';
|
|
15
20
|
import { filterByPropEquality, sortByLastActivity } from '~/core/query';
|
|
@@ -113,7 +118,53 @@ export class SubChannelLiveCollectionController extends LiveCollectionController
|
|
|
113
118
|
},
|
|
114
119
|
{
|
|
115
120
|
fn: callback => {
|
|
116
|
-
return
|
|
121
|
+
return onMessageCreatedMqtt(async message => {
|
|
122
|
+
const cacheData = pullFromCache<Amity.SubChannel>([
|
|
123
|
+
'subChannel',
|
|
124
|
+
'get',
|
|
125
|
+
message.subChannelId,
|
|
126
|
+
]);
|
|
127
|
+
|
|
128
|
+
if (!cacheData) return;
|
|
129
|
+
|
|
130
|
+
const collection = pullFromCache<Amity.SubChannelLiveCollectionCache>(
|
|
131
|
+
this.cacheKey,
|
|
132
|
+
)?.data;
|
|
133
|
+
|
|
134
|
+
if (!collection || !collection.data.includes(message.subChannelId)) return;
|
|
135
|
+
|
|
136
|
+
const client = getActiveClient();
|
|
137
|
+
const messagePreviewSetting = await client.getMessagePreviewSetting(false);
|
|
138
|
+
|
|
139
|
+
if (messagePreviewSetting === Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW) return;
|
|
140
|
+
|
|
141
|
+
handleMessageCreated(message);
|
|
142
|
+
|
|
143
|
+
const subChannelCache = pullFromCache<Amity.SubChannel>([
|
|
144
|
+
'subChannel',
|
|
145
|
+
'get',
|
|
146
|
+
message.subChannelId,
|
|
147
|
+
])?.data;
|
|
148
|
+
if (!subChannelCache) return;
|
|
149
|
+
|
|
150
|
+
updateSubChannelCache(message.subChannelId, subChannelCache, {
|
|
151
|
+
lastActivity: message.createdAt,
|
|
152
|
+
messagePreviewId: message.messageId,
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
callback({
|
|
156
|
+
...cacheData.data,
|
|
157
|
+
messagePreviewId: message.messageId,
|
|
158
|
+
subChannelId: message.subChannelId,
|
|
159
|
+
lastActivity: message.createdAt,
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
},
|
|
163
|
+
action: 'onUpdate',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
fn: callback => {
|
|
167
|
+
return onMessageCreatedLocal(async message => {
|
|
117
168
|
const cacheData = pullFromCache<Amity.SubChannel>([
|
|
118
169
|
'subChannel',
|
|
119
170
|
'get',
|