Gestion de Tous les Sessions

Gestion générale des sessions

Récupérer les sessions utilisateur

get

Récupère toutes les sessions de l'utilisateur authentifié, triées par created_at dans l'ordre décroissant.

Structure de la réponse

En cas de succès (HTTP 200), la réponse est un objet JSON contenant :

  "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": {...}
      // autres champs de session
    },
    "...": {...}
  }
} ```
### Gestion des erreurs
- **400 Bad Request** : Paramètres invalides (ex. token manquant ou malformé). - **401 Unauthorized** : Le token est manquant ou invalide. - **403 Forbidden** : L'utilisateur n'a pas les privilèges admin. - **404 Not Found** : Impossible de récupérer les sessions (ex. aucune session trouvée). - **500 Internal Server Error** : Une erreur inattendue est survenue sur le serveur.
### Sécurité Un token API-KEY valide doit être fourni dans l'en-tête `Authorization`.
Autorisations
AuthorizationstringRequis

Entrez votre token Bearer (authentification Firebase) au format : Bearer

Réponses
200

Sessions utilisateur récupérées avec succès.

application/json
get
/session-management/sessions/

Récupérer des sessions filtrées

get

Récupère des sessions utilisateur filtrées par des paramètres optionnels comme une plage de dates, type d'activité, titre ou ID utilisateur. Prend en charge la pagination via start_after_id ou end_before_id.

Paramètres de requête - start_after_id (string, optionnel) : ID de session pour commencer la pagination. - end_before_id (string, optionnel) : ID de session pour terminer la pagination. - limit (integer, optionnel) : Nombre max de sessions à récupérer (défaut=10). - activity (string, optionnel) : Filtrer par type d'activité. - start_date (string, optionnel, format: dd/mm/yyyy) : Sessions créées après cette date. - end_date (string, optionnel, format: dd/mm/yyyy) : Sessions créées avant cette date. - title (string, optionnel) : Filtrer par titre contenant cette sous-chaîne. - user_id (string, optionnel) : Filtrer par ID utilisateur. - uploaded_by (string) : UID de l'utilisateur ayant uploadé la vidéo. - video_status (string processed|failed) : État actuel de la vidéo.

Structure de la réponse (HTTP 200) - query_count (integer) : Nombre total de sessions correspondantes. - sessions (object) : Dictionnaire de sessions indexées par ID. - first_doc_id (string ou null) : ID du premier document. - last_doc_id (string ou null) : ID du dernier document.

Gestion des erreurs - 400 Bad Request : Paramètres invalides. - 401 Unauthorized : Token manquant ou invalide. - 403 Forbidden : Privilèges insuffisants. - 404 Not Found : Aucune session correspondante. - 500 Internal Server Error : Erreur serveur.

Sécurité Un token API-KEY valide doit être fourni dans l'en-tête Authorization.

Autorisations
AuthorizationstringRequis

Entrez votre token Bearer (authentification Firebase) au format : Bearer

Paramètres de requête
start_after_idstringOptionnel

ID de session pour commencer la pagination (si aucun filtre).

end_before_idstringOptionnel

ID de session pour terminer la pagination (si aucun filtre).

limitintegerOptionnel

Nombre max de sessions à récupérer (défaut=10).

activitystring · enumOptionnel

Type d'activité (ex. 'Running', 'Weightlifting').

Valeurs possibles:
start_datestringOptionnel

Filtrer les sessions créées après cette date (dd/mm/yyyy).

end_datestringOptionnel

Filtrer les sessions créées avant cette date (dd/mm/yyyy).

titlestringOptionnel

Filtrer par titre contenant cette sous-chaîne (insensible à la casse).

user_idstringOptionnel

Filtrer par ID utilisateur stocké dans la session.

uploaded_bystringOptionnel

ID de l'utilisateur (admin) ayant uploadé la vidéo.

video_statusstring · enumOptionnel

État de traitement de la vidéo.

Valeurs possibles:
Réponses
200

Sessions filtrées récupérées avec succès.

application/json
query_countintegerOptionnel

Nombre total de sessions correspondantes.

first_doc_idstringOptionnel

ID de la première session ou null.

last_doc_idstringOptionnel

ID de la dernière session ou null.

get
/session-management/sessions/filter/

Récupérer des sessions par IDs

post

Récupère les données détaillées de sessions à partir d'une liste d'IDs. Utilisé lorsque le client a déjà des IDs spécifiques (ex. depuis des rapports sauvegardés).

Corps de la requête - session_ids (requis) : Liste des IDs de sessions à récupérer.

Sécurité Requiert un token Bearer dans l'en-tête Authorization.

Erreurs - 400 Bad Request : Entrée invalide. - 401 Unauthorized : Token manquant ou invalide. - 403 Forbidden : Utilisateur non autorisé. - 500 Internal Server Error : Erreur inattendue.

Autorisations
AuthorizationstringRequis

Entrez votre token Bearer (authentification Firebase) au format : Bearer

Corps
session_idsstring[]Requis

Liste des IDs de sessions à récupérer.

Réponses
200

Sessions récupérées avec succès.

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

Mettre à jour les données d'une session

put

Met à jour les détails d'une session (titre, timestamp created_at). Requiert des privilèges admin et un plan de paiement valide.

Paramètre de chemin - session_id (string, requis) : ID unique de la session.

Corps de la requête (JSON) - title (string, optionnel) : Nouveau titre pour la session. - created_at (string, optionnel, format: YYYY-MM-DD HH:MM:SS) : Nouveau timestamp.

Structure de la réponse - success (string) : Confirmation de la mise à jour.

Erreurs - 400 Bad Request : Paramètres invalides. - 401 Unauthorized : Token manquant ou invalide. - 403 Forbidden : Privilèges ou plan de paiement insuffisants. - 404 Not Found : Session non trouvée. - 500 Internal Server Error : Erreur serveur.

Autorisations
AuthorizationstringRequis

Entrez votre token Bearer (authentification Firebase) au format : Bearer

Paramètres de chemin
session_idanyRequis
Corps
titlestringOptionnel

Nouveau titre pour la session.

created_atstring · date-timeOptionnel

Nouveau timestamp au format YYYY-MM-DD HH:MM:SS.

Réponses
200

Session mise à jour avec succès.

application/json
successstringOptionnel

Message de confirmation.

put
/session-management/sessions/{session_id}

Supprimer une session

delete

Supprime une session spécifique et toutes ses ressources associées (données, vidéos, sous-collections, rapports).

Paramètre de chemin - session_id (string, requis) : ID unique de la session.

Structure de la réponse - success (string) : Confirmation de la suppression.

Erreurs - 400 Bad Request : Paramètres invalides. - 401 Unauthorized : Token manquant ou invalide. - 403 Forbidden : Privilèges insuffisants. - 404 Not Found : Session non trouvée. - 500 Internal Server Error : Erreur serveur.

Autorisations
AuthorizationstringRequis

Entrez votre token Bearer (authentification Firebase) au format : Bearer

Paramètres de chemin
session_idanyRequis
Réponses
200

Session supprimée avec succès.

application/json
successstringOptionnel

Message de confirmation.

delete
/session-management/sessions/{session_id}

Récupérer l'URL de la vidéo analysée

get

Récupère l'URL de la vidéo analysée pour une session spécifique, ou tente de la créer si elle n'existe pas.

Paramètre de chemin - session_id (string, requis) : ID unique de la session.

Paramètres de requête - is_jump (boolean, optionnel) : Si vrai, traite comme une session de saut. - is_weight (boolean, optionnel) : Si vrai, traite comme une session de haltérophilie. - download (boolean, optionnel) : Si vrai, force le téléchargement.

Réponse (HTTP 200) ```json {

"analyzed_video_url": "https://storage.googleapis.com/.../analyzed_video.mp4" } ```

Gestion des erreurs - 400 Bad Request : Paramètres invalides. - 401 Unauthorized : Token manquant ou invalide. - 403 Forbidden : Privilèges ou plan invalide. - 404 Not Found : Session non trouvée. - 500 Internal Server Error : Erreur serveur.

Sécurité Un token API-KEY valide doit être fourni dans l'en-tête Authorization.

Autorisations
AuthorizationstringRequis

Entrez votre token Bearer (authentification Firebase) au format : Bearer

Paramètres de chemin
session_idanyRequis
Paramètres de requête
is_jumpbooleanOptionnel

Si vrai, session de saut.

is_weightbooleanOptionnel

Si vrai, session d'haltérophilie.

downloadbooleanOptionnel

Si vrai, force le téléchargement.

Réponses
200

URL de la vidéo analysée récupérée avec succès.

application/json
analyzed_video_urlstring · uriOptionnel

URL de la vidéo analysée.

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

Uploader/Générer une vidéo analysée

post

Uploader ou génère une vidéo analysée pour une session spécifique.

Paramètre de chemin - session_id (string, requis) : ID unique de la session.

Corps de la requête (JSON) ```json {

"is_jump": true, "is_weight": false } ```

Réponse (HTTP 200) ```json {

"analyzed_video_url": "https://storage.googleapis.com/.../analyzed_video.mp4" } ```

Gestion des erreurs - 400 Bad Request : Paramètres invalides ou vidéo déjà analysée. - 401 Unauthorized : Token manquant ou invalide. - 403 Forbidden : Plan de paiement invalide. - 404 Not Found : Session non trouvée. - 500 Internal Server Error : Erreur serveur.

Sécurité Un token API-KEY valide doit être fourni dans l'en-tête Authorization.

Autorisations
AuthorizationstringRequis

Entrez votre token Bearer (authentification Firebase) au format : Bearer

Paramètres de chemin
session_idanyRequis
Corps
is_jumpbooleanOptionnel

Si vrai, session de saut.

is_weightbooleanOptionnel

Si vrai, session d'haltérophilie.

Réponses
200

URL de la vidéo analysée générée avec succès.

application/json
analyzed_video_urlstring · uriOptionnel

URL de la vidéo analysée.

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

Mis à jour

Ce contenu vous a-t-il été utile ?