@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.
@@ -1 +1 @@
1
- {"version":3,"file":"onMessageCreated.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/events/onMessageCreated.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YA6BR,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,MAAM,QAAQ,CAAC,MAAM,eAAe,CAAC,KAC9C,MAAM,YAcR,CAAC"}
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,2 @@
1
+ export declare const markReadMessage: (message: Amity.InternalMessage) => void;
2
+ //# sourceMappingURL=markReadMessage.d.ts.map
@@ -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 Amity.PostContentType>(bundle: Pick<Amity.Post<T>, "targetType" | "targetId"> & Partial<Pick<Amity.Post<T>, "metadata" | "tags" | "mentionees">> & {
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,CAyBlC,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,YAgLR,CAAC"}
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;IAsNjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IAuBzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE;CAWrC"}
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,OAiB1E,CAAC"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk",
3
- "version": "6.22.0",
3
+ "version": "6.22.1-161d824.0",
4
4
  "license": "CC-BY-ND-4.0",
5
5
  "author": "amity.co <developers@amity.co> (https://amity.co)",
6
6
  "description": "Amity Social Cloud Typescript SDK",
@@ -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> & Amity.PostLinkObject;
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(updateMessagePreview);
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
- users: Amity.InternalUser[];
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
- .users!.find(user => user.userId === member.userId)!
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',
@@ -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
- const client = getActiveClient();
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
  };