58 lines
2.4 KiB
Markdown
58 lines
2.4 KiB
Markdown
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). |