objection
Version:
An SQL-friendly ORM for Node.js
35 lines (27 loc) • 732 B
JavaScript
;
const { QueryBuilderOperation } = require('./QueryBuilderOperation');
const { assertIdNotUndefined } = require('../../utils/assert');
class FindByIdOperation extends QueryBuilderOperation {
constructor(name, opt) {
super(name, opt);
this.id = null;
}
onAdd(builder, args) {
this.id = args[0];
return super.onAdd(builder, args);
}
onBuild(builder) {
if (!builder.internalOptions().skipUndefined) {
assertIdNotUndefined(this.id, `undefined was passed to ${this.name}`);
}
builder.whereComposite(builder.fullIdColumn(), this.id);
}
clone() {
const clone = super.clone();
clone.id = this.id;
return clone;
}
}
module.exports = {
FindByIdOperation,
};