UNPKG

@mikezimm/fps-core-v7

Version:

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

58 lines 3.02 kB
// import { saveErrorToLog } from './Logging'; import { makeid } from '../../../../logic/Strings/guids'; import { FPSResultCommonErrors } from '../../../../types/fps-returns/common/IFPSResultStatus'; import { convertHelpfullError } from '../../../../logic/Errors/friendly'; import { check4This, Check4 } from '../../../../logic/Links/CheckSearch'; import { saveErrorToLogWDigest } from '../../../../restAPIs/logging/Errors/saveErrorToLogWDigest'; import { GeneralErrorLog } from '../../../../restAPIs/logging/interfaces/constants'; export function CheckItemsResultsWDigest(itemsInput, traceString, alertMe, consoleLog) { //Clean up the raw error and return a human readable result itemsInput.refreshId = makeid(7); itemsInput.loaded = itemsInput.status === 'Success' ? true : false; if (!itemsInput.fpsContentType) itemsInput.fpsContentType = []; if (!itemsInput.unifiedPerformanceOps) itemsInput.unifiedPerformanceOps = { fetch: {} }; if (FPSResultCommonErrors.indexOf(itemsInput.e) > -1) { itemsInput.errorInfo = { errObj: itemsInput.e, friendly: itemsInput.e, result: itemsInput.e, returnMess: itemsInput.e, }; } else if (itemsInput.e) { const errorInput = { e: itemsInput.e, alertMe: alertMe, consoleLog: consoleLog, traceString: traceString ? traceString : 'fps-library-v2: checkItemsResults ~ 15', logErrors: true }; itemsInput.errorInput = errorInput; const errorInfo = convertHelpfullError(errorInput); itemsInput.errorInfo = errorInfo; if (errorInfo.friendly.toLocaleLowerCase().indexOf('access') > -1 || errorInfo.friendly.toLocaleLowerCase().indexOf('unauthorized') > -1) itemsInput.status = 'AccessDenied'; // 2025-05-02: Added this logic to prevent looping // https://github.com/mikezimm/pivottiles7/issues/477 // https://github.com/fps-solutions/HubCon/issues/146 // https://github.com/fps-solutions/fps-core-v7/issues/12 if (errorInfo.returnMess && errorInfo.returnMess.indexOf('Unexpected end of JSON input') > 0 && itemsInput.fetchAPI && itemsInput.fetchAPI.indexOf(GeneralErrorLog)) { // Do not saveError - will cause more errors } else { saveErrorToLogWDigest(itemsInput.errorInfo, errorInput); } } else if (itemsInput.status === 'Error') { const err = itemsInput.e ? itemsInput.e : `${itemsInput.status} ${itemsInput.statusNo} ${itemsInput.statusText}`; itemsInput.errorInfo = { errObj: err, friendly: err, result: err, returnMess: err, }; } if (check4This(Check4.checkResults_Eq_true) === true) { console.log(`fps-core-v7 COMPLETED: checkItemsResults ~ 25 -- ${traceString}`, itemsInput); } ; return itemsInput; } //# sourceMappingURL=CheckItemsResultsWDigest.js.map