users and status working
This commit is contained in:
34
app/routers/status.py
Normal file
34
app/routers/status.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from sqlmodel import select, Session
|
||||
|
||||
from dependencies import get_session, ACTIVE_USER
|
||||
from routers.status_model import Status
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/status",
|
||||
tags=["status"],
|
||||
)
|
||||
|
||||
|
||||
@router.get("/", response_model=list[Status])
|
||||
async def get_statuses(
|
||||
current_user: ACTIVE_USER,
|
||||
session=Depends(get_session)):
|
||||
"""Get list of all statuses"""
|
||||
return session.exec(select(Status)).all()
|
||||
|
||||
|
||||
def _get_status(status: str, session: Session):
|
||||
result = session.get(Status, status)
|
||||
if result is None:
|
||||
result = session.scalar(select(Status).where(Status.name == status))
|
||||
if result is None:
|
||||
raise HTTPException(status_code=404, detail=f"Status {status!r} not found")
|
||||
return result
|
||||
|
||||
@router.get("/{status}", responses={404: {"description": "Not found"}})
|
||||
async def get_status(
|
||||
status: str,
|
||||
current_user: ACTIVE_USER,
|
||||
session=Depends(get_session)):
|
||||
return _get_status(status, session)
|
||||
Reference in New Issue
Block a user