Files
SIRH/frontend/services/absence-types.ts
2026-02-03 18:04:06 +01:00

39 lines
1.0 KiB
TypeScript

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é.'
})
}