Files
choriosity-anmeldung/app/models.py
2025-05-27 10:56:48 +02:00

45 lines
957 B
Python

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))