auditforge / backend /src /lib /httpResponse.js
Kaballas's picture
initialize project structure with essential configurations and components
56b6519
function Custom(res, status, code, message) {
res.status(code).json({ status: status, datas: message });
}
exports.Custom = Custom;
/*
*** Codes 2xx ***
*/
function Ok(res, data) {
res.status(200).json({ status: 'success', datas: data });
}
exports.Ok = Ok;
function Created(res, data) {
res.status(201).json({ status: 'success', datas: data });
}
exports.Created = Created;
function NoContent(res, data) {
res.status(204).json({ status: 'success', datas: data });
}
exports.NoContent = NoContent;
function SendFile(res, filename, file) {
res.set({ 'Content-Disposition': `attachment; filename="${filename}"` });
res.status(200).send(file);
}
exports.SendFile = SendFile;
function SendImage(res, image) {
res.set({ 'Content-Type': 'image/png', 'Content-Length': image.length });
res.status(200).send(image);
}
exports.SendImage = SendImage;
/*
*** Codes 4xx ***
*/
function BadRequest(res, error) {
res.status(400).json({ status: 'error', datas: error });
}
exports.BadRequest = BadRequest;
function NotFound(res, error) {
res.status(404).json({ status: 'error', datas: error });
}
exports.NotFound = NotFound;
function BadParameters(res, error) {
res.status(422).json({ status: 'error', datas: error });
}
exports.BadParameters = BadParameters;
function Unauthorized(res, error) {
res.status(401).json({ status: 'error', datas: error });
}
exports.Unauthorized = Unauthorized;
function Forbidden(res, error) {
res.status(403).json({ status: 'error', datas: error });
}
exports.Forbidden = Forbidden;
/*
*** Codes 5xx ***
*/
function Internal(res, error) {
if (error.fn) var fn = exports[error.fn];
if (typeof fn === 'function') fn(res, error.message);
else if (error.errmsg) {
res.status(500).json({ status: 'error', datas: error.errmsg });
} else if (error.message)
res.status(500).json({ status: 'error', datas: error.message });
else {
console.log(error);
res.status(500).json({ status: 'error', datas: 'Internal Error' });
}
}
exports.Internal = Internal;