File size: 1,055 Bytes
d021e3a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from app.dependencies import get_current_user, get_db
from app.models.user import User
from app.schemas.query import QueryCreate, QueryRead
from app.services.query_service import create_query, list_queries_for_user
router = APIRouter(prefix="/queries", tags=["queries"])
@router.post("/", response_model=QueryRead, status_code=status.HTTP_201_CREATED)
def submit_query(
payload: QueryCreate,
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
) -> QueryRead:
try:
return create_query(db, current_user=current_user, payload=payload)
except ValueError as exc:
raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail=str(exc)) from exc
@router.get("/", response_model=list[QueryRead])
def get_my_queries(
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
) -> list[QueryRead]:
return list_queries_for_user(db, current_user=current_user)
|