File size: 1,596 Bytes
6d9f36a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
/**
* Send standardized success response
*/
export function sendSuccess(
res,
data,
message,
statusCode = 200
) {
const response = {
status: statusCode,
author: "Ditzzy",
note: "Thank you for using this API!",
results: data,
};
if (message) {
response.message = message;
}
return res.status(statusCode).json(response);
}
/**
* Send standardized error response
*/
export function sendError(
res,
statusCode,
message,
error
) {
const response = {
status: statusCode,
message,
};
if (error) {
response.error = error;
}
return res.status(statusCode).json(response);
}
/**
* Common error responses
*/
export const ErrorResponses = {
badRequest: (res, message = "Bad request") =>
sendError(res, 400, message),
invalidUrl: (res, message = "Invalid URL") =>
sendError(res, 400, message),
missingParameter: (res, param) =>
sendError(res, 400, `Missing required parameter: ${param}`),
invalidParameter: (res, param, reason) =>
sendError(
res,
400,
`Invalid parameter: ${param}${reason ? ` - ${reason}` : ""}`
),
notFound: (res, message = "Resource not found") =>
sendError(res, 404, message),
serverError: (
res,
message = "An error occurred, please try again later."
) =>
sendError(res, 500, message),
tooManyRequests: (
res,
message = "Too many requests, please slow down."
) =>
sendError(res, 429, message),
serviceUnavailable: (
res,
message = "Service temporarily unavailable"
) =>
sendError(res, 503, message),
}; |