Skip to content

Implemented closing a Solicitation at `call_period_end + grace_period`

Sam Kagan requested to merge close-solicitation into main

NB: Does not complete STT-862 since the Submitted -> InReview transition isn't implmented yet.

Along the way:

  • Overhauled how we initialize the ORM
    • Removed clear_mappers() from initialize_persistence()
    • Made a singlton mapped_metadata to use over map_orm so that we only map the ORM once to keep SQLA happy
  • Added APScheduler and time-machine to our list of dependencies
    • APScheduler handles triggering Solicitation close at the appropriate time
    • time-machine lets us manipulate time in our tests so that we don't have to worry about our Solicitations' close times when testing whether they close correctly
      • Beware: Using this with our API will break authentication unless you make a new JWT between moving time around and making a request
  • Added the first application-layer service to the solicit package
Edited by Sam Kagan

Merge request reports