| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- # -*- 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)
- 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='新文件名称')
|