burdy
Version:
Open Source Headless Platform
44 lines (43 loc) • 1.96 kB
TypeScript
/// <reference types="react" />
import { UseAsyncReturn } from 'react-async-hook';
import { Selection } from '@fluentui/react';
import { IPost } from '@shared/interfaces/model';
import { ModelState } from '@admin/helpers/hooks';
interface IPostsContext {
selection: Selection<IPost>;
getPosts: UseAsyncReturn<IPost[], [params?: any]>;
getPost: UseAsyncReturn<IPost, [id: number, params?: any]>;
getBySlug: UseAsyncReturn<IPost, [slug: string]>;
createPost: UseAsyncReturn<IPost, [data?: any]>;
updatePost: UseAsyncReturn<IPost, [id: number, data?: any]>;
publishPosts: UseAsyncReturn<any, [data?: any]>;
copyPosts: UseAsyncReturn<IPost, [id: number, data?: any]>;
updatePostContent: UseAsyncReturn<IPost, [id: number, data?: any]>;
compilePost: UseAsyncReturn<IPost, [post: any]>;
getPreviewData: UseAsyncReturn<any, [id: number, versionId?: number]>;
deletePosts: UseAsyncReturn<any[], [ids?: number[]]>;
loadingContent: boolean;
setLoadingContent: (id: string, val: boolean) => void;
getVersions: UseAsyncReturn<IPost[], [postId: number, params?: any]>;
getVersionsCount: UseAsyncReturn<any, [postId: number]>;
deleteVersions: UseAsyncReturn<any[], [postId: number, ids?: number[]]>;
restoreVersion: UseAsyncReturn<IPost[], [postId: number, id: number]>;
post: IPost;
setPost: (post: IPost) => void;
additionalData: any;
setAdditionalData: (data: any) => void;
posts: IPost[];
postsState: ModelState<IPost>;
params: any;
setParams: (params: any) => void;
getOneContentType: UseAsyncReturn<IPost, [id: number]>;
selectedPosts: IPost[];
stateData: any;
setStateData: (key: string, val: any) => void;
}
declare const PostsContextProvider: ({ defaultAdditionalData, children }: {
defaultAdditionalData?: {};
children: any;
}) => JSX.Element;
declare const usePosts: () => IPostsContext;
export { usePosts, PostsContextProvider };