const { DataTypes } = require('sequelize'); const { v4: uuidv4 } = require('uuid'); module.exports = (sequelize) => { const List = sequelize.define('List', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true }, name: { type: DataTypes.TEXT, allowNull: false, validate: { notEmpty: true } }, created_at: { type: DataTypes.DATE, defaultValue: DataTypes.NOW, allowNull: false }, created_by: { type: DataTypes.TEXT, allowNull: true }, modified_at: { type: DataTypes.DATE, allowNull: true }, modified_by: { type: DataTypes.TEXT, allowNull: true }, public: { type: DataTypes.BOOLEAN, defaultValue: false, allowNull: false } }, { tableName: 'lists', timestamps: false, // We're using created_at and modified_at manually underscored: true }); // Hook to set modified_at before update List.beforeUpdate((list) => { list.modified_at = new Date(); }); return List; };