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.

122 lines (121 loc) 4.81 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.useAddresses = void 0; const restApi_1 = __importDefault(require("../restApi")); const helper_1 = __importDefault(require("../helper")); const dataStructure_1 = __importDefault(require("../helper/dataStructure")); const useAddresses = (token, userInfo, userId, baseUrl, geoCoordinates, lang) => { const { dataAddress } = (0, dataStructure_1.default)(); const { createDataAddress, deleteDataAddress, primaryDataAddress, updateDataAddress, } = dataAddress(); const { checkResponse, headerConfig } = (0, helper_1.default)(userInfo); const { checkGlobalResponse } = checkResponse(); let endPointAddress = `v1/user/address/${userId}`; const headerConfigAddresses = () => { let headersData = { header: true, isUrlEncoded: false, token: token, lang: lang, }; let headers = headerConfig(headersData); return headers; }; const CreateAddress = async (values) => { let data = createDataAddress({ ...values, geoCoordinates: geoCoordinates }); try { const response = await restApi_1.default.restApi(baseUrl, "POST", endPointAddress, headerConfigAddresses(), data); let { newUserInfo } = checkGlobalResponse("addresses", response, "CreateAddress", "create"); return { response: response, newUser: newUserInfo, message: response?.data?.result?.message ?? "Address Created Successfully", status: "success", }; } catch (error) { return { response: error.response, newUser: null, message: error.message, status: "failed", }; } }; const UpdateUserAddress = async (values) => { let data = updateDataAddress({ ...values, geoCoordinates: geoCoordinates }); try { const response = await restApi_1.default.restApi(baseUrl, "PUT", endPointAddress, headerConfigAddresses(), data); let { newUserInfo } = checkGlobalResponse("addresses", response, "UpdateUserAddress", "update"); return { response: response, newUser: newUserInfo, message: response?.data?.result?.message ?? "Address Updated Successfully", status: "success", }; } catch (error) { return { response: error.response, newUser: null, message: error.message, status: "failed", }; } }; const DeleteUserAddress = async (values) => { let data = deleteDataAddress({ ...values, geoCoordinates: geoCoordinates }); try { const response = await restApi_1.default.restApi(baseUrl, "DELETE", endPointAddress, headerConfigAddresses(), data); let { newUserInfo } = checkGlobalResponse("addresses", response, "DeleteUserAddress", "delete"); return { response: response, newUser: newUserInfo, message: response?.data?.result?.message ?? "Address Deleted Successfully", status: "success", }; } catch (error) { return { response: error.response, newUser: null, message: error.message, status: "failed", }; } }; const MakeUserAddressPrimary = async (values) => { let data = primaryDataAddress({ ...values, geoCoordinates: geoCoordinates, }); try { const response = await restApi_1.default.restApi(baseUrl, "PUT", endPointAddress, headerConfigAddresses(), data); let { newUserInfo } = checkGlobalResponse("addresses", response, "MakeUserAddressPrimary", "updatePrimary"); return { response: response, newUser: newUserInfo, message: response?.data?.result?.message ?? "Primary Address Updated Successfully", status: "success", }; } catch (error) { return { response: error.response, newUser: null, message: error.message, status: "failed", }; } }; return { CreateAddress, UpdateUserAddress, MakeUserAddressPrimary, DeleteUserAddress, }; }; exports.useAddresses = useAddresses;