ToDos

Les ToDos (tâches teamraum) sont desservies via la REST-API comme suit:

Créer un ToDo

Exemple de Request:

POST workspaces/workspace-1 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  "@type": "opengever.workspace.todo",
  "title": "Bitte Dokument reviewen",
  "text": "Das wichtige Dokument muss angeschaut werden.",
  "deadline": "2018-10-16"
  "responsible": "john.doe",
  "completed": false
}

Exemple de Response:

HTTP/1.1 201 Created
Accept: application/json

{
  "@id": "http://example.org/workspaces/workspace-1/todo-1",
  "@type": "opengever.workspace.todo",
  "...": "..."
}

Marquer un ToDo comme accompli

Exemple de Request:

PATCH workspaces/workspace-1/todo-1 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  "completed": true
}

Exemple de Response:

HTTP/1.1 204 No Content

Réassigner un ToDo

Exemple de Request:

PATCH workspaces/workspace-1/todo-1 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  "responsible": "jack.johnson",
}

Exemple de Response:

HTTP/1.1 204 No Content

Effacer un ToDo

Exemple de Request:

DELETE workspaces/workspace-1/todo-1 HTTP/1.1
Accept: application/json

Exemple de Response:

HTTP/1.1 204 No Content

Réponses

Il est aussi possible de consulter les réponses de ToDos via l’API, en l’l’occurrence les créer et modifier.

La représentation API d’un ToDo liste toutes les réponses sous l’attribut responses. Une Request GET sur un ToDo spécifique est également possible et répond avec la même représentation.

Exemple de Request:

GET workspaces/workspace-1/todo-1 HTTP/1.1
Accept: application/json

Exemple de Response:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@id": "http://example.org/workspaces/workspace-1/todo-1",
  "@type": "opengever.workspace.todo",
  "responses": [
      {
        "@id": "http://example.org/workspaces/workspace-1/todo-1/@responses/1566374379118225",
        "created": "2019-08-21T09:59:39",
        "creator": {
          "title": "Meier Peter",
          "token": "peter.meier"
        },
        "text": "Vais vérifer la requête."
      },
      {
        "@id": "http://example.org/workspaces/workspace-1/todo-1/@responses/1566374384493182",
        "created": "2019-08-21T09:59:44",
        "creator": {
          "title": "Meier Urs",
          "token": "urs.meier"
        },
        "text": "Est en ordre selon moi."
      },
  ]
  "...": "..."
}

Création et modification

Des réponses peuvent être ajoutées à l’aide d’une Request POST sur l’Endpoint @responses.

Exemple de Request:

POST workspaces/workspace-1/todo-1/@responses HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  "text": "Prière de voir rapidement. Merci.",
}

Exemple de Response:

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@id": "http://example.org/workspaces/workspace-1/todo-1/@responses/1566382366854841",
  "created": "2019-08-21T12:12:46",
  "creator": {
    "title": "Meier Peter",
    "token": "peter.meier"
  },
  "text": "Prière de voir rapidement. Merci."
}

La modification d’une réponse passe par une Request PATCH.

Exemple de Request:

PATCH workspaces/workspace-1/todo-1/@responses/1566382366854841 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  "text": "Prière de voir rapidement. Merci.",
}

Exemple de Response:

HTTP/1.1 204 Created
Content-Type: application/json