| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- from fastapi import APIRouter, Depends
 
- from sqlalchemy.ext.asyncio import AsyncSession
 
- from sqlmodel import select
 
- from app.api.deps import verify_admin_token, get_async_session
 
- from app.libs.paginate import CommonPage, cursor_page
 
- from app.models.token import Token, TokenCreate, TokenUpdate
 
- from app.services.token.token import TokenService
 
- router = APIRouter()
 
- @router.get("", response_model=CommonPage[Token], dependencies=[Depends(verify_admin_token)])
 
- async def list_tokens(*, session: AsyncSession = Depends(get_async_session)):
 
-     """
 
-     Returns a list of tokens.
 
-     """
 
-     statement = select(Token)
 
-     return await cursor_page(statement, session)
 
- @router.post("", response_model=Token, dependencies=[Depends(verify_admin_token)])
 
- async def create_token(*, session: AsyncSession = Depends(get_async_session), body: TokenCreate) -> Token:
 
-     """
 
-     Create a token with a llm url & token.
 
-     """
 
-     return await TokenService.create_token(session=session, body=body)
 
- @router.get("/{token}", response_model=Token, dependencies=[Depends(verify_admin_token)])
 
- async def get_token(*, session: AsyncSession = Depends(get_async_session), token: str) -> Token:
 
-     """
 
-     Retrieves a token.
 
-     """
 
-     return await TokenService.get_token(session=session, token=token)
 
- @router.get("/refresh_token/{token}", response_model=Token, dependencies=[Depends(verify_admin_token)])
 
- async def refresh_token(*, session: AsyncSession = Depends(get_async_session), token: str) -> Token:
 
-     return await TokenService.refresh_token(session=session, token=token)
 
- @router.post("/modify_token/{token}", response_model=Token, dependencies=[Depends(verify_admin_token)])
 
- async def modify_token(*, session: AsyncSession = Depends(get_async_session), body: TokenUpdate, token: str) -> Token:
 
-     return await TokenService.modify_token(session=session, body=body, token=token)
 
 
  |