Update server with new guest rsvp endpoint

This commit is contained in:
2025-03-16 12:06:52 +01:00
parent 8c1b737de9
commit f3b5192e4d
2 changed files with 66 additions and 4 deletions

View File

@@ -6,6 +6,9 @@ from typing import Optional, Any, Dict
from app.models.guest import GuestStatus
from uuid import UUID
from app.schemas.rsvp import RSVPSchema, RSVPStatus
class GuestBase(BaseModel):
event_id: UUID
invited_by: UUID
@@ -46,4 +49,25 @@ class GuestRead(GuestBase):
actual_additional_guests: int
is_blocked: bool
model_config = ConfigDict(from_attributes=True)
invitation_code: str
invitation_code: str
class GuestWithRSVPResponse(BaseModel):
"""
Combined response model that includes both guest and RSVP information.
This gives the frontend a complete picture of the guest's response in a single object.
"""
guest: GuestRead
rsvp: Optional[RSVPSchema] = None
class Config:
from_attributes = True
def map_rsvp_status_to_guest_status(rsvp_status: RSVPStatus) -> GuestStatus:
if rsvp_status == RSVPStatus.ATTENDING:
return GuestStatus.CONFIRMED
elif rsvp_status == RSVPStatus.NOT_ATTENDING:
return GuestStatus.DECLINED
elif rsvp_status == RSVPStatus.MAYBE:
return GuestStatus.PENDING
else:
return GuestStatus.INVITED