const { DataTypes } = require('sequelize'); const sequelize = require('../config/database'); const Table = sequelize.define('Table', { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true }, nom: { type: DataTypes.STRING(100), allowNull: false, validate: { notEmpty: { msg: 'Table name cannot be empty' }, len: { args: [1, 100], msg: 'Table name must be between 1 and 100 characters' } } }, capacity: { type: DataTypes.INTEGER, allowNull: true, defaultValue: 4, validate: { min: { args: [1], msg: 'Capacity must be at least 1' }, max: { args: [20], msg: 'Capacity cannot exceed 20' } } }, status: { type: DataTypes.ENUM('available', 'occupied', 'reserved', 'maintenance'), defaultValue: 'available', allowNull: false }, location: { type: DataTypes.STRING(50), allowNull: true, validate: { len: { args: [0, 50], msg: 'Location must be less than 50 characters' } } } }, { tableName: 'tables', timestamps: true, createdAt: 'created_at', updatedAt: 'updated_at', indexes: [ { fields: ['status'] }, { fields: ['nom'], unique: true } ] }); module.exports = Table;