import type { Employee } from './dto/employee' import { extractItems } from '~/utils/api' export const listEmployees = async () => { const api = useApi() const data = await api.get( '/employees', {}, { toast: false } ) return extractItems(data) } export const createEmployee = async (payload: { firstName: string lastName: string siteId?: number | null }) => { const api = useApi() return api.post('/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: { firstName: string lastName: string siteId?: number | null displayOrder?: number } ) => { const api = useApi() return api.patch(`/employees/${id}`, { firstName: payload.firstName, lastName: payload.lastName, site: payload.siteId ? `/api/sites/${payload.siteId}` : null, displayOrder: payload.displayOrder }, { toastSuccessKey: 'success.employee.update', toastErrorKey: 'errors.employee.update' }) } export const updateEmployeeOrder = async ( id: number, displayOrder: number ) => { const api = useApi() return api.patch(`/employees/${id}`, { displayOrder }, { toast: false }) } export const deleteEmployee = async (id: number) => { const api = useApi() return api.delete(`/employees/${id}`, {}, { toastSuccessKey: 'success.employee.delete', toastErrorKey: 'errors.employee.delete' }) }