feat : ajout des sites pour les employés et retour arrière sur l'impression

This commit is contained in:
2026-02-04 18:00:46 +01:00
parent a5dcd5e3e9
commit 9568324a4a
16 changed files with 819 additions and 626 deletions

View File

@@ -11,26 +11,45 @@ export const listEmployees = async () => {
return extractItems<Employee>(data)
}
export const createEmployee = async (payload: Pick<Employee, 'firstName' | 'lastName'>) => {
export const createEmployee = async (payload: {
firstName: string
lastName: string
siteId?: number | null
}) => {
const api = useApi()
return api.post<Employee>('/employees', payload, {
toastSuccessMessage: 'Employé créé.'
return api.post<Employee>('/employees', {
firstName: payload.firstName,
lastName: payload.lastName,
site: payload.siteId ? `/api/sites/${payload.siteId}` : null
}, {
toastSuccessKey: 'success.employee.create',
toastErrorKey: 'errors.employee.create'
})
}
export const updateEmployee = async (
id: number,
payload: Pick<Employee, 'firstName' | 'lastName'>
payload: {
firstName: string
lastName: string
siteId?: number | null
}
) => {
const api = useApi()
return api.patch<Employee>(`/employees/${id}`, payload, {
toastSuccessMessage: 'Employé mis à jour.'
return api.patch<Employee>(`/employees/${id}`, {
firstName: payload.firstName,
lastName: payload.lastName,
site: payload.siteId ? `/api/sites/${payload.siteId}` : null
}, {
toastSuccessKey: 'success.employee.update',
toastErrorKey: 'errors.employee.update'
})
}
export const deleteEmployee = async (id: number) => {
const api = useApi()
return api.delete(`/employees/${id}`, {}, {
toastSuccessMessage: 'Employé supprimé.'
toastSuccessKey: 'success.employee.delete',
toastErrorKey: 'errors.employee.delete'
})
}