Fix dispute

This commit is contained in:
2025-12-16 02:35:59 +07:00
parent f57a2ba9ea
commit e32df4d95e
3 changed files with 69 additions and 24 deletions

View File

@@ -1,7 +1,7 @@
"""
Assignment details and dispute system endpoints.
"""
from datetime import datetime, timedelta
from datetime import datetime, timedelta, timezone
from fastapi import APIRouter, HTTPException, Request
from fastapi.responses import Response, StreamingResponse
from sqlalchemy import select
@@ -49,7 +49,9 @@ def build_dispute_response(dispute: Dispute, current_user_id: int) -> DisputeRes
my_vote = v.vote
break
expires_at = dispute.created_at + timedelta(hours=DISPUTE_WINDOW_HOURS)
# Ensure expires_at has UTC timezone info for correct frontend parsing
created_at_utc = dispute.created_at.replace(tzinfo=timezone.utc) if dispute.created_at.tzinfo is None else dispute.created_at
expires_at = created_at_utc + timedelta(hours=DISPUTE_WINDOW_HOURS)
return DisputeResponse(
id=dispute.id,