Files
gartenmanager/backend/app/schemas/user.py
Faultier314 b58edfc6eb chore: save session state – feature/phase-1 ready to implement
- Update session-context.md with exact resume point for next session
- Update settings.local.json with broader git permissions
- feature/grundstruktur merged to develop
- PAT authentication configured

Version: 0.2.3
2026-04-05 23:24:21 +02:00

45 lines
1.0 KiB
Python

import uuid
from datetime import datetime
from pydantic import BaseModel, EmailStr, field_validator
class UserBase(BaseModel):
email: EmailStr
full_name: str
class UserCreate(UserBase):
password: str
@field_validator("password")
@classmethod
def password_min_length(cls, v: str) -> str:
if len(v) < 8:
raise ValueError("Das Passwort muss mindestens 8 Zeichen lang sein.")
return v
class UserUpdate(BaseModel):
full_name: str | None = None
email: EmailStr | None = None
password: str | None = None
is_active: bool | None = None
@field_validator("password")
@classmethod
def password_min_length(cls, v: str | None) -> str | None:
if v is not None and len(v) < 8:
raise ValueError("Das Passwort muss mindestens 8 Zeichen lang sein.")
return v
class UserRead(UserBase):
model_config = {"from_attributes": True}
id: uuid.UUID
is_active: bool
is_superadmin: bool
created_at: datetime
updated_at: datetime