balena-cli
Version:
The official balena Command Line Interface
38 lines • 1.24 kB
JavaScript
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
;