forked from andika/membership-be
Fix timezone comparison error in invitation verification
This commit is contained in:
10
server.py
10
server.py
@@ -2814,8 +2814,9 @@ async def verify_invitation_token(
|
||||
if not invitation:
|
||||
raise HTTPException(status_code=404, detail="Invalid or expired invitation token")
|
||||
|
||||
# Check expiry
|
||||
if invitation.expires_at < datetime.now(timezone.utc):
|
||||
# Check expiry (handle timezone-naive datetime from DB)
|
||||
expires_at_aware = invitation.expires_at.replace(tzinfo=timezone.utc) if invitation.expires_at.tzinfo is None else invitation.expires_at
|
||||
if expires_at_aware < datetime.now(timezone.utc):
|
||||
invitation.status = InvitationStatus.expired
|
||||
db.commit()
|
||||
raise HTTPException(status_code=400, detail="Invitation has expired")
|
||||
@@ -2847,8 +2848,9 @@ async def accept_invitation(
|
||||
if not invitation:
|
||||
raise HTTPException(status_code=404, detail="Invalid or expired invitation token")
|
||||
|
||||
# Check expiry
|
||||
if invitation.expires_at < datetime.now(timezone.utc):
|
||||
# Check expiry (handle timezone-naive datetime from DB)
|
||||
expires_at_aware = invitation.expires_at.replace(tzinfo=timezone.utc) if invitation.expires_at.tzinfo is None else invitation.expires_at
|
||||
if expires_at_aware < datetime.now(timezone.utc):
|
||||
invitation.status = InvitationStatus.expired
|
||||
db.commit()
|
||||
raise HTTPException(status_code=400, detail="Invitation has expired")
|
||||
|
||||
Reference in New Issue
Block a user