perf👌: 完善系统管理api

This commit is contained in:
HibiKier
2024-01-15 01:19:37 +08:00
parent 45acf4a094
commit b656f89c8e
9 changed files with 68 additions and 280 deletions
@@ -0,0 +1,26 @@
import os
from pathlib import Path
from typing import List, Optional
from fastapi import APIRouter
from ....base_model import Result
from ....utils import authentication, get_system_disk
from .model import DirFile
router = APIRouter(prefix="/system")
@router.get("/get_dir_list", dependencies=[authentication()], description="获取文件列表")
async def _(path: Optional[str] = None) -> Result:
base_path = Path(path) if path else Path()
data_list = []
for file in os.listdir(base_path):
data_list.append(DirFile(is_file=not (base_path / file).is_dir(), name=file, parent=path))
return Result.ok(data_list)
@router.get("/get_resources_size", dependencies=[authentication()], description="获取文件列表")
async def _(type: Optional[str] = None) -> Result:
return Result.ok(await get_system_disk(type))
+35
View File
@@ -0,0 +1,35 @@
from datetime import datetime
from typing import Literal, Optional
from pydantic import BaseModel
class DirFile(BaseModel):
"""
文件或文件夹
"""
is_file: bool
"""是否为文件"""
name: str
"""文件夹或文件名称"""
parent: Optional[str] = None
"""父级"""
class SystemFolderSize(BaseModel):
"""
资源文件占比
"""
font_dir_size: float
image_dir_size: float
text_dir_size: float
record_dir_size: float
temp_dir_size: float
data_dir_size: float
log_dir_size: float
check_time: datetime