Add invitation code validation and auto-generation for guests
Validate uniqueness of invitation codes during guest creation to prevent duplicates. Automatically generate an 8-character code if none is provided, ensuring consistent data handling. Updated tests and schemas to support these changes.
This commit is contained in:
@@ -11,6 +11,10 @@ import uuid
|
||||
class CRUDGuest(CRUDBase[Guest, GuestCreate, GuestUpdate]):
|
||||
|
||||
def create(self, db, obj_in: GuestCreate):
|
||||
|
||||
if obj_in.invitation_code is None:
|
||||
obj_in.invitation_code = str(uuid.uuid4())[:8]
|
||||
|
||||
db_guest = Guest(
|
||||
event_id=uuid.UUID(obj_in.event_id) if isinstance(obj_in.event_id, str) else obj_in.event_id, # explicit casting
|
||||
invited_by=uuid.UUID(obj_in.invited_by) if isinstance(obj_in.invited_by, str) else obj_in.invited_by,
|
||||
|
||||
Reference in New Issue
Block a user