backend: per-user settings store (/api/settings) + enable account deletion

- user_settings table (userId PK -> user, jsonb preferences) + migration
- GET/PUT /api/settings (requireAuth, user-scoped; zod-validated flat map)
- Better Auth user.deleteUser enabled so users can delete their own account

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalid Abdi
2026-06-10 20:05:34 +03:00
parent da245b8758
commit 50fbb6cd40
9 changed files with 2636 additions and 0 deletions
+3
View File
@@ -16,6 +16,7 @@ import { notesRouter } from "./routes/notes.js";
import { notificationsRouter } from "./routes/notifications.js";
import { patientsRouter } from "./routes/patients.js";
import { prescriptionsRouter } from "./routes/prescriptions.js";
import { settingsRouter } from "./routes/settings.js";
import { staffRouter } from "./routes/staff.js";
import { tasksRouter } from "./routes/tasks.js";
@@ -64,6 +65,7 @@ app.use("/api/activity", activityRouter);
app.use("/api/analytics", analyticsRouter);
app.use("/api/conversations", conversationsRouter);
app.use("/api/notifications", notificationsRouter);
app.use("/api/settings", settingsRouter);
app.use(notFound);
app.use(errorHandler);
@@ -85,4 +87,5 @@ server.listen(env.PORT, () => {
console.log(` • stats: /api/analytics`);
console.log(` • messages: /api/conversations (+ Socket.io)`);
console.log(` • notifs: /api/notifications`);
console.log(` • settings: /api/settings`);
});