@amityco/ts-sdk 7.32.0 → 7.32.1-28e31d56.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/domains/comment.d.ts +2 -2
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/content.d.ts +23 -3
- package/dist/@types/domains/content.d.ts.map +1 -1
- package/dist/@types/domains/feed.d.ts +4 -1
- package/dist/@types/domains/feed.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +11 -0
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/commentRepository/api/createComment.d.ts +1 -1
- package/dist/commentRepository/api/createComment.d.ts.map +1 -1
- package/dist/commentRepository/api/tests/createComment.gif.test.d.ts +2 -0
- package/dist/commentRepository/api/tests/createComment.gif.test.d.ts.map +1 -0
- package/dist/commentRepository/api/tests/deleteComment.gif.test.d.ts +2 -0
- package/dist/commentRepository/api/tests/deleteComment.gif.test.d.ts.map +1 -0
- package/dist/commentRepository/api/tests/updateComment.gif.test.d.ts +2 -0
- package/dist/commentRepository/api/tests/updateComment.gif.test.d.ts.map +1 -0
- package/dist/commentRepository/api/updateComment.d.ts +9 -2
- package/dist/commentRepository/api/updateComment.d.ts.map +1 -1
- package/dist/commentRepository/observers/tests/getComments.gif.test.d.ts +2 -0
- package/dist/commentRepository/observers/tests/getComments.gif.test.d.ts.map +1 -0
- package/dist/commentRepository/utils/dataTypes.d.ts +2 -0
- package/dist/commentRepository/utils/dataTypes.d.ts.map +1 -0
- package/dist/index.cjs.js +84 -43
- package/dist/index.esm.js +84 -43
- package/dist/index.umd.js +2 -2
- package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
- package/dist/postRepository/api/createMixedMediaPost.d.ts +6 -6
- package/dist/postRepository/api/createMixedMediaPost.d.ts.map +1 -1
- package/dist/postRepository/api/createPost.d.ts +1 -4
- package/dist/postRepository/api/createPost.d.ts.map +1 -1
- package/dist/postRepository/api/editPost.d.ts +4 -5
- package/dist/postRepository/api/editPost.d.ts.map +1 -1
- package/dist/postRepository/api/tests/gifPost.test.d.ts +2 -0
- package/dist/postRepository/api/tests/gifPost.test.d.ts.map +1 -0
- package/dist/postRepository/observers/getPosts.d.ts +4 -0
- package/dist/postRepository/observers/getPosts.d.ts.map +1 -1
- package/dist/postRepository/utils/attachments.d.ts +8 -0
- package/dist/postRepository/utils/attachments.d.ts.map +1 -0
- package/dist/utils/gifAttachment.d.ts +5 -0
- package/dist/utils/gifAttachment.d.ts.map +1 -0
- package/dist/utils/postTypePredicate.d.ts +1 -0
- package/dist/utils/postTypePredicate.d.ts.map +1 -1
- package/dist/utils/tests/dummy/comment.d.ts +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ declare global {
|
|
|
11
11
|
* Absent on the wire means `approved` — see `prepareCommentPayload`.
|
|
12
12
|
*/
|
|
13
13
|
type CommentApprovalStatus = `${CommentApprovalStatusEnum}`;
|
|
14
|
-
type CommentContentType = 'text';
|
|
14
|
+
type CommentContentType = 'text' | 'gif';
|
|
15
15
|
type CommentReferenceType = 'content' | 'post' | 'story';
|
|
16
16
|
type CommentActionType = 'onFetch' | 'onCreate' | 'onUpdate' | 'onDelete' | 'onFlagged' | 'onUnflagged' | 'onReactionAdded' | 'onReactionRemoved';
|
|
17
17
|
type RawComment<T extends CommentContentType = any> = {
|
|
@@ -57,7 +57,7 @@ declare global {
|
|
|
57
57
|
limit?: number;
|
|
58
58
|
page?: Amity.Token;
|
|
59
59
|
dataTypes?: {
|
|
60
|
-
values: ('image' | 'text')[];
|
|
60
|
+
values: ('image' | 'text' | 'gif')[];
|
|
61
61
|
matchType: 'any' | 'exact';
|
|
62
62
|
};
|
|
63
63
|
excludeBlockUserComments?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,WAAW,yBAAyB;YAClC,OAAO,YAAY;YACnB,QAAQ,aAAa;YACrB,QAAQ,aAAa;SACtB;QAED;;;WAGG;QACH,KAAK,qBAAqB,GAAG,GAAG,yBAAyB,EAAE,CAAC;QAE5D,KAAK,kBAAkB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/comment.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
@@ -49,11 +49,25 @@ declare global {
|
|
|
49
49
|
fileId: Amity.File<'image'>['fileId'];
|
|
50
50
|
caption?: string;
|
|
51
51
|
};
|
|
52
|
+
/**
|
|
53
|
+
* A GIF picked by the app from its own provider. It is a link, not a file: nothing is
|
|
54
|
+
* uploaded and there is no `fileId`. Leave out a size that has no value; `null` is refused,
|
|
55
|
+
* and so is any other key (alt text and provider fields included).
|
|
56
|
+
*/
|
|
57
|
+
type GifAttachment = {
|
|
58
|
+
type: 'gif';
|
|
59
|
+
/** https, path ends in `.gif`, at most 2,000 characters. Checked by the server. */
|
|
60
|
+
url: string;
|
|
61
|
+
/** 1 to 4096 */
|
|
62
|
+
width?: number;
|
|
63
|
+
/** 1 to 4096 */
|
|
64
|
+
height?: number;
|
|
65
|
+
};
|
|
52
66
|
type Attachment = {
|
|
53
67
|
type: 'image' | 'link';
|
|
54
68
|
url?: string;
|
|
55
69
|
fileId?: Amity.File<'image'>['fileId'];
|
|
56
|
-
};
|
|
70
|
+
} | GifAttachment;
|
|
57
71
|
type ContentDataVideo = {
|
|
58
72
|
/**
|
|
59
73
|
* Null until the server has finished transcoding the video: the field is
|
|
@@ -86,6 +100,12 @@ declare global {
|
|
|
86
100
|
type ContentDataStream = {
|
|
87
101
|
streamId: Amity.Stream['streamId'];
|
|
88
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
|
+
};
|
|
89
109
|
type ContentDataRoom = {
|
|
90
110
|
roomId: Amity.Room['_id'];
|
|
91
111
|
};
|
|
@@ -94,7 +114,7 @@ declare global {
|
|
|
94
114
|
title?: string;
|
|
95
115
|
text?: string;
|
|
96
116
|
};
|
|
97
|
-
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;
|
|
98
118
|
type Content<T extends ContentType> = {
|
|
99
119
|
dataType?: T;
|
|
100
120
|
dataTypes?: T[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/content.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,oBAAY,qBAAqB;IAC/B,mBAAmB,iCAAiC;IACpD,iBAAiB,uBAAuB;IACxC,oBAAoB,2BAA2B;IAC/C,iBAAiB,yBAAyB;IAC1C,4BAA4B,oCAAoC;IAChE,sBAAsB,2CAA2C;IACjE,qBAAqB,6BAA6B;IAClD,WAAW,kBAAkB;IAC7B,gBAAgB,wCAAwC;IACxD,MAAM,WAAW;CAClB;AAED;;;GAGG;AACH,OAAO,EAAE,qBAAqB,IAAI,0BAA0B,EAAE,CAAC;AAE/D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,iBAAiB,GAClB,OAAO,CAAC,GAAG,qBAAqB,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,GACtE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAElB;;;;;;WAMG;QACH,KAAK,kBAAkB,GAAG;YACxB,MAAM,EAAE,qBAAqB,CAAC;YAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QAEF,KAAK,WAAW,GACZ,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,YAAY,GACZ,MAAM,GACN,OAAO,GACP,MAAM,CAAC;QAEX,KAAK,eAAe,GAAG,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC;QAEvD,KAAK,eAAe,GAAG;YACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QAEF,KAAK,eAAe,GAAG;YACrB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;SACtC,CAAC;QAEF,KAAK,gBAAgB,GAAG;YACtB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;YACtC,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QAEF,KAAK,
|
|
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":"AAAA,OAAO,EAAE,CAAC;AAEV,0BAAkB,gBAAgB;IAChC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,0BAAkB,cAAc;IAC9B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,0BAAkB,cAAc;IAC9B,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,0BAAkB,YAAY;IAC5B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,YAAY,GAAG,gBAAgB,CAAC;QAErC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,IAAI,GAAG;YACV,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,GAAG,KAAK,CAAC,UAAU,CAAC;QAErB,KAAK,YAAY,GAAG;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,oBAAoB,EAAE,MAAM,CAAC;YAC7B,iBAAiB,EAAE,MAAM,CAAC;YAC1B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,iBAAiB,EAAE,MAAM,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC;YACvB,cAAc,EAAE,MAAM,CAAC;YACvB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;QAEF,KAAK,eAAe,GAAG;YACrB,SAAS,CAAC,EAAE,CACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,YAAY,GACZ,MAAM,GACN,MAAM,CACT,EAAE,CAAC;YACJ,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;QAEF,KAAK,qCAAqC,GAAG,KAAK,CAAC,oBAAoB,CACrE,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CAAC,
|
|
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":"AAAA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/post.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare type CreateCommentBundle = Pick<Amity.Comment<
|
|
1
|
+
declare type CreateCommentBundle = Pick<Amity.Comment<'text'>, 'data' | 'referenceType' | 'referenceId' | 'parentId' | 'metadata' | 'mentionees' | 'attachments' | 'links'>;
|
|
2
2
|
/**
|
|
3
3
|
* ```js
|
|
4
4
|
* import { CommentRepository } from '@amityco/ts-sdk'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createComment.d.ts","sourceRoot":"","sources":["../../../src/commentRepository/api/createComment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createComment.d.ts","sourceRoot":"","sources":["../../../src/commentRepository/api/createComment.ts"],"names":[],"mappings":"AA2BA,aAAK,mBAAmB,GAAG,IAAI,CAC7B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACnB,MAAM,GACN,eAAe,GACf,aAAa,GACb,UAAU,GACV,UAAU,GACV,YAAY,GACZ,aAAa,GACb,OAAO,CACV,CAAC;AAqEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,aAAa,WAChB,mBAAmB,6BAE1B,QAAQ,MAAM,MAAM,CAAC,aAAa,CAAC,CAmHrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createComment.gif.test.d.ts","sourceRoot":"","sources":["../../../../src/commentRepository/api/tests/createComment.gif.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteComment.gif.test.d.ts","sourceRoot":"","sources":["../../../../src/commentRepository/api/tests/deleteComment.gif.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateComment.gif.test.d.ts","sourceRoot":"","sources":["../../../../src/commentRepository/api/tests/updateComment.gif.test.ts"],"names":[],"mappings":""}
|
|
@@ -4,9 +4,16 @@
|
|
|
4
4
|
* const updated = await CommentRepository.updateComment(commentId, {
|
|
5
5
|
* data: { text: 'hello world' }
|
|
6
6
|
* })
|
|
7
|
+
*
|
|
8
|
+
* // Replace the GIF, or remove it and keep the text
|
|
9
|
+
* await CommentRepository.updateComment(commentId, {
|
|
10
|
+
* attachments: [{ type: 'gif', url: 'https://media.giphy.com/media/l0MYt5jPR6QX5pnqM/giphy.gif' }],
|
|
11
|
+
* })
|
|
12
|
+
* await CommentRepository.updateComment(commentId, { attachments: [] })
|
|
7
13
|
* ```
|
|
8
14
|
*
|
|
9
|
-
* Updates an {@link Amity.Comment}
|
|
15
|
+
* Updates an {@link Amity.Comment}. `attachments` replaces the current ones, `[]` removes them,
|
|
16
|
+
* and leaving `attachments` out keeps them as they are.
|
|
10
17
|
*
|
|
11
18
|
* @param commentId The ID of the {@link Amity.Comment} to edit
|
|
12
19
|
* @param patch The patch data to apply
|
|
@@ -15,5 +22,5 @@
|
|
|
15
22
|
* @category Comment API
|
|
16
23
|
* @async
|
|
17
24
|
*/
|
|
18
|
-
export declare const updateComment: (commentId: Amity.Comment['commentId'], patch: Patch<Amity.Comment, 'data' | 'metadata' | 'mentionees' | 'links'>) => Promise<Amity.Cached<Amity.Comment>>;
|
|
25
|
+
export declare const updateComment: (commentId: Amity.Comment['commentId'], patch: Patch<Amity.Comment, 'data' | 'metadata' | 'mentionees' | 'links' | 'attachments'>) => Promise<Amity.Cached<Amity.Comment>>;
|
|
19
26
|
//# sourceMappingURL=updateComment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateComment.d.ts","sourceRoot":"","sources":["../../../src/commentRepository/api/updateComment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateComment.d.ts","sourceRoot":"","sources":["../../../src/commentRepository/api/updateComment.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,cACb,aAAa,CAAC,WAAW,CAAC,SAC9B,MAAM,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,CAAC,KACxF,QAAQ,MAAM,MAAM,CAAC,aAAa,CAAC,CAoCrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getComments.gif.test.d.ts","sourceRoot":"","sources":["../../../../src/commentRepository/observers/tests/getComments.gif.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../../../src/commentRepository/utils/dataTypes.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,SACvB,MAAM,GAAG,SAAS,eACX,MAAM,UAAU,EAAE,GAAG,SAAS,KAC1C,MAAM,kBAAkB,EAI1B,CAAC"}
|
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;
|
|
@@ -14026,7 +14029,7 @@ const getWatchSessionStorage = () => {
|
|
|
14026
14029
|
return storageInstance;
|
|
14027
14030
|
};
|
|
14028
14031
|
|
|
14029
|
-
const privateKey = "
|
|
14032
|
+
const privateKey = "MIIEpQIBAAKCAQEAwAEc/oZgYIvKSUG/C3mONYLR4ZPgAjMEX4bJ+xqqakUDRtqlNO+eZs2blQ1Ko0DBkqPExyQezvjibH5W2UZBV5RaBTlTcNVKTToMBEGesAfaEcM3qUyQHxdbFYZv6P4sb14dcwxTQ8usmaV8ooiR1Fcaso5ZWYcZ8Hb46FbQ7OoVumsBtPWwfZ4f003o5VCl6AIM6lcLv9UDLlFVYhE+PeXpRHtfWlGqxMvqC9oinlwhL6nWv6VjQXW4nhcib72dPBzfHT7k/PMKto2SxALYdb68ENiAGuJLWi3AUHSyYCJK2w7wIlWfJUAI0v26ub10IpExr6D5QuW2577jjP93iwIDAQABAoIBAFWfqXhwIIatkFY+9Z1+ZcbDQimgsmMIsUiQaX6Lk7e0cxOj6czDlxYtVtaPiNtow2pLkjNkjkCqiP7tEHnwdK9DvylZOTa2R15NJpK3WLcTqVIGhsn/FL5owfvFah6zSsmXZParZm5zY9NZE03ALZhOB9/cz0e3kf/EbpfeL2mW7MApyiUt5i09ycchroOpcWp73ipIxvgigtZyUGFmsQicWhUs28F0D7w4Qfk76yG3nqXeb+BAMhCaIaa/k/aAxhiZG/ygEQWQrcC8gfe+jyicMAQPDEVS9YuUMGsLjIjKuVLZzp2xirQnhc2i2zVNEIvG6soprPOBEMQugzrtX5ECgYEA3b7KAbBIbDl1e4ZSCWhHdHkiWVZHaopsR/LhqDDNhXjWjq3AesgV6k0j9EdziMn/HmmOso0bz99GTV3JZf4A9ztTLumJlkHbdVtlgOqSjrFLj12rH9KXTheyIhWSpUmm8+WB1xasFbqpvJaGo7F3pd2Fqj1XR4mp5BO7c/t7LJ0CgYEA3aouEzXQ9THRKYocdfY69EI1Il1t/d/RSqqd9BxEjxBgxkM13ZiYIn/R4WW/nCUrlmhxG44Aa2Gob4Ahfsui2xKTg/g/3Zk/rAxAEGkfOLGoenaJMD41fH4wUq3FRYwkvnaMb9Hd6f/TlBHslIRa2NN58bSBGJCyBP2b59+2+EcCgYEAixDVRXvV37GlYUOa/XVdosk5Zoe6oDGRuQm0xbNdoUBoZvDHDvme7ONWEiQha/8qtVsD+CyQ7awcPfb8kK9c0bBt+bTS6d4BkTcxkEkMgtrkBVR8Nqfu5jXsLH4VCv4G61zbMhZw8+ut+az5YX2yCN7Frj9sFlxapMRPQmzMEe0CgYEAumsAzM8ZqNv4mAK65Mnr0rhLj1cbxcKRdUYACOgtEFQpzxN/HZnTeFAe5nx3pI3uFlRHq3DFEYnT6dHMWaJQmAULYpVIwMi9L6gtyJ9fzoI6uqMtxRDMUqKdaSsTGOY/kJ6KhQ/unXi1K3XXjR+yd1+C0q+HUm1+CYxvrZYLfskCgYEArsEy+IQOiqniJ0NE2vVUF+UK/IRZaic9YKcpov5Ot7Vvzm/MnnW4N1ljVskocETBWMmPUvNSExVjPebi+rxd8fa5kY8BJScPTzMFbunZn/wjtGdcM10qdlVQ9doG61A/9P3ezFKCfS4AvF/H/59LcSx2Bh28fp3/efiVIOpVd4Y=";
|
|
14030
14033
|
/*
|
|
14031
14034
|
* The crypto algorithm used for importing key and signing string
|
|
14032
14035
|
*/
|
|
@@ -27743,8 +27746,40 @@ getCommentByIds.locally = (commentIds) => {
|
|
|
27743
27746
|
};
|
|
27744
27747
|
};
|
|
27745
27748
|
|
|
27749
|
+
const GIF_OPTIONAL_KEYS = ['width', 'height'];
|
|
27750
|
+
/*
|
|
27751
|
+
* The server refuses a GIF attachment that carries `null` or any key it does not know, so the
|
|
27752
|
+
* request keeps `type`, `url` and only the optional fields that have a value. The SDK does not
|
|
27753
|
+
* check the values themselves: the server answers 400 for a bad one.
|
|
27754
|
+
*/
|
|
27755
|
+
const toGifAttachmentPayload = (gif) => {
|
|
27756
|
+
const payload = { type: 'gif', url: gif.url };
|
|
27757
|
+
GIF_OPTIONAL_KEYS.forEach(key => {
|
|
27758
|
+
const value = gif[key];
|
|
27759
|
+
if (value !== undefined && value !== null)
|
|
27760
|
+
Object.assign(payload, { [key]: value });
|
|
27761
|
+
});
|
|
27762
|
+
return payload;
|
|
27763
|
+
};
|
|
27764
|
+
/* Builds each GIF from its known keys; every other attachment is sent as the caller gave it. */
|
|
27765
|
+
const toAttachmentsPayload = (attachments) => attachments.map(attachment => attachment.type === 'gif'
|
|
27766
|
+
? toGifAttachmentPayload(attachment)
|
|
27767
|
+
: attachment);
|
|
27768
|
+
|
|
27769
|
+
/*
|
|
27770
|
+
* The data types the server lists for a comment, known before it answers: one per attachment
|
|
27771
|
+
* type, plus `text` when there is text. Sorted, as the server sorts them.
|
|
27772
|
+
*/
|
|
27773
|
+
const commentDataTypesOf = (text, attachments) => {
|
|
27774
|
+
const types = new Set((attachments !== null && attachments !== void 0 ? attachments : []).map(attachment => attachment.type));
|
|
27775
|
+
if (text)
|
|
27776
|
+
types.add('text');
|
|
27777
|
+
return [...types].sort();
|
|
27778
|
+
};
|
|
27779
|
+
|
|
27746
27780
|
const getLocalCommentId = () => uuid();
|
|
27747
27781
|
const createCommentOptimistic = (bundle) => {
|
|
27782
|
+
var _a;
|
|
27748
27783
|
const client = getActiveClient();
|
|
27749
27784
|
if (!client.cache)
|
|
27750
27785
|
return;
|
|
@@ -27779,6 +27814,7 @@ const createCommentOptimistic = (bundle) => {
|
|
|
27779
27814
|
targetId: '',
|
|
27780
27815
|
targetType: 'community',
|
|
27781
27816
|
dataType: 'text',
|
|
27817
|
+
dataTypes: commentDataTypesOf((_a = bundle.data) === null || _a === void 0 ? void 0 : _a.text, bundle.attachments),
|
|
27782
27818
|
syncState: "syncing" /* Amity.SyncState.Syncing */,
|
|
27783
27819
|
// In a gated community the optimistic object stays out of public collections until the
|
|
27784
27820
|
// response settles the status; the author's own view still updates through the local event
|
|
@@ -27825,12 +27861,15 @@ const createCommentOptimistic = (bundle) => {
|
|
|
27825
27861
|
const createComment = async (bundle, isOptimistic = true) => {
|
|
27826
27862
|
const client = getActiveClient();
|
|
27827
27863
|
client.log('comment/createComment', Object.assign(Object.assign({}, bundle), { isOptimistic }));
|
|
27864
|
+
// A GIF is sent with its known keys only; the server refuses `null` and unknown keys.
|
|
27865
|
+
const request = bundle.attachments
|
|
27866
|
+
? Object.assign(Object.assign({}, bundle), { attachments: toAttachmentsPayload(bundle.attachments) }) : bundle;
|
|
27828
27867
|
// Without a local comment the server assigns the id; with one, the same id travels through the
|
|
27829
27868
|
// optimistic object, the response and every realtime event so each step recognises it.
|
|
27830
|
-
const optimisticData = isOptimistic ? createCommentOptimistic(
|
|
27869
|
+
const optimisticData = isOptimistic ? createCommentOptimistic(request) : undefined;
|
|
27831
27870
|
const commentId = optimisticData === null || optimisticData === void 0 ? void 0 : optimisticData.commentId;
|
|
27832
27871
|
try {
|
|
27833
|
-
const { data: payload } = await client.http.post('/api/v3/comments', Object.assign(Object.assign({},
|
|
27872
|
+
const { data: payload } = await client.http.post('/api/v3/comments', Object.assign(Object.assign({}, request), { commentId }));
|
|
27834
27873
|
// BE always returns an array of comments If it got record 0 from BE it might have a problem on creation logic
|
|
27835
27874
|
if (payload.comments.length === 0)
|
|
27836
27875
|
throw new Error('Comment not created');
|
|
@@ -27923,9 +27962,16 @@ const createComment = async (bundle, isOptimistic = true) => {
|
|
|
27923
27962
|
* const updated = await CommentRepository.updateComment(commentId, {
|
|
27924
27963
|
* data: { text: 'hello world' }
|
|
27925
27964
|
* })
|
|
27965
|
+
*
|
|
27966
|
+
* // Replace the GIF, or remove it and keep the text
|
|
27967
|
+
* await CommentRepository.updateComment(commentId, {
|
|
27968
|
+
* attachments: [{ type: 'gif', url: 'https://media.giphy.com/media/l0MYt5jPR6QX5pnqM/giphy.gif' }],
|
|
27969
|
+
* })
|
|
27970
|
+
* await CommentRepository.updateComment(commentId, { attachments: [] })
|
|
27926
27971
|
* ```
|
|
27927
27972
|
*
|
|
27928
|
-
* Updates an {@link Amity.Comment}
|
|
27973
|
+
* Updates an {@link Amity.Comment}. `attachments` replaces the current ones, `[]` removes them,
|
|
27974
|
+
* and leaving `attachments` out keeps them as they are.
|
|
27929
27975
|
*
|
|
27930
27976
|
* @param commentId The ID of the {@link Amity.Comment} to edit
|
|
27931
27977
|
* @param patch The patch data to apply
|
|
@@ -27939,7 +27985,10 @@ const updateComment = async (commentId, patch) => {
|
|
|
27939
27985
|
const client = getActiveClient();
|
|
27940
27986
|
client.log('user/updateComment', patch);
|
|
27941
27987
|
const previous = (_a = pullFromCache(['comment', 'get', commentId])) === null || _a === void 0 ? void 0 : _a.data;
|
|
27942
|
-
|
|
27988
|
+
// A GIF is sent with its known keys only; the server refuses `null` and unknown keys.
|
|
27989
|
+
const body = patch.attachments
|
|
27990
|
+
? Object.assign(Object.assign({}, patch), { attachments: toAttachmentsPayload(patch.attachments) }) : patch;
|
|
27991
|
+
const { data: payload } = await client.http.put(`/api/v3/comments/${encodeURIComponent(commentId)}`, body);
|
|
27943
27992
|
const data = prepareCommentPayload(payload);
|
|
27944
27993
|
const updated = data.comments.find(comment => comment.commentId === commentId);
|
|
27945
27994
|
const cachedAt = client.cache && Date.now();
|
|
@@ -28070,13 +28119,13 @@ const deleteComment = async (commentId, permanent = false) => {
|
|
|
28070
28119
|
permanent,
|
|
28071
28120
|
},
|
|
28072
28121
|
});
|
|
28073
|
-
// to support hard deletion
|
|
28074
|
-
const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true });
|
|
28122
|
+
// to support hard deletion; the server empties a deleted comment's attachments
|
|
28123
|
+
const deleted = Object.assign(Object.assign({}, comment.data), { isDeleted: true, attachments: [] });
|
|
28075
28124
|
if (permanent) {
|
|
28076
28125
|
scheduleTask(() => pushToTombstone('comment', commentId));
|
|
28077
28126
|
}
|
|
28078
28127
|
else {
|
|
28079
|
-
upsertInCache(['comment', 'get', commentId], { isDeleted: true });
|
|
28128
|
+
upsertInCache(['comment', 'get', commentId], { isDeleted: true, attachments: [] });
|
|
28080
28129
|
}
|
|
28081
28130
|
if (comment.data.referenceType === 'story') {
|
|
28082
28131
|
const story = await getStoryByStoryId$1(comment.data.referenceId);
|
|
@@ -30406,6 +30455,19 @@ getPostByIds.locally = (postIds) => {
|
|
|
30406
30455
|
};
|
|
30407
30456
|
};
|
|
30408
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
|
+
|
|
30409
30471
|
/* begin_public_function
|
|
30410
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
|
|
30411
30473
|
*/
|
|
@@ -30435,17 +30497,7 @@ const createPost = async (bundle) => {
|
|
|
30435
30497
|
delete bundle.dataType;
|
|
30436
30498
|
}
|
|
30437
30499
|
const { attachments, attachmentProductTags } = bundle, rest = __rest(bundle, ["attachments", "attachmentProductTags"]);
|
|
30438
|
-
const processedAttachments = attachments
|
|
30439
|
-
? attachments.map(attachment => {
|
|
30440
|
-
var _a;
|
|
30441
|
-
/* c8 ignore next */
|
|
30442
|
-
const productTags = (_a = bundle.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
|
|
30443
|
-
if (productTags)
|
|
30444
|
-
return Object.assign(Object.assign({}, attachment), { productTags });
|
|
30445
|
-
/* c8 ignore next */
|
|
30446
|
-
return attachment;
|
|
30447
|
-
})
|
|
30448
|
-
: attachments;
|
|
30500
|
+
const processedAttachments = preparePostAttachments(attachments, attachmentProductTags);
|
|
30449
30501
|
const { data: payload } = await client.http.post('/api/v4/posts', Object.assign(Object.assign({}, rest), { attachments: processedAttachments }));
|
|
30450
30502
|
fireEvent('post.created', payload);
|
|
30451
30503
|
const data = preparePostPayload(payload);
|
|
@@ -30471,7 +30523,9 @@ const createPost = async (bundle) => {
|
|
|
30471
30523
|
* })
|
|
30472
30524
|
* ```
|
|
30473
30525
|
*
|
|
30474
|
-
* 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.
|
|
30475
30529
|
*
|
|
30476
30530
|
* @param postId The ID of the {@link Amity.Post} to edit
|
|
30477
30531
|
* @param patch The patch data to apply
|
|
@@ -30484,17 +30538,7 @@ const editPost = async (postId, patch) => {
|
|
|
30484
30538
|
const client = getActiveClient();
|
|
30485
30539
|
client.log('user/editPost', patch);
|
|
30486
30540
|
const { attachments } = patch;
|
|
30487
|
-
const processedAttachments = attachments
|
|
30488
|
-
? attachments.map(attachment => {
|
|
30489
|
-
var _a;
|
|
30490
|
-
/* c8 ignore next */
|
|
30491
|
-
const productTags = (_a = patch.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
|
|
30492
|
-
if (productTags)
|
|
30493
|
-
return Object.assign(Object.assign({}, attachment), { productTags });
|
|
30494
|
-
/* c8 ignore next */
|
|
30495
|
-
return attachment;
|
|
30496
|
-
})
|
|
30497
|
-
: attachments;
|
|
30541
|
+
const processedAttachments = preparePostAttachments(attachments, patch.attachmentProductTags);
|
|
30498
30542
|
const { data: payload } = await client.http.put(`/api/v4/posts/${encodeURIComponent(postId)}`, Object.assign(Object.assign({}, patch), { attachments: processedAttachments }));
|
|
30499
30543
|
const data = prepareMembershipPayload(payload, 'communityUsers');
|
|
30500
30544
|
const cachedAt = client.cache && Date.now();
|
|
@@ -30978,11 +31022,14 @@ const createAudioPost = async (bundle) => {
|
|
|
30978
31022
|
* { fileId: "file1", type: "image" },
|
|
30979
31023
|
* { fileId: "file2", type: "video" },
|
|
30980
31024
|
* { fileId: "file3", type: "audio" },
|
|
30981
|
-
* { 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 }
|
|
30982
31027
|
* ],
|
|
30983
31028
|
* })
|
|
30984
31029
|
* ```
|
|
30985
31030
|
*
|
|
31031
|
+
* A post holds 1 to 10 attachments. A GIF is a link, not a file, and takes no product tags.
|
|
31032
|
+
*
|
|
30986
31033
|
* Creates an {@link Amity.Post}
|
|
30987
31034
|
*
|
|
30988
31035
|
* @param bundle The data necessary to create a new {@link Amity.Post}
|
|
@@ -30996,17 +31043,7 @@ const createMixedMediaPost = async (bundle) => {
|
|
|
30996
31043
|
const client = getActiveClient();
|
|
30997
31044
|
client.log('post/createMixedMediaPost', bundle);
|
|
30998
31045
|
const { attachments, attachmentProductTags } = bundle, rest = __rest(bundle, ["attachments", "attachmentProductTags"]);
|
|
30999
|
-
const processedAttachments = attachments
|
|
31000
|
-
? attachments.map(attachment => {
|
|
31001
|
-
var _a;
|
|
31002
|
-
/* c8 ignore next */
|
|
31003
|
-
const productTags = (_a = bundle.attachmentProductTags) === null || _a === void 0 ? void 0 : _a.get(attachment.fileId);
|
|
31004
|
-
if (productTags)
|
|
31005
|
-
return Object.assign(Object.assign({}, attachment), { productTags });
|
|
31006
|
-
/* c8 ignore next */
|
|
31007
|
-
return attachment;
|
|
31008
|
-
})
|
|
31009
|
-
: /* c8 ignore next */ attachments;
|
|
31046
|
+
const processedAttachments = preparePostAttachments(attachments, attachmentProductTags);
|
|
31010
31047
|
const { data: payload } = await client.http.post('/api/v4/posts', Object.assign(Object.assign({}, rest), { attachments: processedAttachments }));
|
|
31011
31048
|
fireEvent('post.created', payload);
|
|
31012
31049
|
const data = preparePostPayload(payload);
|
|
@@ -31523,6 +31560,10 @@ class PostLiveCollectionController extends LiveCollectionController {
|
|
|
31523
31560
|
*
|
|
31524
31561
|
* Observe all mutations on a list of {@link Amity.Post} for a given target object
|
|
31525
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
|
+
*
|
|
31526
31567
|
* @param params.targetType the type of the target
|
|
31527
31568
|
* @param params.targetId the ID of the target
|
|
31528
31569
|
* @param callback the function to call when new data are available
|