UNPKG

@mikezimm/npmfunctions

Version:
96 lines 4.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFPSUser = void 0; // For SPPermission: let addAndCustomizePages = pageContext.web.permissions.hasPermission( SPPermission.addAndCustomizePages ); var sp_page_context_1 = require("@microsoft/sp-page-context"); var properties_1 = require("../Objects/properties"); function getFPSUser(context, trickyEmails, trickyApp) { var _a = context.pageContext, user = _a.user, web = _a.web; var startTime = new Date(); var thisWindow = window; var currentCultureName = (0, properties_1.checkDeepProperty)(context.pageContext, ['cultureInfo', 'currentCultureName'], 'ShortError'); var isSiteAdmin = (0, properties_1.checkDeepProperty)(context.pageContext, ['legacyPageContext', 'isSiteAdmin'], 'ShortError'); if (isSiteAdmin !== true && isSiteAdmin !== false) { isSiteAdmin = false; } var showTricks = false; trickyEmails.map(function (getsTricks) { if (user.loginName && user.loginName.toLowerCase().indexOf(getsTricks) > -1) { showTricks = true; } }); if (thisWindow.FPSUser) { if (showTricks === true && thisWindow.FPSUser.trickyApps.indexOf(trickyApp) < 0) { thisWindow.FPSUser.trickyApps.push(trickyApp); } return thisWindow.FPSUser; } else { var userAny = user; //Cast as any where needed... unsure where I got some of these props not on SPUser... var userId = context.pageContext.legacyPageContext.userId; var userTitle = user.displayName ? user.displayName : userAny.title ? userAny.title : userAny.Title ? userAny.Title : 'Unknown User'; var FPSUser = { title: userTitle, Title: userTitle, email: user.email, name: userAny.Name ? userAny.Name : userAny.LoginName ? userAny.LoginName : user.loginName, id: userId.toString(), ID: userId, Id: userId, currentCultureName: currentCultureName, imageUrl: userAny.imageUrl, trickyApps: showTricks === true ? [trickyApp] : [], PrincipalType: userAny.PrincipalType ? userAny.PrincipalType : null, isSiteAdmin: isSiteAdmin, isGuest: user.isExternalGuestUser, manageWeb: web.permissions.hasPermission(sp_page_context_1.SPPermission.manageWeb), managePermissions: web.permissions.hasPermission(sp_page_context_1.SPPermission.managePermissions), enumeratePermissions: web.permissions.hasPermission(sp_page_context_1.SPPermission.enumeratePermissions), addAndCustomizePages: web.permissions.hasPermission(sp_page_context_1.SPPermission.addAndCustomizePages), manageLists: web.permissions.hasPermission(sp_page_context_1.SPPermission.manageLists), approveItems: web.permissions.hasPermission(sp_page_context_1.SPPermission.approveItems), editListItems: web.permissions.hasPermission(sp_page_context_1.SPPermission.editListItems), openItems: web.permissions.hasPermission(sp_page_context_1.SPPermission.openItems), simple: 'None', crunchTime: -1, }; //'SharePoint' | 'Admin' | 'FullControl' | 'Designer' | 'Editor' | 'Approver' | 'Contributor' | 'Reader' | 'None'; var simple = 'None'; if (showTricks === true) { simple = 'SharePoint'; } else if (FPSUser.isSiteAdmin === true) { simple = 'Admin'; } else if (FPSUser.manageWeb === true) { simple = 'FullControl'; } else if (FPSUser.addAndCustomizePages === true) { simple = 'Designer'; } else if (FPSUser.manageLists === true) { simple = 'Editor'; } else if (FPSUser.approveItems === true) { simple = 'Approver'; } else if (FPSUser.editListItems === true) { simple = 'Contributor'; } else if (FPSUser.openItems === true) { simple = 'Reader'; } else { simple = 'None'; } FPSUser.simple = simple; var endTime = new Date(); var totalTime = endTime.getTime() - startTime.getTime(); FPSUser.crunchTime = totalTime; console.log('PermissionCheck Time:', totalTime); thisWindow.FPSUser = FPSUser; return FPSUser; } } exports.getFPSUser = getFPSUser; //# sourceMappingURL=FPSUser.js.map