import { DataTypes, Model } from 'sequelize';
import { sequelize } from '../config/database';
import PermisosPerfil from './permisos_perfil.model';

class Permisos extends Model {
  public id!: number;
  public nombre!: string;

  perfil?: PermisosPerfil;
}

Permisos.init(
  {
    id: {
      type: DataTypes.INTEGER,
      allowNull: false,
      primaryKey: true,
      autoIncrement: true,
    },
    nombre: {
      type: DataTypes.STRING(20),
      allowNull: false,
    },
  },
  {
    sequelize,
    tableName: 'permisos',
    timestamps: false,
  }
);

// Define la asociación
PermisosPerfil.belongsTo(Permisos, {
  foreignKey: 'id_permiso',
  as: 'permiso', // Alias para la relación con Permisos
});

// Relación con PermisosPerfil (un permiso tiene varios perfiles)
Permisos.hasMany(PermisosPerfil, {
foreignKey: 'id_permiso',
as: 'perfil', // Alias de la relación
});

export default Permisos;
