POST Log-in
Will return bearer token to store in session data
/token
x-www-form-urlencoded
?grant_type=password&username={UserEmail}&password={UserPassword}
UserController
POST Create User
Specific User by User Details (see mockup and features)
Only Admins can create Organizations
api/users
Include User JSON Parameters Object
PUT Update User
User can update own user only. Admin can update any user.
api/users/{UserEmail}/
Include User JSON Parameters Object
DELETE Delete User
User can delete own user only. Admin can delete any user.
api/users/{UserEmail}/
GET User (by Email)
Anyone logged in can pull up user profile
Specific user can pull up sensitive user information
api/users/{UserEmail}/
User JSON Parameters Object (Data)
Email*, Password*, FirstName*, LastName*, DisplayName, Category**, ProfileDescription, StreetAddressOne, StreetAddressTwo, City, State, ZipCode
Tags: [{Name: "Tag Name"}, {Name: "Tag Name"} ...]
* = Required
ActivityActionController
POST RSVP Activity by ID
Any user can RSVP for an activity
api/activities/{ActivityId}/rsvps/{UserName}/
POST Check In Activity by ID
api/activities/{ActivityId}/checkins/{UserName}/
POST Create Activity
Only Organization can create activity, linked to their own organization
Admin can create activity linked to any organization
api/activities
Include Activity JSON Parameters Object
PUT Update Activity
Organizations can update their own activity
Admin can update any activity
api/activities/{ActivityId}
Include Activity JSON Parameters Object
DELETE Delete Activity
Organizations can delete their own activity
Admin can delete any activity
api/activities/{ActivityId}
Activity JSON Parameters Object (Data)
OrganizationUserName*, DisplayTitle*, Description, Category**, StartTime*, EndTime, AddressDisplayName, StreetAddressOne, StreetAddressTwo, City, State, ZipCode
Tags: [{Name: "Tag Name"}, {Name: "Tag Name"} ...]
* = Required
- Any logged in user
GET Activity (by ID)
api/activities/{ActivityId}
GET Activities
api/activities
GET Activities by Tag
api/activities/tags/{TagName}
GET Activities by Start Date and End Date
api/activities/startdate={StartDate}&enddate={EndDate}
GET Activities by Category
api/activities/categories/{CategoryName}
GET Activities by Organization
api/activities/organizations/{OrganizationUserName}/
GET Activities by User and Tags
Specific user can access this
api/activities/users/{UserName}/
TagsController
POST Create Tag
Admin only
api/activities/tags/{TagName}
DELETE Delete Tag
Admin only
api/activities/tags/{TagName}
GET Tags
Any logged in user
api/activities/tags
Enums
**Pass in the number corresponding to the correct category.
ActivityCategory
[Display(Name = "Rally/Protest")]
Protest = 0,
[Display(Name = "School Meeting")]
School = 1,
[Display(Name = "Government Meeting")]
Government = 2,
[Display(Name = "Internal Organization Meeting")]
Internal = 3,
[Display(Name = "Informational Meeting")]
Informational = 4,
[Display(Name = "Community Meeting")]
Community = 5,
[Display(Name = "Independent Activity")]
IndependentActivity = 6
OrganizationCategory
[Display(Name = "Regular User")]
NA = 0,
[Display(Name = "Government")]
Government = 1,
[Display(Name = "Educational")]
Educational = 2,
[Display(Name = "Volunteer")]
Volunteer = 3,
[Display(Name = "Neighborhood Association")]
Neighborhood = 4,
[Display(Name = "Partisan Political")]
Political = 5,
[Display(Name = "Non-partisan Political")]
Cause = 6
google api