36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
import uuid
|
|
import datetime
|
|
from typing import Optional, Dict, Any, List
|
|
from pydantic import BaseModel, Field
|
|
from pydantic import ConfigDict
|
|
|
|
|
|
class EndUserInfoBase(BaseModel):
|
|
"""终端用户信息基础模型"""
|
|
other_name: str = Field(description="关联的用户名称")
|
|
aliases: Optional[List[str]] = Field(description="用户别名列表", default=None)
|
|
meta_data: Optional[Dict[str, Any]] = Field(description="用户相关的扩展信息", default=None)
|
|
|
|
|
|
class EndUserInfoCreate(EndUserInfoBase):
|
|
"""创建终端用户信息请求模型"""
|
|
end_user_id: str = Field(description="关联的终端用户ID")
|
|
|
|
|
|
class EndUserInfoUpdate(BaseModel):
|
|
"""更新终端用户信息请求模型"""
|
|
end_user_id: str = Field(description="终端用户ID")
|
|
other_name: Optional[str] = Field(description="用户名称", default=None)
|
|
aliases: Optional[List[str]] = Field(description="用户别名列表", default=None)
|
|
meta_data: Optional[Dict[str, Any]] = Field(description="用户相关的扩展信息", default=None)
|
|
|
|
|
|
class EndUserInfoResponse(EndUserInfoBase):
|
|
"""终端用户信息响应模型"""
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
end_user_info_id: uuid.UUID = Field(description="终端用户信息记录ID")
|
|
end_user_id: uuid.UUID = Field(description="关联的终端用户ID")
|
|
created_at: datetime.datetime = Field(description="创建时间")
|
|
updated_at: datetime.datetime = Field(description="更新时间")
|