1.2 KiB
1.2 KiB
DV-0002:项目与文件系统 – 规格(Spec)
- 状态:Implemented
- 关联 ADR:ADR-0001, ADR-0002, ADR-0003, ADR-0006
目标
建立「用户→项目→文档/文件夹」三级模型,并以“DB 权限 + FS 内容”实现项目文档的文件级存储与严格隔离。
范围
- In:项目 CRUD/转移/归档、成员协作、StorageService 路径安全、目录树。
- Out:实时协同编辑。
用户故事
作为项目成员,我希望按权限访问项目文档,以便协同维护知识库。
功能需求(FR)
| ID | 需求 | 验收要点 |
|---|---|---|
| FR-2 | 三级模型 + 项目 CRUD/转移 | 创建生成 UUID storage_key 并建磁盘结构 |
| FR-3 | 文件系统存储 + 路径安全 | get_secure_path 防穿越;隐藏文件/_assets 不进树 |
| FR-5 | 项目成员协作 | 按 admin/editor/viewer 判定读写 |
非功能需求(NFR)
| ID | 需求 |
|---|---|
| NFR-3 | 所有路径经 get_secure_path 校验 |
| NFR-4 | 项目访问做 RBAC 校验 |
| NFR-11 | 索引在文件变更时同步维护 |
边界与约束
- 磁盘名用 UUID(storage_key),展示名解耦。
- 内容不进 DB BLOB。