Files
----/后端源码/yifan.action-ai.cn/app/api/v1/module_common/activity/schema.py

43 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
from pydantic import BaseModel, Field
from typing import Optional
from datetime import datetime
class ActivityBase(BaseModel):
"""活动记录基础模型"""
user_name: str = Field(..., max_length=50, description="用户名(脱敏)")
action: str = Field(..., max_length=50, description="操作类型")
service_name: str = Field(..., max_length=100, description="服务名称")
service_type: Optional[str] = Field(None, max_length=50, description="服务类型")
sort_order: int = Field(default=0, description="排序顺序")
class ActivityCreate(ActivityBase):
"""创建活动记录"""
pass
class ActivityUpdate(BaseModel):
"""更新活动记录"""
user_name: Optional[str] = Field(None, max_length=50)
action: Optional[str] = Field(None, max_length=50)
service_name: Optional[str] = Field(None, max_length=100)
service_type: Optional[str] = Field(None, max_length=50)
sort_order: Optional[int] = None
class ActivityOut(ActivityBase):
"""活动记录输出模型"""
id: int
created_time: datetime
class Config:
from_attributes = True
class ActivityDisplay(BaseModel):
"""前端展示格式"""
text: str = Field(..., description="展示文本")