import DB_HANDLER from "../../../utils/backend/global-db/DB_HANDLER"; import DSQL_USER_DB_HANDLER from "../../../utils/backend/global-db/DSQL_USER_DB_HANDLER"; import LOCAL_DB_HANDLER from "../../../utils/backend/global-db/LOCAL_DB_HANDLER"; type Param = { dbContext?: string; paradigm?: "Read Only" | "Full Access"; dbFullName: string; tableName: string; tableSchema?: import("../../../types").DSQL_TableSchemaType; identifierColumnName: string; identifierValue: string | number; }; /** * # Delete DB Entry Function * @description */ export default async function deleteDbEntry({ dbContext, paradigm, dbFullName, tableName, identifierColumnName, identifierValue, }: Param): Promise { try { const isMaster = global.DSQL_USE_LOCAL ? true : dbContext?.match(/dsql.user/i) ? false : dbFullName && !dbFullName.match(/^datasquirel$/) ? false : true; const dbHandler: (a1: any, a2?: any) => any = global.DSQL_USE_LOCAL ? LOCAL_DB_HANDLER : isMaster ? DB_HANDLER : DSQL_USER_DB_HANDLER; /** * Execution * * @description */ const query = `DELETE FROM \`${dbFullName}\`.\`${tableName}\` WHERE \`${identifierColumnName}\`=?`; const deletedEntry = isMaster ? await dbHandler(query, [identifierValue]) : await dbHandler({ paradigm, queryString: query, queryValues: [identifierValue], }); /** * Return statement */ return deletedEntry; } catch (error) { return null; } }