From 8c2bc773bb1adecf66b459bdada9a0eb6ccd9419 Mon Sep 17 00:00:00 2001 From: Alexander Date: Fri, 31 May 2024 09:31:30 +0200 Subject: [PATCH] Audio file support (#2228) * feat(chalice): added basic audio file support * feat(chalice): fixed audio.mp3 path --- api/chalicelib/core/sessions_mobs.py | 11 +++++++++++ api/chalicelib/core/sessions_replay.py | 2 ++ 2 files changed, 13 insertions(+) diff --git a/api/chalicelib/core/sessions_mobs.py b/api/chalicelib/core/sessions_mobs.py index 9b28a0cb9..348ac0459 100644 --- a/api/chalicelib/core/sessions_mobs.py +++ b/api/chalicelib/core/sessions_mobs.py @@ -78,6 +78,17 @@ def get_mobile_videos(session_id, project_id, check_existence=False): return results +def get_audio_url(project_id, session_id, check_existence=True): + k = "%s/audio.mp3" % session_id + if check_existence and not StorageClient.exists(bucket=config("sessions_bucket"), key=k): + return None + return StorageClient.get_presigned_url_for_sharing( + bucket=config("sessions_bucket"), + expires_in=config("PRESIGNED_URL_EXPIRATION", cast=int, default=900), + key=k + ) + + def delete_mobs(project_id, session_ids): for session_id in session_ids: for k in __get_mob_keys(project_id=project_id, session_id=session_id) \ diff --git a/api/chalicelib/core/sessions_replay.py b/api/chalicelib/core/sessions_replay.py index d31d46862..df63d2d80 100644 --- a/api/chalicelib/core/sessions_replay.py +++ b/api/chalicelib/core/sessions_replay.py @@ -153,6 +153,8 @@ def get_replay(project_id, session_id, context: schemas.CurrentContext, full_dat data['metadata'] = __group_metadata(project_metadata=data.pop("projectMetadata"), session=data) data['live'] = live and assist.is_live(project_id=project_id, session_id=session_id, project_key=data["projectKey"]) + data['audio'] = sessions_mobs.get_audio_url(session_id=session_id, project_id=project_id, + check_existence=False) data["inDB"] = True return data elif live: