import uuid from pydantic import EmailStr from sqlmodel import Field, SQLModel from enum import Enum from datetime import datetime from app.core.config import settings class VoiceEnum(str, Enum): base = "Bass" tenor = "Tenor" alto = "Alt" soprano = "Sopran" men = "Bass oder Tenor" women = "Alt oder Sopran" class PeriodEnum(str, Enum): halfyear = "1/2 Jahr" year = "1/2 - 1 Jahr" twoyears = "1 - 2 Jahre" longterm = "mehr als zwei Jahre" class RegistrationBase(SQLModel): email: EmailStr = Field(max_length=255) first_name: str last_name: str age: int voice: VoiceEnum duration: PeriodEnum number_of_attempts: int class RegistrationCreate(RegistrationBase): pass class Registration(RegistrationBase, table=True): id: uuid.UUID = Field(default_factory=uuid.uuid4, primary_key=True) timestamp: datetime = Field(default_factory=lambda : datetime.now(tz=settings.TZ))