STEP-Pod-Capstone-Project / Capstone-Project

https://book-book-app.appspot.com
Apache License 2.0
4 stars 0 forks source link

Club Meetings #119

Closed steven-solar closed 4 years ago

steven-solar commented 4 years ago

This PR allows the club admin to create a meeting for a club, adding it to all members' Google Calendars.

The AdminClubPage contains a form to post a new meeting, allowing the owner to enter a meeting name, location, description, and start and end times.

The Meeting object was created to store meeting data in Firestore, so it can be rendered to club members in future PRs.

The corresponding MeetingServlet was also created. The servlet does the typical Utility class posts and gets. But on a post, it also created an Event for the Google Calendar API, adding it to the owner's and members' primary calendars.

The Utility post was altered to allow a post with input of a JsonObject rather than a HttpServletRequest, so that the request body can still be retrieved in the MeetingServlet doPost. Without this, the Utility function to create the JsonObject from the request body made it so the body could not be accessed again. Additionally, "token" was appended to fieldNames in the postErrorHandler. This prevents errors when sending a token in a backend request. Otherwise, the backend would see "token" in the request body, but not as a field name and trigger errors.

Double quotes were changed to single quotes in the files manipulated, to conform with Google Style Guides.

Future PRs will display the clubs current event to users on the ClubPage.

Video displaying whole feature: OwnerFlow

steven-solar commented 4 years ago

Thanks for the review Vivek! Accidentally deleted two of your comments in Gitpod, mistook delete for resolve. Sorry about that!