UNPKG

balena-cli

Version:

The official balena Command Line Interface

38 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDashboardLoginURL = getDashboardLoginURL; exports.loginIfTokenValid = loginIfTokenValid; const lazy_1 = require("../utils/lazy"); async function getDashboardLoginURL(callbackUrl) { callbackUrl = encodeURIComponent(callbackUrl).replace(/%/g, '%25'); const [{ URL }, dashboardUrl] = await Promise.all([ Promise.resolve().then(() => require('url')), (0, lazy_1.getBalenaSdk)().settings.get('dashboardUrl'), ]); return new URL(`/login/cli/${callbackUrl}`, dashboardUrl).href; } async function loginIfTokenValid(token) { token = (token || '').trim(); if (!token) { return false; } const balena = (0, lazy_1.getBalenaSdk)(); let currentToken; try { currentToken = await balena.auth.getToken(); } catch (_a) { } await balena.auth.loginWithToken(token); const isLoggedIn = await balena.auth.isLoggedIn(); if (!isLoggedIn) { if (currentToken != null) { await balena.auth.loginWithToken(currentToken); } else { await balena.auth.logout(); } } return isLoggedIn; } //# sourceMappingURL=utils.js.map