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 { const response = await api.get('/movimentos-fixos', { params, }); return response.data; } export async function buscarMovimentoFixoPorId(id: number): Promise { const response = await api.get>(`/movimentos-fixos/${id}`); return response.data.data; } export async function criarMovimentoFixo( data: CriarMovimentoFixoRequest ): Promise { const response = await api.post>('/movimentos-fixos', data); return response.data.data; } export async function atualizarMovimentoFixo( id: number, data: AtualizarMovimentoFixoRequest ): Promise { const response = await api.put>( `/movimentos-fixos/${id}`, data ); return response.data.data; } export async function alterarHabilitadoMovimentoFixo( id: number, habilitado: number ): Promise { const response = await api.patch>( `/movimentos-fixos/${id}/habilitado`, { habilitado } ); return response.data.data; } export async function deletarMovimentoFixo(id: number): Promise { await api.delete(`/movimentos-fixos/${id}`); }