const { DataTypes, Model } = require('sequelize'); const sequelize = require('../../config/sequelize.conf'); const Equipo = require('./Equipo'); const Operador = require('./Operador'); const Usuario = require('./Usuario'); class Prestamo extends Model {} Prestamo.init( { idPrestamo: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, unique: true, autoIncrement: true, }, activo: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: true, }, horaMaxRecoger: { type: DataTypes.DATE, allowNull: false, }, horaInicio: { type: DataTypes.DATE, allowNull: true, defaultValue: null, }, horaFin: { type: DataTypes.DATE, allowNull: true, defaultValue: null, }, horaEntrega: { type: DataTypes.DATE, allowNull: true, defaultValue: null, }, canceladoUsuario: { type: DataTypes.BOOLEAN, allowNull: true, defaultValue: null, }, }, { sequelize, modelName: 'Prestamo', tableName: 'prestamo', timestamps: true, createdAt: true, updatedAt: false, } ); Prestamo.belongsTo(Operador, { as: 'OperadorEntrega', foreignKey: { name: 'idOperadorEntrega', type: DataTypes.INTEGER, allowNull: true, defaultValue: null, }, }); Prestamo.belongsTo(Operador, { as: 'OperadorRegreso', foreignKey: { name: 'idOperadorRegreso', type: DataTypes.INTEGER, allowNull: true, defaultValue: null, }, }); Prestamo.belongsTo(Operador, { as: 'OperadorCancelacion', foreignKey: { name: 'idOperadorCancelacion', type: DataTypes.INTEGER, allowNull: true, defaultValue: null, }, }); Prestamo.belongsTo(Usuario, { foreignKey: { name: 'idUsuario', type: DataTypes.INTEGER, allowNull: false, }, }); Prestamo.belongsTo(Equipo, { foreignKey: { name: 'idEquipo', type: DataTypes.INTEGER, allowNull: false, }, }); module.exports = Prestamo;