mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
Shared rooms and transcripts
This commit is contained in:
@@ -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:])
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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) => (
|
||||||
|
|||||||
Reference in New Issue
Block a user