hotfix/server: do not pass a token for diarization/mp3 if there is no user

When decoding the token, if it is invalid (sub cannot be None), it just fail
This commit is contained in:
2023-11-02 20:34:53 +01:00
parent 6f3e3741e7
commit c5893e0391

View File

@@ -322,15 +322,19 @@ class PipelineMainDiarization(PipelineMainBase):
# from the diarization processor # from the diarization processor
from reflector.views.transcripts import create_access_token from reflector.views.transcripts import create_access_token
token = create_access_token(
{"sub": transcript.user_id},
expires_delta=timedelta(minutes=15),
)
path = app.url_path_for( path = app.url_path_for(
"transcript_get_audio_mp3", "transcript_get_audio_mp3",
transcript_id=transcript.id, transcript_id=transcript.id,
) )
url = f"{settings.BASE_URL}{path}?token={token}" url = f"{settings.BASE_URL}{path}"
if transcript.user_id:
# we pass token only if the user_id is set
# otherwise, the audio is public
token = create_access_token(
{"sub": transcript.user_id},
expires_delta=timedelta(minutes=15),
)
url += f"?token={token}"
audio_diarization_input = AudioDiarizationInput( audio_diarization_input = AudioDiarizationInput(
audio_url=url, audio_url=url,
topics=topics, topics=topics,