Skip to content
This repository was archived by the owner on Dec 20, 2023. It is now read-only.

Releases: DSAV-Dodeka/backend

v2.2.1

05 Dec 15:23
7ef3ecc
Compare
Choose a tag to compare

Fixed (backend)

  • Remove debug eduinstitution value during registration

v2.1.0

04 Dec 23:12
90c83e7
Compare
Choose a tag to compare

Added (backend)

  • Admin: Synchronization of the total points per user and events, as well as a more consistent naming scheme for the endpoints. All old endpoints are retained for backwards compatibility. Furthermore, admins can now request additional information about events on a user, event or class basis (see the PR).
    • <server>/admin/class/sync/ (Force synchronization of the total points per user, without having to add a new event)
    • <server>/admin/class/update/ (Same as previous <server>/admin/ranking/update, which still exists for backwards compatibility)
    • <server>/admin/class/get/{rank_type}/ (Same as previous <server>/admin/classificaiton/{rank_type}/, which still exists for backwards compatibility)
    • <server>/admin/class/events/user/{user_id}/ (Get all events for a specific user_id, with the class_id and rank_type as query parameters)
    • <server>/admin/class/events/all// (Get all events, with the specific class_id and rank_type as query parameters)
    • <server>/admin/class/users/event/{event_id}/ (Get all users for a specific event_id)
  • Member: Only renames, as described above.
    • <server>/members/class/get/{rank_type}/ (Same as previous <server>/members/classificaiton/{rank_type}/, which still exists for backwards compatibility)
    • <server>/members/profile/ (Same as previous <server>/res/profile, which still exists for backwards compatibility)

Changed (backend)

  • Types: The entire backend now passes mypy's type checker (see the PR)!
  • Better context/dependency injection: The previous system was not perfect and it was still not easy to write tests. Lots of improvements have been made, utilizing FastAPI Depends and making it possible to easily wrap a single function call to make the caller testable. See #64, #65, #70 and #71.
  • Better logging: Logging had been lackluster while waiting for a better solution. This has now arrived with the adoption of loguru. Logging is now much more nicely formatted and it will be easily possible in the future to collect and show the logs in a central place, although that is not yet implemented. Some of the startup code has also been refactored as part of the logging effort.
  • Check for role on router basis: For certain routers, we now check whether they are requested by admins or members for all routes inside the router, making it harder to forget to add a check. The header checking logic has also been refactored and some tests have been added. Much better than the manual if check we did before. This also includes some minor refactor and fixes for access token verification.
  • There are now different router tags, which makes it easier to find all the different API endpoints in the OpenAPI docs view.

Fixed (backend)

  • An error is no longer thrown on the backend when a password reset is requested for a user that does not exist.

Internal (backend)

  • Live query tests: in the GitHub Actions CI we now actually run some tests against a live database using Actions service containers. This means we can be much more sure that we did not completely break database functionality after passing the tests. PR

v2.0.1

25 Oct 08:44
4b98ccf
Compare
Choose a tag to compare
  • Change migration package structure so it can be used outside this project
  • Change update email so that you cannot make two changes in a row to the same old email

v2.0.0

17 Oct 11:17
072a4c1
Compare
Choose a tag to compare
fix: ensure trailing slashes everywhere for requests