manage waitlist from cli

value

  • if we get a flood of new channel requests that is greater than our capacity to service, we would like to turn off new channel creation, and add requests to a wait list so we can create them once enough channels have been deleted to free up capacity
  • in #447 (closed) we added the capacity to automatically add users to the waitlist when they ask for a new channel that we don't have capacity to make
  • currently, we take people off the waitlist manually (by using psql to find the waitlisted users' phone numbers, creating them using the boost cli, then deleting the waitlist entry)
  • here, we provide cli commands to automate the process of removing people from the waitlist (and, as a happy side-effect: removing the need for maintainers to view admin phone numbers to make them a new channel!)

behavior

checking waitlist size

GIVEN a channel waitlist with 5 requests pending

  • WHEN a maintainers issues boost waitlist -c
  • THEN they will receive a response that says 5 channel requests in waitlist

admitting user from waitlist

GIVEN a channel waitlist with 5 requests pending and 2 verified channels

  • WHEN a maintainer issues boost waitlist -a 2
  • THEN channels will be created for the earliest 2 members to enter the waitlist
  • AND THEN the admins who made the requests will receive welcome messages
  • AND THEN the waitlist records will be deleted
  • AND THEN the maintainer will be notified that 2 channels were created and the waitlist size is now 3

sad path: not enough phone numbers

GIVEN a channel waitlist with 5 requests pending and 2 verified channels

  • WHEN a maintainer issues boost waitlist -a 5
  • THEN no channels will be created
  • AND THEN the maintainer will receive a message that says sorry, there are only 2 available phone numbers. try again?