Zum Hauptinhalt springen

PUT /move

Beschreibung

Verschiebt eine Aufgabe an die angegebene Position und gibt ein leeres JSON-Objekt zurück

Die Route verarbeitet die PUT-Anfrage an den Pfad /move/{id}. Weitere Details zu den verfügbaren Operationen finden Sie in der Beschreibung der operation-Eigenschaft, die im Anfrage-Body übermittelt wird (siehe Abschnitt Payload unten).

HTTP-MethodeRouteQuery-Parameter
PUT/moveid

Query-Parameter

Der Query-Parameter wird in der Anfragezeile übermittelt:

NameTypBeschreibung
idnumberErforderlich. Die ID der zu verschiebenden Aufgabe. Wenn mehrere Aufgaben verschoben werden sollen, muss die ID auf 0 gesetzt werden.
Info

Wenn Sie mehrere Aufgaben verschieben, stellen Sie sicher, dass die id auf 0 gesetzt ist. Andernfalls (bei einem anderen Wert) wird nur eine Aufgabe (mit der angegebenen ID) verschoben.

Payload

Der Server erwartet ein JSON-Objekt mit folgenden Eigenschaften:

NameTypBeschreibung
idnumberOptional. Die ID der verschobenen Aufgabe. Der Parameter ist für die Operationstypen indent/unindent erforderlich.
parentnumberOptional. Die ID der übergeordneten Aufgabe.
projectnumberOptional. Die ID des Projekts, zu dem eine Aufgabe gehört.
targetIdnumberOptional. Die ID der Zielaufgabe, an die die verschobene Aufgabe eingefügt wird.
operationstringErforderlich. Ein serverspezifischer Parameter, der den Operationstyp angibt. Verfügbare Operationstypen: "null" – verschiebt eine Aufgabe an eine angegebene Position innerhalb des aktuellen Projekts (siehe "move-task"), "indent", "unindent", "project" – verschiebt eine Aufgabe in ein anderes Projekt (siehe "move-task").
Wenn eine Aufgabe innerhalb eines Projekts verschoben wird (operation === null), ist die operation-Eigenschaft im Payload nicht zwingend erforderlich.
reversebooleanOptional. Die Position, an die eine Aufgabe verschoben wird: vor der Zielaufgabe (true) oder dahinter (false, Standard).
batchobjectErforderlich. Ein Array der IDs aller zu verschiebenden Aufgaben. Wenn eine Aufgabe untergeordnete Elemente besitzt, wird nur die ID der übergeordneten Aufgabe ins Objekt aufgenommen.

Beispiel:

{
"id": 5,
"targetId": 2,
"reverse": false,
"operation": null,
"batch": null
}

Beispiele für verschiedene Operationstypen:

Details

operation === null Wenn eine einzelne Aufgabe innerhalb des aktuellen Projekts verschoben wird, wird ihre ID in der Anfragezeile übermittelt; alle anderen Eigenschaften werden im Anfrage-Body übergeben.
Wenn eine Aufgabe innerhalb eines Projekts verschoben wird, ist die operation-Eigenschaft im Payload nicht zwingend erforderlich.

Payload-Beispiel:

{
"targetId": 1,
"reverse": true,
"batch": null
}

So verschieben Sie mehrere Aufgaben innerhalb desselben Projekts:

  • Setzen Sie den Aufgaben-ID-Wert in der Anfragezeile auf 0
  • Fügen Sie im Anfrage-Body die batch-Eigenschaft hinzu, die die IDs der zu verschiebenden Aufgaben enthält
  • Fügen Sie weitere erforderliche Eigenschaften im Anfrage-Body hinzu

Payload-Beispiel:

{
"targetId": 1,
"reverse": true,
"batch": [1, 2, 3]
}
Details

operation === "indent" || operation === "unindent" Wenn die Anfrage für eine einzelne indent/unindent-Operation gesendet wird, wird die Aufgaben-ID in der Anfragezeile übermittelt; alle anderen Aufgabeneigenschaften werden im Anfrage-Body übergeben.

Beispiel:

{
"parent": 2,
"targetId": 2,
"operation": "indent"
}
Mehrere indent/unindent-Operationen

Wenn die Anfrage zum Ein- oder Ausrücken mehrerer Aufgaben gesendet wird, wird der ID-Wert in der Anfragezeile auf 0 gesetzt; jede Aufgaben-ID mit weiteren Parametern muss im opbatch-Array von Aufgabenobjekten aufgelistet werden.

Mit anderen Worten: Um mehrere Aufgaben zu verschieben, muss das JSON-Objekt im Anfrage-Body das opbatch-Array von Aufgabenobjekten mit den Operationsdaten enthalten.

Beispiel:

{
"opbatch": [
{
"id": 1,
"parent": 3,
"targetId": 3,
"operation": "indent"
},
{
"id": 53,
"parent": 3,
"targetId": 3,
"operation": "indent"
}
]
}

operation === "project"

So verschieben Sie eine einzelne Aufgabe in ein anderes Projekt:

  • Senden Sie die Aufgaben-ID als Query-Parameter in der Anfragezeile
    ODER
    Setzen Sie diesen Query-Parameter auf 0 und fügen Sie die Aufgaben-ID als Wert der batch-Eigenschaft im Anfrage-Body hinzu
  • Im Anfrage-Body:
    • Setzen Sie den Wert der operation-Eigenschaft auf project
    • Fügen Sie den Wert der project-Eigenschaft hinzu, also die ID des Projekts, in das die Aufgabe verschoben wird
    • Fügen Sie die Aufgaben-ID als Wert der batch-Eigenschaft hinzu, wenn die ID in der Anfragezeile auf 0 gesetzt ist

Beispiel:

    {
"project": 2,
"operation": "project",
"batch": [3]
}

Wenn mehrere Aufgaben in ein anderes Projekt verschoben werden, wird der ID-Wert in der Anfragezeile auf 0 gesetzt und alle Aufgaben-IDs werden im batch-Array angegeben.
Wenn Sie eine Aufgabe mit untergeordneten Elementen verschieben, wird nur die ID der übergeordneten Aufgabe im batch-Array angegeben.
Die batch-Eigenschaft kann eine beliebige Anzahl von Aufgaben-IDs enthalten.

Beispiel:

  {
"project": 2,
"operation": "project",
"batch": [3, 5, 8, 9]
}

Antwort

Der HTTP-Statuscode zeigt an, ob die Anfrage erfolgreich war (response.status == 200) oder fehlgeschlagen ist (response.status == 500).

Bei Erfolg wird ein leeres JSON-Objekt zurückgegeben.


Verwandte Artikel: