-
Notifications
You must be signed in to change notification settings - Fork 7
User Endpoints
Sylvia Nguyen edited this page Oct 17, 2017
·
22 revisions
{
admin: Boolean,
instructor: Boolean,
firstName: String,
lastName: String,
email: String,
password: String,
courses: [/* Course Object */],
updated_at: Number,
created_at: Number,
first_sign_up: Boolean
}
GET Authenticate user id and return token
Query | Value | Description |
---|---|---|
emails : string |
[email protected] |
Email you signed up with |
password : string |
password |
Password for your account. |
Response
//Success
{
"success": true,
"message": "Authentication successful",
"token": "eyJ0eXAiOiJKV1Q4241456OiJ.....",
"user_id": "56374189802409nfqhxaca"
}
//Failed - Incorrect password
{
"success": false,
"message": "Authentication failed",
"token": ""
}
//Error
{
"success": false,
"message": "User does not exist"
}
##Authentication
All routes require you to be authorized. Make a GET
request to /v1/user/authenticate
to get your token. Every authenticated route requires a x-access-token
header with your token sent.
###/v1/user
POST Create user
Headers | Value | Description |
---|---|---|
x-access-token : string |
token |
Token received from authentication. |
Request
{
emails: '[email protected]'
}
Also supports a common separated list or emails
{
emails: '[email protected],[email protected],[email protected]`
}
Response
{
message: 'success',
usersAdded: 3
}
###/v1/user
GET Get all users
Headers | Value | Description |
---|---|---|
x-access-token : string |
token |
Token received from authentication. |
Query | Value | Description |
---|---|---|
instructor : boolean |
true |
Token received from authentication. |
Response
{
"user": [
{
"_id": "564e3513d127f403a3d5bbc9",
"firstName": "Sally",
"lastName" : "Hacker"
"email": "[email protected]",
"created_at": 1447965971802,
"courses": [568fahjk1237e113b56acc]
},
{
"_id": "564e3514d127f403a3d5bbca",
"firstName" : "Sam",
"lastName" : "Hull"
"email": "[email protected]",
"created_at": 1447965972694,
"courses": [534144e113b56a5cc,535129c5e03a3872852]
},
{
"_id": "564e37b7529c5e03a3872852",
"firstName": "Ryan",
"lastName": "Christiani",
"email": "[email protected]",
"courses": [5723872ag28521431af,567a8fh8a7169832]
}
]
}
###/v1/user/:id
GET Get user by id
Headers | Value | Description |
---|---|---|
x-access-token : string |
token |
Token received from authentication. |
Params | Value | Description |
---|---|---|
id : string |
564e3514d127f403a3d5bbca |
User id for user. |
Response
{
"user": {
"_id": "564e3514d127f403a3d5bbca",
"firstName" : "Sam",
"lastName" : "Hull"
"email": "[email protected]",
"created_at": 1447965972694,
"courses": [534144e113b56a5cc,535129c5e03a3872852]
}
}
###/v1/user/:id
PUT Update user by id and return updated user
Headers | Value | Description |
---|---|---|
x-access-token : string |
token |
Token received from authentication. |
Params | Value | Description |
---|---|---|
id : string |
564e3514d127f403a3d5bbca |
User id for user. |
Request
{
"_id": "564e3514d127f403a3d5bbca",
"firstName" : "Shawn",
"lastName" : "Mendes"
"email": "[email protected]",
"created_at": 1447965972694,
"courses": [534144e113b56a5cc,535129c5e03a3872852]
}
Response
{
"_id": "564e3514d127f403a3d5bbca",
"firstName" : "Shawn",
"lastName" : "Mendes"
"email": "[email protected]",
"created_at": 1447965972694,
"updated_at": 1457890802694,
"courses": [534144e113b56a5cc,535129c5e03a3872852]
}
###/v1/user/:id
DELETE Delete user by id
Headers | Value | Description |
---|---|---|
x-access-token : string |
token |
Token received from authentication. |
Params | Value | Description |
---|---|---|
id : string |
564e3514d127f403a3d5bbca |
User id for user. |
Response
{
user: []
}
###/v1/user/course/:courseId/lesson/:lessonId/favorite
POST Add favourite lesson
Headers | Value | Description |
---|---|---|
x-access-token : string |
token |
Token received from authentication. |
Params | Value | Description |
---|---|---|
courseId : string |
565dc986f343e1e84b5849a6 |
Id from course. |
lessonId : string |
565f2b4bf87945e16120286c |
Id from lesson. |
Response
{
"_id": "5670bc788d5772ef1622f4ae",
"firstName": "Ryan",
"lastName": "Christiani",
"email": "[email protected]",
"admin": true,
"first_sign_up": true,
"instructor": true,
"favorites": {
"565dc986f343e1e84b5849a6": {
"lessons": [
{
"topics": [],
"created_at": 1449077579332,
"title": "Course add lesson",
"_id": "565f2b4bf87945e16120286c"
}
]
}
},
"courses": []
}
###/v1/user/course/:courseId/lesson/:lessonId/favorite
DELETE Remove favourite lesson
Headers | Value | Description |
---|---|---|
x-access-token : string |
token |
Token received from authentication. |
Params | Value | Description |
---|---|---|
courseId : string |
565dc986f343e1e84b5849a6 |
Id from course. |
lessonId : string |
565f2b4bf87945e16120286c |
Id from lesson. |
Response
{
"_id": "5670bc788d5772ef1622f4ae",
"firstName": "Ryan",
"lastName": "Christiani",
"email": "[email protected]",
"admin": true,
"first_sign_up": true,
"instructor": true,
"favorites": {
"565dc986f343e1e84b5849a6": {
"lessons": []
}
},
"courses": []
}