import api from '@/services/api';
import { handleRequest } from '@/services/serviceUtils';

const BASE_DASH = '/dashs_frota';

export const dashboardFleetService = {
  // --- Cadastro Frota ---
  getTotalPlacas: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/cadastro_frota/total_placas`).then(res => res.data)
  }),
  getPlacasPorBase: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/cadastro_frota/placas_por_base`).then(res => res.data)
  }),
  getPlacasPorAno: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/cadastro_frota/placas_por_ano`).then(res => res.data)
  }),
  getPlacasPorCategoria: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/cadastro_frota/placas_por_categoria`).then(res => res.data)
  }),
  getPlacasPorModelo: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/cadastro_frota/placas_por_modelo`).then(res => res.data)
  }),
  getPlacasPorTipo: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/cadastro_frota/placas_por_tipo`).then(res => res.data)
  }),

  // --- Status Frota ---
  getPlacasPorStatus: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/status_frota/placas_por_status`).then(res => res.data)
  }),
  getPlacasPorManutencao: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/status_frota/placas_por_manutencao`).then(res => res.data)
  }),
  getPlacasPorProprietario: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/status_frota/placas_por_proprietario`).then(res => res.data)
  }),

  // --- Disponibilidade ---
  getDisponibilidade: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/disponibilidade/placas`).then(res => res.data)
  }),

  // --- Monitoramento ---
  getMonitoramentoPorUnidade: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/monitoramento/placas_por_unidade`).then(res => res.data)
  }),

  // --- Sinistro ---
  getSinistrosPorStatus: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/sinistro/placas_por_status`).then(res => res.data)
  }),

  // --- Manutenção ---
  getManutencaoPorStatus: () => handleRequest({
    apiFn: () => api.get(`${BASE_DASH}/manutencao/placas_por_manutencao_status`).then(res => res.data)
  })
};
