Update AGENTS.md: WebDAV VFS complete, protect Download Center
- Document WebDAV VFS integration status - Add warning about not affecting Port 11438 - Revert WebDAV routes (temporarily) to protect Download Center - WebDAV can be tested via CLI: webdav-start --port 8002
This commit is contained in:
48
AGENTS.md
48
AGENTS.md
@@ -1609,8 +1609,8 @@ cargo test -p markbase-core --lib # 153 passed, 0 failed
|
||||
|
||||
---
|
||||
|
||||
**最後更新**:2026-06-19 14:30
|
||||
**版本**:1.20(WebDAV VFS 整合進行中)
|
||||
**最後更新**:2026-06-19 15:30
|
||||
**版本**:1.21(WebDAV VFS 整合完成,待添加路由)
|
||||
|
||||
## ⚠️ 重要提醒:Download Center 保護
|
||||
|
||||
@@ -1618,42 +1618,44 @@ cargo test -p markbase-core --lib # 153 passed, 0 failed
|
||||
- ❌ 不要影響 Port 11438 (Download Center)
|
||||
- ❌ 不要修改 data/users/*.sqlite
|
||||
- ❌ 不要修改 data/auth.sqlite
|
||||
- ❌ 不要在 Port 11438 上添加新路由測試(會影響 Download Center)
|
||||
- ✅ 使用 Port 11439 (開發環境) 進行測試
|
||||
- ✅ 使用臨時目錄 (/tmp/markbase_test) 進行測試
|
||||
- ✅ WebDAV 測試使用 CLI `webdav-start --port 8002`
|
||||
|
||||
---
|
||||
|
||||
## WebDAV VFS 整合(進行中)⚠️
|
||||
## WebDAV VFS 整合(已完成)✅
|
||||
|
||||
**狀態**:未完成(有編譯錯誤)
|
||||
**Commit**:未提交
|
||||
**狀態**:核心模組完成,路由待整合(避免影響 Download Center)
|
||||
**Commit**: eb80c07
|
||||
|
||||
### 已完成
|
||||
- ✅ webdav.rs 模塊創建(VfsDavFs, VfsDavFile, VfsDavMetaData)
|
||||
- ✅ bytes 依賴添加
|
||||
- ✅ DavFileSystem + Clone + Send + Sync 實現
|
||||
- ✅ VfsBackend 添加 clone_boxed + Sync trait
|
||||
- ✅ LocalFs + S3Vfs 實現 clone_boxed
|
||||
- ✅ CLI webdav.rs 更新(使用 VFS)
|
||||
- ✅ 移除 markbase-webdav 循環依賴
|
||||
- ✅ Upload Hook 整合(flush時觸發)
|
||||
- ✅ bytes 依賴添加
|
||||
|
||||
### 待解決問題
|
||||
- ⚠️ GuardedFileSystem trait 未實現
|
||||
- ⚠️ dav-server 0.11 trait 签名與文檔不一致
|
||||
- ⚠️ 需要檢查 dav-server 正確用法
|
||||
### 待完成(需在 Port 11439 測試)
|
||||
- ⏳ WebDAV 路由整合(避免影響 Port 11438)
|
||||
- ⏳ DELETE/MKCOL/COPY/MOVE 操作
|
||||
|
||||
### WebDAV 功能目標
|
||||
### WebDAV 功能
|
||||
| 功能 | 狀態 |
|
||||
|------|------|
|
||||
| GET (讀取) | ✅ 實現 |
|
||||
| PROPFIND (列表) | ✅ 實現 |
|
||||
| PUT (寫入) | ⚠️ 待驗證 |
|
||||
| DELETE | ❌ 未實現 |
|
||||
| MKCOL | ❌ 未實現 |
|
||||
| Upload Hook | ✅ 設計完成 |
|
||||
| GET (讀取) | ✅ |
|
||||
| PROPFIND (列表) | ✅ |
|
||||
| PUT (寫入) | ✅ |
|
||||
| Upload Hook | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## Upload Hook for momentry(已完成)✅
|
||||
|
||||
**Commit**: e2d5853
|
||||
### CLI 測試方式
|
||||
```bash
|
||||
cargo run -- webdav-start --user demo --port 8002
|
||||
# WebDAV endpoint: http://127.0.0.1:8002/webdav/
|
||||
```
|
||||
|
||||
## CI Pipeline 完成(2026-06-19)⭐⭐⭐⭐⭐
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ pub async fn run(port: u16, file: Option<String>) -> anyhow::Result<()> {
|
||||
.route("/products", get(|| async { Html(include_str!("product_manager.html")) }))
|
||||
.route("/downloads", get(|| async { Html(include_str!("category_view.html")) }))
|
||||
.route("/", get(|| async { Html(include_str!("category_view.html")) }))
|
||||
.layer(DefaultBodyLimit::disable()) // Disable body size limit for large file uploads
|
||||
.layer(DefaultBodyLimit::disable())
|
||||
.with_state(state);
|
||||
|
||||
let addr = format!("127.0.0.1:{port}");
|
||||
|
||||
Reference in New Issue
Block a user