Freelancer My Shifts Modul
Zweck
Das Freelancer My Shifts Modul bietet eine Übersicht aller angenommenen Schichten für Freelancer mit kommenden Schichten, vergangenen Schichten, Schicht-Details, Standort-Informationen, Kontakt-Daten und Schicht-Status.
Verantwortlichkeiten
Was gehört zum Modul
- Meine Schichten: Übersicht aller angenommenen Schichten
- Kommende Schichten: Liste kommender Schichten
- Vergangene Schichten: Liste vergangener Schichten
- Schicht-Details: Detaillierte Informationen zu Schichten
- Standort-Informationen: Standort-Details für Schichten
- Kontakt-Daten: Kontakt-Informationen für Schichten
Was gehört nicht zum Modul
- Schicht-Bewerbung: Siehe shift-pool Modul
- Schicht-Verwaltung: Siehe shift-pool Modul
Implementierung
Backend- und Frontend-API sind modular aufgebaut; Details siehe interne Entwickler-Dokumentation.
Konfiguration
Entitlement
Das Modul ist ein Core-Modul für Freelancer und erfordert kein spezielles Entitlement. Es ist immer aktiv für Freelancer-Accounts.
Entitlement-Key: Keiner (Core-Modul für Freelancer)
Environment Variables
Keine modulspezifischen ENV-Variablen erforderlich.
Defaults
- Zugriff: Nur für Freelancer-Accounts
Abhängigkeiten
Optionale Abhängigkeiten
Keine.
Core-Abhängigkeiten
- shift-pool: Für Schicht-Daten
API-Endpoints
Authentifizierung
Alle Endpoints erfordern Authentifizierung. Zwei Methoden werden unterstützt:
- Firebase ID Token (Standard für Web-App)
- API-Token (für externe Nutzung)
Header: Authorization: Bearer <token>
Meine Schichten abrufen
GET /api/freelancer/my-shifts?status=upcoming
Lädt angenommene Schichten für Freelancer.
Query-Parameter:
- status (optional): upcoming, past, all
Response:
{
"shifts": [
{
"id": "shift123",
"title": "Schicht-Titel",
"startsAt": "2024-01-15T08:00:00Z",
"endsAt": "2024-01-15T17:00:00Z",
"location": {
"name": "Standort A",
"address": "Musterstraße 1, 12345 Berlin"
}
}
],
"count": 1
}
Wird dokumentiert: Detaillierte API-Endpunkt-Dokumentation folgt.
Firestore Collections
Das Freelancer My Shifts Modul verwendet keine eigenen Collections. Es nutzt Daten aus dem shift-pool Modul.
Wird dokumentiert: Detaillierte Datenbank-Struktur folgt.
Fehlerfälle
HTTP-Status-Codes
- 200 OK: Erfolgreich
- 401 Unauthorized: Nicht authentifiziert
- 403 Forbidden: Keine Berechtigung (nur Freelancer)
- 500 Internal Server Error: Server-Fehler
Fehlercodes
Wird dokumentiert: Detaillierte Fehlercodes folgen.
FAQ / Troubleshooting
Wird dokumentiert: Häufige Fragen und Lösungen folgen.