26 lines
895 B
TypeScript
26 lines
895 B
TypeScript
import sqlGenerator from "../../functions/dsql/sql/sql-generator";
|
|
import { PostReturn, ServerQueryParam, ServerQueryQueryObject } from "../../types";
|
|
export declare const DsqlCrudActions: readonly ["insert", "update", "delete", "get"];
|
|
export type CrudQueryObject<T extends object = {
|
|
[key: string]: any;
|
|
}> = ServerQueryParam & {
|
|
query: ServerQueryQueryObject<T>;
|
|
};
|
|
export type CrudParam<T extends object = {
|
|
[key: string]: any;
|
|
}> = {
|
|
action: (typeof DsqlCrudActions)[number];
|
|
table: string;
|
|
data?: T;
|
|
targetId?: string | number;
|
|
query?: CrudQueryObject<T>;
|
|
sanitize?: (data?: T) => T;
|
|
};
|
|
export default function dsqlCrud<T extends {
|
|
[key: string]: any;
|
|
} = {
|
|
[key: string]: any;
|
|
}>({ action, data, table, targetId, query, sanitize, }: CrudParam<T>): Promise<(PostReturn & {
|
|
queryObject?: ReturnType<Awaited<typeof sqlGenerator>>;
|
|
}) | null>;
|