UNPKG

diginext-utils

Version:
61 lines 2.33 kB
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