39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
export function getApplications(): Promise<Application[]> {
|
|
const api = useApi()
|
|
return api.get<Application[]>('/applications', undefined, {
|
|
toast: false,
|
|
}).then((response) => {
|
|
if (Array.isArray(response)) {
|
|
return response
|
|
}
|
|
return extractHydraMembers(response as HydraCollection<Application>)
|
|
})
|
|
}
|
|
|
|
export function getApplication(slug: string): Promise<Application> {
|
|
return useApi().get<Application>(`/applications/${slug}`, undefined, {
|
|
toast: false,
|
|
})
|
|
}
|
|
|
|
export function createApplication(data: ApplicationWrite): Promise<Application> {
|
|
return useApi().post<Application>('/applications', data, {
|
|
toastSuccessKey: 'success.applications.create',
|
|
toastErrorKey: 'errors.applications.create',
|
|
})
|
|
}
|
|
|
|
export function updateApplication(slug: string, data: Partial<ApplicationWrite>): Promise<Application> {
|
|
return useApi().patch<Application>(`/applications/${slug}`, data, {
|
|
toastSuccessKey: 'success.applications.update',
|
|
toastErrorKey: 'errors.applications.update',
|
|
})
|
|
}
|
|
|
|
export function deleteApplication(slug: string): Promise<void> {
|
|
return useApi().delete<void>(`/applications/${slug}`, undefined, {
|
|
toastSuccessKey: 'success.applications.delete',
|
|
toastErrorKey: 'errors.applications.delete',
|
|
})
|
|
}
|