const BaseModel = require('./BaseModel') const timestamps = require('./properties/timestamps') class ClassificationRoot extends BaseModel { static associate(models) { this.belongsTo(models.Upload, { foreignKey: 'upload_id' }) } toJSON() { return { metric_id: this.metric_id, upload_id: this.upload_id, image_id: this.image_id, url: this.url, status: this.status, } } } module.exports = (sequelize, DataTypes) => { ClassificationRoot.init(Object.assign( { metric_id: { type: DataTypes.UUID, primaryKey: true, defaultValue: DataTypes.UUIDV4, validate: { isUUID: 4, }, }, upload_id: { type: DataTypes.UUID, validate: { isUUID: 4, }, }, image_id: { type: DataTypes.UUID, validate: { isUUID: 4, }, }, url: { type: DataTypes.TEXT, }, status: { type: DataTypes.TEXT, }, meta: { type: DataTypes.JSONB, }, }, timestamps(DataTypes), ), { sequelize, paranoid: true, tableName: 'classification_roots', }) return ClassificationRoot } module.exports.Model = ClassificationRoot