from fastapi import APIRouter, Depends from ..crud.servers import get, get_all,delete,update, create from typing import Annotated, Sequence from sqlalchemy.ext.asyncio import AsyncSession from ..db_helper import db_helper from ..schemas import ServerBase, ServerSchema router = APIRouter( tags=["Server"], prefix="/server") @router.get("/", response_model=Sequence[ServerSchema]) async def get_all_server(session: Annotated[AsyncSession, Depends(db_helper.session_getter)]): return await get_all(session) @router.get("/{id}", response_model=ServerSchema) async def get_server(session: Annotated[AsyncSession, Depends(db_helper.session_getter)],id:int): return await get(session,id) @router.post("/", response_model=ServerSchema) async def create_server( session: Annotated[AsyncSession, Depends(db_helper.session_getter)], model: ServerBase ): login = await create( session=session, model=model ) return login @router.patch("/{id}", response_model=ServerSchema) async def update_server( session: Annotated[AsyncSession, Depends(db_helper.session_getter)], id: int, model: ServerBase ): login = await update( session=session, id=id, model=model ) return login