Skip to main content

API de Preferencias de Notificación

Este archivo proporciona funciones para obtener y actualizar las preferencias de notificación de un usuario. Utiliza una instancia personalizada de Axios para conectarse con el backend.


🔍 Ubicación

src/api/preferencias.ts


📦 Dependencias utilizadas

import axiosInstance from "../utils/axiosInstance";
  • axiosInstance: Instancia de Axios preconfigurada para peticiones HTTP con baseURL, headers y autenticación si es necesario.

🔧 Funciones disponibles

🟢 GET - Obtener preferencias

⚙️ getPreferenciasNotificaciones(idUsuario: number)

Obtiene las preferencias de notificación guardadas para un usuario.

export async function getPreferenciasNotificaciones(idUsuario: number) {
const response = await axiosInstance.get(`/preferencias-notificaciones/${idUsuario}`);
return response.data;
}
  • Parámetros:

    • idUsuario: número de identificación del usuario (number).
  • Retorna: Objeto con las preferencias actuales del usuario, por ejemplo:

{
stockBajo: true,
productoVencido: false,
comentarios: true,
reposicion: true,
actualizacion: false
}

🟡 PUT - Actualizar preferencias

🔧 updatePreferenciasNotificaciones(idUsuario, preferencias)

Actualiza las preferencias de notificación de un usuario específico.

export async function updatePreferenciasNotificaciones(
idUsuario: number,
preferencias: {
stockBajo?: boolean;
productoVencido?: boolean;
comentarios?: boolean;
reposicion?: boolean;
actualizacion?: boolean;
}
) {
const response = await axiosInstance.put(`/preferencias-notificaciones/${idUsuario}`, preferencias);
return response.data;
}
  • Parámetros:

    • idUsuario: ID del usuario (number).
    • preferencias: Objeto parcial con las preferencias a actualizar.
  • Ejemplo del cuerpo (preferencias):

{
productoVencido: true,
actualizacion: true
}
  • Retorna: Objeto actualizado con las nuevas preferencias del usuario.

✅ Se pueden enviar solo los campos que se desean modificar. Los valores que no se incluyan permanecen sin cambios.


🚀 Ejemplo de uso

import {
getPreferenciasNotificaciones,
updatePreferenciasNotificaciones
} from "../api/preferencias";

const preferenciasActuales = await getPreferenciasNotificaciones(7);

await updatePreferenciasNotificaciones(7, {
stockBajo: false,
comentarios: true,
});

📝 Notas adicionales

  • Este módulo se enfoca exclusivamente en las preferencias de notificaciones y su persistencia en el backend.
  • El método PUT permite una modificación completa o parcial de las preferencias.
  • El endpoint /preferencias-notificaciones/:idUsuario es reutilizado tanto para lectura como para escritura.