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
JavaScript
;
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;