import { useApi } from "~/composables/useApi" import type { SupplierData, SupplierPayload } from "~/services/dto/supplier-data" export type SupplierListResponse = | SupplierData[] | { "hydra:member"?: SupplierData[] } export async function getSupplierList(): Promise { const api = useApi() const response = await api.get("suppliers", {}, { toastErrorKey: "errors.supplier.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 getSupplier(id: number): Promise { const api = useApi() return api.get(`suppliers/${id}`, {}, { toastErrorKey: "errors.supplier.fetch", }) } export async function updateSupplier(id: number, payload: Partial): Promise { const api = useApi() return api.patch(`suppliers/${id}`, payload, { toastErrorKey: "errors.supplier.update", toastSuccessKey: "success.supplier.update", }) } export async function createSupplier(payload: SupplierPayload): Promise { const api = useApi() return api.post("suppliers", payload, { toastErrorKey: "errors.supplier.create", toastSuccessKey: "success.supplier.create", }) }