53 lines
1.0 KiB
JavaScript
53 lines
1.0 KiB
JavaScript
const { DataTypes } = require('sequelize');
|
|
const { sequelize } = require('../config/db');
|
|
|
|
const GymClass = sequelize.define('gymclass', {
|
|
id: {
|
|
type: DataTypes.INTEGER,
|
|
primaryKey: true,
|
|
autoIncrement: true
|
|
},
|
|
name: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false
|
|
},
|
|
description: {
|
|
type: DataTypes.TEXT,
|
|
allowNull: false
|
|
},
|
|
instructor: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false
|
|
},
|
|
startTime: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false
|
|
},
|
|
endTime: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false
|
|
},
|
|
maxCapacity: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false
|
|
},
|
|
currentBookings: {
|
|
type: DataTypes.INTEGER,
|
|
defaultValue: 0
|
|
},
|
|
category: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
validate: {
|
|
isIn: [['Mente y Cuerpo', 'Cardiovascular', 'Fuerza', 'Baile', 'Otros']]
|
|
}
|
|
},
|
|
imageUrl: {
|
|
type: DataTypes.STRING,
|
|
defaultValue: '/uploads/default-class.jpg'
|
|
}
|
|
}, {
|
|
tableName: 'gymclasses' // Explicitly set lowercase table name
|
|
});
|
|
|
|
module.exports = GymClass; |