Skip to content

Commit 73361ef

Browse files
author
Lasim
committed
feat: Implement user preferences management system
- Added user preferences configuration with default values. - Created API endpoints for retrieving, updating, and managing user preferences. - Implemented functionality to get specific preferences and acknowledge notifications. - Introduced walkthrough completion and cancellation features. - Updated schemas for user preferences to support a flat key-value structure. - Enhanced UserPreferencesService to handle preference initialization, retrieval, and updates. - Added validation for preference keys and values to ensure data integrity.
1 parent f946de6 commit 73361ef

File tree

21 files changed

+4674
-0
lines changed

21 files changed

+4674
-0
lines changed

services/backend/api-spec.json

Lines changed: 982 additions & 0 deletions
Large diffs are not rendered by default.

services/backend/api-spec.yaml

Lines changed: 649 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CREATE TABLE `userPreferences` (
2+
`id` text PRIMARY KEY NOT NULL,
3+
`user_id` text NOT NULL,
4+
`preference_key` text NOT NULL,
5+
`preference_value` text NOT NULL,
6+
`created_at` integer NOT NULL,
7+
`updated_at` integer NOT NULL,
8+
FOREIGN KEY (`user_id`) REFERENCES `authUser`(`id`) ON UPDATE no action ON DELETE cascade
9+
);
10+
--> statement-breakpoint
11+
CREATE INDEX `user_preferences_user_key_idx` ON `userPreferences` (`user_id`,`preference_key`);--> statement-breakpoint
12+
CREATE INDEX `user_preferences_user_idx` ON `userPreferences` (`user_id`);--> statement-breakpoint
13+
CREATE INDEX `user_preferences_key_idx` ON `userPreferences` (`preference_key`);--> statement-breakpoint
14+
CREATE INDEX `user_preferences_unique_user_key` ON `userPreferences` (`user_id`,`preference_key`);--> statement-breakpoint

0 commit comments

Comments
 (0)