DeleteByIdOperation.js 501 B

12345678910111213141516171819202122
  1. const QueryBuilderOperation = require('./QueryBuilderOperation');
  2. class DeleteByIdOperation extends QueryBuilderOperation {
  3. constructor(name, opt) {
  4. super(name, opt);
  5. this.id = null;
  6. }
  7. onAdd(builder, args) {
  8. this.id = args[0];
  9. return super.onAdd(builder, args);
  10. }
  11. onBuild(builder) {
  12. const idColumn = builder.fullIdColumnFor(builder.modelClass());
  13. const id = this.id;
  14. builder.whereComposite(idColumn, id).delete();
  15. }
  16. }
  17. module.exports = DeleteByIdOperation;