These endpoints are for Members (users with UCSB email addresses) only:
[x] There is an API endpoint POST /api/riderApplication/new for creating a new rider application with the current user as the requester, provided the current user has ROLE_MEMBER (i.e. has a ucsb email address).
[x] There is an API endpoint GET /api/rider that gets all rider requests owned by the current user
[x] There is an API endpoint GET /api/riderApplication?id=123 that gets a rider request but only if owned by the current user.
[x] There is an API endpoint PUT /api/riderApplication that takes a request body with the json for a rider application for editing an existing rider application but only if it is owned by the current user and the application is in the correct status (otherwise errors should be returned)
[x] There is an API endpoint PUT /api/riderApplication/cancel?id=123 for cancelling an existing rider application but only if it is owned by the current user and the application is in the correct status (otherwise errors should be returned)
These endpoints are for Admins only:
[x] There is an API endpoint GET /api/rider/admin/all that gets all rider requests (paged; see below)
[x] There is an API endpoint GET /api/rider/admin/pending that gets all pending rider requests (paged; see below)
[x] There is an API endpoint GET /api/rider/admin?id=123 that will get a specific rider request
[x] There is an API endpoint PUT /api/rider/admin that will allow an admin to update a rider request, but only the status and/or the notes field.
Tasks
These endpoints are for Members (users with UCSB email addresses) only:
POST /api/riderApplication/new
for creating a new rider application with the current user as the requester, provided the current user has ROLE_MEMBER (i.e. has a ucsb email address).GET /api/rider
that gets all rider requests owned by the current userGET /api/riderApplication?id=123
that gets a rider request but only if owned by the current user.PUT /api/riderApplication
that takes a request body with the json for a rider application for editing an existing rider application but only if it is owned by the current user and the application is in the correct status (otherwise errors should be returned)PUT /api/riderApplication/cancel?id=123
for cancelling an existing rider application but only if it is owned by the current user and the application is in the correct status (otherwise errors should be returned)These endpoints are for Admins only:
GET /api/rider/admin/all
that gets all rider requests (paged; see below)GET /api/rider/admin/pending
that gets all pending rider requests (paged; see below)GET /api/rider/admin?id=123
that will get a specific rider requestPUT /api/rider/admin
that will allow an admin to update a rider request, but only the status and/or the notes field.