from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.ext.asyncio import AsyncSession from pydantic import BaseModel from app.database import get_db from app.models.feedback import Feedback from app.api.v1.deps import get_current_user_id router = APIRouter() class FeedbackRequest(BaseModel): category: str = "general" content: str contact: str = "" @router.post("") async def submit_feedback( data: FeedbackRequest, user_id: str = Depends(get_current_user_id), db: AsyncSession = Depends(get_db), ): if not data.content.strip(): raise HTTPException(status_code=400, detail="Content is required") fb = Feedback( user_id=user_id, category=data.category, content=data.content.strip(), contact=data.contact.strip(), ) db.add(fb) await db.flush() return {"status": "ok", "id": str(fb.id)}