UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

53 lines (52 loc) 2.81 kB
import { SourcePropsNoListTitle, SourcePropsNoWebUrl } from '../../../components/molecules/source-props/ISourceProps'; ///ISourceProps'; import { check4This, Check4 } from '../../../logic/Links/CheckSearch'; import { doSpHttpFetchOrPostAndCheck } from '../../../components/molecules/SpHttp/Sp/doSpHttpFetch'; import { createErrorFpsListReturn } from '../../../components/molecules/process-results/createErrorFpsListItemsReturn'; import { getAbsoluteWebUrlFromSourceProps } from '../../../logic/Strings/getAbssoluteWebUrlFromSourceProps'; /** * 2024-12-23: Changed from postSourceItemsAPI to postSourceItemAPI because it only does one item * @param sourceProps * @param saveItem * @param alertMe * @param consoleLog * @returns */ export async function postSourceItemAPI(sourceProps, saveItem, alertMe, consoleLog) { const { listTitle, } = sourceProps; // 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); /** SAMPLE Full SharePoint Items Rest call: https://example.sharepoint.com/sites/MySite/_api/web/lists/getbytitle('MyList')/items */ let postAPI = `${useUrl}/_api/web/lists/getbytitle('${listTitle}')/items`; if (!useUrl) { // NO WebURL... Throw Alert if (alertMe === true) alert(`${listTitle} ${SourcePropsNoWebUrl}`); return createErrorFpsListReturn(useUrl, listTitle); } if (!listTitle) { // NO WebURL... Throw Alert if (alertMe === true) alert(`${''} ${SourcePropsNoListTitle}`); return createErrorFpsListReturn(useUrl, listTitle); } const result = await doSpHttpFetchOrPostAndCheck(postAPI, 'POST', sourceProps.fpsSpService, 'application/json;odata=nometadata', alertMe, consoleLog, 'item', false, saveItem); // Add any required custom logic here // if ( resultHubSites.ok ) { // resultHubSites.items = cleanSearchedWebs( resultHubSites.items ); // } // result.fpsContentType = !sourceProps.fpsContentType ? [ 'item' ] : sourceProps.fpsContentType; // 2024-12-05: changed if to test result, not sourceProps... was getting error reading indexOf // if ( result.fpsContentType.indexOf( 'item' ) < 0 ) result.fpsContentType.push( 'item' ); result.unifiedPerformanceOps.fetch.label = `save ${listTitle}`; // result.unifiedPerformanceOps.fetch.c = 1; result.saveOp = result.unifiedPerformanceOps.fetch; if (check4This(Check4.fpsShowFetchResults_Eq_true) === true) { console.log(`fps-core-v7 COMPLETE: postSourceItems ~ 56`, result); } ; return result; } //# sourceMappingURL=postSourceItemAPI.js.map