Repo API Endpoints — Übersicht Hinweis: Viele Frontend-Requests verwenden relative Pfade (`/api/...`) und Nuxt's `NUXT_PUBLIC_BASE_URL`. Öffentliche/Frontend-Endpunkte (häufig genutzt): - GET /api/config - GET /api/news-public - GET /api/news - GET /api/termine - GET /api/spielplaene - GET /api/spielplan - GET /api/mannschaften - GET /api/galerie - GET /api/media/galerie/{id} - GET /api/personen/{filename}?width=...&height=... - POST /api/contact - POST /api/news (CMS) Galerie / Media: - POST /api/galerie/upload - GET /api/galerie/list - GET /api/galerie/[id] - DELETE /api/galerie/[id] Authentifizierung: - POST /api/auth/login - POST /api/auth/logout - POST /api/auth/register - POST /api/auth/reset-password - GET /api/auth/status - POST /api/auth/passkeys/authentication-options (Passkeys start: server returns WebAuthn options) - POST /api/auth/passkeys/login (Passkeys finish: credential verification) CMS / geschützte Endpunkte (erfordern Auth): - GET /api/cms/* (z.B. /api/cms/users/list, /api/cms/contact-requests) - POST /api/cms/save-csv - POST /api/cms/upload-spielplan-pdf - POST /api/cms/satzung-upload - POST /api/members, DELETE /api/members, POST /api/members/bulk - POST /api/membership/update-status - POST /api/termine-manage, DELETE /api/termine-manage, GET /api/termine-manage Weitere (Datei-Uploads, Personen): - POST /api/personen/upload - GET /api/app/version - Various CMS-specific routes under /api/cms Auth-Anforderungen & Hinweise: - Frontend nutzt `$fetch('/api/...')` (Nuxt) — serverseitig vermutlich Session-Cookie oder JWT. - `stores/auth.js` verwendet `/api/auth/status` to check login state and `passkeyLogin()` which calls `/api/auth/passkeys/*`. - Passkeys-Flow verwendet `@simplewebauthn/browser` on web; Android port should support FIDO2 / Passkeys (Google Passkeys API) or provide password fallback. - CMS- und Manage-Endpunkte require authentication and role checks (admin/vorstand etc.). Empfehlung für Android-Client: - Nutze Retrofit/OkHttp mit anpassbarem Auth-Interceptor (Cookie-jar or token storage). Prüfe, ob Server bevorzugt Cookies (then use CookieJar) or JWT Authorization header. - Implementiere Passkeys via Android FIDO2 / Passkeys APIs as optional fast-login path; for servers expecting WebAuthn payloads adapt encoding accordingly. Datei automatisch erzeugt — wenn du möchtest, kann ich nun alle Dateien in `public/` und `assets/` auflisten und exportieren (Bilder, Fonts, PDFs).