diginext-utils
Version:
README.md
61 lines • 2.33 kB
JavaScript
import { logRes } from "../xconsole/log.js";
export const getResponse = () => {
return { status: 0, messages: [], data: null };
};
export const getSuccessResponse = (data, message) => {
return { status: 1, messages: message ? [message] : [], data: data || true };
};
export const getFailedResponse = (...messages) => {
var _a;
// Flatten messages and filter out undefined values
const flattenedMessages = ((_a = messages === null || messages === void 0 ? void 0 : messages.reduce) === null || _a === void 0 ? void 0 : _a.call(messages, (acc, message) => {
if (Array.isArray(message)) {
return acc.concat(message);
}
else if (!!message) {
acc.push(message);
return acc;
}
return acc;
}, [])) || [];
// Provide a default message if none is provided
if (flattenedMessages.length === 0) {
flattenedMessages.push("Something went wrong !");
}
// Return the response object
return { status: 0, error: true, messages: flattenedMessages, data: null };
};
export const Response = {
send: (res, data = {}) => {
if (res.locals.logEnabled)
logRes(res, data);
if (data.error)
return Response.failed(res, data.error);
return Response.succeed(res, data);
},
succeed: (res, data = {}) => {
if (res.locals.logEnabled)
logRes(res, data);
return res.status(200).json(getSuccessResponse(data));
},
failed: (res, ...messages) => {
if (res.locals.logEnabled)
logRes(res, ...messages);
return res.status(200).json(getFailedResponse(...messages));
},
rejected: (res, message) => {
const msg = message ? message : "Permissions denied.";
if (res.locals.logEnabled)
logRes(res, { message: msg });
return res.status(403).json(getFailedResponse(msg));
},
ignore: (res, message) => {
const msg = message ? message : "Something went wrong?";
if (res.locals.logEnabled)
logRes(res, { statusCode: 404, message: msg });
return res.status(200).json(getFailedResponse(msg));
},
};
const response = { getResponse, getSuccessResponse, getFailedResponse, Response };
export default response;
//# sourceMappingURL=index.js.map