Files
SIRH/frontend/services/absence-types.ts
tristan ee16779777
All checks were successful
Auto Tag Develop / tag (push) Successful in 5s
[#322] Page horaire (#4)
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|        #322          |        Page horaire         |

## Description de la PR
[#322] Page horaire

## Modification du .env

## Check list

- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #4
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-02-20 11:23:52 +00:00

42 lines
1.2 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' | 'countAsWorkedHours'>
) => {
const api = useApi()
return api.post<AbsenceType>('/absence_types', payload, {
toastSuccessKey: 'success.absenceType.create',
toastErrorKey: 'errors.absenceType.create'
})
}
export const updateAbsenceType = async (
id: number,
payload: Pick<AbsenceType, 'code' | 'label' | 'color' | 'countAsWorkedHours'>
) => {
const api = useApi()
return api.patch<AbsenceType>(`/absence_types/${id}`, payload, {
toastSuccessKey: 'success.absenceType.update',
toastErrorKey: 'errors.absenceType.update'
})
}
export const deleteAbsenceType = async (id: number) => {
const api = useApi()
return api.delete(`/absence_types/${id}`, {}, {
toastSuccessKey: 'success.absenceType.delete',
toastErrorKey: 'errors.absenceType.delete'
})
}