import metodosFetch from "../../../../assets/js/app/metodosFetch.js?v=1.0.0";
import { obtenerNombreModulo } from "../../../../assets/js/app/funcionesGenerales.js?v=1.0.0";

class DocumentoPlanillaUnica {
  constructor({
    codigo,
    fechaRegistro,
    id,
    idTipoDocumento,
    tipoDocumento,
    usuario,
  }) {
    this.codigo = codigo;
    this.fechaRegistro = fechaRegistro;
    this.id = id;
    this.idTipoDocumento = idTipoDocumento;
    this.tipoDocumento = tipoDocumento;
    this.usuario = usuario;
  }

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

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

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

  static async eliminar({ id }) {
    try {
      const respuesta = await metodosFetch.post({
        archivo: "controllers/documentoPlanillaUnicaController",
        modulo: obtenerNombreModulo(),
        data: {
          accion: "eliminar",
          id,
        },
      });

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

export default DocumentoPlanillaUnica;
