chore: aktuellen Live-Stand sichern (Admin-API, Services, Auth-Erweiterungen)

Sichert den bisher uncommitteten Produktionsstand des Kundenbereich-Servers,
damit kuenftige Deploys (git reset --hard) nichts mehr verwerfen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 16:24:53 +00:00
parent cff72eb528
commit cf4b3ce4d1
24 changed files with 1883 additions and 123 deletions

View File

@@ -0,0 +1,51 @@
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