31 lines
646 B
Python
31 lines
646 B
Python
import datetime
|
|
from enum import Enum
|
|
|
|
from pydantic import BaseModel, EmailStr, Field
|
|
|
|
|
|
class Role(Enum):
|
|
OWNER = "Owner"
|
|
ADMIN = "Admin"
|
|
EDITOR = "Editor"
|
|
VIEWER = "Viewer"
|
|
|
|
class Status(Enum):
|
|
ACTIVE = "Active"
|
|
DISABLED = "Disabled"
|
|
BLOCKED = "Blocked"
|
|
DELETED = "Deleted"
|
|
|
|
class User(BaseModel):
|
|
id: int
|
|
name: str = Field(..., max_length=100)
|
|
login: str = Field(..., max_length=100)
|
|
email: EmailStr = Field(..., max_length=100)
|
|
bind_tenant_id: str = Field(..., max_length=40)
|
|
role: Role
|
|
meta: dict
|
|
creator_id: int
|
|
is_active: bool
|
|
created_at: datetime
|
|
status: Status
|