52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import { useApi } from '~/composables/useApi'
|
|
import type { ReceptionPelletBuildingData } from '~/services/dto/reception-pellet-building-data'
|
|
|
|
export type ReceptionPelletBuildingListResponse =
|
|
| ReceptionPelletBuildingData[]
|
|
| { 'hydra:member'?: ReceptionPelletBuildingData[] }
|
|
|
|
export type ReceptionPelletBuildingPayload = {
|
|
reception: string
|
|
pelletType: string
|
|
building: string
|
|
}
|
|
|
|
export async function getReceptionPelletBuildingList(
|
|
receptionIri: string
|
|
): Promise<ReceptionPelletBuildingData[]> {
|
|
const api = useApi()
|
|
const response = await api.get<ReceptionPelletBuildingListResponse>(
|
|
'reception_pellet_buildings',
|
|
{ reception: receptionIri },
|
|
{
|
|
toastErrorKey: 'errors.receptionPelletBuilding.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 createReceptionPelletBuilding(
|
|
payload: ReceptionPelletBuildingPayload
|
|
): Promise<ReceptionPelletBuildingData> {
|
|
const api = useApi()
|
|
return api.post<ReceptionPelletBuildingData>('reception_pellet_buildings', payload, {
|
|
toastErrorKey: 'errors.receptionPelletBuilding.create'
|
|
})
|
|
}
|
|
|
|
export async function deleteReceptionPelletBuilding(id: number): Promise<void> {
|
|
const api = useApi()
|
|
await api.delete<void>(`reception_pellet_buildings/${id}`, {}, {
|
|
toastErrorKey: 'errors.receptionPelletBuilding.delete'
|
|
})
|
|
}
|