import type { Freight } from "@edr/types"; import { api as apiClient } from "../auth/http"; export interface Wagon { id: string; wagonNumber: string; wagonTypeId: string; trainId: string | null; sequenceNumber: number | null; tareWeight: number; maxPayloadWeight: number; status: Freight.WagonStatus; readiness: Freight.WagonReadiness; notes?: string; } export const wagonService = { getAll: () => apiClient.get('/wagons'), getById: (id: string) => apiClient.get(`/wagons/${id}`), getByTrain: (trainId: string) => apiClient.get(`/wagons?trainId=${trainId}`), assignToTrain: (wagonId: string, trainId: string, sequenceNumber?: number) => apiClient.post(`/wagons/${wagonId}/assign-train`, { trainId, sequenceNumber }), unassign: (wagonId: string) => apiClient.post(`/wagons/${wagonId}/unassign-train`), reorder: (trainId: string, wagonIds: string[]) => apiClient.post(`/trains/${trainId}/reorder-wagons`, { wagonIds }), create: (data: Partial) => apiClient.post('/wagons', data), update: (id: string, data: Partial) => apiClient.patch(`/wagons/${id}`, data), delete: (id: string) => apiClient.delete(`/wagons/${id}`), };