const { DataTypes } = require('sequelize'); module.exports = (sequelize) => { const Task = sequelize.define( 'task', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, }, title: { type: DataTypes.STRING(255), allowNull: false, validate: { notEmpty: true, }, }, description: { type: DataTypes.TEXT, }, status: { type: DataTypes.ENUM, values: ['todo', 'in_progress', 'done'], defaultValue: 'todo', }, deadline: { type: DataTypes.DATE, }, }, { timestamps: true, paranoid: true, }, ); Task.associate = (models) => { models.task.belongsTo(models.project, { as: 'project', }); models.task.belongsTo(models.users, { as: 'assignee', }); }; return Task; };