azuline / repertoire

whoops never finished this lol, don't look it's old and embarrassing

Home Page:https://repertoire.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.
  • Theme (light/dark).
    • This is currently a column on the system__users table, but it will need to be migrated to the system__user_settings table that will be created.

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.