restructure: move backend into backend/
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from .. import crud
|
||||
from ..database import get_db
|
||||
from ..models import Nas
|
||||
from ..pagination import Page, PageParams
|
||||
from ..schemas import NasCreate, NasOut, NasUpdate
|
||||
|
||||
router = APIRouter(prefix="/nas", tags=["nas"])
|
||||
|
||||
|
||||
@router.get("", response_model=Page[NasOut])
|
||||
def list_nas(
|
||||
page: PageParams = Depends(),
|
||||
nasname: str | None = None,
|
||||
shortname: str | None = None,
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
filters = {"nasname": nasname, "shortname": shortname}
|
||||
total = crud.count_rows(db, Nas, filters)
|
||||
rows = crud.list_rows(db, Nas, limit=page.limit, offset=page.offset, filters=filters,
|
||||
order_by=Nas.id.asc())
|
||||
return Page(total=total, limit=page.limit, offset=page.offset, items=rows)
|
||||
|
||||
|
||||
@router.get("/{nas_id}", response_model=NasOut)
|
||||
def get_nas(nas_id: int, db: Session = Depends(get_db)):
|
||||
return crud.get_row_or_404(db, Nas, nas_id)
|
||||
|
||||
|
||||
@router.post("", response_model=NasOut, status_code=201)
|
||||
def create_nas(payload: NasCreate, db: Session = Depends(get_db)):
|
||||
return crud.create_row(db, Nas, payload.model_dump())
|
||||
|
||||
|
||||
@router.put("/{nas_id}", response_model=NasOut)
|
||||
def update_nas(nas_id: int, payload: NasUpdate, db: Session = Depends(get_db)):
|
||||
obj = crud.get_row_or_404(db, Nas, nas_id)
|
||||
return crud.update_row(db, obj, payload.model_dump(exclude_unset=True))
|
||||
|
||||
|
||||
@router.delete("/{nas_id}", status_code=204)
|
||||
def delete_nas(nas_id: int, db: Session = Depends(get_db)):
|
||||
obj = crud.get_row_or_404(db, Nas, nas_id)
|
||||
crud.delete_row(db, obj)
|
||||
Reference in New Issue
Block a user