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
oderMEMBER
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:
- Aktivitätsprotokollierung - Erstellt einen Aktivitätsdatensatz, der den Umzug zeigt
- Benachrichtigungen - Benachrichtigt relevante Projektmitglieder
- Webhooks - Löst
handleTodoMoved
Webhook-Ereignis aus - Automatisierungen - Führt Automatisierungen aus, die für Datensatzverschiebungen konfiguriert sind
- Echtzeit-Updates - Veröffentlicht Live-Updates an alle verbundenen Clients
- 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.