Spaces:
Sleeping
Sleeping
import logging | |
from typing import List | |
from fastapi import APIRouter, Depends | |
from pydantic import BaseModel, Field | |
from aworld.cmd import SessionModel | |
from aworld.cmd.utils.agent_server import CURRENT_SERVER | |
from aworld.cmd.web.web_server import get_user_id_from_jwt | |
logger = logging.getLogger(__name__) | |
router = APIRouter() | |
prefix = "/api/session" | |
async def list_sessions( | |
user_id: str = Depends(get_user_id_from_jwt), | |
) -> List[SessionModel]: | |
return await CURRENT_SERVER.get_session_service().list_sessions(user_id) | |
class CommonResponse(BaseModel): | |
code: int = Field(..., description="The code") | |
message: str = Field(..., description="The message") | |
def success(message: str = "success"): | |
return CommonResponse(code=0, message=message) | |
def error(message: str): | |
return CommonResponse(code=1, message=message) | |
class DeleteSessionRequest(BaseModel): | |
session_id: str = Field(..., description="The session id") | |
async def delete_session( | |
request: DeleteSessionRequest, user_id: str = Depends(get_user_id_from_jwt) | |
) -> CommonResponse: | |
try: | |
await CURRENT_SERVER.get_session_service().delete_session( | |
user_id, request.session_id | |
) | |
return CommonResponse.success() | |
except Exception as e: | |
return CommonResponse.error(str(e)) | |