30 lines
701 B
Python
30 lines
701 B
Python
import uuid
|
|
from typing import Optional, Union, List
|
|
|
|
import pydantic
|
|
from pydantic import Field
|
|
|
|
from core.models.base import BaseModel
|
|
|
|
|
|
class UserModel(BaseModel):
|
|
id: Optional[Union[uuid.UUID, str]] = Field(alias='_id')
|
|
username: Optional[str]
|
|
mobile: Optional[str]
|
|
name: Optional[str]
|
|
first_name: Optional[str]
|
|
last_name: Optional[str]
|
|
is_su: Optional[bool]
|
|
unit: Optional[str]
|
|
avatar: Optional[str]
|
|
desc: Optional[str]
|
|
scopes: Optional[List[str]]
|
|
home_path: Optional[str]
|
|
roles: Optional[List[uuid.UUID]]
|
|
disabled: Optional[bool]
|
|
|
|
|
|
class ValidateTokenInput(pydantic.BaseModel):
|
|
token: str
|
|
scopes: Optional[List[str]] = ['account']
|