serverless/lib/utils/getUser.js
2018-07-23 16:05:45 +03:00

37 lines
1.3 KiB
JavaScript

'use strict';
const configUtils = require('./config');
const platform = require('@serverless/platform-sdk');
const BbPromise = require('bluebird');
function getUser() {
const userConfig = configUtils.getConfig();
const currentId = userConfig.userId;
const globalConfig = configUtils.getGlobalConfig();
let user = null;
if (globalConfig
&& globalConfig.users
&& globalConfig.users[currentId]
&& globalConfig.users[currentId].dashboard) {
user = globalConfig.users[currentId].dashboard;
}
if (!user.username || !user.idToken) { // user logged out
return BbPromise.resolve(null);
}
if (Number(user.expiresAt) < (new Date()).getTime()) {
return BbPromise.resolve({ idToken: user.idToken, username: user.username });
// return platform.refreshToken(user.refreshToken).then(tokens => {
// globalConfig.users[currentId].dashboard.idToken = tokens.id_token;
// globalConfig.users[currentId].dashboard.accessToken = tokens.access_token;
// globalConfig.users[currentId].dashboard.expiresAt = tokens.expires_in;
// configUtils.set(globalConfig);
// return { idToken: tokens.id_token, username: user.username };
// });
}
return BbPromise.resolve({ idToken: user.idToken, username: user.username });
}
module.exports = getUser;