import apiClient from '../apiClient'; import type { TiradaDto } from '../../models/dtos/Impresion/TiradaDto'; import type { CreateTiradaRequestDto } from '../../models/dtos/Impresion/CreateTiradaRequestDto'; import type { UpdateTiradaRequestDto } from '../../models/dtos/Impresion/UpdateTiradaRequestDto'; interface GetTiradasParams { fecha?: string | null; // "yyyy-MM-dd" idPublicacion?: number | null; idPlanta?: number | null; } const getTiradas = async (filters: GetTiradasParams): Promise => { const params: Record = {}; if (filters.fecha) params.fecha = filters.fecha; if (filters.idPublicacion) params.idPublicacion = filters.idPublicacion; if (filters.idPlanta) params.idPlanta = filters.idPlanta; const response = await apiClient.get('/tiradas', { params }); return response.data; }; const registrarTirada = async (data: CreateTiradaRequestDto): Promise => { const response = await apiClient.post('/tiradas', data); return response.data; // El backend devuelve la tirada creada }; const modificarTirada = async (fecha: string, idPublicacion: number, idPlanta: number, data: UpdateTiradaRequestDto): Promise => { const response = await apiClient.put('/tiradas', data, { params: { fecha, idPublicacion, idPlanta } }); return response.data; }; const deleteTiradaCompleta = async (fecha: string, idPublicacion: number, idPlanta: number): Promise => { // Los parĂ¡metros van en la query string para este DELETE await apiClient.delete('/tiradas', { params: { fecha, idPublicacion, idPlanta } }); }; const tiradaService = { getTiradas, registrarTirada, modificarTirada, deleteTiradaCompleta, }; export default tiradaService;