@rnaga/wp-node
Version:
👉 **[View Full Documentation at rnaga.github.io/wp-node →](https://rnaga.github.io/wp-node/)**
85 lines • 2.58 kB
TypeScript
import { z } from "zod";
import { Config } from "../config";
import { Components } from "../core/components";
import { Term } from "../core/term";
import * as val from "../validators";
import { Crud } from "./crud";
import type * as types from "../types";
type DataType<T extends "view" | "edit" | "embed"> = T extends "edit" ? Term["props"] & {
children: Awaited<ReturnType<Term["children"]>>;
metas: Record<string, any>;
} : {
term_id: number;
count: number;
description: string;
name: string;
slug: string;
parent: number;
taxonomy: types.TaxonomyName;
};
export declare class TermCrud extends Crud {
private config;
constructor(components: Components, config: Config);
get<T extends "view" | "edit" | "embed">(termId: number, options?: Partial<{
context: T;
taxonomyName: types.TaxonomyName;
}>): Promise<{
data: DataType<T>;
info: undefined;
}>;
update(termId: number, taxonomyName: types.TaxonomyName, data: {
name?: string;
parent?: number;
slug?: string;
description?: string;
}): Promise<{
data: boolean;
info: undefined;
}>;
private canCreateTerm;
create(data: {
name: string;
taxonomyName: types.TaxonomyName;
parent?: number;
slug?: string;
description?: string;
}): Promise<{
data: {
term_id: number;
term_taxonomy_id: number;
};
info: undefined;
}>;
syncObject(objectId: number, namesOrTermIds: Array<string | number>, taxonomyName: types.TaxonomyName, append?: boolean): Promise<{
data: number[];
info: undefined;
}>;
delete(termId: number, taxonomyName: types.TaxonomyName): Promise<{
data: boolean;
info: undefined;
}>;
taxonomies(): Promise<{
data: {
name: types.TaxonomyName;
hierarchical: boolean;
capabilities: Record<types.TaxonomyCapability, string> | undefined;
}[];
info: undefined;
}>;
list<T extends "view" | "edit" | "embed">(taxonomyName: types.TaxonomyName, args?: Partial<z.infer<typeof val.crud.termListParams>>, options?: {
context?: T;
}): Promise<{
data: DataType<T>[];
info: {
pagination: {
page: number;
limit: number;
totalPage: number;
count: number;
};
context: string | T;
};
}>;
}
export {};
//# sourceMappingURL=term.crud.d.ts.map