Reports/Export builder (CSV/XLSX), plus a security fix pass

Adds the Berichte export pipeline (/api/export/{report,events,employees})
with shared CSV/XLSX writers in lib/export.ts and lib/reports-data.ts.

Security pass alongside it: sanitize .or() search terms against PostgREST
filter injection, sanitize spreadsheet cells against CSV/Excel formula
injection, stop leaking raw DB error messages to clients, harden the
service-role client with server-only, add baseline security headers, and
bump the vulnerable nested postcss via an override.
This commit is contained in:
2026-07-15 20:34:27 +02:00
parent 901c5c426e
commit f96773da0f
21 changed files with 2323 additions and 279 deletions

View File

@@ -17,10 +17,12 @@
"dependencies": {
"@supabase/ssr": "^0.12.1",
"@supabase/supabase-js": "^2.110.5",
"exceljs": "^4.4.0",
"lucide-react": "^1.24.0",
"next": "16.2.10",
"react": "19.2.7",
"react-dom": "19.2.7"
"react-dom": "19.2.7",
"server-only": "^0.0.1"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.3.2",
@@ -35,5 +37,8 @@
"tailwindcss": "^4.3.2",
"typescript": "^5.9.3",
"vitest": "^4.1.10"
},
"overrides": {
"postcss": "^8.5.19"
}
}