import { Router, Request, Response } from "express";
import { requireAuth } from "../middleware/auth";
import { requireAdmin } from "../middleware/requireAdmin";
import { getActive, listPresets, setActive } from "../services/brandService";

const router = Router();

router.get("/active", (_req: Request, res: Response) => {
  res.json(getActive());
});

router.get("/presets", requireAuth, (_req: Request, res: Response) => {
  res.json({ presets: listPresets(), active: getActive() });
});

router.post("/activate", requireAdmin, (req: Request, res: Response) => {
  const presetId = String(req.body?.preset_id || "").trim();
  if (!presetId) {
    res.status(400).json({ ok: false, error: "preset_id requerido" });
    return;
  }
  try {
    const pack = setActive(presetId);
    res.json({ ok: true, active: pack });
  } catch {
    res.status(404).json({ ok: false, error: "Preset no encontrado" });
  }
});

export default router;
