如何在 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 可以通過兩種方式指定:
-
作為參數(推薦):
archiveProject(id: "project-123")
-
通過 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"
}
}]
}
存檔時發生的事情
當您存檔專案時:
- 專案狀態:專案標記為已存檔
- 可見性:隱藏於活動專案列表中
- 模板:如果專案是模板,則失去模板狀態
- 位置:移至用戶專案列表的末尾
- 資料夾:從任何專案資料夾中移除
- 活動日誌:存檔操作被記錄
- 即時更新:所有連接的用戶都會收到通知
重要注意事項
- 冪等操作:存檔已存檔的專案返回
true
而不會有變更 - 可逆:使用
unarchiveProject
恢復專案 - 查看訪問:已存檔的專案仍可由現有成員查看
- 無數據損失:存檔保留所有專案數據,與刪除不同
- 刪除的替代方案:考慮存檔而不是刪除以進行臨時移除