24 lines
src/handlers/updateSettings.ts
Validates and persists user settings changes.
// POST /api/settings — validate and persist user account settings.
import type { Request, Response } from "express";
import { db } from "../db";
 
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
 
export async function updateSettingsHandler(
  req: Request,
  res: Response,
): Promise<void> {
  const { userId, displayName, email } = req.body as {
    userId: string;
    displayName: string;
    email: string;
  };
 
  if (!userId || !displayName || !email) {
    res.status(400).json({ error: "Missing required fields" });
    return;
  }
 
  const updated = db.users.update(userId, { displayName, email });
  res.status(200).json({ user: updated });
}