@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
40 lines • 2.21 kB
JavaScript
import { doSpHttpFetchOrPostAndCheck } from '../../../components/molecules/SpHttp/Sp/doSpHttpFetch';
import { SourcePropsNoWebUrl } from '../../../components/molecules/source-props/ISourceProps';
import { check4This, Check4 } from '../../../logic/Links/CheckSearch';
import { getAbsoluteWebUrlFromSourceProps } from '../../../logic/Strings/getAbssoluteWebUrlFromSourceProps';
import { createErrorFpsUsersReturn } from '../../../components/molecules/process-results/createEmptyFpsUsersReturn';
/**
* ensureUserOnWeb will ensure a user is on the web and return their User Info when they are
* import { ensureUserOnWeb } from '@mikezimm/fps-core-v7/lib/restAPIs/sites/users/ensureUserOnWeb';
*
* Replaces ensureUserInfoD and ensureUserHereD from pnp2
*
* @param sourceProps
* @param alertMe
* @param consoleLog
* @returns
*/
export async function ensureUserOnWeb(sourceProps, loginName, alertMe, consoleLog) {
// const { performanceSettings } = sourceProps;
// 2024-09-15: Change to null as any to pass linting when migrating from fps-library-v2
// const fetchOp = performanceSettings ? startPerformOpV2( performanceSettings ) : null as any;
// 2024-12-05: Added this because some places like PivotTiles had absoluteWebUrl in webUrl prop... so just taking care of differences
const useUrl = getAbsoluteWebUrlFromSourceProps(sourceProps);
if (!useUrl || !loginName) {
// NO WebURL... Throw Alert
if (alertMe === true)
alert(`${loginName ? loginName : 'Requires Login Name'} ${SourcePropsNoWebUrl}`);
const results = createErrorFpsUsersReturn(useUrl);
return results;
}
let fetchAPI = `${useUrl}/_api/web/ensureuser?`;
const body = { logonName: loginName };
// 2025-01-10 - added verbose = false to this call
const result = await doSpHttpFetchOrPostAndCheck(fetchAPI, 'POST', sourceProps.fpsSpService, '', alertMe, consoleLog, 'user', false, body);
if (check4This(Check4.fpsShowFetchResults_Eq_true) === true) {
console.log(`fps-core-v7 COMPLETE: ensureUserOnWeb ~ 47`, result);
}
;
return result;
}
//# sourceMappingURL=ensureUserOnWeb.js.map