"use strict"; const { Model, QueryBuilder } = require("objection"); module.exports = function ({ db }) { return class Tag extends Model { static tableName = "srap_tags"; static idColumn = [ "name", "itemId" ]; static get relationMappings() { return { item: { relation: Model.BelongsToOneRelation, modelClass: db.Item, join: { from: "srap_tags.itemId", to: "srap_items.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 }); } }; } };