feat(vfs): 增强虚拟文件系统删除和查询功能

- 新增递归删除目录及子项的功能,支持 recursive 和 force 操作模式
- 支持通过路径获取文件或目录内容,并完善参数说明和示例
- 完善 VFS API 文档,包括操作模式、权限描述和响应内容
- 优化 GetVFSNode 方法,改为通过 ID 查询节点信息
- 修复部分路径和权限检查的逻辑注释
This commit is contained in:
zzy
2025-09-27 22:23:30 +08:00
parent cf47ef66c3
commit a3033bbf67
5 changed files with 178 additions and 38 deletions

View File

@ -24,6 +24,7 @@ paths:
schema:
type: integer
format: int64
post:
summary: 创建书签
description: 在文件夹下创建一个书签
@ -79,7 +80,7 @@ paths:
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerInternalError'
put:
summary: 更新书签
description: 更新指定id的书签

View File

@ -88,7 +88,7 @@ paths:
description: 请求参数错误
'401':
description: 认证失败
delete:
summary: 删除用户
description: 删除用户
@ -100,7 +100,7 @@ paths:
description: 用户注销成功
'401':
description: 认证失败
/auth/user/{username}/info:
parameters:
- name: username
@ -175,7 +175,7 @@ components:
type: string
email:
type: string
ChangePasswordRequest:
type: object
required:

View File

@ -73,13 +73,17 @@ paths:
/vfs/v1/files:
parameters:
- name: path
in: query
required: true
description: 文件系统路径,例如 "documents/readme.txt" 或 "services/mysql.service" 或 "folder/"
schema:
type: string
example: "readme.txt"
- name: path
in: query
required: true
description: |
文件系统路径,例如:
- "/documents/readme.txt" (文件路径)
- "/services/sql.bk.api" (服务文件)
- "/folder/" (目录路径,以/结尾)
schema:
type: string
example: "/documents/readme.txt"
get:
summary: 读取文件或列出目录
@ -129,6 +133,7 @@ paths:
text/plain:
schema:
type: string
description: 文件内容, 或者服务内容
responses:
'201':
description: 创建成功
@ -158,11 +163,17 @@ paths:
parameters:
- name: op
in: query
description: 操作模式
description: |
更新操作模式:
- move: 移动文件或目录到新位置
- rename: 重命名文件或目录
- change: 修改文件内容或目录属性
- copy: 复制文件或目录到新位置
required: true
schema:
type: string
enum: [move, rename, change, copy]
example: "rename"
requestBody:
required: true
content:
@ -197,6 +208,19 @@ paths:
description: 删除指定路径的文件或目录
operationId: deleteVFSNode
tags: [vfs]
parameters:
- name: op
in: query
description: |
删除操作模式:
- recursive: 递归删除目录及其所有内容
- force: 强制删除,忽略只读等保护属性
不指定时执行普通删除操作
required: false
schema:
type: string
enum: [recursive, force]
example: "recursive"
responses:
'204':
description: 删除成功
@ -307,11 +331,10 @@ components:
$ref: '#/components/schemas/VFSNodeType'
permissions:
type: string
description: 权限信息,如 "rw"
description: 权限信息,如 "rwo" (读 写 拥有)
required:
- name
- type
- modified
Error:
type: object
@ -349,4 +372,4 @@ components:
example: "传递的第一个参数错误"
required:
- errtype
- message
- message