UNPKG

@knapsack/app

Version:

Build Design Systems on top of knapsack, by Basalt

61 lines (50 loc) 1.84 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getUserInfo = getUserInfo; var _auth = _interopRequireDefault(require("@aws-amplify/auth")); var _core = require("@knapsack/core"); async function getUserInfo() { let groups = []; let ksRepoAccess = []; let canEdit = false; let username; const user = await _auth.default.currentUserInfo(); if (user) { const authedUser = await _auth.default.currentAuthenticatedUser(); username = authedUser.getUsername(); const { 'cognito:groups': cognitoGroups, 'cognito:roles': cognitoArnRoles, 'cognito:preferred_role': cognitoArnPreferredRole, 'custom:ks-github-repos': ksGithubRepos } = authedUser.signInUserSession.getIdToken().payload; // console.log({ // authedUser, // cognitoGroups, // cognitoArnRoles, // cognitoArnPreferredRole, // ksGithubRepos, // }); groups = cognitoGroups; ksRepoAccess = ksGithubRepos === null || ksGithubRepos === void 0 ? void 0 : ksGithubRepos.split(','); } const role = groups.length === 0 ? _core.KS_USER_ROLES.anonymous : _core.ksRolesOrdered.find(r => groups.includes(r.id)); canEdit = role.permissions.includes(_core.PERMISSIONS.WRITE); let token; try { var _session$getAccessTok; // token = getClientToken(); const session = await _auth.default.currentSession(); token = session === null || session === void 0 ? void 0 : (_session$getAccessTok = session.getAccessToken()) === null || _session$getAccessTok === void 0 ? void 0 : _session$getAccessTok.getJwtToken(); // eslint-disable-next-line no-empty } catch (e) {} return { user, username, canEdit, role, ksRepoAccess, token }; }