66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
import api from './api';
|
|
import apiRouteManager from './apiRouteManager';
|
|
import { handleRequest } from './serviceUtils';
|
|
|
|
/**
|
|
* Prafrot Service V2 (Test Version)
|
|
* Utiliza o ApiRouteManager para desacoplar as URLs e metadados.
|
|
*/
|
|
export const prafrotServiceV2 = {
|
|
// --- Cadastro de Frota (Veículos) ---
|
|
getVehicles: () => handleRequest({
|
|
apiFn: async () => {
|
|
const url = apiRouteManager.getUrl('prafrot.vehicles.list');
|
|
const { data } = await api.get(url);
|
|
return data;
|
|
}
|
|
}),
|
|
|
|
createVehicle: (payload) => handleRequest({
|
|
apiFn: async () => {
|
|
const url = apiRouteManager.getUrl('prafrot.vehicles.create');
|
|
const { data } = await api.post(url, payload);
|
|
return data;
|
|
}
|
|
}),
|
|
|
|
updateVehicle: (id, payload) => handleRequest({
|
|
apiFn: async () => {
|
|
const url = apiRouteManager.getUrl('prafrot.vehicles.update', { id });
|
|
const { data } = await api.put(url, payload);
|
|
return data;
|
|
}
|
|
}),
|
|
|
|
deleteVehicle: (id) => handleRequest({
|
|
apiFn: async () => {
|
|
const url = apiRouteManager.getUrl('prafrot.vehicles.delete', { id });
|
|
const { data } = await api.put(url);
|
|
return data;
|
|
}
|
|
}),
|
|
|
|
// --- Manutenção ---
|
|
getMaintenance: () => handleRequest({
|
|
apiFn: async () => {
|
|
const url = apiRouteManager.getUrl('prafrot.maintenance.list');
|
|
const { data } = await api.get(url);
|
|
return data;
|
|
}
|
|
}),
|
|
|
|
/**
|
|
* Obtém os campos e metadados para formulários dinâmicos
|
|
* @param {string} entity vehicles, maintenance, claims, etc.
|
|
*/
|
|
getFields: (entity) => apiRouteManager.getFields(`prafrot.${entity}`),
|
|
|
|
/**
|
|
* Obtém metadados de apresentação (tabelas, cards, etc)
|
|
* @param {string} entity vehicles, maintenance, etc.
|
|
*/
|
|
getPresentation: (entity) => apiRouteManager.getPresentation(`prafrot.${entity}`)
|
|
};
|
|
|
|
export default prafrotServiceV2;
|