Verwaltung aller Sitzungen

Allgemeine Sitzungsverwaltung

Benutzersitzungen abrufen

get

Ruft alle Sitzungen für den authentifizierten Benutzer ab, sortiert nach created_at in absteigender Reihenfolge.

Antwortstruktur

Bei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit folgendem Inhalt:

  "sessions": {
    "<session_id>": {
      "created_at": {
        "date": "DD/MM/YYYY",
        "time": "HH:MM AM/PM"
      },
      "video_url": "...",
      "segments": <number>,
      "analyzed_video_url": "...",
      "activity": "...",
      "title": "...",
      "user_id": "...",
      "user_name": "...",
      "report_comments": {...},
      "metrics": {...}
      // weitere Sitzungsfelder
    },
    "...": {...}
  }
} ```
### Fehlerbehandlung
- **400 Bad Request**: Ungültige Parameter (z.B. fehlendes oder falsch formatiertes Token). - **401 Unauthorized**: Das Token fehlt oder ist ungültig. - **403 Forbidden**: Der Benutzer hat keine Administratorrechte. - **404 Not Found**: Sitzungen konnten nicht abgerufen werden (z.B. keine Sitzungen gefunden). - **500 Internal Server Error**: Ein unerwarteter Fehler ist aufgetreten.
### Sicherheit Ein gültiger API-KEY-Token muss im `Authorization`-Header bereitgestellt werden.
Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Antworten
200

Benutzersitzungen erfolgreich abgerufen.

application/json
get
/session-management/sessions/

Sitzungen nach IDs abrufen

post

Ruft detaillierte Sitzungsdaten für eine Liste von Sitzungs-IDs ab. Dieser Endpunkt wird verwendet, wenn der Client bereits spezifische Sitzungs-IDs hat (z.B. von gespeicherten Berichten oder Analysen) und deren vollständige Daten abrufen möchte.

Anfragebody - session_ids (erforderlich): Eine Liste von Sitzungsdokument-IDs, die abgerufen werden sollen.

Sicherheit Erfordert Bearer-Token im Authorization-Header.

Fehler - 400 Bad Request: Ungültige Eingabe. - 401 Unauthorized: Fehlendes oder ungültiges Token. - 403 Forbidden: Der Benutzer ist nicht autorisiert. - 500 Internal Server Error: Ein unerwarteter Fehler ist aufgetreten.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Body
session_idsstring[]Erforderlich

Liste von Sitzungsdokument-IDs, die abgerufen werden sollen.

Antworten
200

Sitzungen erfolgreich abgerufen.

application/json
post
/session-management/sessions/by-ids/

Gefilterte Sitzungen abrufen

get

Ruft Benutzersitzungen ab, die nach optionalen Parametern wie Datumsbereich, Aktivitätstyp, Titel oder Benutzer-ID gefiltert sind. Unterstützt auch Paginierung via start_after_id oder end_before_id, wenn keine Filter gesetzt sind.

Abfrageparameter - start_after_id (string, optional): Sitzungs-ID, nach der die Paginierung beginnen soll. Wird nur verwendet, wenn keine Filter gesetzt sind. - end_before_id (string, optional): Sitzungs-ID, vor der die Paginierung enden soll. Wird nur verwendet, wenn keine Filter gesetzt sind. - limit (integer, optional): Maximale Anzahl der abzurufenden Sitzungen (Standard=10). - activity (string, optional): Filter nach Aktivitätstyp (z.B. 'Running', 'Vertical Jump'). - start_date (string, optional, Format: dd/mm/yyyy): Filtert Sitzungen, die an oder nach diesem Datum erstellt wurden. - end_date (string, optional, Format: dd/mm/yyyy): Filtert Sitzungen, die an oder vor diesem Datum erstellt wurden. - title (string, optional): Filtert Sitzungen, deren Titel diese Teilzeichenkette enthält (Groß-/Kleinschreibung wird ignoriert). - user_id (string, optional): Filtert nach Benutzer-ID, die in der Sitzung gespeichert ist. | uploaded_by | string | NEU UID des Benutzers, der das Rohvideo hochgeladen hat. | | video_status | string processed\|failed | NEU aktueller Status. |

Antwortstruktur (HTTP 200) Bei Erfolg enthält die Antwort ein JSON-Objekt mit: - query_count (integer): Die Gesamtzahl der passenden Sitzungen. - sessions (object): Ein Wörterbuch von Sitzungsdokumenten, geordnet nach ihren Sitzungs-IDs. - first_doc_id (string oder null): Die ID des ersten Dokuments im zurückgegebenen Satz. - last_doc_id (string oder null): Die ID des letzten Dokuments im zurückgegebenen Satz.

Jedes Sitzungsobjekt kann Felder wie video_url, activity, created_at, title usw. enthalten, plus verschachtelte Daten (z.B. report_comments, metrics). Beachten Sie, dass created_at als verschachteltes Objekt mit date und time zurückgegeben wird.

Fehlerbehandlung - 400 Bad Request: Ungültige Parameter (z.B. falsch formatierte Datumszeichenkette) oder fehlendes Benutzertoken. - 401 Unauthorized: Das Token fehlt oder ist ungültig. - 403 Forbidden: Der Benutzer hat keine Administratorrechte. - 404 Not Found: Keine passenden Sitzungen gefunden. - 500 Internal Server Error: Ein unerwarteter Fehler ist aufgetreten.

Sicherheit Ein gültiger API-KEY-Token muss im Authorization-Header bereitgestellt werden.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Abfrageparameter
start_after_idstringOptional

Sitzungs-ID, nach der die Paginierung beginnen soll (wird nur verwendet, wenn keine Filter gesetzt sind).

end_before_idstringOptional

Sitzungs-ID, vor der die Paginierung enden soll (wird nur verwendet, wenn keine Filter gesetzt sind).

limitintegerOptional

Maximale Anzahl der abzurufenden Sitzungen (Standard=10).

activitystring · enumOptional

Aktivitätstyp-Filter (z.B. 'Running', 'Weightlifting', 'Vertical Jump' oder 'Mobility Assessment').

Mögliche Werte:
start_datestringOptional

Filtert Sitzungen, die an oder nach diesem Datum erstellt wurden (dd/mm/yyyy).

end_datestringOptional

Filtert Sitzungen, die an oder vor diesem Datum erstellt wurden (dd/mm/yyyy).

titlestringOptional

Filtert Sitzungen, deren Titel diese Teilzeichenkette enthält (Groß-/Kleinschreibung wird ignoriert).

user_idstringOptional

Filtert nach Benutzer-ID, die in der Sitzung gespeichert ist.

uploaded_bystringOptional

ID des Benutzers (Admin / Sub-Admin), der das Video hochgeladen hat.

video_statusstring · enumOptional

Verarbeitungsstatus des Sitzungsvideos.

Mögliche Werte:
Antworten
200

Gefilterte Sitzungen erfolgreich abgerufen.

application/json
query_countintegerOptional

Gesamtzahl der passenden Sitzungen.

first_doc_idstringOptional

ID der ersten Sitzung im Ergebnis oder null, falls keine vorhanden.

last_doc_idstringOptional

ID der letzten Sitzung im Ergebnis oder null, falls keine vorhanden.

get
/session-management/sessions/filter/

Sitzungsdaten aktualisieren

put

Aktualisiert Sitzungsdetails (wie Titel und Erstellungszeitpunkt) für eine bestimmte Sitzung. Erfordert Administratorrechte und einen gültigen Zahlungsplan.

Pfadparameter

  • session_id (string, erforderlich): Der eindeutige Sitzungsbezeichner.

Anfragekörper (JSON)

  • title (string, optional): Der aktualisierte Titel für die Sitzung.

  • created_at (string, optional, Format: YYYY-MM-DD HH:MM:SS): Der aktualisierte Zeitstempel der Sitzung.

Antwortstruktur

Bei Erfolg enthält die Antwort:

  • success (string): Bestätigung, dass die Sitzung aktualisiert wurde.

Fehlerantworten

  • 400 Bad Request: Ungültige Anfrageparameter oder fehlende erforderliche Daten. - 401 Unauthorized: Fehlender oder ungültiger Zugriffstoken. - 403 Forbidden: Unzureichende Berechtigungen oder ungültiger Zahlungsplan. - 404 Not Found: Sitzung nicht gefunden. - 500 Internal Server Error: Ein unerwarteter Fehler ist aufgetreten.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Body
titlestringOptional

Neuer Titel für die Sitzung.

created_atstring · date-timeOptional

Aktualisierter Zeitstempel der Sitzung im Format YYYY-MM-DD HH:MM:SS.

Antworten
200

Sitzung erfolgreich aktualisiert.

application/json
successstringOptional

Bestätigungsnachricht.

put
/session-management/sessions/{session_id}

Sitzung löschen

delete

Löscht eine bestimmte Sitzung und alle zugehörigen Ressourcen, einschließlich Sitzungsdaten, Videodateien, Unterkollektionen und Berichten.

Pfadparameter

  • session_id (string, erforderlich): Der eindeutige Sitzungsbezeichner.

Antwortstruktur

Bei Erfolg enthält die Antwort:

  • success (string): Bestätigung, dass die Sitzung gelöscht wurde.

Fehlerantworten

  • 400 Bad Request: Ungültige Anfrageparameter. - 401 Unauthorized: Token ist ungültig oder fehlt. - 403 Forbidden: Benutzer hat keine Administratorrechte. - 404 Not Found: Sitzung nicht gefunden. - 500 Internal Server Error: Ein unerwarteter Fehler ist aufgetreten.

Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Antworten
200

Sitzung erfolgreich gelöscht.

application/json
successstringOptional

Bestätigungsnachricht.

delete
/session-management/sessions/{session_id}

Analysierte Video-URL abrufen

get

Ruft die analysierte Video-URL für eine bestimmte Sitzung ab oder versucht, sie zu erstellen, falls sie nicht existiert.

Pfadparameter

  • session_id (string, erforderlich): Der eindeutige Bezeichner der Sitzung.

Abfrageparameter

Diese optionalen Flags bestimmen, welche Art von Analyse durchgeführt werden soll, falls das Video nicht existiert:

  • is_jump (boolean, optional): Gibt an, ob diese Sitzung für Sprunganalyse ist. - is_weight (boolean, optional): Gibt an, ob diese Sitzung für Gewichtheben-Analyse ist. - download (boolean, optional): Wenn true, gibt eine signierte URL zurück, die den Browser zwingt, das Video herunterzuladen, anstatt es anzuzeigen.

Antwort (HTTP 200)

Gibt bei Erfolg ein JSON-Objekt mit einem analyzed_video_url-Schlüssel zurück:

  "analyzed_video_url": "https://storage.googleapis.com/.../analyzed_video.mp4"
} ```
### Fehlerbehandlung
- **400 Bad Request**: Ungültige Parameter (z.B. fehlende oder ungültige Admin-UID). - **401 Unauthorized**: Token fehlt oder ist ungültig. - **403 Forbidden**: Der Benutzer hat nicht die erforderlichen Rechte oder Plan. - **404 Not Found**: Die Sitzungsdaten oder Ressourcen konnten nicht gefunden werden. - **500 Internal Server Error**: Ein unerwarteter Fehler ist auf dem Server aufgetreten.
### Sicherheit
Ein gültiger API-KEY-Token muss im `Authorization`-Header bereitgestellt werden.
Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Abfrageparameter
is_jumpbooleanOptional

