upload project source code
This commit is contained in:
66
后端源码/yifan.action-ai.cn/app/core/base_schema.py
Normal file
66
后端源码/yifan.action-ai.cn/app/core/base_schema.py
Normal file
@@ -0,0 +1,66 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
|
||||
from app.core.validator import DateTimeStr
|
||||
|
||||
|
||||
class UserInfoSchema(BaseModel):
|
||||
"""用户信息模型"""
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
id: int | None = Field(default=None, description="用户ID")
|
||||
name: str | None = Field(default=None, description="用户姓名")
|
||||
username: str | None = Field(default=None, description="用户名")
|
||||
|
||||
|
||||
class CommonSchema(BaseModel):
|
||||
"""通用信息模型"""
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
id: int = Field(description="编号ID")
|
||||
name: str = Field(description="名称")
|
||||
|
||||
|
||||
class BaseSchema(BaseModel):
|
||||
"""通用输出模型,包含基础字段和审计字段"""
|
||||
model_config = ConfigDict(from_attributes=True, coerce_numbers_to_str=True)
|
||||
|
||||
id: int | None = Field(default=None, description="主键ID")
|
||||
uuid: str | None = Field(default=None, description="UUID")
|
||||
status: str = Field(default="0", description="状态")
|
||||
description: str | None = Field(default=None, description="描述")
|
||||
created_time: DateTimeStr | None = Field(default=None, description="创建时间")
|
||||
updated_time: DateTimeStr | None = Field(default=None, description="更新时间")
|
||||
|
||||
|
||||
class UserBySchema(BaseModel):
|
||||
"""通用创建模型,包含基础字段和审计字段"""
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
created_id: int | None = Field(default=None, description="创建人ID")
|
||||
created_by: UserInfoSchema | None = Field(default=None, description="创建人信息")
|
||||
updated_id: int | None = Field(default=None, description="更新人ID")
|
||||
updated_by: UserInfoSchema | None = Field(default=None, description="更新人信息")
|
||||
|
||||
|
||||
class BatchSetAvailable(BaseModel):
|
||||
"""批量设置可用状态的请求模型"""
|
||||
ids: list[int] = Field(default_factory=list, description="ID列表")
|
||||
status: str = Field(default="0", description="是否可用")
|
||||
|
||||
|
||||
class UploadResponseSchema(BaseModel):
|
||||
"""上传响应模型"""
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
file_path: str | None = Field(default=None, description='新文件映射路径')
|
||||
file_name: str | None = Field(default=None, description='新文件名称')
|
||||
origin_name: str | None = Field(default=None, description='原文件名称')
|
||||
file_url: str | None = Field(default=None, description='新文件访问地址')
|
||||
|
||||
|
||||
class DownloadFileSchema(BaseModel):
|
||||
"""下载文件模型"""
|
||||
file_path: str = Field(..., description='新文件映射路径')
|
||||
file_name: str = Field(..., description='新文件名称')
|
||||
Reference in New Issue
Block a user