Files
eventspace/backend/app/schemas/guests.py
Felipe Cardoso 4e66b22bae Set default guest permissions to allow bringing up to 10 guests.
Updated guest schema and database models to increase the default value for `max_additional_guests` from 0 to 10 and enable `can_bring_guests` by default. This ensures new guests can bring additional attendees without manual configuration.
2025-03-16 09:45:37 +01:00

49 lines
1.4 KiB
Python

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
class GuestBase(BaseModel):
event_id: UUID
invited_by: UUID
user_id: Optional[UUID] = None
full_name: str
email: Optional[EmailStr] = None
phone: Optional[str] = None
max_additional_guests: Optional[int] = 10
dietary_restrictions: Optional[str] = None
notes: Optional[str] = None
custom_fields: Optional[Dict[str, Any]] = None
can_bring_guests: Optional[bool] = True
class GuestCreate(GuestBase):
invitation_code: Optional[str] = None
class GuestUpdate(BaseModel):
full_name: Optional[str] = None
email: Optional[EmailStr] = None
phone: Optional[str] = None
status: Optional[GuestStatus] = None
max_additional_guests: Optional[int] = None
actual_additional_guests: Optional[int] = None
dietary_restrictions: Optional[str] = None
notes: Optional[str] = None
custom_fields: Optional[Dict[str, Any]] = None
is_blocked: Optional[bool] = None
can_bring_guests: Optional[bool] = None
class GuestRead(GuestBase):
id: UUID
status: GuestStatus
invitation_sent_at: Optional[datetime] = None
response_date: Optional[datetime] = None
actual_additional_guests: int
is_blocked: bool
model_config = ConfigDict(from_attributes=True)
invitation_code: str