import { Router } from 'express' import { requireAppwriteStaff } from '../../middleware/appwriteStaff.js' import { createEmployeeWithLogin, deleteEmployeeWithLogin, listEmployeesForAdmin, updateEmployeeWithLogin, } from '../../services/employeeAdmin.js' const router = Router() router.use(requireAppwriteStaff) router.get('/', async (_req, res) => { try { return res.json({ employees: await listEmployeesForAdmin() }) } catch (error) { return res.status(error.status || 500).json({ error: error.message }) } }) router.post('/', async (req, res) => { try { return res.status(201).json(await createEmployeeWithLogin(req.body || {})) } catch (error) { return res.status(error.status || 500).json({ error: error.message }) } }) router.patch('/:employeeId', async (req, res) => { try { return res.json(await updateEmployeeWithLogin( req.params.employeeId, req.body || {}, req.appwriteUser.$id )) } catch (error) { return res.status(error.status || 500).json({ error: error.message }) } }) router.delete('/:employeeId', async (req, res) => { try { return res.json( await deleteEmployeeWithLogin(req.params.employeeId, req.appwriteUser.$id) ) } catch (error) { return res.status(error.status || 500).json({ error: error.message }) } }) export default router