"""入口模块管理 VO。""" from pydantic import BaseModel, Field class EntryModuleTenantVO(BaseModel): """入口模块租户配置。""" tenant_code: str = Field(..., description="租户编码") tenant_name: str | None = Field(None, description="租户名称") enabled: bool = Field(True, description="是否启用") sort_order: int = Field(0, description="排序号") class EntryModuleVO(BaseModel): """入口模块详情。""" id: int = Field(..., description="入口模块ID") name: str = Field(..., description="模块名称") description: str | None = Field(None, description="模块描述") path: str | None = Field(None, description="图标路径") route_path: str | None = Field(None, description="前端跳转路径") sort_order: int = Field(0, description="排序") is_enabled: bool = Field(True, description="是否启用") tenants: list[EntryModuleTenantVO] = Field(default_factory=list, description="租户配置") created_at: str | None = Field(None, description="创建时间") updated_at: str | None = Field(None, description="更新时间") class EntryModuleListVO(BaseModel): """入口模块列表分页。""" total: int = Field(0, description="总数") page: int = Field(1, description="页码") page_size: int = Field(10, description="分页大小") items: list[EntryModuleVO] = Field(default_factory=list, description="入口模块列表") class EntryModuleImageUploadVO(BaseModel): """入口模块图片上传结果。""" module_id: int = Field(..., description="模块ID") path: str = Field(..., description="对象路径") url: str = Field(..., description="访问地址") message: str = Field(..., description="结果消息")