@rnaga/wp-node
Version:
👉 **[View Full Documentation at rnaga.github.io/wp-node →](https://rnaga.github.io/wp-node/)**
225 lines • 7.64 kB
TypeScript
import { z } from "zod";
import { Components } from "../core/components";
import * as val from "../validators";
import { Crud } from "./crud";
import type * as types from "../types";
type PostUpsert = z.infer<typeof val.trx.postUpsert>;
export declare class PostCrud extends Crud {
constructor(components: Components);
protected translate<T extends PostUpsert | Partial<PostUpsert>>(data: T): Promise<T>;
private formReturnData;
getAsUpsert(postId: number, defaultValue?: Partial<PostUpsert>): Promise<{
data: {
post_author: number;
post_date: string | undefined;
post_date_gmt: string | undefined;
post_content: string;
post_title: string;
post_excerpt: string;
post_password: string;
post_name: string;
to_ping: string;
pinged: string;
post_modified: string | undefined;
post_modified_gmt: string | undefined;
post_content_filtered: string;
post_parent: number;
guid: string;
menu_order: number;
post_type: string;
post_mime_type: string;
comment_count: number;
import_id: number;
post_status: string;
comment_status: "open" | "closed";
ping_status: "open" | "closed";
tags_input: string[] | (string | number)[] | number[];
file: string;
context: string;
ID?: number | undefined;
post_category?: number[] | undefined;
tax_input?: Record<string, string[] | (string | number)[] | number[]> | undefined;
meta_input?: Record<string, string | number | Record<string, any> | (string | number)[]> | undefined;
};
info: undefined;
}>;
private checkPermission;
get<T extends "view" | "edit" | "embed">(postIdOrSlug: number | string, options?: Partial<{
context: T;
password: string;
postType: types.PostType;
}>): Promise<{
data: {
metas: Record<string, any>;
author: {
ID: number | undefined;
display_name: string | undefined;
user_nicename: string | undefined;
};
tags: {
term_id: number;
name: string;
slug: string;
}[];
categories: {
term_id: number;
name: string;
slug: string;
}[];
ID: number;
post_author: number;
post_date: string | undefined;
post_date_gmt: string | undefined;
post_content: string;
post_title: string;
post_excerpt: string;
post_status: string;
comment_status: string;
ping_status: string;
post_password: string;
post_name: string;
to_ping: string;
pinged: string;
post_modified: string | undefined;
post_modified_gmt: string | undefined;
post_content_filtered: string;
post_parent: number;
guid: string;
menu_order: number;
post_type: string;
post_mime_type: string;
comment_count: number;
};
info: {
protected: boolean;
};
}>;
update(postId: number, data: Partial<PostUpsert>): Promise<{
data: number;
info: undefined;
}>;
create(data: Partial<PostUpsert>): Promise<{
data: number;
info: undefined;
}>;
delete(postId: number): Promise<{
data: boolean;
info: undefined;
}>;
private trashOrUntrash;
trash(postId: number): Promise<{
data: boolean;
info: undefined;
}>;
untrash(postId: number): Promise<{
data: boolean;
info: undefined;
}>;
private checkAutosavePermission;
autosave(parentId: number, data: Partial<PostUpsert>): Promise<{
data: types.WpPosts;
info: undefined;
}>;
getAutosave(parentId: number): Promise<{
data: {
post_author: number;
post_date: string | undefined;
post_date_gmt: string | undefined;
post_content: string;
post_title: string;
post_excerpt: string;
post_password: string;
post_name: string;
to_ping: string;
pinged: string;
post_modified: string | undefined;
post_modified_gmt: string | undefined;
post_content_filtered: string;
post_parent: number;
guid: string;
menu_order: number;
post_type: string;
post_mime_type: string;
comment_count: number;
import_id: number;
post_status: string;
comment_status: "open" | "closed";
ping_status: "open" | "closed";
tags_input: string[] | (string | number)[] | number[];
file: string;
context: string;
ID?: number | undefined;
post_category?: number[] | undefined;
tax_input?: Record<string, string[] | (string | number)[] | number[]> | undefined;
meta_input?: Record<string, string | number | Record<string, any> | (string | number)[]> | undefined;
};
info: undefined;
}>;
copy(postId: number): Promise<{
data: number;
info: undefined;
}>;
list<TCountGroupBy extends keyof types.WpPosts>(args: Partial<z.infer<typeof val.crud.postListParams>>, options?: Partial<{
password: string;
postTypes: types.PostType[];
mimeTypes: string[];
countGroupBy: TCountGroupBy;
context: "view" | "edit" | "embed";
}>): Promise<{
data: {
metas: Record<string, any>;
author: {
ID: number | undefined;
display_name: string | undefined;
user_nicename: string | undefined;
};
tags: {
term_id: number;
name: string;
slug: string;
}[];
categories: {
term_id: number;
name: string;
slug: string;
}[];
ID: number;
post_author: number;
post_date: string | undefined;
post_date_gmt: string | undefined;
post_content: string;
post_title: string;
post_excerpt: string;
post_status: string;
comment_status: string;
ping_status: string;
post_password: string;
post_name: string;
to_ping: string;
pinged: string;
post_modified: string | undefined;
post_modified_gmt: string | undefined;
post_content_filtered: string;
post_parent: number;
guid: string;
menu_order: number;
post_type: string;
post_mime_type: string;
comment_count: number;
}[];
info: {
pagination: {
page: number;
limit: number;
totalPage: number;
count: number;
};
protected: number[];
countGroupBy: ({ [K in TCountGroupBy]: string; } & {
count: number;
})[] | undefined;
};
}>;
}
export {};
//# sourceMappingURL=post.crud.d.ts.map