1.2 KiB
1.2 KiB
ADDED Requirements
Requirement: User Config Storage
The system SHALL store user configuration as JSONB key-value pairs linked to the user.
Scenario: Create config on first write
- GIVEN an authenticated user with no config
- WHEN they update settings
- THEN a UserConfig row is created with their user_id
Requirement: Config Keys
The system SHALL support these configuration keys:
default_editor: stringtheme: "light" | "dark" | "system"git_user_name: stringgit_user_email: string
Scenario: Update theme
- GIVEN an authenticated user
- WHEN they PATCH /users/me/config with {"theme": "dark"}
- THEN only the theme key is updated
- AND other keys remain unchanged
Requirement: Config Retrieval
The system SHALL return user configuration on request.
Scenario: Get config
- GIVEN an authenticated user with config
- WHEN they GET /users/me/config
- THEN their full configuration is returned
Requirement: Frontend Theme Application
The system SHALL apply the user's theme preference on application load.
Scenario: Load with dark theme
- GIVEN a user with theme="dark"
- WHEN the app loads
- THEN the dark CSS class is applied to the document