user settings table/endpoint
azuline opened this issue · comments
Goal
We want to store user settings on the backend, such that any client can fetch and modify them.
Currently there are only two settings to store:
- User nickname.
- This should stay on the
system__users
table.
- This should stay on the
- Theme (light/dark).
- This is currently a column on the
system__users
table, but it will need to be migrated to thesystem__user_settings
table that will be created.
- This is currently a column on the
Specification
Database
Add a system__user_settings
table to store user settings. One column per user setting.
Backend
Add a library dataclass for user settings & a set of library functions. Expose user settings query & mutations in the GraphQL API.
Frontend
Load these settings on application initialization (as a part of GlobalContexts
). On the settings page have each settings change be persisted to the backend.