feat: Enhance file management and user features
- Add file deduplication mechanism based on PhysicalFile reference counting. - Implement chunked upload support for large files with resumable uploads. - Update sharing page to automatically render README and preview content. - Integrate Redis for caching and token storage (optional). - Refactor project structure to include new models for download tasks, nodes, and tasks. - Introduce user filtering parameters for admin user management. - Add CORS middleware for handling cross-origin requests. - Improve error messages for authentication failures. - Update user model to include two-factor authentication key management. - Enhance API documentation and response models for clarity. - Implement admin checks for user management and permissions.
This commit is contained in:
105
ROADMAP.md
105
ROADMAP.md
@@ -24,17 +24,25 @@
|
||||
|
||||
- [x] FastAPI 应用框架搭建
|
||||
- [x] SQLModel ORM 集成
|
||||
- [x] 异步数据库支持 (aiosqlite)
|
||||
- [x] 异步数据库支持 (aiosqlite, asyncpg)
|
||||
- [x] 项目结构规范化
|
||||
- [x] 开发规范文档 (CLAUDE.md)
|
||||
- [x] 开发规范文档 (AGENTS.md)
|
||||
- [x] Redis 集成(可选,支持降级)
|
||||
- [x] 生命周期管理(启动/关闭事件)
|
||||
- [x] 数据库自动迁移/初始化
|
||||
|
||||
#### 数据模型
|
||||
|
||||
- [x] 基类定义 (SQLModelBase, TableBase, UUIDTableBase)
|
||||
- [x] 基类定义 (SQLModelBase, TableBaseMixin, UUIDTableBaseMixin)
|
||||
- [x] 自定义元类支持联表继承和多态
|
||||
- [x] 用户模型 (User)
|
||||
- [x] 用户 WebAuthn 凭证模型 (UserAuthn)
|
||||
- [x] 用户组模型 (Group, GroupOptions)
|
||||
- [x] 统一对象模型 (Object) - 合并文件和目录
|
||||
- [x] 存储策略模型 (Policy)
|
||||
- [x] 物理文件模型 (PhysicalFile) - 文件去重
|
||||
- [x] 上传会话模型 (UploadSession)
|
||||
- [x] 文件元数据模型 (FileMetadata)
|
||||
- [x] 存储策略模型 (Policy, PolicyOptions)
|
||||
- [x] 分享模型 (Share)
|
||||
- [x] 标签模型 (Tag)
|
||||
- [x] WebDAV 模型 (WebDAV)
|
||||
@@ -48,21 +56,62 @@
|
||||
- [x] JWT 令牌认证
|
||||
- [x] 获取当前用户信息
|
||||
- [x] 用户存储空间查询
|
||||
- [x] 用户设置获取
|
||||
|
||||
#### 目录系统
|
||||
|
||||
- [x] 目录浏览接口(路径解析)
|
||||
- [x] 目录创建接口
|
||||
|
||||
#### 文件系统
|
||||
|
||||
- [x] 创建上传会话
|
||||
- [x] 分片上传接口
|
||||
- [x] 上传会话管理(删除、清除)
|
||||
- [x] 创建空白文件
|
||||
- [x] 下载令牌生成
|
||||
- [x] 文件下载(一次性令牌)
|
||||
|
||||
#### 对象操作
|
||||
|
||||
- [x] 对象删除(支持递归删除目录)
|
||||
- [x] 对象移动
|
||||
- [x] 对象复制(引用计数,不复制物理文件)
|
||||
- [x] 对象重命名
|
||||
- [x] 对象属性查询(基本属性、详细属性)
|
||||
|
||||
#### 认证安全
|
||||
|
||||
- [x] Argon2 密码哈希
|
||||
- [x] JWT 令牌生成与验证
|
||||
- [x] 认证中间件
|
||||
- [x] 管理员权限中间件
|
||||
- [x] 两步验证 (2FA/TOTP) 初始化与启用
|
||||
- [x] WebAuthn 注册初始化
|
||||
- [x] 下载令牌验证(一次性使用)
|
||||
- [x] 令牌存储(Redis/内存降级)
|
||||
|
||||
#### 存储策略
|
||||
|
||||
- [x] 本地存储策略实现
|
||||
- [x] 存储路径生成(支持命名规则)
|
||||
- [x] 文件写入/读取/删除
|
||||
- [x] 回收站机制
|
||||
|
||||
#### 管理后台
|
||||
|
||||
- [x] 管理员权限验证
|
||||
- [x] 站点概况统计(用户数、文件数、分享数趋势)
|
||||
- [x] 设置管理(获取、批量更新)
|
||||
- [x] Aria2 连接测试
|
||||
|
||||
#### 测试
|
||||
|
||||
- [x] pytest 测试框架配置
|
||||
- [x] 单元测试结构
|
||||
- [x] 集成测试结构
|
||||
- [x] 单元测试结构(models, service, utils)
|
||||
- [x] 集成测试结构(api, middleware)
|
||||
- [x] 测试夹具 (fixtures)
|
||||
- [x] 覆盖率报告配置
|
||||
|
||||
### 进行中
|
||||
|
||||
@@ -73,15 +122,8 @@
|
||||
- [ ] 用户设置管理
|
||||
- [ ] 头像上传/Gravatar
|
||||
|
||||
#### 目录系统
|
||||
|
||||
- [ ] 目录浏览接口
|
||||
- [ ] 目录创建接口
|
||||
- [ ] 路径解析优化
|
||||
|
||||
#### 存储策略
|
||||
|
||||
- [ ] 本地存储策略实现
|
||||
- [ ] S3 存储策略实现
|
||||
|
||||
---
|
||||
@@ -90,21 +132,16 @@
|
||||
|
||||
### 文件操作
|
||||
|
||||
- [ ] 文件上传(单文件)
|
||||
- [ ] 文件上传(分块上传)
|
||||
- [ ] 文件下载
|
||||
- [ ] 文件预览 URL 生成
|
||||
- [ ] 缩略图生成
|
||||
- [ ] 文件移动/复制
|
||||
- [ ] 文件重命名
|
||||
- [ ] 文件删除(软删除/回收站)
|
||||
- [ ] 文件内容获取(文本文件)
|
||||
- [ ] Office 文档预览
|
||||
- [ ] 文件外链功能
|
||||
|
||||
### 目录操作
|
||||
|
||||
- [ ] 目录树查询
|
||||
- [ ] 目录移动/复制
|
||||
- [ ] 目录删除(递归)
|
||||
- [ ] 批量操作
|
||||
- [ ] 批量操作优化
|
||||
|
||||
### 存储策略完善
|
||||
|
||||
@@ -117,10 +154,17 @@
|
||||
### 用户组权限
|
||||
|
||||
- [ ] 权限验证中间件
|
||||
- [ ] 存储空间限制
|
||||
- [ ] 存储空间限制检查
|
||||
- [ ] 文件类型限制
|
||||
- [ ] 单文件大小限制
|
||||
|
||||
### 管理后台完善
|
||||
|
||||
- [ ] 用户管理接口
|
||||
- [ ] 用户组管理接口
|
||||
- [ ] 存储策略管理接口
|
||||
- [ ] 文件管理接口(封禁/解封)
|
||||
|
||||
### Webhook 事件系统
|
||||
|
||||
- [ ] 文件事件推送(创建、修改、删除、分享)
|
||||
@@ -161,15 +205,12 @@
|
||||
- [ ] 存储容量包
|
||||
- [ ] 订单管理
|
||||
|
||||
### 管理后台
|
||||
### 文件处理
|
||||
|
||||
- [ ] 用户管理接口
|
||||
- [ ] 用户组管理接口
|
||||
- [ ] 存储策略管理接口
|
||||
- [ ] 系统设置接口
|
||||
- [ ] 任务管理接口
|
||||
- [ ] 文件管理接口
|
||||
- [ ] 数据统计接口
|
||||
- [ ] 文件压缩任务
|
||||
- [ ] 文件解压任务
|
||||
- [ ] 文件转移任务
|
||||
- [ ] 文件搜索功能
|
||||
|
||||
### 协作功能
|
||||
|
||||
@@ -416,4 +457,4 @@
|
||||
|
||||
---
|
||||
|
||||
*最后更新:2025年12月*
|
||||
*最后更新:2026年1月*
|
||||
|
||||
Reference in New Issue
Block a user