如何在 Blue 中存档和取消存档项目。


存档项目

存档项目在您想要暂时隐藏一个项目而不永久删除时非常有用。已存档的项目:

  • 从活动项目列表中隐藏
  • 不能被编辑或修改
  • 项目成员仍然可以查看
  • 可以随时取消存档

基本示例

mutation {
  archiveProject(id: "project-123")
}

使用项目上下文头

# With header: x-bloo-project-id: project-123
mutation {
  archiveProject
}

使用变量

mutation ArchiveProject($projectId: String!) {
  archiveProject(id: $projectId)
}

变量:

{
  "projectId": "abc123-project-id"
}

取消存档项目

要将已存档的项目恢复为活动状态:

mutation {
  unarchiveProject(id: "project-123")
}

变更参数

archiveProject

参数 类型 必需 描述
id String 要存档的项目 ID。如果未提供,则使用上下文头中的项目。

unarchiveProject

参数 类型 必需 描述
id String 要取消存档的项目 ID。如果未提供,则使用上下文头中的项目。

响应

两个变更都返回一个布尔值,表示成功与否:

字段 类型 描述
Boolean Boolean! 当操作成功时返回 true

所需权限

项目角色 可以存档/取消存档
OWNER ✅ 是
ADMIN ✅ 是
MEMBER ❌ 否
CLIENT ❌ 否
COMMENT_ONLY ❌ 否
VIEW_ONLY ❌ 否

项目 ID 解析

项目 ID 可以通过两种方式指定:

  1. 作为参数(推荐):

    archiveProject(id: "project-123")
    
  2. 通过 HTTP 头

    • x-bloo-project-id: project-123(首选)
    • x-project-id: project-123(已弃用)

如果两者都提供,则参数优先。

错误响应

找不到项目

{
  "errors": [{
    "message": "Project was not found.",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

权限不足

{
  "errors": [{
    "message": "You don't have permission to archive this project",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

存档时发生的事情

当您存档一个项目时:

  1. 项目状态:项目被标记为已存档
  2. 可见性:从活动项目列表中隐藏
  3. 模板:如果该项目是模板,则失去模板状态
  4. 位置:移动到用户项目列表的末尾
  5. 文件夹:从任何项目文件夹中移除
  6. 活动日志:存档操作被记录
  7. 实时更新:所有连接的用户都会收到通知

重要说明

  • 幂等操作:存档一个已经存档的项目返回 true 而不进行更改
  • 可逆:使用 unarchiveProject 恢复项目
  • 查看访问:已存档的项目仍然可以被现有成员查看
  • 无数据丢失:存档保留所有项目数据,与删除不同
  • 删除的替代方案:考虑存档而不是删除以进行临时移除

AI助手

响应是通过人工智能生成的,可能包含错误。

我能帮您什么?

随时问我关于 Blue 或本文档的任何问题。

输入发送 • Shift+Enter 换行 • ⌘I 打开