import path from "path"; import queryDSQLAPI from "../../functions/api/query-dsql-api"; import { DsqlCrudQueryObject, SQLDeleteData } from "../../types"; import grabAPIBasePath from "../../utils/grab-api-base-path"; type Params = { dbName: string; tableName: string; deleteSpec?: T & { deleteKeyValues?: SQLDeleteData[] }; targetID?: string | number; apiKey?: string; }; export default async function apiCrudDELETE< T extends { [key: string]: any } = { [key: string]: any } >({ dbName, tableName, deleteSpec, targetID, apiKey }: Params) { const basePath = grabAPIBasePath({ paradigm: "crud" }); const finalID = typeof targetID === "number" ? String(targetID) : targetID; const finalPath = path.join(basePath, dbName, tableName, finalID || ""); const GET_RES = await queryDSQLAPI>({ method: "DELETE", path: finalPath, body: deleteSpec, apiKey, }); return GET_RES; }