Gibt an, ob diese Sitzung für Sprunganalyse ist.

is_weightbooleanOptional

Gibt an, ob diese Sitzung für Gewichtheben-Analyse ist.

downloadbooleanOptional

Wenn true, gibt eine signierte URL zurück, die den Download des Videos erzwingt.

Antworten
200

Analysierte Video-URL erfolgreich abgerufen.

application/json
analyzed_video_urlstring · uriOptional

URL des analysierten Videos.

get
/session-management/sessions/{session_id}/analyzed-video/

Analysiertes Video hochladen/erstellen

post

Lädt ein analysiertes Video für eine bestimmte Sitzung hoch oder erstellt es und gibt dessen URL zurück.

Pfadparameter

  • session_id (string, erforderlich): Der eindeutige Bezeichner der Sitzung.

Anfragekörper (JSON)

  "is_jump": true,
  "is_weight": false
} ```
- **is_jump** *(boolean, optional)*: Wenn true, behandelt dies als Sprung-Sitzung. - **is_weight** *(boolean, optional)*: Wenn true, behandelt dies als Gewichtheben-Sitzung.
### Antwortstruktur (HTTP 200)
Bei Erfolg gibt ein JSON-Objekt mit der `analyzed_video_url` zurück:
```json {
  "analyzed_video_url": "https://storage.googleapis.com/.../analyzed_video.mp4"
} ```
### Fehlerbehandlung
- **400 Bad Request**: Ungültige Parameter oder Sitzung bereits analysiert. - **401 Unauthorized**: Token fehlt oder ist ungültig. - **403 Forbidden**: Der Benutzer hat keinen gültigen Plan. - **404 Not Found**: Sitzungsdaten nicht gefunden. - **500 Internal Server Error**: Ein unerwarteter Fehler ist auf dem Server aufgetreten.
### Sicherheit
Ein gültiger API-KEY-Token muss im `Authorization`-Header bereitgestellt werden.
Autorisierungen
AuthorizationstringErforderlich

Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer

Pfadparameter
session_idanyErforderlich
Body
is_jumpbooleanOptional

Ob diese Sitzung sprungbezogen ist.

is_weightbooleanOptional

Ob diese Sitzung gewichthebenbezogen ist.

Antworten
200

Analysierte Video-URL erfolgreich generiert oder aktualisiert.

application/json
analyzed_video_urlstring · uriOptional

URL des neu generierten oder aktualisierten analysierten Videos.

post
/session-management/sessions/{session_id}/analyzed-video/

Zuletzt aktualisiert

War das hilfreich?