41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
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;
|