Skip to content

Latest commit

 

History

History
146 lines (120 loc) · 2.89 KB

README.md

File metadata and controls

146 lines (120 loc) · 2.89 KB

Challenges

User Object

same as the users object on Users Api

Requests

Route Description
GET /challenges Returns all challenges
POST /challenges Creates new challenge
POST /challenge/subscribe subscribes users to challenge

GET /challenges

returns all the active and completed challenges

Response

[
    {
        "id": "<challenge_id>",
        "title": "Sherlock and Anagrams",
        "level": "Easy",
        "start_date": "10/05/2020",
        "end_date": "10/25/2020",
        "participants": [
            "<user_object>",
            "<user_object>"
        ],
        "is_active": 1,
        "is_user_subscribed": 1
    },
    {
        "id": "<challenge_id>",
        "title": "Sherlock and Anagrams",
        "level": "Easy",
        "start_date": "10/05/2020",
        "end_date": "10/25/2020",
        "participants": [
            "<user_object>",
            "<user_object>"
        ],
        "is_active": 0,
        "is_user_subscribed": 0
    }
]

  • Error Response:
    • Code: 503
      • Content:
      {
        "statusCode": 503,
        "error": "Service Unavailable",
        "message": "Something went wrong. Please try again or contact admin"
      }

POST /challenges

Body

{
    "title": "Sherlock and Anagrams",
    "level": "Easy",
    "start_date": "10/05/2020",
    "end_date": "10/22/2020"
}

Response

Return the same response from GET /challenges

  • Error Response:
    • Code: 404
      • Content:
      {
        "statusCode": 404,
        "error": "Not Found",
        "message": "Unable to add challenge"
      }
    • Code: 503
      • Content:
      {
        "statusCode": 503,
        "error": "Service Unavailable",
        "message": "Something went wrong. Please try again or contact admin"
      }

POST /challenges/subscribe

This request allows users to subscribe to active challenges

Body

Request

    {
        "challenge_id": "<unique challenge id>",
        "user_id": "<userid>"
    }

Response

{
    "challenge_id": "<unique challenge id>",
    "is_user_subscribed": 1
}
  • Error Response:
    • Code: 404
      • Content:
      {
        "statusCode": 404,
        "error": "Not Found",
        "message": "User cannot be subscribed to challenge"
      }
    • Code: 503
      • Content:
      {
        "statusCode": 503,
        "error": "Service Unavailable",
        "message": "Something went wrong. Please try again or contact admin"
      }