This commit is contained in:
Your Name
2026-08-07 15:35:02 +08:00
parent 3fc94c4a89
commit 6119fdd767
25 changed files with 2126 additions and 355 deletions
+6 -5
View File
@@ -19,7 +19,8 @@ from fastapi.responses import FileResponse
from pydantic import BaseModel, Field
from sqlalchemy.ext.asyncio import AsyncSession
from auth.dependencies import require_admin
from auth.dependencies import require_permission
from auth.permissions import DESKTOP_MANAGE
from auth.system_settings import get_cached_settings
from desktop_release import (
INSTALLER_DIR,
@@ -120,7 +121,7 @@ async def desktop_download(db: AsyncSession = Depends(get_db)):
async def get_release(
request: Request,
db: AsyncSession = Depends(get_db),
_: User = Depends(require_admin),
_: User = Depends(require_permission(DESKTOP_MANAGE)),
):
data = await load_release(db)
return _to_response(data, request)
@@ -131,7 +132,7 @@ async def update_release(
body: DesktopReleaseUpdate,
request: Request,
db: AsyncSession = Depends(get_db),
_: User = Depends(require_admin),
_: User = Depends(require_permission(DESKTOP_MANAGE)),
):
updates = body.model_dump(exclude_unset=True)
if "version" in updates and updates["version"] is not None:
@@ -152,7 +153,7 @@ async def upload_installer(
request: Request,
file: UploadFile = File(...),
db: AsyncSession = Depends(get_db),
_: User = Depends(require_admin),
_: User = Depends(require_permission(DESKTOP_MANAGE)),
):
filename = (file.filename or "").strip()
if not filename.lower().endswith(".exe"):
@@ -194,7 +195,7 @@ async def upload_installer(
async def delete_installer(
request: Request,
db: AsyncSession = Depends(get_db),
_: User = Depends(require_admin),
_: User = Depends(require_permission(DESKTOP_MANAGE)),
):
remove_installer()
data = await save_release(db, {"installer_name": "", "installer_size": 0})