Files
stundenfuchs/app/schemas.py
T
maddin 6fbd1bb3c2
CI / checks (push) Has been cancelled
chore: initialize public repository
2026-03-22 12:57:09 +00:00

46 lines
1.1 KiB
Python

from datetime import date
from pydantic import BaseModel, EmailStr, Field
class RegisterRequest(BaseModel):
email: EmailStr
password: str = Field(min_length=10, max_length=255)
class LoginRequest(BaseModel):
email: EmailStr
password: str = Field(min_length=1, max_length=255)
class MFAChallengeRequest(BaseModel):
code: str = Field(min_length=1, max_length=32)
class TimeEntryCreate(BaseModel):
date: date
start_time: str
end_time: str
break_minutes: int | None = Field(default=None, ge=0)
break_mode: str | None = Field(default=None, pattern="^(manual|auto)$")
notes: str | None = None
class TimeEntryUpdate(BaseModel):
start_time: str | None = None
end_time: str | None = None
break_minutes: int | None = Field(default=None, ge=0)
break_mode: str | None = Field(default=None, pattern="^(manual|auto)$")
notes: str | None = None
class TimeEntryOut(BaseModel):
id: str
date: date
start_time: str
end_time: str
break_minutes: int
break_mode: str
net_minutes: int
notes: str | None