@mikezimm/fps-core-v7
Version:
Library of reusable core interfaces, types and constants migrated from fps-library-v2
27 lines • 2 kB
JavaScript
import { startPerformOpV2, updatePerformanceEndV2 } from '../../../components/molecules/Performance/functions';
import { checkItemsResults, } from '../../../components/molecules/process-results/CheckWService/CheckItemsResults';
import { check4This, Check4 } from '../../../logic/Links/CheckSearch';
import { getWebGroupInfoAPI } from './getWebGroupInfoAPI';
export async function getWebGroupInfoBatchAPI(sourceProps, filterBatches, alertMe, consoleLog) {
const performanceSettings = { label: `SiteGroupsBatch`, includeMsStr: true, updateMiliseconds: true, op: 'fetch' };
const fetchOp = startPerformOpV2(performanceSettings); // 2024-09-29: set null as any to pass build error.
// 2024-12-06: WARNING -- Avoid reassigning source props... use new variable to avoid race condition
// const updatedSourceProps = await addFPSDigestToSourceProps( sourceProps );
const allReturns = await Promise.all(filterBatches.map((filter, idx) => {
return getWebGroupInfoAPI({ ...sourceProps, restFilter: filter }, alertMe, consoleLog);
}));
const allGroups = [];
allReturns.map(returnX => { allGroups.push(...returnX.groups); });
const initialResult = JSON.parse(JSON.stringify(allReturns[0]));
initialResult.groups = allGroups;
const result = checkItemsResults(sourceProps.fpsSpService, initialResult, `fps-core-v7: getWebGroupInfoBatchAPI ~ 33`, alertMe, consoleLog);
if (!result.unifiedPerformanceOps)
result.unifiedPerformanceOps = { fetch: {} };
result.unifiedPerformanceOps.fetch = updatePerformanceEndV2({ op: fetchOp, updateMiliseconds: performanceSettings.updateMiliseconds, count: result.items ? result.items.length : 0 });
result.fetchOp = result.unifiedPerformanceOps.fetch;
if (check4This(Check4.fpsShowFetchResults_Eq_true) === true) {
console.log(`fps-core-v7 COMPLETE: getWebGroupInfoBatchAPI ~ 40`, result);
}
return result;
}
//# sourceMappingURL=getWebGroupInfoBatchAPI.js.map