Activities endpoint

Activity object

Name Type Description
id integer The activity id
description string The description of an activity
created_at datetime Timestamp of creation date
updated_at datetime Timestamp of update date
learning_goal_id integer The learning_goal_id of the learning_goal object it is connected to

Validations

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

Endpoints

Deze endpoints worden beveiligd door een authenticatie. Zie: API Authenticatie Voor deze endpoints wordt altijd deze URL gebruikt: api/v1/pops/:pop_id/competences/:competence_id/

URL Description
GET learning_goals/:learning_goal_id/activities Show all activities
POST learning_goals/:learning_goal_id/activities Create a new activity
PATCH learning_goals/:learning_goal_id/activities/:id Update an activity
DELETE learning_goals/:learning_goal_id/activities/:id Delete an activity

GET learning_goals/:learning_goal_id/activities

Het activity endpoint geeft je een object met daarin een activities attribute. Dit ziet er als volgt uit:

{
  "activities": [
    {
      "id": 7205,
      "description": "Voor het behalen van mijn leerdoel heb ik een college webprogrammeren gevolgt.",
      "learning_goal_id": 1,
      "created_at": "2016-01-06T15:44:35.428+01:00",
      "updated_at": "2016-01-06T15:44:35.428+01:00",
      "user_id": 28
    },
    {
      "id": 7204,
      "description": "Voor het behalen van mijn leerdoel heb ik een boek over design science gelezen",
      "learning_goal_id": 1,
      "created_at": "2016-01-06T15:44:32.045+01:00",
      "updated_at": "2016-01-06T15:44:32.045+01:00",
      "user_id": 28
    },
    {
      "id": 7201,
      "description": "Voor het behalen van mijn leerdoel heb ik specs geschreven",
      "learning_goal_id": 1,
      "created_at": "2016-01-06T15:42:14.505+01:00",
      "updated_at": "2016-01-06T15:42:14.505+01:00",
      "user_id": 28
    }
  ]
}

Status: HTTP/1.1 200 OK

POST learning_goals/:learning_goal_id/activities

Bij een POST naar /api/v1/pops/:pop_id/competences/:competence_id/learning_goals/:learning_goal_id/activities/:id wordt er een nieuwe 'activity' aangemaakt. Hierbij moet een description-veld en een learning_goal-id-veld meegestuurd worden. De 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/pops/2/competences/4/learning_goals/6/activity/

description: Voor het behalen van mijn leerdoel heb ik een college webprogrammeren gevolgt
Field Value
description Voor het behalen van mijn leerdoel heb ik een college webprogrammeren gevolgt
Example response:

Status: HTTP/1.1 201 CREATED

{
  "activity": {
    "id": 7206,
    "description": "Voor het behalen van mijn leerdoel heb ik tutorial over Ruby on Rails gevolgt",
    "created_at": "2016-01-06T15:50:53.590+01:00",
    "updated_at": "2016-01-06T15:50:53.590+01:00",
    "learning_goal_id": 6,
    "user_id": 28
  }
}

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)"
  ]
}

Wanneer je naar data probeert te kijken dat niet van jou is:

{
  "error": "unauthorized"
}

PATCH Hierbij kun je een specifieke activity op basis van een ID updaten.

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

description: Voor het behalen van mijn leerdoel heb ik tutorial over Ruby on Rails gevolgt
Field Value
description Voor het behalen van mijn leerdoel heb ik tutorial over Ruby on Rails gevolgt
Example response:

Status: HTTP/1.1 202 Accepted

{
  "activity": {
    "id": 7205,
    "description": "Voor het behalen van mijn leerdoel heb ik tutorial over Ruby on Rails gevolgt",
    "created_at": "2016-01-06T15:44:35.428+01:00",
    "updated_at": "2016-01-06T15:49:32.594+01:00",
    "learning_goal_id": 6,
    "user_id": 28
  }
}

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 learning_goals/:learning_goal_id/activity/:id

Wanneer er een DELETE bij api/v1/pop/2/competences/4/learning_goals/6/8 wordt uitgevoerd, wordt er een bestaand activity verwijdert. Hier voor wordt er gekeken naar het id van de activity wat verwijdert wordt. Na het verwijderen krijg je verder geen content terug.

Status: HTTP/1.1 204 No Content