Learning_goals endpoint

LearningGoal object

Name Type Description
id integer The learning_goals id
description string The description of a learning goal
created_at datetime Timestamp of creation date
updated_at datetime Timestamp of update date

Validations

Field Value
description Has a minimum of 3 characters and a maximum of 1000
description Must be present

Endpoints

Deze endpoints worden beveiligd door een authenticatie. Zie: API Authenticatie

URL Description
Get api/v1/pops/:pop_id/competences/:competence_id/learning_goals Show all learning goals
POST api/v1/pops/:pop_id/competences/:competence_id/learning_goals Create a new learning goal
PATCH api/v1/pops/:pop_id/competences/:competence_id/learning_goals/:id Update a learning goal
DELETE api/v1/pops/:pop_id/competences/:competence_id/learning_goals/:id Delete a learning goal

GET /api/v1/learning_goals

Het learning goal endpoint geeft je een object met daarin een learning_goals attribute. Dit ziet er als volgt uit:

{
  "learning_goal": {
    "id": 902,
    "description": "Dit semester wil ik validaties valideren door mijn eigen specs leren schrijven voor mijn app",
    "created_at": "2016-01-06T16:01:19.594+01:00",
    "updated_at": "2016-01-06T16:01:19.594+01:00",
    "competence_id": 1,
    "pop_id": 1,
    "user_id": 28
  }
  {
  "learning_goal": {
    "id": 903,
    "description": "Dit semester een API Authenticatie leren maken",
    "created_at": "2016-01-06T16:01:19.594+01:00",
    "updated_at": "2016-01-06T16:01:19.594+01:00",
    "competence_id": 1,
    "pop_id": 1,
    "user_id": 28
  }
}

Status code:

Succesvol Request = 200

POST /api/v1/learning_goals

Bij een POST naar /api/v1/learning_goals wordt er een nieuwe 'learning goal' aangemaakt. Hierbij moet een description-veld meegestuurd worden. Deze description moet voldoen aan minimaal 3 en maximaal 1000 characters. Elk nieuw object krijgt een id mee en een tijd wanneer hij is aangemaakt en geüpdatet is.

Example request
POST http://localhost:3000/api/v1/learning_goals

description: Hallo dit is een test
Field Value
description Hallo dit is een test
Example response:

Status: HTTP/1.1 200 OK

{
  "learning_goal":{
      "id": 1,
      "description": "Hallo dit is een test",
      "created_at": "2015-11-12T10:33:23.091Z",
      "updated_at": "2015-11-12T10:33:23.091Z"
  }
}

Errors:

Als description minder dan 3 characters heeft, krijg je de volgende informatie terug:


{
  "description": [
    "is too short (minimum is 3 characters)"
  ]
}

Te veel characters heeft geeft hij dit terug:

{
  "description": [
    "is too long (maximum is 1000 characters)"
  ]
}

PATCH /api/v1/learning_goals/:id

Bij een PATCH naar /api/v1/pops/2/competences/4/learning_goals/6 word er gekeken naar een bestaand learning goal waarna hij naar een id kijkt van een learning goal. Hiervoor geldt ook dat hij een description-veld mee moet geven. Deze description moet weer voldoen aan de hierboven beschreven eisen.

Example request
POST http://localhost:3000/api/v1/pops/2/competences/4/learning_goals/6

description: Hallo dit is een test
Field Value
description Hallo dit is een test
Example response:

Status: HTTP/1.1 202 Accepted

{
  "learning_goal":{
      "id": 1,
      "description": "Hallo dit is een test",
      "created_at": "2015-11-12T10:33:23.091Z",
      "updated_at": "2015-11-12T10:33:23.091Z"
  }
}

Errors:

Als description minder dan 3 characters heeft, krijg je de volgende informatie terug:


{
  "description": [
    "is too short (minimum is 3 characters)"
  ]
}

Te veel characters heeft geeft hij dit terug:

{
  "description": [
    "is too long (maximum is 1000 characters)"
  ]
}

DELETE /api/v1/learning_goals/:id

Wanneer er een DELETE bij /api/v1/learning_goals/:id word uitgevoerd, wordt er een bestaand learning goal verwijdert. Hier voor wordt er gekeken naar het id van het learning goal dat verwijdert wordt. Als deze verwijderd is dan krijg je geen content terug.

Status: HTTP/1.1 204 No Content