Spaces:
Build error
Build error
File size: 1,162 Bytes
31b9617 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
from typing import Optional, List
from datetime import datetime
from pydantic import BaseModel, EmailStr
from ..models.user import UserRole, Permission
class UserBase(BaseModel):
email: EmailStr
username: str
role: UserRole
permissions: List[Permission] = []
customer_info: Optional[dict] = None
class UserCreate(UserBase):
password: str
class UserUpdate(BaseModel):
email: Optional[EmailStr] = None
username: Optional[str] = None
role: Optional[UserRole] = None
permissions: Optional[List[Permission]] = None
is_active: Optional[bool] = None
customer_info: Optional[dict] = None
class UserResponse(UserBase):
id: str
is_active: bool
is_verified: bool
created_at: datetime
updated_at: datetime
last_login: Optional[datetime] = None
class UserLogin(BaseModel):
username: str
password: str
class Token(BaseModel):
access_token: str
token_type: str = "bearer"
class TokenData(BaseModel):
username: Optional[str] = None
user_id: Optional[str] = None
role: Optional[str] = None
class PasswordChange(BaseModel):
current_password: str
new_password: str
|