financeiro/financeiro-web/src/features/movimentosFixos/services/movimentosFixosService.ts

75 lines
1.9 KiB
TypeScript

import { api } from '../../../services/api';
import type {
ApiResponse,
AtualizarMovimentoFixoRequest,
CriarMovimentoFixoRequest,
MovimentoFixo,
MovimentosFixosListResponse,
} from '../types/movimentoFixoTypes';
export type OrderDirection = 'ASC' | 'DESC';
export type ListarMovimentosFixosParams = {
limite?: number;
offset?: number;
page?: number;
busca?: string;
movimento?: string;
idbancos?: number | '';
idcentrodecustos?: number | '';
habilitado?: number | '';
diaInicio?: number | '';
diaFim?: number | '';
orderBy?: string;
orderDirection?: OrderDirection;
};
export async function listarMovimentosFixos(
params?: ListarMovimentosFixosParams
): Promise<MovimentosFixosListResponse> {
const response = await api.get<MovimentosFixosListResponse>('/movimentos-fixos', {
params,
});
return response.data;
}
export async function buscarMovimentoFixoPorId(id: number): Promise<MovimentoFixo> {
const response = await api.get<ApiResponse<MovimentoFixo>>(`/movimentos-fixos/${id}`);
return response.data.data;
}
export async function criarMovimentoFixo(
data: CriarMovimentoFixoRequest
): Promise<MovimentoFixo> {
const response = await api.post<ApiResponse<MovimentoFixo>>('/movimentos-fixos', data);
return response.data.data;
}
export async function atualizarMovimentoFixo(
id: number,
data: AtualizarMovimentoFixoRequest
): Promise<MovimentoFixo> {
const response = await api.put<ApiResponse<MovimentoFixo>>(
`/movimentos-fixos/${id}`,
data
);
return response.data.data;
}
export async function alterarHabilitadoMovimentoFixo(
id: number,
habilitado: number
): Promise<MovimentoFixo> {
const response = await api.patch<ApiResponse<MovimentoFixo>>(
`/movimentos-fixos/${id}/habilitado`,
{ habilitado }
);
return response.data.data;
}
export async function deletarMovimentoFixo(id: number): Promise<void> {
await api.delete(`/movimentos-fixos/${id}`);
}