Skip to main content
Glama

Facebook Ads Management Control Panel

by codprocess
responseFormatter.js3.12 kB
/** * Response formatter utility * Standardizes API responses throughout the application */ /** * Format a successful response * @param {Object} data - Response data * @param {string} message - Success message * @param {number} statusCode - HTTP status code * @returns {Object} - Formatted response object */ const formatSuccess = (data = null, message = 'Success', statusCode = 200) => { return { status: 'success', statusCode, message, data }; }; /** * Format an error response * @param {string} message - Error message * @param {number} statusCode - HTTP status code * @param {Object} errors - Validation errors * @returns {Object} - Formatted error response object */ const formatError = (message = 'Error', statusCode = 500, errors = null) => { return { status: 'error', statusCode, message, errors }; }; /** * Format a paginated response * @param {Array} data - Array of items * @param {number} page - Current page * @param {number} limit - Items per page * @param {number} total - Total number of items * @param {string} message - Success message * @returns {Object} - Formatted paginated response */ const formatPaginated = (data, page, limit, total, message = 'Success') => { const totalPages = Math.ceil(total / limit); const hasNext = page < totalPages; const hasPrev = page > 1; return { status: 'success', statusCode: 200, message, data, pagination: { page, limit, total, totalPages, hasNext, hasPrev, nextPage: hasNext ? page + 1 : null, prevPage: hasPrev ? page - 1 : null } }; }; /** * Send a formatted success response * @param {Object} res - Express response object * @param {Object} data - Response data * @param {string} message - Success message * @param {number} statusCode - HTTP status code */ const sendSuccess = (res, data = null, message = 'Success', statusCode = 200) => { const response = formatSuccess(data, message, statusCode); return res.status(statusCode).json(response); }; /** * Send a formatted error response * @param {Object} res - Express response object * @param {string} message - Error message * @param {number} statusCode - HTTP status code * @param {Object} errors - Validation errors */ const sendError = (res, message = 'Error', statusCode = 500, errors = null) => { const response = formatError(message, statusCode, errors); return res.status(statusCode).json(response); }; /** * Send a formatted paginated response * @param {Object} res - Express response object * @param {Array} data - Array of items * @param {number} page - Current page * @param {number} limit - Items per page * @param {number} total - Total number of items * @param {string} message - Success message */ const sendPaginated = (res, data, page, limit, total, message = 'Success') => { const response = formatPaginated(data, page, limit, total, message); return res.status(200).json(response); }; module.exports = { formatSuccess, formatError, formatPaginated, sendSuccess, sendError, sendPaginated };

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/codprocess/facebook-ads-mcp'

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