feat: implement source link endpoints and enforce policy rules

- Add POST/GET source link endpoints for file sharing via permanent URLs
- Enforce max_size check in PATCH /file/content to prevent size limit bypass
- Support is_private (proxy) vs public (302 redirect) storage modes
- Replace all ResponseBase(data=...) with proper DTOs or 204 responses
- Add 18 integration tests for source link and policy rule enforcement

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-15 17:07:20 +08:00
parent 0b521ae8ab
commit b5d09009e3
11 changed files with 1051 additions and 150 deletions

View File

@@ -20,15 +20,15 @@ slave_aria2_router = APIRouter(
summary='测试用路由',
description='Test route for checking connectivity.',
)
def router_slave_ping() -> ResponseBase:
def router_slave_ping() -> str:
"""
Test route for checking connectivity.
Returns:
ResponseBase: A response model indicating success.
str: 后端版本号
"""
from utils.conf.appmeta import BackendVersion
return ResponseBase(data=BackendVersion)
return BackendVersion
@slave_router.post(
path='/post',