rename users
This commit is contained in:
@@ -19,7 +19,9 @@ class AnswerIn(BaseModel):
|
||||
|
||||
|
||||
class ResponseIn(BaseModel):
|
||||
user_id: Optional[str]
|
||||
user_id: Optional[str] = None
|
||||
group_id: Optional[str] = None
|
||||
organization_id: Optional[str] = None
|
||||
answers: List[AnswerIn]
|
||||
|
||||
|
||||
@@ -45,6 +47,16 @@ def submit_response(poll_id: str, payload: ResponseIn):
|
||||
resp.user_id = uuid.UUID(payload.user_id)
|
||||
except Exception:
|
||||
raise HTTPException(status_code=400, detail="Invalid user_id UUID")
|
||||
if payload.group_id:
|
||||
try:
|
||||
resp.group_id = uuid.UUID(payload.group_id)
|
||||
except Exception:
|
||||
raise HTTPException(status_code=400, detail="Invalid group_id UUID")
|
||||
if payload.organization_id:
|
||||
try:
|
||||
resp.organization_id = uuid.UUID(payload.organization_id)
|
||||
except Exception:
|
||||
raise HTTPException(status_code=400, detail="Invalid organization_id UUID")
|
||||
session.add(resp)
|
||||
# validate answers
|
||||
for a in payload.answers:
|
||||
@@ -102,7 +114,18 @@ def get_response(response_id: str):
|
||||
r = session.get(Response, rid)
|
||||
if not r:
|
||||
raise HTTPException(status_code=404, detail="Response not found")
|
||||
return {"id": str(r.id), "poll_id": str(r.poll_id), "user_id": str(r.user_id) if r.user_id else None, "submitted_at": r.submitted_at.isoformat(), "answers": [{"id": str(a.id), "question_id": str(a.question_id), "choice_id": str(a.choice_id) if a.choice_id else None, "text": a.text} for a in r.answers]}
|
||||
return {
|
||||
"id": str(r.id),
|
||||
"poll_id": str(r.poll_id),
|
||||
"user_id": str(r.user_id) if r.user_id else None,
|
||||
"group_id": str(r.group_id) if r.group_id else None,
|
||||
"organization_id": str(r.organization_id) if r.organization_id else None,
|
||||
"submitted_at": r.submitted_at.isoformat(),
|
||||
"answers": [
|
||||
{"id": str(a.id), "question_id": str(a.question_id), "choice_id": str(a.choice_id) if a.choice_id else None, "text": a.text}
|
||||
for a in r.answers
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
@router.get("/users/{user_id}/responses")
|
||||
|
||||
Reference in New Issue
Block a user