import { Router, Response } from "express"; import prisma from "../lib/prisma"; import type { AuthRequest } from "../middleware/auth"; const router = Router(); router.get("/", async (_req: AuthRequest, res: Response) => { const settings = await prisma.setting.findMany(); const result: Record = {}; for (const s of settings) { result[s.key] = s.key === "deepseek_api_key" ? "••••••" + s.value.slice(-4) : s.value; } res.json(result); }); router.get("/raw", async (req: AuthRequest, res: Response) => { if (req.user!.role !== "TUTOR") { res.status(403).json({ error: "Только наставник может просматривать полные настройки" }); return; } const settings = await prisma.setting.findMany(); const result: Record = {}; for (const s of settings) { result[s.key] = s.value; } res.json(result); }); router.put("/", async (req: AuthRequest, res: Response) => { if (req.user!.role !== "TUTOR") { res.status(403).json({ error: "Только наставник может менять настройки" }); return; } const entries: Record = req.body; for (const [key, value] of Object.entries(entries)) { await prisma.setting.upsert({ where: { key }, update: { value }, create: { key, value }, }); } res.json({ success: true }); }); export default router;