feat: add document file download API and related features

1. add `/api/v1/documents/{doc_id}/file` endpoint for downloading original document files
2. add file field to document detail API response based on metadata
3. add comprehensive tests for file download API and metadata integration
4. update API documentation in CLAUDE.md
This commit is contained in:
2026-07-31 22:46:50 +08:00
parent e2e8e6829d
commit f92eff6f65
7 changed files with 580 additions and 6 deletions
+16
View File
@@ -231,6 +231,22 @@ def test_admin_page_auth_interceptor(admin_html: str) -> None:
assert "1006" in admin_html
def test_admin_page_doc_detail_file_link(admin_html: str) -> None:
"""文档详情区:有关联文件时展示原始文件行与下载链接(textContent 防 XSS"""
# 条件判断与字段访问
assert "data.file" in admin_html
assert "file.filename" in admin_html
assert "file.size_bytes" in admin_html
# 大小格式化辅助
assert "formatFileSize" in admin_html
# 下载链接用 el("a") 创建,设 href 与 download 属性,不 innerHTML
assert 'el("a"' in admin_html
assert "download" in admin_html
# 行标签文案
assert "原始文件" in admin_html
assert "下载" in admin_html
def test_admin_page_api_guide_section(admin_html: str) -> None:
"""API 指南区块:导航按钮、section、静态清单与鉴权标注(user 角色也可见)"""
assert 'data-target="section-api-guide"' in admin_html