feat : ajout des sites pour les employés et retour arrière sur l'impression
This commit is contained in:
36
frontend/services/sites.ts
Normal file
36
frontend/services/sites.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import type { Site } from './dto/site'
|
||||
import { extractItems } from '~/utils/api'
|
||||
|
||||
export const listSites = async () => {
|
||||
const api = useApi()
|
||||
const data = await api.get<Site[] | { 'hydra:member'?: Site[] }>(
|
||||
'/sites',
|
||||
{},
|
||||
{ toast: false }
|
||||
)
|
||||
return extractItems<Site>(data)
|
||||
}
|
||||
|
||||
export const createSite = async (payload: Pick<Site, 'name' | 'color'>) => {
|
||||
const api = useApi()
|
||||
return api.post<Site>('/sites', payload, {
|
||||
toastSuccessKey: 'success.site.create',
|
||||
toastErrorKey: 'errors.site.create'
|
||||
})
|
||||
}
|
||||
|
||||
export const updateSite = async (id: number, payload: Pick<Site, 'name' | 'color'>) => {
|
||||
const api = useApi()
|
||||
return api.patch<Site>(`/sites/${id}`, payload, {
|
||||
toastSuccessKey: 'success.site.update',
|
||||
toastErrorKey: 'errors.site.update'
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteSite = async (id: number) => {
|
||||
const api = useApi()
|
||||
return api.delete(`/sites/${id}`, {}, {
|
||||
toastSuccessKey: 'success.site.delete',
|
||||
toastErrorKey: 'errors.site.delete'
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user