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.
121 lines (120 loc) • 4.97 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useOrganization = void 0;
const restApi_1 = __importDefault(require("../restApi"));
const helper_1 = __importDefault(require("../helper"));
const dataStructure_1 = __importDefault(require("../helper/dataStructure"));
const useOrganization = (token, userInfo, userId, baseUrl, geoCoordinates, lang) => {
const { checkResponse, headerConfig } = (0, helper_1.default)(userInfo);
const { checkGlobalResponse } = checkResponse();
const { dataOrganization } = (0, dataStructure_1.default)();
const { dataCreateOrganization, dataUpdateOrganization, dataCreateDocumentOrganization, } = dataOrganization();
let endPoint = `v1/Organization`;
const headerConfigDevice = () => {
let headersData = {
header: true,
isUrlEncoded: false,
token: token,
lang: lang,
};
let headers = headerConfig(headersData);
return headers;
};
const CreateOrganization = async (values) => {
let data = dataCreateOrganization({ ...values, geoCoordinates: geoCoordinates }, userId);
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", endPoint, headerConfigDevice(), data);
let { newUserInfo } = checkGlobalResponse("organization", response, "CreateOrganization", "createOrganization");
return {
response: response?.data,
newUser: newUserInfo,
message: response?.data?.result?.message ?? "Create Organization Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const UpdateOrganization = async (values, organizationId) => {
let data = dataUpdateOrganization({ ...values, geoCoordinates: geoCoordinates }, userId);
try {
const response = await restApi_1.default.restApi(baseUrl, "PUT", `${endPoint}/${organizationId}`, headerConfigDevice(), data);
let { newUserInfo } = checkGlobalResponse("organization", response, "UpdateOrganization", "updateOrganization");
return {
response: response?.data,
newUser: newUserInfo,
message: response?.data?.result?.message ?? "Update Organization Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const DeleteOrganization = async (organizationId) => {
try {
const response = await restApi_1.default.restApi(baseUrl, "DELETE", `${endPoint}/${organizationId}`, headerConfigDevice());
let { newUserInfo } = checkGlobalResponse("organization", response, "DeleteOrganization", "deleteOrganization");
return {
response: response?.data,
newUser: newUserInfo,
message: response?.data?.result?.message ?? "Delete Organization Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const CreateDocumentOrganization = async (values, organizationId) => {
let data = dataCreateDocumentOrganization({
...values,
geoCoordinates: geoCoordinates,
});
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `${endPoint}/document/${organizationId}`, headerConfigDevice(), data);
let { newUserInfo } = checkGlobalResponse("organization", response, "CreateDocumentOrganization", "createDocumentOrganization");
return {
response: response?.data,
newUser: newUserInfo,
message: response?.data?.result?.message ??
"Create Document Organization Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
return {
CreateOrganization,
UpdateOrganization,
DeleteOrganization,
CreateDocumentOrganization,
};
};
exports.useOrganization = useOrganization;