41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
|
|
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';
|
||
|
|
|
||
|
|
const getAllDistribuidores = async (nombreFilter?: string, nroDocFilter?: string): Promise<DistribuidorDto[]> => {
|
||
|
|
const params: Record<string, string> = {};
|
||
|
|
if (nombreFilter) params.nombre = nombreFilter;
|
||
|
|
if (nroDocFilter) params.nroDoc = nroDocFilter;
|
||
|
|
|
||
|
|
const response = await apiClient.get<DistribuidorDto[]>('/distribuidores', { params });
|
||
|
|
return response.data;
|
||
|
|
};
|
||
|
|
|
||
|
|
const getDistribuidorById = async (id: number): Promise<DistribuidorDto> => {
|
||
|
|
const response = await apiClient.get<DistribuidorDto>(`/distribuidores/${id}`);
|
||
|
|
return response.data;
|
||
|
|
};
|
||
|
|
|
||
|
|
const createDistribuidor = async (data: CreateDistribuidorDto): Promise<DistribuidorDto> => {
|
||
|
|
const response = await apiClient.post<DistribuidorDto>('/distribuidores', data);
|
||
|
|
return response.data;
|
||
|
|
};
|
||
|
|
|
||
|
|
const updateDistribuidor = async (id: number, data: UpdateDistribuidorDto): Promise<void> => {
|
||
|
|
await apiClient.put(`/distribuidores/${id}`, data);
|
||
|
|
};
|
||
|
|
|
||
|
|
const deleteDistribuidor = async (id: number): Promise<void> => {
|
||
|
|
await apiClient.delete(`/distribuidores/${id}`);
|
||
|
|
};
|
||
|
|
|
||
|
|
const distribuidorService = {
|
||
|
|
getAllDistribuidores,
|
||
|
|
getDistribuidorById,
|
||
|
|
createDistribuidor,
|
||
|
|
updateDistribuidor,
|
||
|
|
deleteDistribuidor,
|
||
|
|
};
|
||
|
|
|
||
|
|
export default distribuidorService;
|