@amityco/ts-sdk
Version:
Amity Social Cloud Typescript SDK
69 lines • 3.25 kB
TypeScript
export declare const PostContentType: Readonly<{
TEXT: "text";
IMAGE: "image";
FILE: "file";
VIDEO: "video";
LIVESTREAM: "liveStream";
POLL: "poll";
}>;
declare global {
namespace Amity {
type PostTargetType = Amity.Feed['targetType'] | 'content';
type PostContentType = ValueOf<typeof PostContentType> | string;
type PostActionType = 'onFetch' | 'onCreate' | 'onUpdate' | 'onDelete' | 'onApproved' | 'onDeclined' | 'onFlagged' | 'onUnflagged' | 'onReactionAdded' | 'onReactionRemoved';
type RawPost<T extends PostContentType = any> = {
postId: string;
postedUserId: Amity.RawUser['userId'];
parentId: Amity.RawPost['postId'];
parentPostId: Amity.RawPost['postId'];
targetType: PostTargetType;
targetId: string;
feedId: Amity.Feed['feedId'];
children: Amity.RawPost['postId'][];
comments: Amity.InternalComment['commentId'][];
commentsCount: number;
hasFlaggedChildren: false;
hasFlaggedComment: false;
editedAt: Amity.timestamp;
} & Amity.Content<T> & Amity.Metadata & Amity.Flaggable & Amity.Reactable & Amity.Taggable & Amity.Timestamps & Amity.SoftDelete & Amity.Subscribable & Amity.AnalyticPostData & Amity.Mentionable<'user'>;
type InternalPost<T extends PostContentType = any> = RawPost<T> & {
feedType?: 'reviewing' | 'published';
};
type PostLinkObject = {
latestComments: (Amity.Comment | null)[];
creator: Amity.User | undefined;
analytics: {
markAsViewed: () => void;
};
};
type Post<T extends PostContentType = any> = Amity.InternalPost<T> & Amity.PostLinkObject;
type QueryPosts = {
targetId: string;
targetType: Amity.InternalPost['targetType'];
sortBy?: 'lastCreated' | 'firstCreated';
dataTypes?: Exclude<Amity.PostContentType, 'text'>[];
includeDeleted?: boolean;
hasFlag?: boolean;
feedType?: 'reviewing' | 'published';
tags?: Amity.Taggable['tags'];
matchingOnlyParentPost?: boolean;
page?: string;
limit?: number;
};
type PostLiveCollection = Amity.LiveCollectionParams<Omit<QueryPosts, 'sortBy' | 'page'> & {
sortBy?: 'lastCreated' | 'firstCreated';
}>;
type PostLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], Pick<QueryPosts, 'page'>>;
type QuerySemanticSearchPosts = {
query: string;
targetId?: string;
targetType?: Amity.InternalPost['targetType'];
dataTypes?: string[];
matchingOnlyParentPost?: boolean;
};
type SemanticSearchPostLiveCollection = Amity.LiveCollectionParams<Omit<QuerySemanticSearchPosts, 'page'>>;
type SemanticSearchPostLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], // postId:score
QuerySemanticSearchPosts>;
}
}
//# sourceMappingURL=post.d.ts.map