From c99add09e8cfa0856510caa3ae3ad1c363a73fda Mon Sep 17 00:00:00 2001 From: Sergey Mankovsky Date: Tue, 8 Oct 2024 13:59:11 +0200 Subject: [PATCH] Fix recording processing --- .../722e93c4ab22_set_missing_user_id.py | 35 +++++++++++++++++++ server/reflector/worker/process.py | 5 ++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 server/migrations/versions/722e93c4ab22_set_missing_user_id.py diff --git a/server/migrations/versions/722e93c4ab22_set_missing_user_id.py b/server/migrations/versions/722e93c4ab22_set_missing_user_id.py new file mode 100644 index 00000000..d254b6d3 --- /dev/null +++ b/server/migrations/versions/722e93c4ab22_set_missing_user_id.py @@ -0,0 +1,35 @@ +"""Set missing user id + +Revision ID: 722e93c4ab22 +Revises: a7122bc0b2ca +Create Date: 2024-10-08 12:08:46.844673 + +""" + +from typing import Sequence, Union + +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "722e93c4ab22" +down_revision: Union[str, None] = "a7122bc0b2ca" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.execute( + """ + UPDATE transcript as t + SET user_id = r.user_id + FROM meeting m + JOIN room r ON m.room_id = r.id + WHERE t.meeting_id = m.id AND t.user_id IS NULL + """ + ) + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + pass + # ### end Alembic commands ### diff --git a/server/reflector/worker/process.py b/server/reflector/worker/process.py index c0281737..5c8b791e 100644 --- a/server/reflector/worker/process.py +++ b/server/reflector/worker/process.py @@ -8,6 +8,7 @@ import structlog from celery import shared_task from celery.utils.log import get_task_logger from reflector.db.meetings import meetings_controller +from reflector.db.rooms import rooms_controller from reflector.db.transcripts import SourceKind, transcripts_controller from reflector.pipelines.main_live_pipeline import asynctask, task_pipeline_process from reflector.settings import settings @@ -64,12 +65,14 @@ async def process_recording(bucket_name: str, object_key: str): # extract a guid from the object key room_name = f"/{object_key[:36]}" meeting = await meetings_controller.get_by_room_name(room_name) + room = await rooms_controller.get_by_id(meeting.room_id) + transcript = await transcripts_controller.add( "", source_kind=SourceKind.ROOM, source_language="en", target_language="en", - user_id=meeting.user_id, + user_id=room.user_id, meeting_id=meeting.id, share_mode="public", )