75 lines
1.9 KiB
TypeScript
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}`);
|
|
} |