UNPKG

@accounter/hashavshevet-mesh

Version:
42 lines (41 loc) 1.45 kB
import https from 'node:https'; import { getBuiltMesh, getMeshSDK } from './mesh-artifacts/index.js'; export const init = async (hashavshevetPersonalToken, hashavshevetCompanyKey, hashavshevetUrl) => { const authToken = (await login(hashavshevetPersonalToken, hashavshevetCompanyKey, hashavshevetUrl)); const { execute } = await getBuiltMesh(); const sdk = await getMeshSDK({ authToken, hashavshevetUrl }); return { sdk, execute }; }; 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 = https.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; }; export * from './mesh-artifacts/index.js';