import apiClient from '../apiClient'; import type { AjusteDto } from '../../models/dtos/Suscripciones/AjusteDto'; import type { CreateAjusteDto } from '../../models/dtos/Suscripciones/CreateAjusteDto'; import type { UpdateAjusteDto } from '../../models/dtos/Suscripciones/UpdateAjusteDto'; const API_URL_BY_SUSCRIPTOR = '/suscriptores'; const API_URL_BASE = '/ajustes'; const getAjustesPorSuscriptor = async (idSuscriptor: number, fechaDesde?: string, fechaHasta?: string): Promise => { // URLSearchParams nos ayuda a construir la query string de forma segura y limpia const params = new URLSearchParams(); if (fechaDesde) { params.append('fechaDesde', fechaDesde); } if (fechaHasta) { params.append('fechaHasta', fechaHasta); } // Si hay parámetros, los añadimos a la URL. Si no, la URL queda limpia. const queryString = params.toString(); const url = `${API_URL_BY_SUSCRIPTOR}/${idSuscriptor}/ajustes${queryString ? `?${queryString}` : ''}`; const response = await apiClient.get(url); return response.data; }; const createAjusteManual = async (data: CreateAjusteDto): Promise => { const response = await apiClient.post(API_URL_BASE, data); return response.data; }; const anularAjuste = async (idAjuste: number): Promise => { await apiClient.post(`${API_URL_BASE}/${idAjuste}/anular`); }; const updateAjuste = async (idAjuste: number, data: UpdateAjusteDto): Promise => { await apiClient.put(`${API_URL_BASE}/${idAjuste}`, data); }; export default { getAjustesPorSuscriptor, createAjusteManual, anularAjuste, updateAjuste, };