You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

40 lines
1.3 KiB

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