Skip to content

Create endpoints for mobile app #2

@nathan815

Description

@nathan815

Endpoints we need for the app:

  • Authentication
    • POST /app/auth: App calls this with user email to begin oauth request
      • Redirects to Google/EMU login page (using oauth library)
        • Google supports special params to customize for specific GSuite domain (hd) and user email (login_hint). See docs. Theoretically with the hd param, Google will skip their login page and go directly to EMU login page.
    • POST(?) /app/auth/complete: The endpoint Google will send a request to with their user token after user logs in
      • Add user to our users DB table if they aren't there already.
      • Create a JWT (JSON Web Token) and output this token + user info in the response. (The app can then parse this info out of the oauth webview and close the webview.)
  • POST /app/requests: Creates new SEEUS escort request
    • Data in post body. Need to define what this JSON will look like.
  • GET /app/requests/scheduled: Returns list of scheduled requests by current user
  • GET /app/requests/previous: Returns list of previous requests by current user
  • GET /app/hours: Return SEEUS hours
  • GET /app/locations: Return list of EMU locations (names, coordinates, etc)
  • POST /app/profile: Update user profile info (name, EID)
  • GET /app/info: availability of app and SEEUS service (toggles from dispatcher interface)

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions