Skip to content
Sylvia Nguyen edited this page Oct 17, 2017 · 22 revisions

Available Fields

{	
    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
}

/v1/user/authenticate

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

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": []
}
Clone this wiki locally