admin-api-aurum-connector
Version:
Module to connect to the Admin API Aurum Core
37 lines (28 loc) • 1.38 kB
JavaScript
const { module_name, configurations_key } = require("../utils/Constants.js");
const { logger } = require("../utils/Logger.js");
const login = async (form) => {
try {
logger.info(`module-hub-aurum-core-connector :: "${module_name}" :: login ...`);
const config = global[configurations_key];
let endpoint = config?.authentication?.endpoint || "";
logger.info(`module-hub-aurum-core-connector :: "${module_name}" :: Logging in to endpoint: ${endpoint}`);
logger.info(`module-hub-aurum-core-connector :: "${module_name}" :: Form: ${JSON.stringify(form)}`);
const basicAuth = "Basic " + Buffer.from(config.authentication.consumerKey + ":" + config.authentication.consumerSecret).toString("base64");
logger.info(`module-hub-aurum-core-connector :: "${module_name}" :: Authorization: ${basicAuth}`);
const response = await fetch(endpoint, {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
Authorization: basicAuth
},
body: new URLSearchParams(form)
});
const responseJson = await response.json();
logger.info(`module-hub-aurum-core-connector :: "${module_name}" :: Response: ${JSON.stringify(responseJson)}`);
return responseJson;
} catch (error) {
logger.error(`Error logging in "${module_name}"`, error);
return null;
}
};
module.exports = login;