const Sequelize = require('sequelize');
var db = require("../database/db.js");

const TipoVacuna = db.sequelize.define('TIPO_VACUNA', {
    
    ID_TIPO_VACUNA: {
        primaryKey: true,
        type: Sequelize.BIGINT,
        allowNull: false,
        autoIncrement: true
    },
    
    NOMBRE: {
        type: Sequelize.STRING,
        allowNull: false,
    },
    
    DOSIS_UNICA: {
        type: Sequelize.BOOLEAN,
        allowNull: false,
    },
    
    NUMERO_DOSIS: {
        type: Sequelize.INTEGER,
        allowNull: false,
    },
    
    TIENE_REFUERZO: {
        type: Sequelize.BOOLEAN,
        allowNull: false,
    },
    
    PERIODICIDAD_REFUERZO_ANIOS: {
        type: Sequelize.INTEGER,
        allowNull: true,
    },
    
    ESTADO: {
        type: Sequelize.INTEGER,
        allowNull: false,
    }
    
}, {
    timestamps: false,
    id: false
});

const VacunaUsuario = require('./vacunaUsuario.js');

TipoVacuna.hasMany(VacunaUsuario, { foreignKey: 'ID_TIPO_VACUNA', sourceKey: 'ID_TIPO_VACUNA', as: 'VACUNAS_APLICADAS' });
VacunaUsuario.belongsTo(TipoVacuna, { foreignKey: 'ID_TIPO_VACUNA', sourceKey: 'ID_TIPO_VACUNA' });

module.exports = TipoVacuna;