const express = require('express'); const router = express.Router(); const fs = require('fs'); const path = require('path'); const { getDb } = require('../models/db'); const { authMiddleware } = require('../middleware/auth'); // help.md lives inside the backend source tree — NOT in /app/data which is // volume-mounted and would hide files baked into the image at build time. const HELP_FILE = path.join(__dirname, '../data/help.md'); // GET /api/help — returns markdown content router.get('/', authMiddleware, (req, res) => { let content = ''; const filePath = HELP_FILE; try { content = fs.readFileSync(filePath, 'utf8'); } catch (e) { content = '# Getting Started\n\nHelp content is not available yet.'; } res.json({ content }); }); // GET /api/help/status — returns whether user has dismissed help router.get('/status', authMiddleware, (req, res) => { const db = getDb(); const user = db.prepare('SELECT help_dismissed FROM users WHERE id = ?').get(req.user.id); res.json({ dismissed: !!user?.help_dismissed }); }); // POST /api/help/dismiss — set help_dismissed for current user router.post('/dismiss', authMiddleware, (req, res) => { const { dismissed } = req.body; const db = getDb(); db.prepare("UPDATE users SET help_dismissed = ? WHERE id = ?") .run(dismissed ? 1 : 0, req.user.id); res.json({ success: true }); }); module.exports = router;