Skip to content

Latest commit

 

History

History
327 lines (266 loc) · 6.49 KB

File metadata and controls

327 lines (266 loc) · 6.49 KB

Endpoints

All values are strings unless otherwise noted

All values are required unless otherwise noted

  • Endpoint to register a new user
  • Request example:
{
  users_name: "Example User", 
  users_plot: "165", 
  users_phone_number: "164-1535-1256", 
  users_email: "exampleuser@gmail.com", 
  password: "password", 
  due_date: "2019-12-15" <------ OPTIONAL
}
  • Returns new user:
{
  id: 4,
  users_name: "Example User",
  users_plot: "165",
  users_phone_number: "164-1535-1256",
  users_email: "exampleuser@gmail.com",
  due_date: "2019-12-15",
  role: "user"
}
  • Endpoint to register a new driver
  • Request example:
{
  drivers_name: "Example Driver", 
  drivers_plot: "126", 
  drivers_phone_number: "455-743-4567",
  drivers_email: "exampledriver@gmail.com",
  password: "password",
  drivers_price: 50 // <-------- INTEGER
}
  • Returns new driver:
{
  id: 4,
  drivers_name: "Example Driver",
  drivers_plot: "126",
  drivers_phone_number: "455-743-4567",
  drivers_email: "exampledriver@gmail.com",
  drivers_price: 50,
  role: "driver"
}
  • Endpoint to login as a user
  • Request example:
{
  users_email: "exampleuser@gmail.com",
  password: "password"
}
  • Returns id and token:
{ 
  id: 4,
  "token":    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkV4YW1wbGUgVXNlciIsInJvbGUiOiJ1c2VyIiwiaWF0IjoxNTc0MTE1OTY2LCJleHAiOjE1NzQyMDIzNjZ9.5SMRUcR0BzS6I4Bceh7UuuTzvU0IBEGI6y2QQ_jKkJM"
}
  • Endpoint to login as a driver
  • Request example:
{
  drivers_email: "exampledriver@gmail.com",
  password: "password"
}
  • Returns id and token:
{ 
  id: 4,
  "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkV4YW1wbGUgRHJpdmVyIiwicm9sZSI6ImRyaXZlciIsImlhdCI6MTU3NDExNjIxMywiZXhwIjoxNTc0MjAyNjEzfQ.lza43m8Zg8uAm1hg2Na4g3EKtcb_tDlYbG3zo6GqSSc"
}

The following endpoints require a Token


  • Endpoint to get list of all drivers
  • Endpoint to get single driver by id
  • Returns driver's info:
{
    "id": 4,
    "drivers_name": "Example Driver",
    "drivers_plot": "126",
    "drivers_phone_number": "455-743-4567",
    "drivers_email": "exampledriver@gmail.com",
    "drivers_price": 50,
    "role": "driver"
}
  • Endpoint to get all reviews associated with a specific driver id
  • Returns an array of review objects:
[
    {
        "id": 2,
        "reviewer": "seeduser1",
        "review_date": "2019-08-11",
        "rating": 3,
        "review_text": "Took a long time to get to my house but otherwise good",
        "user_id": 1,
        "driver_id": 3
    }
]
  • Endpoint to update info for a driver
  • Request example:
{
  "drivers_name": "updated_seeddriver3",
  "drivers_price": 85
}
  • Returns the updated driver:
{
    "id": 3,
    "drivers_name": "updated_seeddriver3",
    "drivers_plot": "321",
    "drivers_phone_number": "234-123-4567",
    "drivers_email": "seeddriver3@gmail.com",
    "drivers_price": 85,
    "role": "driver"
}
  • Endpoint to delete a driver
  • Returns success message:
{
    "message": "Driver deleted successfully"
}
  • Endpoint to get user by id
  • Returns user's info:
{
    "id": 4,
    "users_name": "Example User",
    "users_plot": "165",
    "users_phone_number": "164-1535-1256",
    "users_email": "exampleuser@gmail.com",
    "due_date": "2019-12-15",
    "role": "user"
}
  • Endpoint to get all reviews associated with a user id
  • Returns an array of review objects:
[
    {
        "id": 2,
        "reviewer": "seeduser1",
        "review_date": "2019-08-11",
        "rating": 3,
        "review_text": "Took a long time to get to my house but otherwise good",
        "user_id": 1,
        "driver_id": 3
    }
]
  • Endpoint to update info for a user
  • Request example:
{
  "users_name": "updated_seeduser1",
  "users_plot": "111",
  "users_phone_number": "125-1234-3456"
}
  • Returns the updated user:
{
    "id": 1,
    "users_name": "updated_seeduser1",
    "users_plot": "111",
    "users_phone_number": "125-1234-3456",
    "users_email": "seeduser1@gmail.com",
    "due_date": "2019-12-15",
    "role": "user"
}
  • Endpoint to delete a user
  • Returns success message:
{
    "message": "User deleted successfully"
}
  • Endpoint to add a review
  • Request example:
{
        "reviewer": "Example User",
        "review_date": "2019-09-12",
        "rating": 5, <-------- INTEGER
        "review_text": "Great driver. No issues at all",
        "user_id": 2, <-------- INTEGER
        "driver_id": 3 <-------- INTEGER
}
  • Returns added review:
{
    "id": 4,
    "reviewer": "Example User",
    "review_date": "2019-09-12",
    "rating": 5,
    "review_text": "Great driver. No issues at all",
    "user_id": 2,
    "driver_id": 3
}
  • Endpoint to update a review
  • Request example:
{
  "reviewer": "Update Example",
  "review_date": "2018-07-21",
  "rating": 4, <-------- INTEGER
  "review_text": "Driver was good. No complaints",
  "user_id": 2, <-------- INTEGER
  "driver_id": 1 <-------- INTEGER
}
  • Returns updated review:
{
    "id": 4,
    "reviewer": "Update Example",
    "review_date": "2018-07-21",
    "rating": 4,
    "review_text": "Driver was good. No complaints",
    "user_id": 2,
    "driver_id": 1
}
  • Endpoint to delete a review
  • Returns success message:
{
    "message": "Review deleted successfully"
}