You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
637 B
JavaScript

"use strict";
const { Model, QueryBuilder } = require("objection");
module.exports = function ({ db }) {
return class Tag extends Model {
static tableName = "srap_tags";
static get relationMappings() {
return {
item: {
relation: Model.BelongsToOneRelation,
modelClass: db.Item,
join: { from: "srap_tags.itemId", to: "srap_item.id" }
}
};
};
static QueryBuilder = class TagQueryBuilder extends QueryBuilder {
findAllByName(name) {
return this.where({ name: name });
}
renameAll(oldName, newName) {
return this.patch({ name: newName }).where({ name: oldName });
}
};
}
};