27 lines
846 B
Python
Executable File
27 lines
846 B
Python
Executable File
from pydantic import BaseModel, EmailStr, Field, validator
|
|
from typing import Optional
|
|
|
|
class UserRegister(BaseModel):
|
|
email: EmailStr
|
|
password: str = Field(..., min_length=8)
|
|
first_name: str = Field(..., min_length=2)
|
|
last_name: str = Field(..., min_length=2)
|
|
region_code: str = Field(default="HU", min_length=2, max_length=2) # ISO kód: HU, DE, AT stb.
|
|
device_id: Optional[str] = None # Eszköz azonosító a biztonsághoz
|
|
invite_token: Optional[str] = None
|
|
|
|
@validator('region_code')
|
|
def validate_region(cls, v):
|
|
return v.upper() if v else v
|
|
|
|
# EZ HIÁNYZOTT: Az azonosításhoz (login) szükséges séma
|
|
class UserLogin(BaseModel):
|
|
email: EmailStr
|
|
password: str
|
|
|
|
class Token(BaseModel):
|
|
access_token: str
|
|
token_type: str
|
|
|
|
class TokenData(BaseModel):
|
|
email: Optional[str] = None |