datasquirel/dist/package-shared/utils/data-fetching/crud.d.ts
Benjamin Toby e82bcd0824 Updates
2025-01-25 14:20:25 +01:00

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>;