feat : first commit
This commit is contained in:
38
frontend/services/absence-types.ts
Normal file
38
frontend/services/absence-types.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import type { AbsenceType } from './dto/absence-type'
|
||||
import { extractItems } from '~/utils/api'
|
||||
|
||||
export const listAbsenceTypes = async () => {
|
||||
const api = useApi()
|
||||
const data = await api.get<AbsenceType[] | { 'hydra:member'?: AbsenceType[] }>(
|
||||
'/absence_types',
|
||||
{},
|
||||
{ toast: false }
|
||||
)
|
||||
return extractItems<AbsenceType>(data)
|
||||
}
|
||||
|
||||
export const createAbsenceType = async (
|
||||
payload: Pick<AbsenceType, 'code' | 'label' | 'color'>
|
||||
) => {
|
||||
const api = useApi()
|
||||
return api.post<AbsenceType>('/absence_types', payload, {
|
||||
toastSuccessMessage: 'Type créé.'
|
||||
})
|
||||
}
|
||||
|
||||
export const updateAbsenceType = async (
|
||||
id: number,
|
||||
payload: Pick<AbsenceType, 'code' | 'label' | 'color'>
|
||||
) => {
|
||||
const api = useApi()
|
||||
return api.patch<AbsenceType>(`/absence_types/${id}`, payload, {
|
||||
toastSuccessMessage: 'Type mis à jour.'
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteAbsenceType = async (id: number) => {
|
||||
const api = useApi()
|
||||
return api.delete(`/absence_types/${id}`, {}, {
|
||||
toastSuccessMessage: 'Type supprimé.'
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user