@mikezimm/npmfunctions
Version:
Functions used in my SPFx webparts
96 lines • 4.61 kB
JavaScript
;
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