Skip to main content
Glama
postController.js1.37 kB
import { createPostService } from "../services/postService.js"; import { createContextLogger } from "../utils/logger.js"; /** * Controller to handle creating a new post. * Assumes input has been validated by middleware. * Takes request body containing post data (incl. feature image, metadata) * and calls the Post service layer. */ const createPost = async (req, res, next) => { const logger = createContextLogger('post-controller'); try { // Input is already validated by express-validator middleware // The body now includes potential feature_image and metadata fields const postInput = req.body; logger.info('Creating post via service layer', { title: postInput.title, status: postInput.status, hasFeatureImage: !!postInput.feature_image, tagCount: postInput.tags?.length || 0 }); // Call the service layer function const newPost = await createPostService(postInput); logger.info('Post created successfully', { postId: newPost.id, title: newPost.title, status: newPost.status }); res.status(201).json(newPost); } catch (error) { logger.error('Post creation failed', { error: error.message, stack: error.stack, title: req.body?.title }); // Pass error to the Express error handler next(error); } }; export { createPost };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jgardner04/Ghost-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server