33 lines
857 B
TypeScript
33 lines
857 B
TypeScript
|
|
// frontend/src/services/apiService.ts
|
||
|
|
|
||
|
|
import axios from 'axios';
|
||
|
|
import type { Titular } from '../types';
|
||
|
|
|
||
|
|
// La URL base de nuestra API. Ajusta el puerto si es diferente.
|
||
|
|
const API_URL = 'https://localhost:5174/api';
|
||
|
|
|
||
|
|
const apiClient = axios.create({
|
||
|
|
baseURL: API_URL,
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json',
|
||
|
|
},
|
||
|
|
});
|
||
|
|
|
||
|
|
export const obtenerTitulares = async (): Promise<Titular[]> => {
|
||
|
|
const response = await apiClient.get('/titulares');
|
||
|
|
return response.data;
|
||
|
|
};
|
||
|
|
|
||
|
|
export const eliminarTitular = async (id: number): Promise<void> => {
|
||
|
|
await apiClient.delete(`/titulares/${id}`);
|
||
|
|
};
|
||
|
|
|
||
|
|
// DTO para el reordenamiento
|
||
|
|
interface ReordenarPayload {
|
||
|
|
id: number;
|
||
|
|
nuevoOrden: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export const actualizarOrdenTitulares = async (payload: ReordenarPayload[]): Promise<void> => {
|
||
|
|
await apiClient.put('/titulares/reordenar', payload);
|
||
|
|
};
|