d527e94bac
| 313| Création d'une page d'administration : modification/création d'un fournisseur | |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [x] Pas de régression - [ ] TU/TI/TF rédigée - [x] TU/TI/TF OK - [x] CHANGELOG modifié Reviewed-on: https://gitea.malio.fr/MALIO-DEV/Ferme/pulls/20 Reviewed-by: Autin <tristan@yuno.malio.fr> Co-authored-by: Matteo <matteo@yuno.malio.fr> Co-committed-by: Matteo <matteo@yuno.malio.fr>
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
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<SupplierData[]> {
|
|
const api = useApi()
|
|
const response = await api.get<SupplierListResponse>("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<SupplierData> {
|
|
const api = useApi()
|
|
return api.get<SupplierData>(`suppliers/${id}`, {}, {
|
|
toastErrorKey: "errors.supplier.fetch",
|
|
})
|
|
}
|
|
|
|
export async function updateSupplier(id: number, payload: Partial<SupplierPayload>): Promise<SupplierData> {
|
|
const api = useApi()
|
|
return api.patch<SupplierData>(`suppliers/${id}`, payload, {
|
|
toastErrorKey: "errors.supplier.update",
|
|
toastSuccessKey: "success.supplier.update",
|
|
})
|
|
}
|
|
|
|
export async function createSupplier(payload: SupplierPayload): Promise<SupplierData> {
|
|
const api = useApi()
|
|
return api.post<SupplierData>("suppliers", payload, {
|
|
toastErrorKey: "errors.supplier.create",
|
|
toastSuccessKey: "success.supplier.create",
|
|
})
|
|
}
|