Files
Emailsorter/server/utils/response.mjs
ANDJ abf761db07 Email Sorter Beta
Ich habe soweit automatisiert the Emails sortieren aber ich muss noch schauen was es fur bugs es gibt wenn die app online  ist deswegen wurde ich mit diesen Commit die website veroffentlichen obwohjl es sein konnte  das es noch nicht fertig ist und verkaufs bereit
2026-01-22 19:32:12 +01:00

79 lines
1.5 KiB
JavaScript

/**
* Response Utilities
* Consistent API response formatting
*/
/**
* Success response
* @param {Object} res - Express response object
* @param {any} data - Response data
* @param {string} message - Optional success message
* @param {number} statusCode - HTTP status code (default: 200)
*/
export function success(res, data = null, message = null, statusCode = 200) {
const response = {
success: true,
}
if (message) {
response.message = message
}
if (data !== null) {
response.data = data
}
return res.status(statusCode).json(response)
}
/**
* Created response (201)
*/
export function created(res, data, message = 'Erfolgreich erstellt') {
return success(res, data, message, 201)
}
/**
* No content response (204)
*/
export function noContent(res) {
return res.status(204).send()
}
/**
* Paginated response
*/
export function paginated(res, data, pagination) {
return res.status(200).json({
success: true,
data,
pagination: {
page: pagination.page || 1,
limit: pagination.limit || 25,
total: pagination.total || data.length,
totalPages: Math.ceil((pagination.total || data.length) / (pagination.limit || 25)),
hasMore: pagination.hasMore || false,
},
})
}
/**
* Redirect response
*/
export function redirect(res, url, statusCode = 302) {
return res.redirect(statusCode, url)
}
/**
* Response helpers object
*/
export const respond = {
success,
created,
noContent,
paginated,
redirect,
}
export default respond