Verschieben Sie einen Datensatz in eine andere Liste innerhalb desselben Projekts oder über Projekte hinweg mit umfassendem Kopieren und Validierung.


Datensatz in Liste verschieben

Die moveTodo Mutation ermöglicht es Ihnen, einen Datensatz in eine andere Liste zu verschieben. Diese Operation erstellt eine vollständige Kopie des Datensatzes in der Ziel-Liste und entfernt ihn aus der Quell-Liste. Datensätze können innerhalb desselben Projekts oder über verschiedene Projekte hinweg verschoben werden (mit entsprechenden Berechtigungen).

Grundlegendes Beispiel

mutation MoveTodo {
  moveTodo(
    input: {
      todoId: "todo_123abc"
      todoListId: "list_456def"
    }
  )
}

Beispiel für einen projektübergreifenden Umzug

mutation MoveTodoAcrossProjects {
  moveTodo(
    input: {
      todoId: "todo_123abc"
      todoListId: "different-project-list_789xyz"
    }
  )
}

Eingabeparameter

MoveTodoInput

Parameter Typ Erforderlich Beschreibung
todoId String! ✅ Ja Die ID des zu verschiebenden Datensatzes
todoListId String! ✅ Ja Die ID der Ziel-Liste

Antwort

Die Mutation gibt einen Boolean! Wert zurück:

  • true - Der Datensatz wurde erfolgreich verschoben
  • Bei einem Fehler werden Fehler ausgegeben, anstatt false zurückzugeben

Was verschoben wird

Wenn ein Datensatz verschoben wird, werden die folgenden Elemente an den neuen Standort kopiert:

  • Zugewiesene - Alle zugewiesenen Benutzer
  • Checklisten - Alle Checklistenelemente und deren Abschlussstatus
  • Kommentare - Alle Kommentare und Antworten
  • Benutzerdefinierte Felder - Alle Werte der benutzerdefinierten Felder
  • Beschreibung - Vollständige Datensatzbeschreibung und Formatierung
  • Fälligkeitsdatum - Ursprüngliches Fälligkeitsdatum und -uhrzeit
  • Tags - Alle zugehörigen Tags
  • Todo-Aktionen - Alle Unteraufgaben und Aktionspunkte
  • Dateien - Alle Dateianhänge (mit spezieller Handhabung für projektübergreifende Verschiebungen)

Positionsverwaltung

  • Datensätze werden automatisch am Ende der Ziel-Liste positioniert
  • Sie können keine benutzerdefinierte Position angeben - sie wird automatisch berechnet
  • Die Position wird auf die aktuelle maximale Position + 65.535 gesetzt

Erforderliche Berechtigungen

Verschiedene Berechtigungsebenen haben unterschiedliche Möglichkeiten:

Benutzerrolle Gleiches Projekt Projektübergreifend Dateizugriff
OWNER ✅ Ja ✅ Ja All files
ADMIN ✅ Ja ✅ Ja All files
MEMBER ✅ Ja ❌ Nein Own files only

Berechtigungsanforderungen

  • Sie müssen OWNER, ADMIN oder MEMBER Zugriff auf das Quellprojekt haben
  • Sie müssen Zugriff auf das Zielprojekt haben
  • MEMBER Benutzer können keine Datensätze zwischen verschiedenen Projekten verschieben
  • Beide Projekte müssen aktiv sein (nicht archiviert)

Fehlerantworten

Datensatz nicht gefunden

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

Liste nicht gefunden

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

Projektübergreifende Berechtigung verweigert

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

Dateihandhabung

Verschiebungen im selben Projekt

  • Dateien werden direkt verschoben, ohne Kopien zu erstellen
  • Alle Dateiberechtigungen werden beibehalten

Projektübergreifende Verschiebungen

  • Neue Kopien von Dateien werden im Speicher des Zielprojekts erstellt
  • Originaldateien werden asynchron nach erfolgreicher Kopie gelöscht
  • Dateiberechtigungen können basierend auf den Einstellungen des Zielprojekts aktualisiert werden
  • MEMBER Benutzer können nur Dateien verschieben, die ihnen gehören

Nebenwirkungen

Das Verschieben eines Datensatzes löst mehrere automatische Aktionen aus:

  1. Aktivitätsprotokollierung - Erstellt einen Aktivitätsdatensatz, der den Umzug zeigt
  2. Benachrichtigungen - Benachrichtigt relevante Projektmitglieder
  3. Webhooks - Löst handleTodoMoved Webhook-Ereignis aus
  4. Automatisierungen - Führt Automatisierungen aus, die für Datensatzverschiebungen konfiguriert sind
  5. Echtzeit-Updates - Veröffentlicht Live-Updates an alle verbundenen Clients
  6. Diagramm-Updates - Aktualisiert Projektdiagramme und Statistiken

Wichtige Hinweise

  • Vollständige Kopie: Alle Datensatzdaten werden kopiert - Sie können nicht selektiv nur bestimmte Elemente verschieben
  • Automatische Position: Datensätze werden immer am Ende der Ziel-Liste platziert
  • Projektübergreifende Einschränkungen: MEMBER Benutzer können keine Datensätze zwischen Projekten verschieben
  • Asynchrone Bereinigung: Die Bereinigung von Dateien erfolgt im Hintergrund bei projektübergreifenden Verschiebungen
  • Bewahrt die Historie: Kommentare, Aktivitäten und Audit-Trails werden beibehalten
  • Webhook-Ereignisse: Verschiebeoperationen lösen sowohl Lösch- als auch Erstellungsevents für die Echtzeitsynchronisation aus

Anwendungsfälle

Umstrukturierung der Arbeit

Verschieben Sie Datensätze zwischen Listen, um die Projektstruktur oder die Arbeitsabläufe neu zu organisieren.

Projektübergreifende Übertragungen

Übertragen Sie Datensätze zwischen Projekten, wenn Arbeiten zu einem anderen Team oder einer anderen Phase verschoben werden müssen.

Listen-Konsolidierung

Verschieben Sie Datensätze, wenn Sie Projektlisten kombinieren oder umstrukturieren.

KI-Assistent

Antworten werden mit KI generiert und können Fehler enthalten.

Wie kann ich Ihnen helfen?

Fragen Sie mich alles über Blue oder diese Dokumentation.

Eingabe zum Senden • Shift+Eingabe für neue Zeile • ⌘I zum Öffnen