@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
58 lines • 3.02 kB
JavaScript
// 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