zooniverse / talk-api

Apache License 2.0
6 stars 0 forks source link

Email verification #311

Closed zwolf closed 11 months ago

zwolf commented 1 year ago

Adds support for the Panoptes user table attribute confirmed_at; a not-null confirmed_at attr indicates that the user has confirmed their email address. Includes checks of this attribute on all boards for the following action policies:

Discussions: create Comments: create, update, destroy Conversations: index, show, create, destroy Messages: index, show, create

This seems to follow the intentions of both the initial policies and the new restrictions. This could have been done at a higher level (closer to the application controller) where entire verbs would be blocked similarly to how bans are handled. However, this lacks the finer grain control of policies and introduces considerably more complexity in testing. This feels like a good compromise and is similar to how the account age requirement for posting was handled.

This PR requires the corresponding Panoptes PR to merge first. The couple of them will need some hands on testing on staging.