@amityco/ts-sdk 6.22.0 → 6.22.1-161d824.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/.env +26 -26
- package/dist/@types/domains/post.d.ts +2 -3
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
- package/dist/index.cjs.js +52 -39
- package/dist/index.esm.js +52 -39
- package/dist/index.umd.js +4 -4
- package/dist/messageRepository/events/onMessageCreated.d.ts.map +1 -1
- package/dist/messageRepository/utils/markReadMessage.d.ts +2 -0
- package/dist/messageRepository/utils/markReadMessage.d.ts.map +1 -0
- package/dist/postRepository/api/createPost.d.ts +1 -1
- package/dist/postRepository/api/createPost.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/dist/utils/linkedObject/messageLinkedObject.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/domains/post.ts +3 -3
- package/src/channelRepository/observers/getChannel.ts +4 -1
- package/src/communityRepository/communityMembership/events/utils.ts +2 -2
- package/src/messageRepository/events/onMessageCreated.ts +4 -0
- package/src/messageRepository/utils/markReadMessage.ts +8 -0
- package/src/postRepository/api/createPost.ts +1 -2
- package/src/subChannelRepository/observers/getSubChannel.ts +8 -4
- package/src/subChannelRepository/observers/getSubChannels/SubChannelLiveCollectionController.ts +9 -6
- package/src/utils/linkedObject/messageLinkedObject.ts +2 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onMessageCreated.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/events/onMessageCreated.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onMessageCreated.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/events/onMessageCreated.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YA+BR,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YAcR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markReadMessage.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/utils/markReadMessage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,YAAa,MAAM,eAAe,SAK7D,CAAC"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* @category Post API
|
|
17
17
|
* @async
|
|
18
18
|
*/
|
|
19
|
-
export declare const createPost: <T extends
|
|
19
|
+
export declare const createPost: <T extends string>(bundle: Pick<Amity.Post<T>, "targetType" | "targetId"> & Partial<Pick<Amity.Post<T>, "metadata" | "tags" | "mentionees">> & {
|
|
20
20
|
dataType?: T | undefined;
|
|
21
21
|
data?: {
|
|
22
22
|
[k: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPost.d.ts","sourceRoot":"","sources":["../../../src/postRepository/api/createPost.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU;;;;;;;gBAKgB,UAAU,CAAC,QAAQ,CAAC;;MAExD,QAAQ,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"createPost.d.ts","sourceRoot":"","sources":["../../../src/postRepository/api/createPost.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU;;;;;;;gBAKgB,UAAU,CAAC,QAAQ,CAAC;;MAExD,QAAQ,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,CAwBlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubChannel.d.ts","sourceRoot":"","sources":["../../../src/subChannelRepository/observers/getSubChannel.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,iBACV,MAAM,UAAU,CAAC,cAAc,CAAC,YACpC,MAAM,kBAAkB,CAAC,MAAM,UAAU,CAAC,KACnD,MAAM,
|
|
1
|
+
{"version":3,"file":"getSubChannel.d.ts","sourceRoot":"","sources":["../../../src/subChannelRepository/observers/getSubChannel.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,iBACV,MAAM,UAAU,CAAC,cAAc,CAAC,YACpC,MAAM,kBAAkB,CAAC,MAAM,UAAU,CAAC,KACnD,MAAM,YAoLR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubChannelLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/subChannelRepository/observers/getSubChannels/SubChannelLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AA6BlF,qBAAa,kCAAmC,SAAQ,wBAAwB,CAC9E,YAAY,EACZ,KAAK,CAAC,wBAAwB,EAC9B,KAAK,CAAC,UAAU,EAChB,8BAA8B,CAC/B;IACC,OAAO,CAAC,qBAAqB,CAAkC;IAE/D,OAAO,CAAC,KAAK,CAAiC;gBAG5C,KAAK,EAAE,KAAK,CAAC,wBAAwB,EACrC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC;IAmB1D,SAAS,CAAC,KAAK;cASC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU;IAIjF,SAAS,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,KAAK,CAAC,sCAAsC,CAAC,YAAY,CAAC;IAI7D,iBAAiB;
|
|
1
|
+
{"version":3,"file":"SubChannelLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/subChannelRepository/observers/getSubChannels/SubChannelLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AA6BlF,qBAAa,kCAAmC,SAAQ,wBAAwB,CAC9E,YAAY,EACZ,KAAK,CAAC,wBAAwB,EAC9B,KAAK,CAAC,UAAU,EAChB,8BAA8B,CAC/B;IACC,OAAO,CAAC,qBAAqB,CAAkC;IAE/D,OAAO,CAAC,KAAK,CAAiC;gBAG5C,KAAK,EAAE,KAAK,CAAC,wBAAwB,EACrC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC;IAmB1D,SAAS,CAAC,KAAK;cASC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU;IAIjF,SAAS,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,KAAK,CAAC,sCAAsC,CAAC,YAAY,CAAC;IAI7D,iBAAiB;IAyNjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IAuBzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE;CAWrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/messageLinkedObject.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"messageLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/messageLinkedObject.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,OAY1E,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,6 @@ export const PostContentType = Object.freeze({
|
|
|
5
5
|
VIDEO: 'video',
|
|
6
6
|
LIVESTREAM: 'liveStream',
|
|
7
7
|
POLL: 'poll',
|
|
8
|
-
CUSTOM: 'custom',
|
|
9
8
|
});
|
|
10
9
|
|
|
11
10
|
declare global {
|
|
@@ -27,7 +26,7 @@ declare global {
|
|
|
27
26
|
| 'onReactionAdded'
|
|
28
27
|
| 'onReactionRemoved';
|
|
29
28
|
|
|
30
|
-
type InternalPost<T extends PostContentType = any> = {
|
|
29
|
+
type InternalPost<T extends PostContentType | string = any> = {
|
|
31
30
|
postId: string;
|
|
32
31
|
postedUserId: Amity.InternalUser['userId']; // API-FIX: it should be "userId"
|
|
33
32
|
parentId: Amity.InternalPost['postId'];
|
|
@@ -60,7 +59,8 @@ declare global {
|
|
|
60
59
|
};
|
|
61
60
|
};
|
|
62
61
|
|
|
63
|
-
type Post<T extends PostContentType = any> = Amity.InternalPost<T> &
|
|
62
|
+
type Post<T extends PostContentType | string = any> = Amity.InternalPost<T> &
|
|
63
|
+
Amity.PostLinkObject;
|
|
64
64
|
|
|
65
65
|
type QueryPosts = {
|
|
66
66
|
targetId: string;
|
|
@@ -126,7 +126,10 @@ export const getChannel = (
|
|
|
126
126
|
callback(message);
|
|
127
127
|
};
|
|
128
128
|
|
|
129
|
-
return onMessageCreatedMqtt(
|
|
129
|
+
return onMessageCreatedMqtt(async (message: Amity.InternalMessage) => {
|
|
130
|
+
await updateMessagePreview(message);
|
|
131
|
+
callback(message);
|
|
132
|
+
});
|
|
130
133
|
},
|
|
131
134
|
'channelId',
|
|
132
135
|
'channel',
|
|
@@ -11,7 +11,7 @@ import { isNonNullable } from '~/utils';
|
|
|
11
11
|
function hasPermission(
|
|
12
12
|
member: Amity.Membership<'community'>,
|
|
13
13
|
payload: {
|
|
14
|
-
|
|
14
|
+
communityUsers: Amity.Membership<'community'>[];
|
|
15
15
|
},
|
|
16
16
|
permission: string,
|
|
17
17
|
) {
|
|
@@ -20,7 +20,7 @@ function hasPermission(
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
return payload
|
|
23
|
-
.
|
|
23
|
+
.communityUsers!.find(user => user.userId === member.userId)!
|
|
24
24
|
.permissions.some(x => x === permission);
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -4,6 +4,8 @@ import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
|
4
4
|
import { prepareMessagePayload } from '../utils';
|
|
5
5
|
import { updateSubChannelUnreadFromMessage } from '~/marker/utils/updateSubChannelUnreadFromMessage';
|
|
6
6
|
import { reCalculateChannelUnreadInfo } from '~/marker/utils/reCalculateChannelUnreadInfo';
|
|
7
|
+
import { markReadMessage } from '../utils/markReadMessage';
|
|
8
|
+
import { getActiveUser } from '~/client/api/activeUser';
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
11
|
* ```js
|
|
@@ -25,6 +27,7 @@ export const onMessageCreatedMqtt = (
|
|
|
25
27
|
callback: Amity.Listener<Amity.InternalMessage>,
|
|
26
28
|
): Amity.Unsubscriber => {
|
|
27
29
|
const client = getActiveClient();
|
|
30
|
+
const user = getActiveUser();
|
|
28
31
|
|
|
29
32
|
const filter = async (rawPayload: Amity.MessagePayload) => {
|
|
30
33
|
const payload = await prepareMessagePayload(rawPayload);
|
|
@@ -41,6 +44,7 @@ export const onMessageCreatedMqtt = (
|
|
|
41
44
|
ingestInCache(payload);
|
|
42
45
|
|
|
43
46
|
payload.messages.forEach(message => {
|
|
47
|
+
if (message.creatorPrivateId === user._id) markReadMessage(message);
|
|
44
48
|
callback(message);
|
|
45
49
|
});
|
|
46
50
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import ReadReceiptSyncEngine from '~/client/utils/ReadReceiptSync/readReceiptSyncEngine';
|
|
2
|
+
|
|
3
|
+
export const markReadMessage = (message: Amity.InternalMessage) => {
|
|
4
|
+
const { subChannelId, channelSegment } = message;
|
|
5
|
+
const markReadReceiptEngine = ReadReceiptSyncEngine.getInstance();
|
|
6
|
+
|
|
7
|
+
markReadReceiptEngine.markRead(subChannelId, channelSegment);
|
|
8
|
+
};
|
|
@@ -26,7 +26,7 @@ import { LinkedObject } from '~/utils/linkedObject';
|
|
|
26
26
|
* @category Post API
|
|
27
27
|
* @async
|
|
28
28
|
*/
|
|
29
|
-
export const createPost = async <T extends Amity.PostContentType>(
|
|
29
|
+
export const createPost = async <T extends Amity.PostContentType | string>(
|
|
30
30
|
bundle: Pick<Amity.Post<T>, 'targetType' | 'targetId'> &
|
|
31
31
|
Partial<Pick<Amity.Post<T>, 'metadata' | 'mentionees' | 'tags'>> & {
|
|
32
32
|
dataType?: T;
|
|
@@ -37,7 +37,6 @@ export const createPost = async <T extends Amity.PostContentType>(
|
|
|
37
37
|
const client = getActiveClient();
|
|
38
38
|
client.log('post/createPost', bundle);
|
|
39
39
|
|
|
40
|
-
// API-FIX: backend rejects that we pass the dataType manually T_T
|
|
41
40
|
if (!bundle.dataType || ['text', 'image', 'file', 'video'].includes(bundle.dataType)) {
|
|
42
41
|
// eslint-disable-next-line no-param-reassign
|
|
43
42
|
delete bundle.dataType;
|
|
@@ -135,10 +135,12 @@ export const getSubChannel = (
|
|
|
135
135
|
updateSubChannelCache(message.subChannelId, subChannel, {
|
|
136
136
|
messagePreviewId: message.messageId,
|
|
137
137
|
});
|
|
138
|
+
};
|
|
138
139
|
|
|
140
|
+
return onMessageCreatedMqtt(async (message: Amity.InternalMessage) => {
|
|
141
|
+
await updateMessagePreview(message);
|
|
139
142
|
callback(message);
|
|
140
|
-
};
|
|
141
|
-
return onMessageCreatedMqtt(updateMessagePreview);
|
|
143
|
+
});
|
|
142
144
|
},
|
|
143
145
|
'subChannelId',
|
|
144
146
|
'subChannel',
|
|
@@ -163,10 +165,12 @@ export const getSubChannel = (
|
|
|
163
165
|
updateSubChannelCache(message.subChannelId, subChannel, {
|
|
164
166
|
messagePreviewId: message.messageId,
|
|
165
167
|
});
|
|
168
|
+
};
|
|
166
169
|
|
|
170
|
+
return onMessageCreatedLocal(async (message: Amity.InternalMessage) => {
|
|
171
|
+
await updateMessagePreview(message);
|
|
167
172
|
callback(message);
|
|
168
|
-
};
|
|
169
|
-
return onMessageCreatedLocal(updateMessagePreview);
|
|
173
|
+
});
|
|
170
174
|
},
|
|
171
175
|
'subChannelId',
|
|
172
176
|
'subChannel',
|
package/src/subChannelRepository/observers/getSubChannels/SubChannelLiveCollectionController.ts
CHANGED
|
@@ -119,6 +119,14 @@ export class SubChannelLiveCollectionController extends LiveCollectionController
|
|
|
119
119
|
},
|
|
120
120
|
{
|
|
121
121
|
fn: callback => {
|
|
122
|
+
const updateMessagePreview = async (message: Amity.InternalMessage) => {
|
|
123
|
+
const client = getActiveClient();
|
|
124
|
+
const messagePreviewSetting = await client.getMessagePreviewSetting(false);
|
|
125
|
+
|
|
126
|
+
if (messagePreviewSetting === Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW) return;
|
|
127
|
+
|
|
128
|
+
handleMessageCreated(message);
|
|
129
|
+
};
|
|
122
130
|
return onMessageCreatedMqtt(async message => {
|
|
123
131
|
const cacheData = pullFromCache<Amity.SubChannel>([
|
|
124
132
|
'subChannel',
|
|
@@ -134,12 +142,7 @@ export class SubChannelLiveCollectionController extends LiveCollectionController
|
|
|
134
142
|
|
|
135
143
|
if (!collection || !collection.data.includes(message.subChannelId)) return;
|
|
136
144
|
|
|
137
|
-
|
|
138
|
-
const messagePreviewSetting = await client.getMessagePreviewSetting(false);
|
|
139
|
-
|
|
140
|
-
if (messagePreviewSetting === Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW) return;
|
|
141
|
-
|
|
142
|
-
handleMessageCreated(message);
|
|
145
|
+
await updateMessagePreview(message);
|
|
143
146
|
|
|
144
147
|
const subChannelCache = pullFromCache<Amity.SubChannel>([
|
|
145
148
|
'subChannel',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import ReadReceiptSyncEngine from '~/client/utils/ReadReceiptSync/readReceiptSyncEngine';
|
|
2
1
|
import { getMessageReadCount } from '~/messageRepository/utils/getMessageReadCount';
|
|
2
|
+
import { markReadMessage } from '~/messageRepository/utils/markReadMessage';
|
|
3
3
|
|
|
4
4
|
export const messageLinkedObject = (message: Amity.InternalMessage): Amity.Message => {
|
|
5
5
|
const { creatorPrivateId, ...rest } = message;
|
|
@@ -11,11 +11,6 @@ export const messageLinkedObject = (message: Amity.InternalMessage): Amity.Messa
|
|
|
11
11
|
get deliveredCount() {
|
|
12
12
|
return getMessageReadCount(message).deliveredCount;
|
|
13
13
|
},
|
|
14
|
-
markRead: () =>
|
|
15
|
-
const { subChannelId, channelSegment } = message;
|
|
16
|
-
const markReadReceiptEngine = ReadReceiptSyncEngine.getInstance();
|
|
17
|
-
|
|
18
|
-
markReadReceiptEngine.markRead(subChannelId, channelSegment);
|
|
19
|
-
},
|
|
14
|
+
markRead: () => markReadMessage(message),
|
|
20
15
|
};
|
|
21
16
|
};
|