import express from "express"; import {requireLogin, requireAdmin} from "../middleware/auth.js"; export function createAdminMarketRouter(repositories) { const router = express.Router(); router.get("/admin/reports", requireLogin, requireAdmin, (_req, res) => res.json({ reports: repositories.listMarketReports(), personas: repositories.listMarketPersonas({admin: true, username: _req.session.user}) })); router.post("/admin/reports/:id", requireLogin, requireAdmin, (req, res) => { repositories.updateMarketReportStatus(Number(req.params.id), String(req.body?.status || "reviewed").trim() || "reviewed"); return res.json({message: "Report updated"}); }); router.post("/admin/personas/market/:id/moderate", requireLogin, requireAdmin, (req, res) => { const status = String(req.body?.status || "approved").trim() || "approved"; repositories.updateMarketModeration(Number(req.params.id), { status, notes: req.body?.notes == null ? null : String(req.body.notes).trim() || null, softDelete: Boolean(req.body?.softDelete) }); return res.json({persona: repositories.getMarketPersona(Number(req.params.id))}); }); return router; }