Files
choriosity-anmeldung/app/models.py
matsewe 5b92bc8465
All checks were successful
release-tag / release-image (push) Successful in 36s
Ask for age instead of birth date
2025-05-26 20:48:47 +02:00

46 lines
959 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))