maailma / kansa

Open-source convention member services
Apache License 2.0
17 stars 6 forks source link

Split site-selection endpoints to their own module #61

Open eemeli opened 6 years ago

eemeli commented 6 years ago

This builds on #60, and should only be merged after that. This is a bit of a work-in-progress, so this branch may get rebased on occasionally.

The REST API changes a little here, as what used to be GET people/:id/ballot is now GET siteselect/:id/ballot, and it no longer requires that a token has been purchased (this is the endpoint that returns a form-filled PDF ballot). Site-selection admins may now also fetch a member's ballot.

In order for the (newly added) tests to pass consistently, the reset_test_users() postgres function now also sets the site-select@example.com user's key.

There are a couple of integration points for site-selection actions that are not included in this module (token generation, transactional email contents, /config/siteselection). Not sure whether those should be pulled in here as well, and if so, how exactly.