import { useApi } from '~/composables/useApi' import type {CarrierData, CarrierPayload} from "~/services/dto/carrier-data"; export type CarrierListResponse = | CarrierData[] | { 'hydra:member'?: CarrierData[] } export async function getCarrierList(): Promise { const api = useApi() const response = await api.get('carriers', {}, { toastErrorKey: 'errors.carrier.list' }) if (Array.isArray(response)) { return response } if (response && typeof response === 'object' && Array.isArray(response['hydra:member'])) { return response['hydra:member'] } return [] } export async function getCarrier(id: number) { const api = useApi() return api.get(`carriers/${id}`, {}, { toastErrorKey: 'errors.carrier.fetch' }) } export async function updateCarrier(id: number, payload: CarrierPayload) { const api = useApi() return api.patch(`carriers/${id}`, payload, { toastErrorKey: 'errors.carrier.update', toastSuccessKey: 'success.carrier.update' }) } export async function createCarrier(payload: CarrierPayload = {}) { const api = useApi() return api.post('carriers', payload, { toastErrorKey: 'errors.carrier.create', toastSuccessKey: 'success.carrier.update' }) }