citi-starkhub-user1
Version:
Module for Citi StarkHub to user api
45 lines (36 loc) • 1.3 kB
JavaScript
const { logger } = require("../utils/Logger");
const { configurations_key } = require("../utils/Constants");
const getUserInfoByEmailOrMsisdn = async (token, filters) => {
try {
logger.info(`Initiating getUserInfoByEmailOrMsisdn for user`);
const config = global[configurations_key];
let endpoint = config.getUserInfoByEmailOrMsisdn.endpoint;
if(filters) {
let init = true;
for (const prop in filters) {
if(init === true) {
endpoint = `${endpoint}?${prop}=${filters[prop]}`;
init = false;
} else {
endpoint = `${endpoint}&${prop}=${filters[prop]}`;
}
}
}
logger.info(`endpoint getUserInfoByEmailOrMsisdn: ${endpoint}`);
//INVOKE ENDPOINT, POST, headers: authorization, body: params
const response = await fetch(endpoint, {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${token}`,
}
});
const data = await response.json();
logger.info(`Ending getUserInfoByEmailOrMsisdn`);
return data;
} catch (error) {
logger.error(`An error occurred while getUserInfoByEmailOrMsisdn :: ${error}`);
return { code: 500, message: "Internal error" };
}
};
module.exports = getUserInfoByEmailOrMsisdn;