const express = require('express'); const router = express.Router(); const { getAllPosts, getPostBySlug } = require('../utils/markdownParser'); // Get all posts router.get('/', async (req, res) => { try { const includeDrafts = req.query.includeDrafts === 'true'; const posts = await getAllPosts(includeDrafts); // Return only necessary data for listing const postsListing = posts.map(({ title, description, date, tags, slug, excerpt }) => ({ title, description, date, tags, slug, excerpt })); res.json(postsListing); } catch (error) { console.error('Error fetching posts:', error); res.status(500).json({ error: 'Failed to fetch posts' }); } }); // Get post by slug router.get('/:slug', async (req, res) => { try { const post = await getPostBySlug(req.params.slug); if (post.draft && process.env.NODE_ENV === 'production') { return res.status(404).json({ error: 'Post not found' }); } res.json(post); } catch (error) { console.error(`Error fetching post ${req.params.slug}:`, error); res.status(404).json({ error: 'Post not found' }); } }); module.exports = router;