@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
42 lines (41 loc) • 4.55 kB
TypeScript
import { CommentLike, Like, Comment, ResolvedUserIdentity, ReactionType } from "../models";
import { Store } from "../stores/Store";
import { IdentityStore } from "./IdentityStore";
export interface ILikeService {
socialReacts: (topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType) => Promise<void>;
toggleLike: (...params: any[]) => Promise<void>;
}
export interface ICommentLikeService extends ILikeService {
getCommentLike: (topicId: string) => Promise<CommentLike>;
addComment: (comment: Comment) => Promise<Comment>;
updateComment: (comment: Comment) => Promise<Comment>;
deleteComment: (comment: Comment) => Promise<void>;
markBestReply: (topicId: string, commentId: string) => Promise<void>;
}
export declare class CommentLikeStore extends Store {
identityStore: IdentityStore;
likes: import("../stores/Store").StoreState<{
[topicId: string]: Like[];
}>;
comments: import("../stores/Store").StoreState<{
[topicId: string]: Comment[];
}>;
getters: {
likes: (topicId: string, commentId: string) => Like[];
topComments: (topicId: string) => Comment[];
repliedComments: (topicId: string, id: string) => Comment[];
comment: (topicId: string, id: string) => Comment;
comments: (topicId: string) => Comment[];
};
mutations: {};
actions: {
toggleLike: import("../stores/Store").StoreAction<unknown, (service: ICommentLikeService, topicId: string, commentId: string, isLike: boolean, currentUser: ResolvedUserIdentity) => void, (result: any, service: ICommentLikeService, topicId: string, commentId: string, isLike: boolean, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, topicId: string, commentId: string, isLike: boolean, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, topicId: string, commentId: string, isLike: boolean, currentUser: ResolvedUserIdentity) => Promise<any>>;
socialReacts: import("../stores/Store").StoreAction<unknown, (service: ICommentLikeService, topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType, currentUser: ResolvedUserIdentity) => void, (result: any, service: ICommentLikeService, topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType, currentUser: ResolvedUserIdentity) => Promise<any>>;
addOrUpdateComment: import("../stores/Store").StoreAction<unknown, (service: ICommentLikeService, comment: Comment) => void, (result: Comment, service: ICommentLikeService, comment: Comment) => void, (failureReason: any, service: ICommentLikeService, comment: Comment) => void, (service: ICommentLikeService, comment: Comment) => Promise<Comment>>;
deleteComment: import("../stores/Store").StoreAction<unknown, (service: ICommentLikeService, comment: Comment, currentUser: ResolvedUserIdentity) => void, (result: any, service: ICommentLikeService, comment: Comment, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, comment: Comment, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, comment: Comment, currentUser: ResolvedUserIdentity) => Promise<any>>;
toggleBestReply: import("../stores/Store").StoreAction<unknown, (service: ICommentLikeService, topicId: string, commentId: string, currentUser: ResolvedUserIdentity) => void, (result: any, service: ICommentLikeService, topicId: string, commentId: string, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, topicId: string, commentId: string, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, topicId: string, commentId: string, currentUser: ResolvedUserIdentity) => Promise<any>>;
loadData: import("../stores/Store").StoreAction<unknown, (service: ICommentLikeService, topicId: string) => void, (result: any, service: ICommentLikeService, topicId: string) => void, (failureReason: any, service: ICommentLikeService, topicId: string) => void, (service: ICommentLikeService, topicId: string) => Promise<any>>;
};
onActivated(): void;
onDisposing(): void;
}