import { obtenerNombreModulo } from "../../../../assets/js/app/funcionesGenerales.js";
import metodosFetch from "../../../../assets/js/app/metodosFetch.js";

class tiposOtrosIngresos {
  constructor({ codtipo, tipoOtroIngreso,planillaComplementaria, aplicaCotizaciones, aplicaRenta }) {
    this.codtipo = codtipo;
    this.tipoOtroIngreso = tipoOtroIngreso;
    this.planillaComplementaria = planillaComplementaria;
    this.aplicaCotizaciones = aplicaCotizaciones;
    this.aplicaRenta = aplicaRenta;
  }

  static async obtenerregistroTiposOtrosIngresos() {
    try {
      const respuesta = await metodosFetch.get({
        archivo: `controllers/tiposOtrosIngresosController`,
        modulo: obtenerNombreModulo(),
        parametros: {
          accion: "obtenerOtroTipoRegistro",
        },
        loader: false,
      });
      return respuesta;
    } catch (err) {
      throw err;
    }
  }

  async guardar() {
    try {
      const respuesta = await metodosFetch.post({
        archivo: `controllers/tiposOtrosIngresosController`,
        modulo: obtenerNombreModulo(),
        data: {
          accion: "guardar",
          ...this,
        },
      });

      return respuesta;
    } catch (err) {
      throw err;
    }
  }

  async eliminar() {
    try {
      const respuesta = await metodosFetch.post({
        archivo: `controllers/tiposOtrosIngresosController`,
        modulo: obtenerNombreModulo(),
        data: {
          accion: "eliminar",
          codtipo: this.codtipo,
        },
      });

      return respuesta;
    } catch (err) {
      throw err;
    }
  }
}

export default tiposOtrosIngresos;
