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


const Permiso = db.sequelize.define('PERMISO', {


    ID_PERMISO: {
        primaryKey: true,
        type: Sequelize.BIGINT,
        allowNull: false,
        autoIncrement: true
    },

    ID_USUARIO: {
        type: Sequelize.INTEGER,
        allowNull: false
    },

    ID_TIPO_PERMISO: {
        type: Sequelize.INTEGER,
        allowNull: false,
    },

    FECHA_INICIO_PERMISO: {
        type: Sequelize.DATEONLY,
        allowNull: false,
    },
    FECHA_FIN_PERMISO: {
        type: Sequelize.DATEONLY,
        allowNull: false,
    },

    HORA_INICIO_PERMISO: {
        type: Sequelize.TIME,
        allowNull: false,
    },
    HORA_FIN_PERMISO: {
        type: Sequelize.TIME,
        allowNull: false,
    },

    TIEMPO_SOLICITADO_HORAS: {
        type: Sequelize.INTEGER,
        allowNull: false,
    },
    DETALLE_PERMISO: {
        type: Sequelize.STRING,
        allowNull: false,
    },
    EVIDENCIA: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    COMENTARIO_JEFE: {
        type: Sequelize.STRING,
        allowNull: true,
    },

    APROBACION_JEFE: {
        type: Sequelize.BOOLEAN,
        allowNull: false,
    },

    APROBACION_TTHH: {
        type: Sequelize.BOOLEAN,
        allowNull: false,
    },
    APROBACION_GERENTE: {
        type: Sequelize.BOOLEAN,
        allowNull: false,
    },
    
    FECHA_REGISTRO: {
        type: Sequelize.DATE,
        allowNull: false,
    },
    ESTADO: {
        type: Sequelize.INTEGER,
        allowNull: false,
    },
    APROBADO_POR_JEFE: {
        type: Sequelize.STRING,
        allowNull: true,
    },
    APROBADO_POR_ADMINISTRADOR: {
        type: Sequelize.STRING,
        allowNull: true,
    },

    APROBADO_POR_GERENTE: {
        type: Sequelize.STRING,
        allowNull: true,
    },

    CARGO_VACACIONES: {
        type: Sequelize.BOOLEAN,
        allowNull: true,
        defaultValue: false,
    },
    DIAS_CARGO_VACACIONES: {
        type: Sequelize.INTEGER,
        allowNull: true,
        defaultValue: 0,
    },
    RAZON_CARGO_VACACIONES: {
        type: Sequelize.STRING,
        allowNull: true,
    },

},
    {
        timestamps: false,
        id: false
    })



  

module.exports = Permiso;