dvirlabs 29aa5c2f36
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Add the option to login with username or phone or email and fix the leave messages
2026-05-08 18:54:26 +03:00

58 lines
1.2 KiB
Python

from pydantic import BaseModel, EmailStr
from datetime import datetime
from typing import Optional
class UserBase(BaseModel):
email: EmailStr
full_name: str
class UserCreate(UserBase):
password: str
username: Optional[str] = None
phone: Optional[str] = None
class UserUpdate(BaseModel):
full_name: Optional[str] = None
username: Optional[str] = None
phone: Optional[str] = None
address: Optional[str] = None
city: Optional[str] = None
postal_code: Optional[str] = None
country: Optional[str] = None
email: Optional[EmailStr] = None
class ChangePasswordRequest(BaseModel):
old_password: str
new_password: str
class RequestPinRequest(BaseModel):
email: EmailStr
class ResetPasswordWithPinRequest(BaseModel):
email: EmailStr
pin: str
new_password: str
class UserResponse(UserBase):
id: int
username: Optional[str]
phone: Optional[str]
address: Optional[str]
city: Optional[str]
postal_code: Optional[str]
country: Optional[str]
is_active: bool
is_admin: bool
must_change_password: bool = False
created_at: datetime
class Config:
from_attributes = True