From 326a4688d8ad33faf747a8b4c9c96ba033ee7f27 Mon Sep 17 00:00:00 2001 From: Sergey Mankovsky Date: Mon, 10 Feb 2025 14:59:18 +0100 Subject: [PATCH] Shared rooms and transcripts --- server/reflector/db/rooms.py | 6 ++++-- server/reflector/db/transcripts.py | 8 ++++++-- www/app/(app)/rooms/page.tsx | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/server/reflector/db/rooms.py b/server/reflector/db/rooms.py index 09eb53b5..16a8fb7a 100644 --- a/server/reflector/db/rooms.py +++ b/server/reflector/db/rooms.py @@ -7,7 +7,7 @@ from fastapi import HTTPException from pydantic import BaseModel, Field from reflector.db import database, metadata from reflector.db.transcripts import generate_uuid4 -from sqlalchemy.sql import false +from sqlalchemy.sql import false, or_ rooms = sqlalchemy.Table( "room", @@ -77,7 +77,9 @@ class RoomController: """ query = rooms.select() if user_id is not None: - query = query.where(rooms.c.user_id == user_id) + query = query.where(or_(rooms.c.user_id == user_id, rooms.c.is_shared)) + else: + query = query.where(rooms.c.is_shared) if order_by is not None: field = getattr(rooms.c, order_by[1:]) diff --git a/server/reflector/db/transcripts.py b/server/reflector/db/transcripts.py index c8d364b2..4002538c 100644 --- a/server/reflector/db/transcripts.py +++ b/server/reflector/db/transcripts.py @@ -16,7 +16,7 @@ from reflector.processors.types import Word as ProcessorWord from reflector.settings import settings from reflector.storage import Storage from sqlalchemy import Enum -from sqlalchemy.sql import false +from sqlalchemy.sql import false, or_ class SourceKind(enum.StrEnum): @@ -334,7 +334,11 @@ class TranscriptController: ) if user_id: - query = query.where(transcripts.c.user_id == user_id) + query = query.where( + or_(transcripts.c.user_id == user_id, rooms.c.is_shared) + ) + else: + query = query.where(rooms.c.is_shared) if source_kind: query = query.where(transcripts.c.source_kind == source_kind) diff --git a/www/app/(app)/rooms/page.tsx b/www/app/(app)/rooms/page.tsx index e7c31a75..ab881eea 100644 --- a/www/app/(app)/rooms/page.tsx +++ b/www/app/(app)/rooms/page.tsx @@ -443,7 +443,7 @@ export default function RoomsList() { - + My Rooms {myRooms.length > 0 ? ( myRooms.map((roomData) => ( @@ -497,7 +497,7 @@ export default function RoomsList() { )} - + Shared Rooms {sharedRooms.length > 0 ? ( sharedRooms.map((roomData) => (