feat: 优化发布清单和安装结构自动识别

This commit is contained in:
2026-07-15 06:33:33 +00:00
parent 0548692db0
commit 4df439b5ce
28 changed files with 1702 additions and 198 deletions
+4 -5
View File
@@ -3,7 +3,7 @@ from pathlib import Path
from fastapi import APIRouter, Depends, Header, HTTPException, Request
from fastapi.responses import FileResponse
from app.core.security import admin_auth, token_digest
from app.core.security import AdminPrincipal, require_permission
from app.repositories import crash_report_repository
@@ -11,7 +11,7 @@ router = APIRouter(tags=["admin-crash-report"])
@router.get("/admin/crash-report/list")
def admin_crash_report_list(limit: int = 300, auth=Depends(admin_auth)):
def admin_crash_report_list(limit: int = 300, auth=Depends(require_permission("crash:view"))):
limit = max(1, min(limit, 1000))
return {"list": crash_report_repository.list_crash_reports(limit)}
@@ -21,8 +21,7 @@ def admin_crash_report_file(
report_id: str,
file_name: str,
request: Request,
X_Admin_Token: str = Header(""),
auth=Depends(admin_auth),
auth: AdminPrincipal = Depends(require_permission("crash:view")),
):
allowed = {
"metadata": "metadata.json",
@@ -49,7 +48,7 @@ def admin_crash_report_file(
crash_report_repository.log_file_access(
report_id,
stored_name,
token_digest(X_Admin_Token)[:16],
auth.actor_hash,
request.client.host if request.client else "",
request.headers.get("user-agent", "")[:300],
)