From 44e6b2a6dc4335ef8c037ac362da4c1c05861166 Mon Sep 17 00:00:00 2001 From: Felipe Cardoso Date: Wed, 19 Mar 2025 20:47:12 +0100 Subject: [PATCH] Refactor guest schema and add RSVP field to GuestBase. Reorganized imports for better readability and compliance with standards. Added an optional `rsvp` field to the `GuestBase` model to include RSVP details. This enhances the schema's flexibility and supports additional guest-related data. --- backend/app/schemas/guests.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/app/schemas/guests.py b/backend/app/schemas/guests.py index 45c202a..9f79ee1 100644 --- a/backend/app/schemas/guests.py +++ b/backend/app/schemas/guests.py @@ -1,11 +1,10 @@ -import uuid - -from pydantic import BaseModel, EmailStr, ConfigDict from datetime import datetime from typing import Optional, Any, Dict -from app.models.guest import GuestStatus from uuid import UUID +from pydantic import BaseModel, EmailStr, ConfigDict + +from app.models.guest import GuestStatus from app.schemas.rsvp import RSVPSchema, RSVPStatus @@ -50,6 +49,8 @@ class GuestRead(GuestBase): is_blocked: bool model_config = ConfigDict(from_attributes=True) invitation_code: str + rsvp: Optional[RSVPSchema] = None + class GuestWithRSVPResponse(BaseModel): """ @@ -62,6 +63,7 @@ class GuestWithRSVPResponse(BaseModel): class Config: from_attributes = True + def map_rsvp_status_to_guest_status(rsvp_status: RSVPStatus) -> GuestStatus: if rsvp_status == RSVPStatus.ATTENDING: return GuestStatus.CONFIRMED @@ -70,4 +72,4 @@ def map_rsvp_status_to_guest_status(rsvp_status: RSVPStatus) -> GuestStatus: elif rsvp_status == RSVPStatus.MAYBE: return GuestStatus.PENDING else: - return GuestStatus.INVITED \ No newline at end of file + return GuestStatus.INVITED