使用单个变更切换记录的完成和未完成状态。


切换记录状态

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 打开