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.
80 lines (79 loc) • 2.79 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useToken = void 0;
const helper_1 = __importDefault(require("../helper"));
const restApi_1 = __importDefault(require("../restApi"));
const useToken = (userInfo, nodeUrl, programId, lang, geoCoordinates) => {
const { headerConfig, convertDataToUrlEncoded, checkResponse } = (0, helper_1.default)(userInfo);
const { checkGlobalResponse } = checkResponse();
const { dataTokenUrlEncoded } = convertDataToUrlEncoded();
const headerConfigToken = () => {
let headersData = {
header: true,
isUrlEncoded: false,
token: null,
lang: lang,
};
let headers = headerConfig(headersData);
return headers;
};
const CreateLimitedToken = async (values) => {
let data = dataTokenUrlEncoded({
...values,
geoCoordinates: geoCoordinates,
});
try {
const response = await restApi_1.default.restApi(nodeUrl, "POST", "v1/limited-token", headerConfigToken(), JSON.stringify(data));
if (response.data?.access_token) {
return {
response: response,
newUser: null,
message: response?.data?.result?.message ??
"Create Limited Token Successfully",
status: "success",
};
}
return {
response: response,
newUser: null,
message: "Create Limited Token Failed",
status: "failed",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.response.data.error,
status: "failed",
};
}
};
const CreateProgramToken = async (values) => {
let data = dataTokenUrlEncoded({
...values,
geoCoordinates: geoCoordinates,
});
try {
const response = await restApi_1.default.restApi(nodeUrl, "POST", "oauth/token", headerConfigToken(), data);
checkGlobalResponse("token", response, "CreateProgramToken");
return response.data?.access_token;
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
return {
CreateLimitedToken,
CreateProgramToken,
};
};
exports.useToken = useToken;