polyfact
Version:
<h1 align="center">PolyFact</h1>
38 lines (37 loc) • 1.84 kB
TypeScript
import { InputClientOptions } from "./clientOpts";
export type FilterOperation = "eq" | "neq" | "gt" | "lt" | "gte" | "lte" | "like" | "ilike" | "cs" | "is" | "in" | "fts" | "plfts" | "phfts";
export type Filter = {
column: string;
operation: FilterOperation;
value: string;
};
export type Prompt = {
id: string;
name: string;
description: string;
prompt: string;
createdAt: Date;
updatedAt?: Date;
like?: number;
use?: number;
tags?: string[];
user_id?: string;
public: boolean;
};
export type PromptInsert = Pick<Prompt, "name" | "description" | "prompt" | "tags" | "public">;
export type PromptUpdate = Partial<PromptInsert>;
export declare function getPromptByName(name: string, clientOptions?: InputClientOptions): Promise<Prompt>;
export declare function getPromptById(id: string, clientOptions?: InputClientOptions): Promise<Prompt>;
export declare function getAllPrompts(filters?: Filter[], clientOptions?: InputClientOptions): Promise<Prompt[]>;
export declare function createPrompt(promptData: PromptInsert, clientOptions?: InputClientOptions): Promise<Prompt>;
export declare function updatePrompt(id: string, promptUpdateData: PromptUpdate, clientOptions?: InputClientOptions): Promise<Prompt>;
export declare function deletePrompt(id: string, clientOptions?: InputClientOptions): Promise<void>;
export type PromptClient = {
getPromptByName: (name: string) => Promise<Prompt>;
getPromptById: (id: string) => Promise<Prompt>;
getAllPrompts: (filters?: Filter[]) => Promise<Prompt[]>;
createPrompt: (promptData: PromptInsert) => Promise<Prompt>;
updatePrompt: (id: string, promptUpdateData: PromptUpdate) => Promise<Prompt>;
deletePrompt: (id: string) => Promise<void>;
};
export default function client(clientOptions?: InputClientOptions): PromptClient;