@accounter/hashavshevet-mesh
Version:
Graphql proxy for Hashavshevet API
47 lines (46 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.init = void 0;
const tslib_1 = require("tslib");
const node_https_1 = tslib_1.__importDefault(require("node:https"));
const index_js_1 = require("./mesh-artifacts/index.js");
const init = async (hashavshevetPersonalToken, hashavshevetCompanyKey, hashavshevetUrl) => {
const authToken = (await login(hashavshevetPersonalToken, hashavshevetCompanyKey, hashavshevetUrl));
const { execute } = await (0, index_js_1.getBuiltMesh)();
const sdk = await (0, index_js_1.getMeshSDK)({ authToken, hashavshevetUrl });
return { sdk, execute };
};
exports.init = init;
const login = (hashavshevetKey, company, hashavshevetUrl) => {
const p = new Promise((resolve, reject) => {
if (!hashavshevetKey || !company) {
reject(new Error('Missing Hashavshevet user key or company ID'));
return;
}
const path = `/createSession/${hashavshevetKey}/${company}`;
const req = node_https_1.default.request({
host: hashavshevetUrl,
path,
method: 'GET',
}, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
if (data === 'iligal token') {
reject(new Error('Illegal token'));
}
else {
resolve(data);
}
});
});
req.on('error', error => {
reject(error);
});
req.end();
});
return p;
};
tslib_1.__exportStar(require("./mesh-artifacts/index.js"), exports);