52 lines
2.2 KiB
TypeScript
52 lines
2.2 KiB
TypeScript
import apiClient from '../apiClient';
|
|
import type { PagoDistribuidorDto } from '../../models/dtos/Contables/PagoDistribuidorDto';
|
|
import type { CreatePagoDistribuidorDto } from '../../models/dtos/Contables/CreatePagoDistribuidorDto';
|
|
import type { UpdatePagoDistribuidorDto } from '../../models/dtos/Contables/UpdatePagoDistribuidorDto';
|
|
|
|
interface GetAllPagosDistParams {
|
|
fechaDesde?: string | null; // yyyy-MM-dd
|
|
fechaHasta?: string | null; // yyyy-MM-dd
|
|
idDistribuidor?: number | null;
|
|
idEmpresa?: number | null;
|
|
tipoMovimiento?: 'Recibido' | 'Realizado' | '' | null;
|
|
}
|
|
|
|
const getAllPagosDistribuidor = async (filters: GetAllPagosDistParams): Promise<PagoDistribuidorDto[]> => {
|
|
const params: Record<string, string | number> = {};
|
|
if (filters.fechaDesde) params.fechaDesde = filters.fechaDesde;
|
|
if (filters.fechaHasta) params.fechaHasta = filters.fechaHasta;
|
|
if (filters.idDistribuidor) params.idDistribuidor = filters.idDistribuidor;
|
|
if (filters.idEmpresa) params.idEmpresa = filters.idEmpresa;
|
|
if (filters.tipoMovimiento) params.tipoMovimiento = filters.tipoMovimiento;
|
|
|
|
const response = await apiClient.get<PagoDistribuidorDto[]>('/pagosdistribuidor', { params });
|
|
return response.data;
|
|
};
|
|
|
|
const getPagoDistribuidorById = async (idPago: number): Promise<PagoDistribuidorDto> => {
|
|
const response = await apiClient.get<PagoDistribuidorDto>(`/pagosdistribuidor/${idPago}`);
|
|
return response.data;
|
|
};
|
|
|
|
const createPagoDistribuidor = async (data: CreatePagoDistribuidorDto): Promise<PagoDistribuidorDto> => {
|
|
const response = await apiClient.post<PagoDistribuidorDto>('/pagosdistribuidor', data);
|
|
return response.data;
|
|
};
|
|
|
|
const updatePagoDistribuidor = async (idPago: number, data: UpdatePagoDistribuidorDto): Promise<void> => {
|
|
await apiClient.put(`/pagosdistribuidor/${idPago}`, data);
|
|
};
|
|
|
|
const deletePagoDistribuidor = async (idPago: number): Promise<void> => {
|
|
await apiClient.delete(`/pagosdistribuidor/${idPago}`);
|
|
};
|
|
|
|
const pagoDistribuidorService = {
|
|
getAllPagosDistribuidor,
|
|
getPagoDistribuidorById,
|
|
createPagoDistribuidor,
|
|
updatePagoDistribuidor,
|
|
deletePagoDistribuidor,
|
|
};
|
|
|
|
export default pagoDistribuidorService; |