単一のミューテーションでレコードを完了と未完了のステータスの間で切り替えます。


レコードのステータスを切り替える

updateTodoDoneStatus ミューテーションは、レコードの完了ステータスを切り替える簡単な方法を提供します。レコードが未完了の場合、それを完了としてマークします。完了している場合は、未完了としてマークします。

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

入力パラメータ

パラメータ 必須 説明
todoId String! ✅ はい 切り替えるレコードのID

レスポンス

更新された Todo オブジェクトがすべての利用可能なフィールドと共に返されます。一般的に使用されるフィールドには以下が含まれます:

  • id - レコード識別子
  • title - レコードタイトル
  • done - 新しい完了ステータス (true/false)
  • updatedAt - 更新のタイムスタンプ
  • その他のすべての Todoフィールド が利用可能です

必要な権限

アクセスレベル ステータスを切り替え可能
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 の自動化ルールをトリガーします
  • リアルタイム通知: 関連するユーザーに更新を送信します(設定されている場合)
  • リアルタイム公開: 接続されたクライアントにtodoの更新を公開します
  • 時間追跡: 時間の長さのカスタムフィールドを自動的に更新します
  • 検索インデックス: 検索インデックスを更新して発見性を向上させます
  • 分析: チャートとレポートを更新します
  • アクティビティフィード: 完了したレコードが会社のアクティビティフィードに表示されます

使用のヒント

  • このミューテーションは冪等です - 2回呼び出すとレコードは元の状態に戻ります
  • 操作は原子的です - 完全に成功するか、変更なしで失敗します
  • カスタムロールは allowMarkRecordsAsDone 権限を介してこのアクションを制限できます

関連エンドポイント

  • レコードのリスト: todoQueries.todos を使用してレコードをクエリおよびフィルタリングします
  • バルク更新: updateTodos を使用して複数のレコードを一度に変更します

AIアシスタント

回答はAIを使用して生成されており、間違いが含まれる可能性があります。

どのようにお手伝いできますか?

Blueやこのドキュメントについて何でも聞いてください。

送信するにはEnterを押してください • 新しい行を作成するにはShift+Enterを押してください • ⌘Iで開く