POST: https://build-save-the-animals.herokuapp.com/login (OAUTH2)
GET: https://build-save-the-animals.herokuapp.com/users/getuser
POST: https://build-save-the-animals.herokuapp.com/createnewuser
{
"username": "username",
"password": "password",
"userroles": [
{
"role": {
"roleid": 2,
"name": "data" (present for both user types)
}
},
{
"role": {
"roleid": 4,
"name": "organization" OR "supporter"
}
}
],
"useremails": [
{
"useremail": "email1@email.com"
},
{
"useremail": "email2@mymail.com"
}
]
}
Two types/roles:
- organization
- supporter
Note: both user types share 'data' role to get all campaigns data
Existing users:
User 1
username: organization
password: password
User 2
username: supporter
password: password
-
Get all campaigns (both user types)
GET: https://build-save-the-animals.herokuapp.com/campaigns/all -
Post a campaign (user type: organization only)
POST: https://build-save-the-animals.herokuapp.com/campaigns/campaign/add
{
“title”: String,
“photo”: String,
“location”: String,
“description”: String,
“species”: String,
“urgency”: String,
“donations”: Number,
“funding_goal”: Number,
“userid”: Number (user id is required)
}
-
Edit a campaign (user type: organization only)
PUT: https://build-save-the-animals.herokuapp.com/campaigns/campaign/update/{id}
(provide any key:value pairs that need updating)
{
key: value
} -
Delete a campaign (user type: organization only)
DELETE: https://build-save-the-animals.herokuapp.com/campaigns/campaign/delete/{id} -
Make donation
POST: https://build-save-the-animals.herokuapp.com/campaigns/campaign/donate{ "amount": Number, "userid": Number, "campaignid": Number } -
Filter campaigns by species
GET: https://build-save-the-animals.herokuapp.com/campaigns/filter/species/{species} -
Filter campaigns by location
GET: https://build-save-the-animals.herokuapp.com/campaigns/filter/location/{location} -
Get campaigns by user
GET: https://build-save-the-animals.herokuapp.com/campaigns/byuser/{id}