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)