使用單一變更將記錄在完成和未完成狀態之間切換。


切換記錄狀態

updateTodoDoneStatus 變更提供了一種簡單的方法來切換記錄的完成狀態。如果記錄未完成,則將其標記為完成。如果已完成,則將其標記為未完成。

示例

mutation ToggleRecordStatus {
  updateTodoDoneStatus(todoId: "todo_123") {
    id
    title
    done
    updatedAt
  }
}

輸入參數

參數 類型 必需 描述
todoId String! ✅ 是 要切換的記錄的 ID

回應

返回更新後的 Todo 物件,包含所有可用字段。常用字段包括:

  • id - 記錄標識符
  • title - 記錄標題
  • done - 新的完成狀態 (true/false)
  • updatedAt - 更新的時間戳
  • 所有其他 待辦事項字段 均可用

所需權限

存取級別 可以切換狀態
OWNER ✅ 是
ADMIN ✅ 是
MEMBER ✅ 是
CLIENT ✅ 是
COMMENT_ONLY ❌ 否
VIEW_ONLY ❌ 否

注意: 擁有 allowMarkRecordsAsDone: false 的自定義角色將被禁止使用此變更。

錯誤回應

TodoNotFoundError

{
  "errors": [{
    "message": "Todo was not found.",
    "extensions": {
      "code": "TODO_NOT_FOUND"
    }
  }]
}

UnauthorizedError

{
  "errors": [{
    "message": "You are not authorized.",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

重要說明

副作用

切換記錄的狀態會觸發幾個自動化動作:

  • 活動日誌: 為 MARK_AS_COMPLETE 或 MARK_AS_INCOMPLETE 創建條目
  • Webhook: 向配置的 webhook 端點發送通知,包含前後狀態
  • 自動化: 觸發 TODO_MARKED_AS_COMPLETE 或 TODO_MARKED_AS_INCOMPLETE 自動化規則
  • 實時通知: 向相關用戶發送更新(如果已配置)
  • 實時發布: 將待辦事項更新發布到連接的客戶端
  • 時間追蹤: 自動更新時間持續時間自定義字段
  • 搜索索引: 更新搜索索引以改善可發現性
  • 分析: 更新圖表和報告
  • 活動摘要: 完成的記錄出現在公司活動摘要中

使用提示

  • 此變更是冪等的 - 調用兩次會將記錄恢復到其原始狀態
  • 此操作是原子性的 - 要麼完全成功,要麼失敗且無變更
  • 自定義角色可以通過 allowMarkRecordsAsDone 權限限制此操作

相關端點

  • 列出記錄: 使用 todoQueries.todos 查詢和過濾記錄
  • 批量更新: 使用 updateTodos 一次修改多條記錄

AI 助手

回應是使用人工智慧生成的,可能包含錯誤。

我能幫助您什麼?

隨時詢問我有關 Blue 或此文件的任何問題。

輸入發送 • Shift+Enter 進行換行 • ⌘I 打開