import { api } from './api';
import type { FahrzeugTyp } from '../types/checklist.types';

export const fahrzeugTypenApi = {
  getAll: async (): Promise<FahrzeugTyp[]> => {
    const r = await api.get('/api/fahrzeug-typen');
    return r.data.data;
  },

  getById: async (id: number): Promise<FahrzeugTyp> => {
    const r = await api.get(`/api/fahrzeug-typen/${id}`);
    return r.data.data;
  },

  create: async (data: Partial<FahrzeugTyp>): Promise<FahrzeugTyp> => {
    const r = await api.post('/api/fahrzeug-typen', data);
    return r.data.data;
  },

  update: async (id: number, data: Partial<FahrzeugTyp>): Promise<FahrzeugTyp> => {
    const r = await api.patch(`/api/fahrzeug-typen/${id}`, data);
    return r.data.data;
  },

  delete: async (id: number): Promise<void> => {
    await api.delete(`/api/fahrzeug-typen/${id}`);
  },

  getTypesForVehicle: async (fahrzeugId: string): Promise<FahrzeugTyp[]> => {
    const r = await api.get(`/api/fahrzeug-typen/vehicle/${fahrzeugId}`);
    return r.data.data ?? r.data;
  },

  setTypesForVehicle: async (fahrzeugId: string, typIds: number[]): Promise<void> => {
    await api.put(`/api/fahrzeug-typen/vehicle/${fahrzeugId}`, { typIds });
  },
};
