Files
edr-platform/apps/edr-freight-web/backoffice/src/services/cargoService.ts
2026-06-05 21:07:04 +03:00

32 lines
1.2 KiB
TypeScript

// import { apiClient } from '@/lib/axios';
import { api as apiClient } from "../auth/http";
export interface Cargo {
id: string;
cargoReference: string;
shipmentId: string;
containerId: string;
cargoTypeId?: string;
description?: string;
quantity: number;
weight: number;
volume?: number;
status: 'PENDING' | 'LOADED' | 'IN_TRANSIT' | 'DELIVERED' | 'UNLOADED';
loadedAt?: string;
unloadedAt?: string;
}
export const cargoService = {
getAll: () => apiClient.get<Cargo[]>('/cargoes'),
getById: (id: string) => apiClient.get<Cargo>(`/cargoes/${id}`),
getByContainer: (containerId: string) => apiClient.get<Cargo[]>(`/cargoes?containerId=${containerId}`),
create: (data: Partial<Cargo>) => apiClient.post('/cargoes', data),
update: (id: string, data: Partial<Cargo>) => apiClient.patch(`/cargoes/${id}`, data),
delete: (id: string) => apiClient.delete(`/cargoes/${id}`),
load: (cargoId: string, quantity: number, weight: number, volume?: number) =>
apiClient.post(`/cargoes/${cargoId}/load`, { quantity, weight, volume }),
deliver: (cargoId: string) => apiClient.post(`/cargoes/${cargoId}/deliver`),
unload: (cargoId: string) => apiClient.post(`/cargoes/${cargoId}/unload`),
};