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