Files
MemoryBear/api/app/schemas/user_alias_schema.py

34 lines
1.2 KiB
Python

import uuid
import datetime
from typing import Optional, Dict, Any
from pydantic import BaseModel, Field
from pydantic import ConfigDict
class UserAliasBase(BaseModel):
"""用户别名基础模型"""
other_name: str = Field(description="关联的用户名称")
alias: Optional[str] = Field(description="用户别名", default=None)
meta_data: Optional[Dict[str, Any]] = Field(description="用户相关的扩展信息", default=None)
class UserAliasCreate(UserAliasBase):
"""创建用户别名请求模型"""
end_user_id: uuid.UUID = Field(description="关联的终端用户ID")
class UserAliasUpdate(BaseModel):
"""更新用户别名请求模型"""
alias: Optional[str] = Field(description="用户别名", default=None)
meta_data: Optional[Dict[str, Any]] = Field(description="用户相关的扩展信息", default=None)
class UserAliasResponse(UserAliasBase):
"""用户别名响应模型"""
model_config = ConfigDict(from_attributes=True)
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="更新时间")