UNPKG

ggez-banking-sdk

Version:

A Node.js package to handle GGEZ Banking API endpoints, Simplify the process of managing CRUD operations with this efficient and easy-to-use package.

52 lines (51 loc) 1.77 kB
import { createDefaultBaseResult, fillResultByError } from "../../api"; import { HttpStatusCode } from "axios"; import { ResultHelper } from "./resultHelper"; import { SystemResponses } from "../../constant"; class ResponseHelper { static onResponse = (res) => { const isStringData = typeof res.data === "string"; if (isStringData) { res.data = JSON.parse(res.data); } const defaultResult = { code: SystemResponses.Approved, message: "Operation completed successfully", friendly_message: "Operation completed successfully", description: "Operation completed successfully", }; if (!res.data.result) { res.data = { ...createDefaultBaseResult({ result: defaultResult, }), ...res.data, }; if (isStringData) { res.data = JSON.stringify(res.data); } } return res; }; static onError = (error) => { const data = fillResultByError(error); return { data, status: error?.response?.status ?? HttpStatusCode.BadRequest, statusText: error?.response?.statusText ?? "Bad Request", headers: error?.response?.headers ?? {}, config: error?.config ?? {}, }; }; static getApiResponse = (res) => { const { data, status } = res; const { result } = data; return { data, success: ResultHelper.isApproved(result), message: result.friendly_message, error: status >= HttpStatusCode.BadRequest ? result.message : null, }; }; } export { ResponseHelper };