Merge pull request #458 from Monadical-SAS/shared-rooms

Shared rooms and transcripts
This commit is contained in:
2025-02-10 15:02:59 +01:00
committed by GitHub
3 changed files with 12 additions and 6 deletions

View File

@@ -7,7 +7,7 @@ from fastapi import HTTPException
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from reflector.db import database, metadata from reflector.db import database, metadata
from reflector.db.transcripts import generate_uuid4 from reflector.db.transcripts import generate_uuid4
from sqlalchemy.sql import false from sqlalchemy.sql import false, or_
rooms = sqlalchemy.Table( rooms = sqlalchemy.Table(
"room", "room",
@@ -77,7 +77,9 @@ class RoomController:
""" """
query = rooms.select() query = rooms.select()
if user_id is not None: 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: if order_by is not None:
field = getattr(rooms.c, order_by[1:]) field = getattr(rooms.c, order_by[1:])

View File

@@ -16,7 +16,7 @@ from reflector.processors.types import Word as ProcessorWord
from reflector.settings import settings from reflector.settings import settings
from reflector.storage import Storage from reflector.storage import Storage
from sqlalchemy import Enum from sqlalchemy import Enum
from sqlalchemy.sql import false from sqlalchemy.sql import false, or_
class SourceKind(enum.StrEnum): class SourceKind(enum.StrEnum):
@@ -334,7 +334,11 @@ class TranscriptController:
) )
if user_id: 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: if source_kind:
query = query.where(transcripts.c.source_kind == source_kind) query = query.where(transcripts.c.source_kind == source_kind)

View File

@@ -443,7 +443,7 @@ export default function RoomsList() {
</Modal> </Modal>
</Flex> </Flex>
<VStack align="start" mb={6} pt={4} gap={4}> <VStack align="start" mb={10} pt={4} gap={4}>
<Heading size="md">My Rooms</Heading> <Heading size="md">My Rooms</Heading>
{myRooms.length > 0 ? ( {myRooms.length > 0 ? (
myRooms.map((roomData) => ( myRooms.map((roomData) => (
@@ -497,7 +497,7 @@ export default function RoomsList() {
)} )}
</VStack> </VStack>
<VStack align="start"> <VStack align="start" pt={4} gap={4}>
<Heading size="md">Shared Rooms</Heading> <Heading size="md">Shared Rooms</Heading>
{sharedRooms.length > 0 ? ( {sharedRooms.length > 0 ? (
sharedRooms.map((roomData) => ( sharedRooms.map((roomData) => (