| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- from fastapi import APIRouter, Depends
 
- from sqlalchemy.ext.asyncio import AsyncSession
 
- from app.api.deps import get_token_id, get_async_session
 
- from app.models.thread import Thread, ThreadUpdate, ThreadCreate
 
- from app.schemas.common import DeleteResponse
 
- from app.services.thread.thread import ThreadService
 
- router = APIRouter()
 
- @router.post("", response_model=Thread)
 
- async def create_thread(
 
-     *,
 
-     session: AsyncSession = Depends(get_async_session),
 
-     body: ThreadCreate,
 
-     token_id=Depends(get_token_id)
 
- ) -> Thread:
 
-     """
 
-     Create a thread.
 
-     """
 
-     return await ThreadService.create_thread(
 
-         session=session, body=body, token_id=token_id
 
-     )
 
- @router.get("/{thread_id}", response_model=Thread)
 
- async def get_thread(
 
-     *, session: AsyncSession = Depends(get_async_session), thread_id: str
 
- ) -> Thread:
 
-     """
 
-     Retrieves a thread.
 
-     """
 
-     return await ThreadService.get_thread(session=session, thread_id=thread_id)
 
- @router.post("/{thread_id}", response_model=Thread)
 
- async def modify_thread(
 
-     *,
 
-     session: AsyncSession = Depends(get_async_session),
 
-     thread_id: str,
 
-     body: ThreadUpdate
 
- ) -> Thread:
 
-     """
 
-     Modifies a thread.
 
-     """
 
-     return await ThreadService.modify_thread(
 
-         session=session, thread_id=thread_id, body=body
 
-     )
 
- @router.delete("/{thread_id}", response_model=DeleteResponse)
 
- async def delete_thread(
 
-     *, session: AsyncSession = Depends(get_async_session), thread_id: str
 
- ) -> DeleteResponse:
 
-     """
 
-     Delete a thread.
 
-     """
 
-     return await ThreadService.delete_assistant(session=session, thread_id=thread_id)
 
 
  |