72 lines
3.2 KiB
Python
Executable File
72 lines
3.2 KiB
Python
Executable File
from datetime import datetime
|
|
from typing import Optional, List
|
|
|
|
from pydantic import ConfigDict, Field
|
|
|
|
from backend.common.schema import SchemaBase
|
|
|
|
|
|
class AuditLogSchemaBase(SchemaBase):
|
|
""" Audit Log Schema """
|
|
api_type: str = Field(description="API类型: recognition/embedding/assessment")
|
|
model_name: str = Field(description="模型名称")
|
|
request_data: Optional[dict] = Field(None, description="请求数据")
|
|
response_data: Optional[dict] = Field(None, description="响应数据")
|
|
token_usage: Optional[dict] = Field(0, description="消耗的token数量")
|
|
cost: Optional[float] = Field(0.0, description="API调用成本")
|
|
duration: float = Field(description="调用耗时(秒)")
|
|
status_code: int = Field(description="HTTP状态码")
|
|
error_message: Optional[str] = Field("", description="错误信息")
|
|
called_at: Optional[datetime] = Field(None, description="调用时间")
|
|
image_id: Optional[int] = Field(None, description="关联的图片ID")
|
|
user_id: int = Field(description="调用用户ID")
|
|
api_version: str = Field(description="API版本")
|
|
dict_level: Optional[str] = Field(None, description="词典等级")
|
|
ref_type: Optional[str] = Field(None, description="通用引用类型")
|
|
ref_id: Optional[int] = Field(None, description="通用引用ID")
|
|
|
|
|
|
class CreateAuditLogParam(AuditLogSchemaBase):
|
|
"""创建操作日志参数"""
|
|
|
|
|
|
class AuditLogHistorySchema(SchemaBase):
|
|
""" Audit Log History Schema for user history records """
|
|
image_id: Optional[str] = Field(None, description="图ID")
|
|
file_id: Optional[str] = Field(None, description="原图ID")
|
|
thumbnail_id: Optional[str] = Field(None, description="缩略图ID")
|
|
created_time: Optional[str] = Field(description="图片创建时间")
|
|
dict_level: Optional[str] = Field(None, description="词典等级")
|
|
|
|
|
|
class AuditLogStatisticsSchema(SchemaBase):
|
|
""" Audit Log Statistics Schema """
|
|
total_count: int = Field(description="历史总量")
|
|
today_count: int = Field(description="当天总量")
|
|
image_count: int = Field(description="图片总量")
|
|
|
|
|
|
class CreateDailySummaryParam(SchemaBase):
|
|
"""创建每日总结参数"""
|
|
user_id: int = Field(description="调用用户ID")
|
|
image_ids: Optional[List[str]] = Field(None, description="图ID")
|
|
thumbnail_ids: Optional[List[str]] = Field(None, description="缩略图ID")
|
|
summary_time: Optional[datetime] = Field(None, description="调用时间")
|
|
|
|
|
|
class DailySummarySchema(SchemaBase):
|
|
""" Daily Summary Schema """
|
|
# id: int = Field(description="记录ID")
|
|
# user_id: int = Field(description="用户ID")
|
|
image_ids: List[str] = Field(description="图片ID列表")
|
|
thumbnail_ids: List[str] = Field(description="图片缩略图列表")
|
|
summary_time: str = Field(description="创建时间")
|
|
|
|
|
|
class DailySummaryPageSchema(SchemaBase):
|
|
""" Daily Summary Page Schema """
|
|
items: List[DailySummarySchema] = Field(description="每日汇总记录列表")
|
|
total: int = Field(description="总记录数")
|
|
page: int = Field(description="当前页码")
|
|
size: int = Field(description="每页记录数")
|