Files
2021-02-26 14:17:42 -06:00

103 lines
2.0 KiB
JavaScript

const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Usuario = require('./Usuario');
const Carrera = require('./Carrera');
const Status = require('./Status');
class CasoEspecial extends Model {}
CasoEspecial.init(
{
idCasoEspecial: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
unique: true,
autoIncrement: true,
},
creditos: {
type: DataTypes.STRING(3),
allowNull: false,
},
correo: {
type: DataTypes.STRING(60),
allowNull: false,
},
telefono: {
type: DataTypes.STRING(15),
allowNull: false,
},
institucion: {
type: DataTypes.STRING(200),
allowNull: true,
defaultValue: null,
},
dependencia: {
type: DataTypes.STRING(200),
allowNull: true,
defaultValue: null,
},
motivo: {
type: DataTypes.STRING(1),
allowNull: true,
defaultValue: null,
},
direccion: {
type: DataTypes.STRING(200),
allowNull: false,
},
fechaInicio: {
type: DataTypes.DATE,
allowNull: false,
},
fechaFin: {
type: DataTypes.DATE,
allowNull: false,
},
fechaNacimiento: {
type: DataTypes.DATE,
allowNull: false,
},
carpeta: {
type: DataTypes.STRING(60),
allowNull: false,
},
archivoZip: {
type: DataTypes.STRING(60),
allowNull: false,
},
},
{
sequelize,
modelName: 'CasoEspecial',
tableName: 'caso_especial',
timestamps: true,
}
);
CasoEspecial.belongsTo(Usuario, {
foreignKey: {
name: 'idUsuario',
type: DataTypes.INTEGER,
allowNull: false,
},
});
CasoEspecial.belongsTo(Carrera, {
foreignKey: {
name: 'idCarrera',
type: DataTypes.INTEGER,
allowNull: false,
},
});
CasoEspecial.belongsTo(Status, {
foreignKey: {
name: 'idStatus',
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1,
},
});
module.exports = CasoEspecial;