Files
ai-contract-platform/backend/app/api/conversations.py
T
2026-05-03 19:09:26 +08:00

38 lines
1.3 KiB
Python

from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.clients.shared_ai_platform import SharedAIPlatformClient, build_shared_ai_platform_client
from app.api.reviews import require_current_user
from app.core.response import success_response
from app.db import get_db_session
router = APIRouter(prefix="/conversations", tags=["conversations"])
ROUTE_PERMISSION_SCOPE = "chat_history"
ROUTE_PERMISSION_ACTIONS = {
"list": "conversations:list",
"detail": "conversations:detail",
}
def get_shared_ai_platform_client(db: Session = Depends(get_db_session)) -> SharedAIPlatformClient:
return build_shared_ai_platform_client(db)
@router.get("")
def list_conversations(
page: int = 1,
page_size: int = 20,
shared_ai_platform_client: SharedAIPlatformClient = Depends(get_shared_ai_platform_client),
current_user: dict = Depends(require_current_user),
):
return success_response(shared_ai_platform_client.list_conversations(current_user, page, page_size))
@router.get("/{conversation_id}")
def get_conversation_detail(
conversation_id: str,
shared_ai_platform_client: SharedAIPlatformClient = Depends(get_shared_ai_platform_client),
current_user: dict = Depends(require_current_user),
):
return success_response(shared_ai_platform_client.get_conversation_detail(current_user, conversation_id))