Skip to content

Instantly share code, notes, and snippets.

@hamouj
Forked from KaraJoHo/json_contract.md
Last active April 15, 2023 17:19
Show Gist options
  • Save hamouj/4a1e29fa1be99f96dbb335f8399f9f3d to your computer and use it in GitHub Desktop.
Save hamouj/4a1e29fa1be99f96dbb335f8399f9f3d to your computer and use it in GitHub Desktop.
BE - Do Good Requests/Endpoints

Good Deeds

Request: get "/api/v1/good_deeds"

Response:

{
  "data": [{
    "id": “1”,
    "type": “good_deed",
    "attributes":{
        "deed_name": "Deed",
        "media_link": "www.image.com/picture",
        #statistics for metrics API
      }  
    }]
}

Request: get "/api/v1/random_acts"

Response:

{
  "data": {
    "id": “1”,
    "type": “random_acts",
    "attributes":{
        "deed_names": ["Deed 1", "Deed 2", "Deed 3"]
      }  
    }
}

Request: get "/api/v1/users

{
  "data": [{
    "id": “1”,
    "type": “users",
    "attributes":{ "name": "Joe"}  
    }]
}

Request: post "/api/v1/users/:id/good_deeds

Body of Request:

{
  "deed_name": "Deed",
  “date”: "02-02-2024",
  "time": "10:00"
  "attendees": [{"user_id": 1}, {"user_id": 2}]
 }

Request: get "/api/v1/users/:id"

Response:

{
  "data": {
    "id": “1”,
    "type": “user",
    "attributes":{
    "name": "Sam",
    "role": "user",
    "good_deeds": [{
            "data": {
            "id": “1”,
            "type": “good_deed",
            "attributes":{
                "deed_name": "Deed",
                "media_link": "www.image.com/picture",
                "notes”: “ex description”,
                “date”: "02-02-2024",
                "time": "10:00,
                "status": "completed", 
                "host_id": "9000"
              }  
            }
      }]
     }
    }
   }

Request: get "/api/v1/users/:id/good_deeds/:id"

Response:

{
  "data": {
        "id": "257",
        "type": "good_deed",
        "attributes": {
                "name": "Dignissimos accusantium quisquam adipisci.",
                "date": "2023-07-04",
                "time": "2000-01-01T16:00:00.000Z",
                "status": "In Progress",
                "notes": nil,
                "media_link":"http://mckenzie-greenfelder.io/weston"
                }
         }
}

Request: patch "/api/v1/users/:id/good_deeds/:id"

Body of Request:

{
  "deed_name": "Deed",
  “date”: "02-02-2024",
  "time": "10:00"
  "notes": "Stuff and things",
  "media_link": "picture.jpg"
  "attendees": [{"user_id": 1}, {"user_id": 2}]
 }

Request: delete "/api/v1/users/:id/good_deeds/:id"

Error Object:

{
  "errors": [
    {
      "status": "404"
      "title": "Invalid Request",
      "detail": [
        "Couldn't find User with 'id'=<id>"
         ]
     }
   ]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment