This release introduces support for user groups, but without linking it to any
access-control rules (which will be introduced later).
> NOTE: This release requires running the `fractalctl update-db-data` script.
* App:
* Move creation of first user from application startup into `fractalctl set-db` command (\1738, \1748).
* Add creation of default user group into `fractalctl set-db` command (\1738).
* Create `update-db-script` for current version, that adds all users to default group (\1738).
* API:
* Added `/auth/group/` and `/auth/group-names/` routers (\1738, \1752).
* Implement `/auth/users/{id}/` POST/PATCH routes in `fractal-server` (\1738, \1747, \1752).
* Introduce `UserUpdateWithNewGroupIds` schema for `PATCH /auth/users/{id}/` (\1747, \1752).
* Add `UserManager.on_after_register` hook to add new users to default user group (\1738).
* Database:
* Added new `usergroup` and `linkusergroup` tables (\1738).
* Internal
* Refactored `fractal_server.app.auth` and `fractal_server.app.security` (\1738)/
* Export all relevant modules in `app.models`, since it matters e.g. for `autogenerate`-ing migration scripts (\1738).
* Testing
* Add `UserGroup` validation to `scripts/validate_db_data_with_read_schemas.py` (\1746).