104 lines
2.0 KiB
JavaScript
104 lines
2.0 KiB
JavaScript
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,
|
|
},
|
|
canceladoOperador: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: true,
|
|
defaultValue: null,
|
|
},
|
|
regresoInmediato: {
|
|
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(Usuario, {
|
|
foreignKey: {
|
|
name: 'idUsuario',
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
});
|
|
|
|
Prestamo.belongsTo(Equipo, {
|
|
foreignKey: {
|
|
name: 'idEquipo',
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
});
|
|
|
|
module.exports = Prestamo;
|