mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-22 05:02:57 +00:00
refactor(backend): 重构CRUD基类查询方法去除重复结果 feat(application): 新增应用系统模块基础结构 fix(backend): 修复多处日志记录ID变量名错误 style(backend): 清理无用代码和注释 fix(frontend): 修复用户导入功能参数错误 docs(backend): 更新环境配置示例注释 perf(backend): 优化导出功能数据处理逻辑 test(frontend): 添加任务日志功能开发中提示 chore: 更新角色菜单权限数据
33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from typing import Optional, List
|
|
from pydantic import BaseModel, Field
|
|
from enum import Enum
|
|
|
|
|
|
class ResourceType(Enum):
|
|
"""资源类型枚举"""
|
|
IMAGE = "image" # 图片
|
|
VIDEO = "video" # 视频
|
|
AUDIO = "audio" # 音频
|
|
DOCUMENT = "document" # 文档
|
|
ARCHIVE = "archive" # 压缩包
|
|
OTHER = "other" # 其他
|
|
|
|
|
|
class ResourceQueryParams(BaseModel):
|
|
"""资源查询参数模型"""
|
|
path: Optional[str] = Field(None, description="文件路径")
|
|
keyword: Optional[str] = Field(None, description="关键词搜索")
|
|
resource_type: Optional[ResourceType] = Field(None, description="资源类型")
|
|
file_extension: Optional[str] = Field(None, description="文件扩展名")
|
|
min_size: Optional[int] = Field(None, ge=0, description="最小文件大小")
|
|
max_size: Optional[int] = Field(None, ge=0, description="最大文件大小")
|
|
include_hidden: bool = Field(False, description="包含隐藏文件")
|
|
recursive: bool = Field(True, description="递归搜索")
|
|
max_depth: int = Field(10, description="最大搜索深度")
|
|
sort_by: Optional[str] = Field("name", description="排序字段(name/size/modified_time)")
|
|
sort_order: Optional[str] = Field("asc", description="排序方式(asc/desc)")
|
|
|
|
class Config:
|
|
use_enum_values = True |