feat : first commit
This commit is contained in:
36
frontend/services/employees.ts
Normal file
36
frontend/services/employees.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import type { Employee } from './dto/employee'
|
||||
import { extractItems } from '~/utils/api'
|
||||
|
||||
export const listEmployees = async () => {
|
||||
const api = useApi()
|
||||
const data = await api.get<Employee[] | { 'hydra:member'?: Employee[] }>(
|
||||
'/employees',
|
||||
{},
|
||||
{ toast: false }
|
||||
)
|
||||
return extractItems<Employee>(data)
|
||||
}
|
||||
|
||||
export const createEmployee = async (payload: Pick<Employee, 'firstName' | 'lastName'>) => {
|
||||
const api = useApi()
|
||||
return api.post<Employee>('/employees', payload, {
|
||||
toastSuccessMessage: 'Employé créé.'
|
||||
})
|
||||
}
|
||||
|
||||
export const updateEmployee = async (
|
||||
id: number,
|
||||
payload: Pick<Employee, 'firstName' | 'lastName'>
|
||||
) => {
|
||||
const api = useApi()
|
||||
return api.patch<Employee>(`/employees/${id}`, payload, {
|
||||
toastSuccessMessage: 'Employé mis à jour.'
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteEmployee = async (id: number) => {
|
||||
const api = useApi()
|
||||
return api.delete(`/employees/${id}`, {}, {
|
||||
toastSuccessMessage: 'Employé supprimé.'
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user