@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
110 lines (109 loc) • 5.03 kB
JavaScript
/***
* d88888b d8888b. .d8888. d8888b. d8888b. d88888b .d8888. d88888b d888888b .d8888.
* 88' 88 `8D 88' YP 88 `8D 88 `8D 88' 88' YP 88' `~~88~~' 88' YP
* 88ooo 88oodD' `8bo. 88oodD' 88oobY' 88ooooo `8bo. 88ooooo 88 `8bo.
* 88~~~ 88~~~ `Y8b. 88~~~ 88`8b 88~~~~~ `Y8b. 88~~~~~ 88 `Y8b.
* 88 88 db 8D 88 88 `88. 88. db 8D 88. 88 db 8D
* YP 88 `8888Y' 88 88 YD Y88888P `8888Y' Y88888P YP `8888Y'
*
*
*/
import { saveAnalytics4, getMinPerformanceString } from '../Analytics/saveAnalyticsAPI';
import { check4Gulp } from '../../../logic/Links/CheckGulping';
import { getTheCurrentTime } from '../Permissions/savePermissionAnalyticsAPI';
import { EasyContentsRailsApply } from '../interfaces/EasyContents';
/**
* 2025-01-03: Migrated from fps-library-v2/lib/pnpjs/Permissions, pnp2/lib/services/sp/perms
* combination of v2: saveProvisioningD and pnp2: saveAnalytics4D
*
import { saveProvisioning } from "@mikezimm/fps-core-v7/lib/restAPIs/logging/Provisioning/saveProvisioning";
* @param context : WebPart Context
* @param analyticsListRailsApply : Which Provisioning was applied => `${ApplyTemplate_Rail_SaveTitle} - v2.0.0.2`
* @param Title : `${ApplyTemplate_Rail_SaveTitle} - v2.0.0.2`
* @param Result
* @param panelVersionNumber
* @param zzzRichText1Obj : mapThisList
* @param Setting : this.props.railFunction
* @param zzzRichText2Obj : this.state.progress
* @param zzzRichText3Obj : this.state.history
* @param performanceObj
* @returns
*/
export function saveProvisioning(context, fpsSpService, analyticsListRailsApply, Title, Result, panelVersionNumber, makeList, targetList, Setting, progress, history, performanceObj = null) {
const site = context.pageContext.site;
const web = context.pageContext.web;
const loadProperties = {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
SiteID: site.id['_guid'],
// eslint-disable-next-line @typescript-eslint/no-explicit-any
WebID: web.id['_guid'],
// eslint-disable-next-line @typescript-eslint/no-explicit-any
SiteTitle: web.serverRelativeUrl,
TargetSite: web.absoluteUrl,
ListID: `${targetList.Id}`,
ListTitle: `${makeList.title}`,
};
const performance = getMinPerformanceString(performanceObj);
const startTime = getTheCurrentTime();
const saveObject = {
// https://github.com/fps-solutions/HubCon/issues/103
// __metadata: { type: `` },
loadProperties: loadProperties,
Title: Title,
Result: Result,
CodeVersion: panelVersionNumber,
zzzText1: startTime.now,
zzzText2: startTime.theTime,
zzzText5: site.id['_guid'],
// PageURL: undefined,
// PageLink: undefined,
// SiteID: undefined,
// SiteTitle: undefined,
// WebID: undefined,
// ListID: undefined,
// ListTitle: undefined,
// memory: undefined,
// browser: undefined,
// JSHeapSize: undefined,
// screen: undefined,
// screenSize: undefined,
// device: undefined,
// FPSItem: undefined,
};
//This will get rid of all the escaped characters in the summary (since it's all numbers)
// let zzzRichText3 = ''; //JSON.stringify( fetchInfo.summary ).replace('\\','');
//This will get rid of the leading and trailing quotes which have to be removed to make it real json object
// zzzRichText3 = zzzRichText3.slice(1, zzzRichText3.length - 1);
if (makeList)
saveObject.zzzRichText1 = JSON.stringify(makeList);
if (progress)
saveObject.zzzRichText2 = JSON.stringify(progress);
if (history)
saveObject.zzzRichText3 = JSON.stringify(history);
if (Setting)
saveObject.Setting = typeof Setting === 'string' ? Setting : JSON.stringify(Setting);
if (performance)
saveObject.performance = performance;
saveObject.TargetList = {
'Url': makeList.listURL,
'Description': makeList.listURL,
}; //Saved as link column. Displayed as Relative Url
saveObject.SiteLink = {
'Url': site.absoluteUrl,
'Description': site.absoluteUrl,
};
// https://github.com/fps-solutions/HubCon/issues/103
// Required for non-PnpJS POST operations
// saveObject.__metadata = { type: `SP.Data.${EasyContentsRailsApply}ListItem` }
if (check4Gulp() === true) {
console.log('saveViewAnalytics', `${EasyContentsRailsApply}`);
}
if (check4Gulp() === true) {
console.log('saveViewAnalytics', saveObject);
}
saveAnalytics4(fpsSpService, `${EasyContentsRailsApply}`, saveObject, true);
const saved = true;
console.log('saved view info');
return saved;
}
//# sourceMappingURL=saveProvisioning.js.map