import type { Absence } from './dto/absence' import { extractItems } from '~/utils/api' export const listAbsences = async () => { const api = useApi() const data = await api.get( '/absences', {}, { toast: false } ) return extractItems(data) } export const createAbsence = async (payload: { employeeId: number typeId: number startDate: string endDate: string comment?: string }) => { const api = useApi() return api.post('/absences', { employee: `/api/employees/${payload.employeeId}`, type: `/api/absence_types/${payload.typeId}`, startDate: payload.startDate, endDate: payload.endDate, comment: payload.comment }, { toastSuccessMessage: 'Absence créée.' }) } export const updateAbsence = async (payload: { id: number employeeId: number typeId: number startDate: string endDate: string comment?: string }) => { const api = useApi() return api.patch(`/absences/${payload.id}`, { employee: `/api/employees/${payload.employeeId}`, type: `/api/absence_types/${payload.typeId}`, startDate: payload.startDate, endDate: payload.endDate, comment: payload.comment }, { toastSuccessMessage: 'Absence mise à jour.' }) } export const deleteAbsence = async (id: number) => { const api = useApi() return api.delete(`/absences/${id}`, {}, { toastSuccessMessage: 'Absence supprimée.' }) }