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

const ENDPOINT_STATUS = '/status_frota';

export const statusService = {
  /**
   * Lista todos os status de frota.
   */
  getStatus: () => handleRequest({
    apiFn: async () => {
      const { data } = await api.get(`${ENDPOINT_STATUS}/apresentar`);
      return data;
    }
  }),

  /**
   * Cria um novo registro de status.
   * Campos esperados:
   * - placa, placa_reserva, status_frota (enum?), manutencao, obs
   * - Contexto: id_rota, motorista, base, tipo_placa, categoria, modelo, uf, proprietario, atuacao, vecfleet
   */
  createStatus: (statusData) => handleRequest({
    apiFn: async () => {
      const { data } = await api.post(ENDPOINT_STATUS, statusData);
      return data;
    }
  }),

  /**
   * Atualiza um status.
   * @param {number} id - idstatus_frota
   */
  updateStatus: (id, statusData) => handleRequest({
    apiFn: async () => {
      const { data } = await api.put(`${ENDPOINT_STATUS}/${id}`, statusData);
      return data;
    }
  })
};
