objection
Version:
An SQL-friendly ORM for Node.js
52 lines (40 loc) • 1.15 kB
JavaScript
;
const { QueryBuilderOperation } = require('./QueryBuilderOperation');
const { StaticHookArguments } = require('../StaticHookArguments');
class DeleteOperation extends QueryBuilderOperation {
async onBefore2(builder, result) {
await callBeforeDelete(builder);
return result;
}
onBuildKnex(knexBuilder) {
return knexBuilder.delete();
}
onAfter2(builder, result) {
return callAfterDelete(builder, result);
}
toFindOperation() {
return null;
}
}
function callBeforeDelete(builder) {
return callStaticBeforeDelete(builder);
}
function callStaticBeforeDelete(builder) {
const args = StaticHookArguments.create({ builder });
return builder.modelClass().beforeDelete(args);
}
function callAfterDelete(builder, result) {
return callStaticAfterDelete(builder, result);
}
async function callStaticAfterDelete(builder, result) {
const args = StaticHookArguments.create({ builder, result });
const maybeResult = await builder.modelClass().afterDelete(args);
if (maybeResult === undefined) {
return result;
} else {
return maybeResult;
}
}
module.exports = {
DeleteOperation,
};