@sqb/connect
Version:
Multi-dialect database connection framework written with TypeScript
27 lines (26 loc) • 802 B
JavaScript
import { And, Delete } from '@sqb/builder';
import { prepareFilter } from './command.helper.js';
export class DeleteCommand {
// istanbul ignore next
constructor() {
throw new Error('This class is abstract');
}
static async execute(args) {
const { connection, entity, filter, params } = args;
let where;
if (filter) {
where = And();
await prepareFilter(entity, filter, where);
}
const query = Delete(entity.tableName + ' T');
if (where)
query.where(...where._items);
// Execute query
const resp = await connection.execute(query, {
params,
objectRows: false,
cursor: false,
});
return (resp && resp.rowsAffected) || 0;
}
}