@amityco/ts-sdk 7.32.1-d7637d9.0 → 7.32.1-fb6342dc.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.
@@ -36,7 +36,7 @@ declare global {
36
36
  reason: ContentFlagReasonEnum;
37
37
  detail?: string;
38
38
  };
39
- type ContentType = 'text' | 'image' | 'file' | 'video' | 'poll' | 'json' | 'liveStream' | 'clip' | 'audio' | string;
39
+ type ContentType = 'text' | 'image' | 'file' | 'video' | 'poll' | 'json' | 'liveStream' | 'clip' | 'audio' | 'gif' | string;
40
40
  type ContentFeedType = ValueOf<typeof ContentFeedType>;
41
41
  type ContentDataText = {
42
42
  title?: string | null;
@@ -100,6 +100,12 @@ declare global {
100
100
  type ContentDataStream = {
101
101
  streamId: Amity.Stream['streamId'];
102
102
  };
103
+ /** A GIF child post: the link the app sent, and its size when the app sent one. */
104
+ type ContentDataGif = {
105
+ url: string;
106
+ width?: number;
107
+ height?: number;
108
+ };
103
109
  type ContentDataRoom = {
104
110
  roomId: Amity.Room['_id'];
105
111
  };
@@ -108,7 +114,7 @@ declare global {
108
114
  title?: string;
109
115
  text?: string;
110
116
  };
111
- type ContentData<T extends ContentType> = T extends 'text' ? ContentDataText : T extends 'file' ? ContentDataFile : T extends 'image' ? ContentDataImage : T extends 'video' ? ContentDataVideo : T extends 'audio' ? ContentDataAudio : T extends 'poll' ? ContentDataPoll : T extends 'liveStream' ? ContentDataStream : T extends 'clip' ? ContentDataClip : T extends 'room' ? ContentDataRoom : T extends 'event' ? ContentDataEvent : T extends 'json' ? Record<string, unknown> : T extends string ? string | Record<string, unknown> : never;
117
+ type ContentData<T extends ContentType> = T extends 'text' ? ContentDataText : T extends 'file' ? ContentDataFile : T extends 'image' ? ContentDataImage : T extends 'video' ? ContentDataVideo : T extends 'audio' ? ContentDataAudio : T extends 'poll' ? ContentDataPoll : T extends 'liveStream' ? ContentDataStream : T extends 'clip' ? ContentDataClip : T extends 'room' ? ContentDataRoom : T extends 'event' ? ContentDataEvent : T extends 'gif' ? ContentDataGif : T extends 'json' ? Record<string, unknown> : T extends string ? string | Record<string, unknown> : never;
112
118
  type Content<T extends ContentType> = {
113
119
  dataType?: T;
114
120
  dataTypes?: T[];
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/content.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,10 @@ declare global {
54
54
  queryToken?: string;
55
55
  includeMixedStructure?: boolean;
56
56
  };
57
- type CustomRankingGlobalFeedLiveCollection = Amity.LiveCollectionParams<Omit<QueryGlobalFeed, 'resolveParent' | 'queryToken'>>;
57
+ type CustomRankingGlobalFeedLiveCollection = Amity.LiveCollectionParams<Omit<QueryGlobalFeed, 'resolveParent' | 'queryToken' | 'dataTypes'> & {
58
+ /** This feed is on v5, which also takes `gif`; the v4 global feed does not. */
59
+ dataTypes?: (NonNullable<QueryGlobalFeed['dataTypes']>[number] | 'gif')[];
60
+ }>;
58
61
  type CustomRankingGlobalFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryGlobalFeed>;
59
62
  type GlobalFeedLiveCollection = Amity.LiveCollectionParams<Omit<QueryGlobalFeed, 'queryToken'>>;
60
63
  type GlobalFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryGlobalFeed>;
@@ -1 +1 @@
1
- {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/feed.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare const PostContentType: Readonly<{
9
9
  AUDIO: "audio";
10
10
  ROOM: "room";
11
11
  EVENT: "event";
12
+ GIF: "gif";
12
13
  }>;
13
14
  export declare const PostStructureType: Readonly<{
14
15
  TEXT: "text";
@@ -18,12 +19,22 @@ export declare const PostStructureType: Readonly<{
18
19
  AUDIO: "audio";
19
20
  MIXED: "mixed";
20
21
  EVENT: "event";
22
+ /** A post that holds only GIFs. GIFs beside other media make the post `mixed`. */
23
+ GIF: "gif";
21
24
  }>;
22
25
  declare global {
23
26
  namespace Amity {
24
27
  type PostTargetType = Amity.Feed['targetType'] | 'content' | 'all';
25
28
  type PostContentType = ValueOf<typeof PostContentType> | string;
26
29
  type MixedMediaPostContentType = Exclude<ValueOf<typeof PostContentType>, 'text' | 'poll' | 'liveStream' | 'clip'>;
30
+ /**
31
+ * One attachment a post create or edit sends: an uploaded file by its id, or a GIF by its
32
+ * link. A GIF takes no product tags; the server refuses them.
33
+ */
34
+ type PostAttachment<T extends string = MixedMediaPostContentType> = {
35
+ type: Exclude<T, 'gif'>;
36
+ fileId: Amity.File['fileId'];
37
+ } | Amity.GifAttachment;
27
38
  type PostActionType = 'onFetch' | 'onCreate' | 'onUpdate' | 'onDelete' | 'onApproved' | 'onDeclined' | 'onFlagged' | 'onUnflagged' | 'onReactionAdded' | 'onReactionRemoved';
28
39
  type PostStructureType = ValueOf<typeof PostStructureType>;
29
40
  type RawPost<T extends PostContentType = any> = {
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/post.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs.js CHANGED
@@ -193,6 +193,7 @@ const PostContentType = Object.freeze({
193
193
  AUDIO: 'audio',
194
194
  ROOM: 'room',
195
195
  EVENT: 'event',
196
+ GIF: 'gif',
196
197
  });
197
198
  const PostStructureType = Object.freeze({
198
199
  TEXT: 'text',
@@ -202,6 +203,8 @@ const PostStructureType = Object.freeze({
202
203
  AUDIO: 'audio',
203
204
  MIXED: 'mixed',
204
205
  EVENT: 'event',
206
+ /** A post that holds only GIFs. GIFs beside other media make the post `mixed`. */
207
+ GIF: 'gif',
205
208
  });
206
209
 
207
210
  exports.InvitationTypeEnum = void 0;
@@ -28116,13 +28119,13 @@ const deleteComment = async (commentId, permanent = false) => {
28116
28119
  permanent,
28117
28120
  },
28118
28121
  });
28119
- // to support hard deletion; the server empties a deleted comment's attachments
28120
- const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true, attachments: [] });
28122
+ // to support hard deletion
28123
+ const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true });
28121
28124
  if (permanent) {
28122
28125
  scheduleTask(() => pushToTombstone('comment', commentId));
28123
28126
  }
28124
28127
  else {
28125
- upsertInCache(['comment', 'get', commentId], { isDeleted: true, attachments: [] });
28128
+ upsertInCache(['comment', 'get', commentId], { isDeleted: true });
28126
28129
  }
28127
28130
  if (comment.data.referenceType === 'story') {
28128
28131
  const story = await getStoryByStoryId$1(comment.data.referenceId);
@@ -30452,6 +30455,19 @@ getPostByIds.locally = (postIds) => {
30452
30455
  };
30453
30456
  };
30454
30457
 
30458
+ /*
30459
+ * The `attachments` a post create or edit sends. A GIF goes with its known keys only and never
30460
+ * with product tags (both a 400). A file takes its product tags from the map, as before.
30461
+ */
30462
+ const preparePostAttachments = (attachments, attachmentProductTags) => attachments === null || attachments === void 0 ? void 0 : attachments.map(attachment => {
30463
+ if (attachment.type === 'gif') {
30464
+ return toGifAttachmentPayload(attachment);
30465
+ }
30466
+ if (!attachmentProductTags || !attachment.fileId)
30467
+ return attachment;
30468
+ return Object.assign(Object.assign({}, attachment), { productTags: attachmentProductTags.get(attachment.fileId) });
30469
+ });
30470
+
30455
30471
  /* begin_public_function
30456
30472
  id: post.create.text_post, post.create.image_post, post.create.file_post, post.create.video_post, post.create.poll_post, post.create.livestream_post, post.create.custom_post
30457
30473
  */
@@ -30481,17 +30497,7 @@ const createPost = async (bundle) => {
30481
30497
  delete bundle.dataType;
30482
30498
  }
30483
30499
  const { attachments, attachmentProductTags } = bundle, rest = __rest(bundle, ["attachments", "attachmentProductTags"]);
30484
- const processedAttachments = attachments && attachments.length > 0 && bundle.attachmentProductTags
30485
- ? attachments.map(attachment => {
30486
- var _a;
30487
- /* c8 ignore next */
30488
- const productTags = (_a = bundle.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
30489
- if (productTags)
30490
- return Object.assign(Object.assign({}, attachment), { productTags });
30491
- /* c8 ignore next */
30492
- return attachment;
30493
- })
30494
- : attachments;
30500
+ const processedAttachments = preparePostAttachments(attachments, attachmentProductTags);
30495
30501
  const { data: payload } = await client.http.post('/api/v4/posts', Object.assign(Object.assign({}, rest), { attachments: processedAttachments }));
30496
30502
  fireEvent('post.created', payload);
30497
30503
  const data = preparePostPayload(payload);
@@ -30517,7 +30523,9 @@ const createPost = async (bundle) => {
30517
30523
  * })
30518
30524
  * ```
30519
30525
  *
30520
- * Updates an {@link Amity.Post}
30526
+ * Updates an {@link Amity.Post}. `attachments` is the full list to keep: a GIF is matched by its
30527
+ * `url`, so send each kept GIF back with its link and size as read from `childrenPosts`; an
30528
+ * attachment left out is deleted, `[]` removes them all, and leaving `attachments` out keeps them.
30521
30529
  *
30522
30530
  * @param postId The ID of the {@link Amity.Post} to edit
30523
30531
  * @param patch The patch data to apply
@@ -30530,17 +30538,7 @@ const editPost = async (postId, patch) => {
30530
30538
  const client = getActiveClient();
30531
30539
  client.log('user/editPost', patch);
30532
30540
  const { attachments } = patch;
30533
- const processedAttachments = attachments && attachments.length > 0 && patch.attachmentProductTags
30534
- ? attachments.map(attachment => {
30535
- var _a;
30536
- /* c8 ignore next */
30537
- const productTags = (_a = patch.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
30538
- if (productTags)
30539
- return Object.assign(Object.assign({}, attachment), { productTags });
30540
- /* c8 ignore next */
30541
- return attachment;
30542
- })
30543
- : attachments;
30541
+ const processedAttachments = preparePostAttachments(attachments, patch.attachmentProductTags);
30544
30542
  const { data: payload } = await client.http.put(`/api/v4/posts/${encodeURIComponent(postId)}`, Object.assign(Object.assign({}, patch), { attachments: processedAttachments }));
30545
30543
  const data = prepareMembershipPayload(payload, 'communityUsers');
30546
30544
  const cachedAt = client.cache && Date.now();
@@ -31024,11 +31022,14 @@ const createAudioPost = async (bundle) => {
31024
31022
  * { fileId: "file1", type: "image" },
31025
31023
  * { fileId: "file2", type: "video" },
31026
31024
  * { fileId: "file3", type: "audio" },
31027
- * { fileId: "file4", type: "file" }
31025
+ * { fileId: "file4", type: "file" },
31026
+ * { type: "gif", url: "https://media.giphy.com/media/l0MYt5jPR6QX5pnqM/giphy.gif", width: 480, height: 270 }
31028
31027
  * ],
31029
31028
  * })
31030
31029
  * ```
31031
31030
  *
31031
+ * A post holds 1 to 10 attachments. A GIF is a link, not a file, and takes no product tags.
31032
+ *
31032
31033
  * Creates an {@link Amity.Post}
31033
31034
  *
31034
31035
  * @param bundle The data necessary to create a new {@link Amity.Post}
@@ -31042,17 +31043,7 @@ const createMixedMediaPost = async (bundle) => {
31042
31043
  const client = getActiveClient();
31043
31044
  client.log('post/createMixedMediaPost', bundle);
31044
31045
  const { attachments, attachmentProductTags } = bundle, rest = __rest(bundle, ["attachments", "attachmentProductTags"]);
31045
- const processedAttachments = attachments && attachments.length > 0 && bundle.attachmentProductTags
31046
- ? attachments.map(attachment => {
31047
- var _a;
31048
- /* c8 ignore next */
31049
- const productTags = (_a = bundle.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
31050
- if (productTags)
31051
- return Object.assign(Object.assign({}, attachment), { productTags });
31052
- /* c8 ignore next */
31053
- return attachment;
31054
- })
31055
- : /* c8 ignore next */ attachments;
31046
+ const processedAttachments = preparePostAttachments(attachments, attachmentProductTags);
31056
31047
  const { data: payload } = await client.http.post('/api/v4/posts', Object.assign(Object.assign({}, rest), { attachments: processedAttachments }));
31057
31048
  fireEvent('post.created', payload);
31058
31049
  const data = preparePostPayload(payload);
@@ -31569,6 +31560,10 @@ class PostLiveCollectionController extends LiveCollectionController {
31569
31560
  *
31570
31561
  * Observe all mutations on a list of {@link Amity.Post} for a given target object
31571
31562
  *
31563
+ * GIF posts come back on every API version. This query is on v5, so `dataTypes: ['gif']` filters
31564
+ * them; a post with GIFs beside other media is `mixed` and is hidden unless
31565
+ * `includeMixedStructure` is `true`.
31566
+ *
31572
31567
  * @param params.targetType the type of the target
31573
31568
  * @param params.targetId the ID of the target
31574
31569
  * @param callback the function to call when new data are available
package/dist/index.esm.js CHANGED
@@ -177,6 +177,7 @@ const PostContentType = Object.freeze({
177
177
  AUDIO: 'audio',
178
178
  ROOM: 'room',
179
179
  EVENT: 'event',
180
+ GIF: 'gif',
180
181
  });
181
182
  const PostStructureType = Object.freeze({
182
183
  TEXT: 'text',
@@ -186,6 +187,8 @@ const PostStructureType = Object.freeze({
186
187
  AUDIO: 'audio',
187
188
  MIXED: 'mixed',
188
189
  EVENT: 'event',
190
+ /** A post that holds only GIFs. GIFs beside other media make the post `mixed`. */
191
+ GIF: 'gif',
189
192
  });
190
193
 
191
194
  var InvitationTypeEnum;
@@ -28116,13 +28119,13 @@ const deleteComment = async (commentId, permanent = false) => {
28116
28119
  permanent,
28117
28120
  },
28118
28121
  });
28119
- // to support hard deletion; the server empties a deleted comment's attachments
28120
- const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true, attachments: [] });
28122
+ // to support hard deletion
28123
+ const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true });
28121
28124
  if (permanent) {
28122
28125
  scheduleTask(() => pushToTombstone('comment', commentId));
28123
28126
  }
28124
28127
  else {
28125
- upsertInCache(['comment', 'get', commentId], { isDeleted: true, attachments: [] });
28128
+ upsertInCache(['comment', 'get', commentId], { isDeleted: true });
28126
28129
  }
28127
28130
  if (comment.data.referenceType === 'story') {
28128
28131
  const story = await getStoryByStoryId$1(comment.data.referenceId);
@@ -30452,6 +30455,19 @@ getPostByIds.locally = (postIds) => {
30452
30455
  };
30453
30456
  };
30454
30457
 
30458
+ /*
30459
+ * The `attachments` a post create or edit sends. A GIF goes with its known keys only and never
30460
+ * with product tags (both a 400). A file takes its product tags from the map, as before.
30461
+ */
30462
+ const preparePostAttachments = (attachments, attachmentProductTags) => attachments === null || attachments === void 0 ? void 0 : attachments.map(attachment => {
30463
+ if (attachment.type === 'gif') {
30464
+ return toGifAttachmentPayload(attachment);
30465
+ }
30466
+ if (!attachmentProductTags || !attachment.fileId)
30467
+ return attachment;
30468
+ return Object.assign(Object.assign({}, attachment), { productTags: attachmentProductTags.get(attachment.fileId) });
30469
+ });
30470
+
30455
30471
  /* begin_public_function
30456
30472
  id: post.create.text_post, post.create.image_post, post.create.file_post, post.create.video_post, post.create.poll_post, post.create.livestream_post, post.create.custom_post
30457
30473
  */
@@ -30481,17 +30497,7 @@ const createPost = async (bundle) => {
30481
30497
  delete bundle.dataType;
30482
30498
  }
30483
30499
  const { attachments, attachmentProductTags } = bundle, rest = __rest(bundle, ["attachments", "attachmentProductTags"]);
30484
- const processedAttachments = attachments && attachments.length > 0 && bundle.attachmentProductTags
30485
- ? attachments.map(attachment => {
30486
- var _a;
30487
- /* c8 ignore next */
30488
- const productTags = (_a = bundle.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
30489
- if (productTags)
30490
- return Object.assign(Object.assign({}, attachment), { productTags });
30491
- /* c8 ignore next */
30492
- return attachment;
30493
- })
30494
- : attachments;
30500
+ const processedAttachments = preparePostAttachments(attachments, attachmentProductTags);
30495
30501
  const { data: payload } = await client.http.post('/api/v4/posts', Object.assign(Object.assign({}, rest), { attachments: processedAttachments }));
30496
30502
  fireEvent('post.created', payload);
30497
30503
  const data = preparePostPayload(payload);
@@ -30517,7 +30523,9 @@ const createPost = async (bundle) => {
30517
30523
  * })
30518
30524
  * ```
30519
30525
  *
30520
- * Updates an {@link Amity.Post}
30526
+ * Updates an {@link Amity.Post}. `attachments` is the full list to keep: a GIF is matched by its
30527
+ * `url`, so send each kept GIF back with its link and size as read from `childrenPosts`; an
30528
+ * attachment left out is deleted, `[]` removes them all, and leaving `attachments` out keeps them.
30521
30529
  *
30522
30530
  * @param postId The ID of the {@link Amity.Post} to edit
30523
30531
  * @param patch The patch data to apply
@@ -30530,17 +30538,7 @@ const editPost = async (postId, patch) => {
30530
30538
  const client = getActiveClient();
30531
30539
  client.log('user/editPost', patch);
30532
30540
  const { attachments } = patch;
30533
- const processedAttachments = attachments && attachments.length > 0 && patch.attachmentProductTags
30534
- ? attachments.map(attachment => {
30535
- var _a;
30536
- /* c8 ignore next */
30537
- const productTags = (_a = patch.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
30538
- if (productTags)
30539
- return Object.assign(Object.assign({}, attachment), { productTags });
30540
- /* c8 ignore next */
30541
- return attachment;
30542
- })
30543
- : attachments;
30541
+ const processedAttachments = preparePostAttachments(attachments, patch.attachmentProductTags);
30544
30542
  const { data: payload } = await client.http.put(`/api/v4/posts/${encodeURIComponent(postId)}`, Object.assign(Object.assign({}, patch), { attachments: processedAttachments }));
30545
30543
  const data = prepareMembershipPayload(payload, 'communityUsers');
30546
30544
  const cachedAt = client.cache && Date.now();
@@ -31024,11 +31022,14 @@ const createAudioPost = async (bundle) => {
31024
31022
  * { fileId: "file1", type: "image" },
31025
31023
  * { fileId: "file2", type: "video" },
31026
31024
  * { fileId: "file3", type: "audio" },
31027
- * { fileId: "file4", type: "file" }
31025
+ * { fileId: "file4", type: "file" },
31026
+ * { type: "gif", url: "https://media.giphy.com/media/l0MYt5jPR6QX5pnqM/giphy.gif", width: 480, height: 270 }
31028
31027
  * ],
31029
31028
  * })
31030
31029
  * ```
31031
31030
  *
31031
+ * A post holds 1 to 10 attachments. A GIF is a link, not a file, and takes no product tags.
31032
+ *
31032
31033
  * Creates an {@link Amity.Post}
31033
31034
  *
31034
31035
  * @param bundle The data necessary to create a new {@link Amity.Post}
@@ -31042,17 +31043,7 @@ const createMixedMediaPost = async (bundle) => {
31042
31043
  const client = getActiveClient();
31043
31044
  client.log('post/createMixedMediaPost', bundle);
31044
31045
  const { attachments, attachmentProductTags } = bundle, rest = __rest(bundle, ["attachments", "attachmentProductTags"]);
31045
- const processedAttachments = attachments && attachments.length > 0 && bundle.attachmentProductTags
31046
- ? attachments.map(attachment => {
31047
- var _a;
31048
- /* c8 ignore next */
31049
- const productTags = (_a = bundle.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
31050
- if (productTags)
31051
- return Object.assign(Object.assign({}, attachment), { productTags });
31052
- /* c8 ignore next */
31053
- return attachment;
31054
- })
31055
- : /* c8 ignore next */ attachments;
31046
+ const processedAttachments = preparePostAttachments(attachments, attachmentProductTags);
31056
31047
  const { data: payload } = await client.http.post('/api/v4/posts', Object.assign(Object.assign({}, rest), { attachments: processedAttachments }));
31057
31048
  fireEvent('post.created', payload);
31058
31049
  const data = preparePostPayload(payload);
@@ -31569,6 +31560,10 @@ class PostLiveCollectionController extends LiveCollectionController {
31569
31560
  *
31570
31561
  * Observe all mutations on a list of {@link Amity.Post} for a given target object
31571
31562
  *
31563
+ * GIF posts come back on every API version. This query is on v5, so `dataTypes: ['gif']` filters
31564
+ * them; a post with GIFs beside other media is `mixed` and is hidden unless
31565
+ * `includeMixedStructure` is `true`.
31566
+ *
31572
31567
  * @param params.targetType the type of the target
31573
31568
  * @param params.targetId the ID of the target
31574
31569
  * @param callback the function to call when new data are available