import apiClient from '../apiClient'; import type { DistribuidorDto } from '../../models/dtos/Distribucion/DistribuidorDto'; import type { CreateDistribuidorDto } from '../../models/dtos/Distribucion/CreateDistribuidorDto'; import type { UpdateDistribuidorDto } from '../../models/dtos/Distribucion/UpdateDistribuidorDto'; import type { DistribuidorDropdownDto } from '../../models/dtos/Distribucion/DistribuidorDropdownDto'; import type { DistribuidorLookupDto } from '../../models/dtos/Distribucion/DistribuidorLookupDto'; const getAllDistribuidores = async (nombreFilter?: string, nroDocFilter?: string, soloActivos: boolean = true): Promise => { const params: Record = { soloActivos: soloActivos }; if (nombreFilter) params.nombre = nombreFilter; if (nroDocFilter) params.nroDoc = nroDocFilter; const response = await apiClient.get('/distribuidores', { params }); return response.data; }; const getDistribuidorById = async (id: number): Promise => { const response = await apiClient.get(`/distribuidores/${id}`); return response.data; }; const getDistribuidorLookupById = async (id: number): Promise => { const response = await apiClient.get(`/distribuidores/${id}/lookup`); return response.data; }; const createDistribuidor = async (data: CreateDistribuidorDto): Promise => { const response = await apiClient.post('/distribuidores', data); return response.data; }; const updateDistribuidor = async (id: number, data: UpdateDistribuidorDto): Promise => { await apiClient.put(`/distribuidores/${id}`, data); }; const deleteDistribuidor = async (id: number): Promise => { await apiClient.delete(`/distribuidores/${id}`); }; const getAllDistribuidoresDropdown = async (soloActivos: boolean = true): Promise => { const response = await apiClient.get('/distribuidores/dropdown', { params: { soloActivos } }); return response.data; }; const toggleBajaDistribuidor = async (id: number, data: { darDeBaja: boolean, fechaBaja: string | null }): Promise => { await apiClient.put(`/distribuidores/${id}/toggle-baja`, data); }; const distribuidorService = { getAllDistribuidores, getDistribuidorById, createDistribuidor, updateDistribuidor, deleteDistribuidor, getAllDistribuidoresDropdown, getDistribuidorLookupById, toggleBajaDistribuidor, }; export default distribuidorService;