Files
FastapiAdmin/backend/app/core/base_schema.py
T
zhangtao 0aeb77e0bd feat: 新增权限指令并集成到多个页面组件
refactor(backend): 重构数据库模型和初始化逻辑

fix(frontend): 修复权限指令在多个组件中的使用问题

perf(backend): 优化数据库连接和初始化性能

docs: 更新低代码生成器的README文档

style: 清理无用代码和注释

chore: 移除不再需要的依赖项

test: 更新用户权限相关测试用例

ci: 更新CI配置以支持新的权限检查

build: 更新依赖项版本
2025-09-28 23:42:26 +08:00

60 lines
2.1 KiB
Python

# -*- coding: utf-8 -*-
from typing import List, Optional
from pydantic import BaseModel, ConfigDict, Field
from app.core.validator import DateTimeStr
class UserInfoSchema(BaseModel):
"""用户信息模型"""
model_config = ConfigDict(from_attributes=True)
id: int = Field(description="用户ID")
name: str = Field(description="用户姓名")
username: str = Field(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 = Field(description="主键ID")
description: Optional[str] = Field(default=None, description="描述")
created_at: DateTimeStr = Field(description="创建时间")
updated_at: DateTimeStr = Field(description="更新时间")
creator_id: Optional[int] = Field(default=None, description="创建人ID")
creator: Optional[UserInfoSchema] = Field(default=None, description="创建人信息")
class BatchSetAvailable(BaseModel):
"""批量设置可用状态的请求模型"""
ids: List[int] = Field(default_factory=list, description="ID列表")
status: bool = Field(default=True, description="是否可用")
class UploadResponseSchema(BaseModel):
"""
上传响应模型
"""
model_config = ConfigDict(from_attributes=True)
file_path: Optional[str] = Field(default=None, description='新文件映射路径')
file_name: Optional[str] = Field(default=None, description='新文件名称')
origin_name: Optional[str] = Field(default=None, description='原文件名称')
file_url: Optional[str] = Field(default=None, description='新文件访问地址')
class DownloadFileSchema(BaseModel):
"""
下载文件模型
"""
file_path: Optional[str] = Field(default=None, description='新文件映射路径')
file_name: Optional[str] = Field(default=None, description='新文件名称')