@os1-platform/dispatch-mobile 3.1.1 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +41 -21
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js +2 -1
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js +12 -3
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js +1 -1
- package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +6 -7
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +1 -0
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/commonjs/ui/screens/DropCashScreen.js +3 -2
- package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js +2 -0
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/Logger.js +18 -0
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/commonjs/utils/SdkUtils.js +4 -1
- package/lib/commonjs/utils/SdkUtils.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +42 -22
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/constants.js +1 -0
- package/lib/module/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/utils.js +13 -4
- package/lib/module/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/module/manager/dispatch/DispatchStateContainer.js +2 -2
- package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js +1 -1
- package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
- package/lib/module/manager/syncmanager/events/ETEventsManager.js +6 -7
- package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js +1 -0
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/module/ui/screens/DropCashScreen.js +3 -2
- package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js +2 -0
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/Logger.js +18 -0
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/module/utils/SdkUtils.js +4 -1
- package/lib/module/utils/SdkUtils.js.map +1 -1
- package/lib/typescript/components/executiontasks/validateOTP/constants.d.ts +1 -0
- package/lib/typescript/utils/Logger.d.ts +1 -0
- package/package.json +5 -4
- package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +40 -19
- package/src/components/executiontasks/validateOTP/constants.ts +2 -0
- package/src/components/executiontasks/validateOTP/utils.ts +26 -4
- package/src/manager/dispatch/DispatchStateContainer.tsx +3 -1
- package/src/manager/dispatchCodes/ReasonCodeContainer.ts +1 -1
- package/src/manager/syncmanager/events/ETEventsManager.ts +6 -7
- package/src/manager/syncmanager/events/EventsSyncManager.ts +1 -0
- package/src/ui/screens/DropCashScreen.tsx +28 -29
- package/src/utils/ExecTaskUtils.ts +2 -0
- package/src/utils/Logger.ts +18 -0
- package/src/utils/SdkUtils.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clearCache","createFmsFolder","DispatchExecutor","dispatchExecutor","showToast","CustomScreens","ExecutionTaskID","EventsSyncManager","Logger","LOG_TYPE","DispatchSdkCache","BaseError","getBaseETResponse","ReasonCodeContainer","BaseErrorCodes","ErrorCodes","InvalidArgumentsError","RouteParams","debounce","dispatchEvent","EventCodeContainer","GO_BACK_EVENT_CODE","REASON_NOT_USED","AppSyncManager","BULK_DATA_LIMIT","LAST_SYNCED_EVENT_ID","SCAN_MERGED_OBJ_ID_OUTPUT","SHARED_PREFERENCE_DISPATCH_ID","SHARED_PREFERENCE_SCAN_OUTPUT","Storage","clearPaymentSharedData","clearScanOutput","getScanMergedObjectID","CommonActions","DispatchStateContainer","constructor","_defineProperty","KEYS","getInstance","Map","baseETProps","etOutput","states","navigation","isLastTask","isMergedObjectiveBasedOutput","sendETOutput","moveToNextET","error","logEvent","message","SDK_ERROR","showProgress","stateKeys","_stateKeys","value","mappedStates","_mappedStates","initDispatchExecutor","dispatchID","jobs","dispatchWorkflows","maxTaskReattempt","length","Object","keys","SDK_WARNING","InvalidArgumentError","setKeyInCache","DISPATCH_ID","storage","sharedPreferenceDispatchId","getSharedItem","Promise","all","setSharedItem","start","eventSyncBatchSize","queryNextET","mergedObjectiveId","statusFilter","MERGING_ERROR","getNextTask","updateScanETOutputSharedPreference","prefixedMergedObjectiveId","prefixKey","mergedObjectiveIds","output","scanETOutput","JSON","parse","_scanETOutput","forEach","mergedId","stringify","updatePendingSharedPreference","eventType","mergedIdOutput","mergedIds","_mergedIds","success","push","pending","failure","NEXT_STATES","taskName","taskID","taskId","input","lockTaskResponse","promises","findPrefixKey","defaultConfig","index","filterIds","_output","defaultOutput","default","eventCode","reasonCode","saveTaskOutput","ec","rc","response","scanOutput","routeParams","ROOT_META_DATA","instance","setSuccessRoute","route","successRoute","getSuccessRoute","setFailureRoute","failureRoute","getFailureRoute","getObjectiveSummary","jobObjective","summaryData","jobId","objectiveId","k","reason","getReasonByCode","reasonCodeDesc","description","name","navigateToNextTask","etSuccess","entityCode","eTaskID","isMergeObjectiveBasedOutput","params","reasonsContainer","eventsContainer","saveAndProceed","_eventCode","_successApplicable","applicableReasons","successEventCodes","getEventCodes","rParams","ET_SUCCESS","ET_SUCCESS_RESPONSE","CURRENT_ET_NAME","IS_LAST_ET","EVENT_CODES","APPLICABLE_CODES","IS_MERGED_OBJ_BASED_OUTPUT","CANCEL_EVENT","replace","REMARK_SCREEN","successCodes","getReasonCodes","baseResponse","REASONS","failureCodes","_failureApplicable","failureEventCodes","etStates","next_states","size","st","pop","_stData","get","delete","rootMetaData","cache","clearKeys","cacheKeys","CURRENT_WORKING_TASK_ID","isForceStartEnabled","isSyncActive","startSDKSyncManager","objSummary","_key","_value","_mappedStatesData","_objKey","COMPLETED_SUCCESS","lastERCData","getlastERC","_lastER","_objSummary$_objKey","lastReasonCode","lastEntityCode","lastEventCode","clear","dispatch","reset","routes","summary","objSuccess","nextStateDataArray","storeTerminalData","every","_state","COMPLETED_FAILURE","set","data","nextStateData","_etOutput$baseRespons","eventOutputData","meta","etData","nextTaskId","timestamp","Date","now","customData","customEventsData","saveAndProceedToNextET","_DispatchStateContainer"],"sources":["DispatchStateContainer.tsx"],"sourcesContent":["import { clearCache, createFmsFolder } from '../../utils/SyncManagerUtils';\nimport {\n DispatchExecutor as dispatchExecutor,\n IDispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { showToast } from '../../components/widgets/Toaster';\nimport {\n CustomScreens,\n ExecutionTaskID,\n} from '../../models/execTasks/ETConfig';\nimport type {\n ETSummary,\n ObjectiveSummary,\n} from '../../models/execTasks/ETBaseModels';\n\nimport EventsSyncManager from '../syncmanager/events/EventsSyncManager';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport type {\n BaseETProps,\n endEvent,\n JobObjectiveType,\n stateParams,\n} from '../../models/DispatchModels';\nimport { BaseError } from '../../errors/BaseError';\nimport { getBaseETResponse } from '../../utils/ExecTaskUtils';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport BaseErrorCodes from '../../errors/ErrorCodes';\nimport ErrorCodes, { InvalidArgumentsError } from '../../errors/ErrorCodes';\nimport { RouteParams } from '../../ui/uiConfig/RouteParams';\nimport { debounce } from 'lodash';\nimport dispatchEvent from '../../events/EventDispatcher';\nimport EventCodeContainer from '../dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE, REASON_NOT_USED } from '../../constants/constants';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\n// NEW CODE\nimport {\n BULK_DATA_LIMIT,\n LAST_SYNCED_EVENT_ID,\n SCAN_MERGED_OBJ_ID_OUTPUT,\n SHARED_PREFERENCE_DISPATCH_ID,\n SHARED_PREFERENCE_SCAN_OUTPUT,\n} from '../syncmanager/constants';\nimport Storage from '../../utils/storage';\nimport {\n clearPaymentSharedData,\n clearScanOutput,\n getScanMergedObjectID,\n} from '../../components/executiontasks/scan/utils';\nimport { SCANNED_RECORD } from '../../components/executiontasks/scan/interfaces';\nimport { SHARED_PREF_SCAN_OUTPUT_INTERFACE } from '../../components/executiontasks/scan/interfaces';\nimport { ScannerOutput } from '../../components/executiontasks/scan/ScanSchema';\nimport { CommonActions } from '@react-navigation/native';\n\nexport default class DispatchStateContainer {\n cacheKeys = DispatchSdkCache.KEYS;\n cache = DispatchSdkCache.getInstance();\n\n get stateKeys(): string[] {\n return this._stateKeys;\n }\n\n set stateKeys(value: string[]) {\n this._stateKeys = value;\n }\n get mappedStates(): Map<string, IDispatch.IExecutionTaskQueryResponse> {\n return this._mappedStates;\n }\n\n set mappedStates(value: Map<string, IDispatch.IExecutionTaskQueryResponse>) {\n this._mappedStates = value;\n }\n private static instance: DispatchStateContainer;\n private successRoute: string = '';\n private failureRoute: string = '';\n\n private _stateKeys: string[] = [];\n public _jobObjectives: JobObjectiveType[] | null = null;\n private _mappedStates: Map<string, IDispatch.IExecutionTaskQueryResponse> =\n new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n private _mappedStatesData: Map<\n string,\n IDispatch.IExecutionTaskQueryResponse\n > = new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n\n /**\n * Call this function when dispatch data is fetched successfully in client app\n * @param dispatchID\n * @param jobs\n * @param dispatchWorkflows\n * @param maxTaskReattempt\n */\n public async initDispatchExecutor(\n dispatchID: string,\n jobs: IDispatchExecutor.Job[],\n dispatchWorkflows: { [id: string]: IDispatchExecutor.Workflow },\n maxTaskReattempt?: number\n ) {\n if (\n !dispatchID ||\n !jobs ||\n jobs.length < 1 ||\n !dispatchWorkflows ||\n Object.keys(dispatchWorkflows).length < 1\n ) {\n Logger.getInstance().logEvent(\n 'initDispatchExecutor',\n InvalidArgumentsError,\n LOG_TYPE.SDK_WARNING\n );\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n await clearCache(dispatchID);\n await DispatchSdkCache.getInstance().setKeyInCache(\n DispatchSdkCache.KEYS.DISPATCH_ID,\n dispatchID\n );\n await createFmsFolder(dispatchID);\n\n // NEW CODE\n let storage = Storage.getInstance();\n\n const sharedPreferenceDispatchId = await storage.getSharedItem(\n SHARED_PREFERENCE_DISPATCH_ID\n );\n if (sharedPreferenceDispatchId) {\n if (sharedPreferenceDispatchId !== dispatchID) {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n } else {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n\n await dispatchExecutor.start(dispatchID, jobs, dispatchWorkflows, {\n maxTaskReattempt,\n eventSyncBatchSize: BULK_DATA_LIMIT,\n });\n }\n\n // NEW CODE\n /**\n *\n * @param mergedObjectiveId\n * @returns IExecutionTaskQueryResponse {\n * mergedObjectiveId: string;\n * taskName: string;\n * taskId: string;\n * input: any;\n * }\n */\n\n public async queryNextET(\n mergedObjectiveId: Array<string>,\n statusFilter: IDispatchExecutor.ExecutionStatus[]\n ): Promise<IDispatch.IExecutionTaskQueryResponse[]> {\n if (!mergedObjectiveId) {\n Logger.getInstance().logEvent(\n 'queryNextET',\n 'CONSTRAINTS FAILED',\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.MERGING_ERROR, 'CONSTRAINTS FAILED');\n }\n\n return await dispatchExecutor.getNextTask(\n mergedObjectiveId[0],\n statusFilter\n );\n }\n\n private async updateScanETOutputSharedPreference(\n etOutput: any,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;\n let storage = Storage.getInstance();\n const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);\n\n if (output) {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE =\n JSON.parse(output);\n let _scanETOutput: ScannerOutput = {};\n if (scanETOutput[prefixKey]) {\n _scanETOutput = scanETOutput[prefixKey];\n }\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n _scanETOutput[mergedId] = etOutput;\n });\n\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ ...scanETOutput, [prefixKey]: _scanETOutput })\n );\n } else {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE = {};\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n scanETOutput[mergedId] = etOutput;\n });\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ [prefixKey]: scanETOutput })\n );\n }\n }\n\n private async updatePendingSharedPreference(\n eventType: boolean,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT\n );\n\n if (mergedIdOutput) {\n const mergedIds = JSON.parse(mergedIdOutput);\n const _mergedIds = mergedIds[prefixKey];\n if (_mergedIds) {\n if (eventType) {\n _mergedIds.success.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n } else {\n _mergedIds.failure.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({ ...mergedIds, [prefixKey]: _mergedIds })\n );\n }\n }\n }\n\n // NEW CODE\n public async sendETOutput(\n etOutput: any,\n states: any,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n const mergedObjectiveIds =\n states[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const taskName = states[RouteParams.NEXT_STATES].taskName;\n const taskID = states[RouteParams.NEXT_STATES].taskId;\n const input = states[RouteParams.NEXT_STATES].input;\n let lockTaskResponse: boolean = true;\n\n if (isMergedObjectiveBasedOutput) {\n // NEW CODE\n const output = etOutput;\n let promises: any = [];\n\n const prefixKey = this.findPrefixKey(\n mergedObjectiveIds,\n etOutput,\n states\n );\n\n let defaultConfig: { index: number; success: boolean; output: any } = {\n index: -1,\n success: false,\n output: {},\n };\n let mergedIds: SCANNED_RECORD = {\n success: [],\n failure: [],\n pending: [prefixKey],\n };\n const filterIds = await getScanMergedObjectID();\n if (filterIds) {\n mergedIds = filterIds[prefixKey];\n }\n\n Object.keys(etOutput).forEach((mergedObjectiveId) => {\n const _output = output[mergedObjectiveId].output;\n // PREFIX_KEY\n if (mergedObjectiveId === 'default') {\n const defaultOutput = output.default.output;\n // DELIVER AT DIFF LOCATION\n if (defaultOutput.eventCode === REASON_NOT_USED) {\n // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION\n defaultOutput.eventCode = '';\n defaultOutput.reasonCode = '';\n lockTaskResponse = false;\n } else {\n defaultConfig = {\n index: promises.length,\n success: defaultOutput.success,\n output: output.default,\n };\n\n promises.push(\n dispatchExecutor.saveTaskOutput(\n mergedIds.pending,\n taskName,\n taskID,\n {\n input,\n output: defaultOutput,\n },\n {\n ec: defaultOutput.eventCode,\n rc: defaultOutput.reasonCode || '',\n }\n )\n );\n }\n } else {\n promises.push(\n dispatchExecutor.saveTaskOutput(\n [mergedObjectiveId],\n taskName,\n taskID,\n {\n input,\n output: _output,\n }\n )\n );\n }\n });\n\n const response = await Promise.all(promises);\n\n if (defaultConfig.index !== -1) {\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n this.updatePendingSharedPreference(\n defaultConfig.success,\n response[defaultConfig.index],\n prefixKey\n );\n this.updateScanETOutputSharedPreference(\n defaultConfig.output,\n response[defaultConfig.index],\n prefixKey\n );\n }\n } else {\n await dispatchExecutor.saveTaskOutput(\n mergedObjectiveIds,\n taskName,\n taskID,\n {\n input,\n output: etOutput,\n }\n );\n }\n }\n\n private findPrefixKey(\n mergedObjectiveIds: Array<string>,\n scanOutput: { [mergedObjectiveId: string]: any },\n routeParams: any\n ) {\n const prefixedMergedObjectiveId =\n routeParams[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n return prefixedMergedObjectiveId;\n }\n\n public static getInstance(): DispatchStateContainer {\n if (!DispatchStateContainer.instance) {\n DispatchStateContainer.instance = new DispatchStateContainer();\n }\n return DispatchStateContainer.instance;\n }\n\n public setSuccessRoute(route: string) {\n this.successRoute = route;\n }\n public getSuccessRoute(): string {\n return this.successRoute;\n }\n public setFailureRoute(route: string) {\n this.failureRoute = route;\n }\n public getFailureRoute(): string {\n return this.failureRoute;\n }\n public async getObjectiveSummary(\n jobObjective: JobObjectiveType\n ): Promise<ETSummary[]> {\n try {\n let response: ETSummary[] = [];\n let summaryData =\n await EventsSyncManager.getInstance().getObjectiveSummary(\n jobObjective.jobId + jobObjective.objectiveId\n );\n if (summaryData) {\n for (const k in summaryData) {\n if (k === 'inputs') continue;\n else {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n summaryData[k].output.reasonCode\n );\n response.push({\n eventCode: summaryData[k].output.eventCode,\n reasonCode: summaryData[k].output.reasonCode,\n reasonCodeDesc: reason?.description,\n name: k,\n });\n }\n }\n return response;\n } else return response;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getObjectiveSummary',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return [];\n }\n }\n public async navigateToNextTask(\n navigation: any,\n route: any,\n etOutput: any,\n etSuccess: boolean,\n entityCode: string,\n eTaskID: ExecutionTaskID,\n baseETProps: BaseETProps,\n isLastTask?: boolean,\n isMergeObjectiveBasedOutput?: boolean\n ) {\n try {\n baseETProps.showProgress(true);\n const mergedObjectiveIds =\n route.params[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const reasonsContainer = ReasonCodeContainer.getInstance();\n const eventsContainer = EventCodeContainer.getInstance();\n\n if (isMergeObjectiveBasedOutput) {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n const _eventCode = etOutput.eventCode;\n\n if (etSuccess) {\n if (!_eventCode) {\n const _successApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success;\n const successEventCodes = await eventsContainer.getEventCodes(\n _successApplicable\n );\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = successEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _successApplicable;\n rParams[RouteParams.IS_MERGED_OBJ_BASED_OUTPUT] =\n isMergeObjectiveBasedOutput;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n const successCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n ? route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n : route.params[RouteParams.NEXT_STATES].input.applicableReasons,\n _eventCode\n );\n\n if (successCodes && successCodes.length > 0) {\n if (successCodes.length === 1) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = successCodes[0].reasonCode;\n else etOutput.reasonCode = successCodes[0].reasonCode;\n\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = successCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n } else {\n let failureCodes: any[] = [];\n if (!_eventCode) {\n const _failureApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure;\n const failureEventCodes = await eventsContainer.getEventCodes(\n _failureApplicable\n );\n\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n // rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = failureEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _failureApplicable;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n if (_eventCode === GO_BACK_EVENT_CODE) failureCodes = [];\n else\n failureCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure\n ? route.params[RouteParams.NEXT_STATES].input\n .applicableReasons.failure\n : route.params[RouteParams.NEXT_STATES].input\n .applicableReasons,\n _eventCode\n );\n\n if (failureCodes && failureCodes.length > 0) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = failureCodes[0].reasonCode;\n\n if (failureCodes.length === 1) {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n failureCodes[0].reasonCode,\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = failureCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n '',\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n }\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logEvent(\n 'navigateToNextTask',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n async moveToNextET(\n etOutput: any,\n baseETProps: BaseETProps,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean\n ) {\n try {\n let etStates = states.next_states;\n baseETProps.showProgress(true);\n\n if (isLastTask && etStates && Object.keys(etStates).length > 0) {\n if (this._mappedStates.size && this._stateKeys.length) {\n\n const st = this._stateKeys.pop();\n if (st) {\n let rParams: any = {};\n const _stData = this._mappedStates.get(st);\n this._mappedStates.delete(st);\n if (_stData) {\n rParams[RouteParams.NEXT_STATES] = _stData;\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n navigation.replace(_stData.taskId, rParams);\n }\n }\n } else {\n baseETProps.showProgress(false);\n // TODO: Remove this later\n this.cache.clearKeys([this.cacheKeys.CURRENT_WORKING_TASK_ID]);\n\n AppSyncManager.getInstance().isForceStartEnabled = true;\n AppSyncManager.getInstance().isSyncActive = false;\n AppSyncManager.getInstance().startSDKSyncManager();\n\n let objSummary: {\n success?: ObjectiveSummary[];\n failure?: ObjectiveSummary[];\n } = {\n success: [],\n failure: [],\n };\n for (let [_key, _value] of this._mappedStatesData) {\n const _objKey =\n _key === ExecutionTaskID.COMPLETED_SUCCESS\n ? 'success'\n : 'failure';\n\n const lastERCData = await DispatchExecutor.getlastERC(\n _value.mergedObjectiveIds\n );\n\n for (const _lastER of lastERCData) {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n _lastER.lastReasonCode\n );\n\n objSummary[_objKey]?.push({\n entityCode: _lastER.lastEntityCode,\n eventCode: _lastER.lastEventCode,\n reasonCode: _lastER.lastReasonCode,\n reasonCodeDesc: reason?.description,\n });\n }\n }\n if (this._mappedStatesData.get(ExecutionTaskID.COMPLETED_SUCCESS)) {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getSuccessRoute(),\n params: {\n summary: objSummary,\n objSuccess: true\n }\n },\n ],\n }),\n );\n } else {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getFailureRoute(),\n params: {\n summary: objSummary,\n objSuccess: false\n }\n },\n ],\n }),\n );\n }\n }\n } else {\n let rParams: any = {};\n\n let nextStateDataArray: IDispatch.IExecutionTaskQueryResponse[] =\n await this.queryNextET(\n states.next_states.mergedObjectiveIds,\n states.rootMetaData.statusFilter\n );\n\n const storeTerminalData = nextStateDataArray.every(\n (_state) =>\n _state.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n _state.taskId === ExecutionTaskID.COMPLETED_FAILURE\n );\n\n if (storeTerminalData) {\n if (nextStateDataArray.length === 2) {\n // Array in case of last states containing c-s and c-f\n this._mappedStates.set(\n nextStateDataArray[1].taskId,\n nextStateDataArray[1]\n );\n this._stateKeys.push(nextStateDataArray[1].taskId);\n }\n nextStateDataArray.forEach((data) => {\n if (\n data.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n data.taskId === ExecutionTaskID.COMPLETED_FAILURE\n )\n this._mappedStatesData.set(data.taskId, data);\n });\n }\n const nextStateData = nextStateDataArray[0];\n\n baseETProps.showProgress(false);\n if (nextStateData != null && Object.keys(nextStateData).length > 0) {\n rParams[RouteParams.NEXT_STATES] = nextStateData;\n\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n\n /**\n * Send END/BACK custom event\n */\n if (!isLastTask) {\n const eventOutputData: endEvent = {\n meta: etOutput?.baseResponse?.meta || etOutput?.meta || {},\n etData: etOutput,\n taskId: etStates.taskId,\n nextTaskId: '',\n timestamp: Date.now(),\n customData: rParams[RouteParams.ROOT_META_DATA].customEventsData,\n };\n\n eventOutputData.nextTaskId = nextStateData.taskId;\n eventOutputData.etData.eventCode !== GO_BACK_EVENT_CODE\n ? dispatchEvent('END', etStates.taskName, eventOutputData)\n : dispatchEvent('BACK', etStates.taskName, eventOutputData);\n }\n }\n\n navigation.replace(nextStateData.taskId, rParams);\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logEvent(\n 'moveToNextET',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n private saveAndProceedToNextET = debounce(\n async (\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) => {\n try {\n await this.sendETOutput(etOutput, states, isMergedObjectiveBasedOutput);\n await this.moveToNextET(\n etOutput,\n baseETProps,\n states,\n navigation,\n isLastTask\n );\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'saveAndProceed',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n baseETProps.showProgress(false);\n showToast(error.message);\n }\n },\n 800\n );\n\n public async saveAndProceed(\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n baseETProps.showProgress(true);\n await this.saveAndProceedToNextET(\n baseETProps,\n etOutput,\n states,\n navigation,\n isLastTask,\n isMergedObjectiveBasedOutput\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clearCache","createFmsFolder","DispatchExecutor","dispatchExecutor","showToast","CustomScreens","ExecutionTaskID","EventsSyncManager","Logger","LOG_TYPE","DispatchSdkCache","BaseError","getBaseETResponse","ReasonCodeContainer","BaseErrorCodes","ErrorCodes","InvalidArgumentsError","RouteParams","debounce","dispatchEvent","EventCodeContainer","GO_BACK_EVENT_CODE","REASON_NOT_USED","RETRY_LIMIT_REACHED_CODE","AppSyncManager","BULK_DATA_LIMIT","LAST_SYNCED_EVENT_ID","SCAN_MERGED_OBJ_ID_OUTPUT","SHARED_PREFERENCE_DISPATCH_ID","SHARED_PREFERENCE_SCAN_OUTPUT","Storage","clearPaymentSharedData","clearScanOutput","getScanMergedObjectID","CommonActions","DispatchStateContainer","constructor","_defineProperty","KEYS","getInstance","Map","baseETProps","etOutput","states","navigation","isLastTask","isMergedObjectiveBasedOutput","sendETOutput","moveToNextET","error","logEvent","message","SDK_ERROR","showProgress","stateKeys","_stateKeys","value","mappedStates","_mappedStates","initDispatchExecutor","dispatchID","jobs","dispatchWorkflows","maxTaskReattempt","length","Object","keys","SDK_WARNING","InvalidArgumentError","setKeyInCache","DISPATCH_ID","storage","sharedPreferenceDispatchId","getSharedItem","Promise","all","setSharedItem","start","eventSyncBatchSize","queryNextET","mergedObjectiveId","statusFilter","MERGING_ERROR","getNextTask","updateScanETOutputSharedPreference","prefixedMergedObjectiveId","prefixKey","mergedObjectiveIds","output","scanETOutput","JSON","parse","_scanETOutput","forEach","mergedId","stringify","updatePendingSharedPreference","eventType","mergedIdOutput","mergedIds","_mergedIds","success","push","pending","failure","NEXT_STATES","taskName","taskID","taskId","input","lockTaskResponse","promises","findPrefixKey","defaultConfig","index","filterIds","_output","defaultOutput","default","eventCode","reasonCode","saveTaskOutput","ec","rc","response","scanOutput","routeParams","ROOT_META_DATA","instance","setSuccessRoute","route","successRoute","getSuccessRoute","setFailureRoute","failureRoute","getFailureRoute","getObjectiveSummary","jobObjective","summaryData","jobId","objectiveId","k","reason","getReasonByCode","reasonCodeDesc","description","name","navigateToNextTask","etSuccess","entityCode","eTaskID","isMergeObjectiveBasedOutput","params","reasonsContainer","eventsContainer","saveAndProceed","_eventCode","_successApplicable","applicableReasons","successEventCodes","getEventCodes","rParams","ET_SUCCESS","ET_SUCCESS_RESPONSE","CURRENT_ET_NAME","IS_LAST_ET","EVENT_CODES","APPLICABLE_CODES","IS_MERGED_OBJ_BASED_OUTPUT","CANCEL_EVENT","replace","REMARK_SCREEN","successCodes","getReasonCodes","baseResponse","REASONS","failureCodes","_failureApplicable","failureEventCodes","etStates","next_states","size","st","pop","_stData","get","delete","rootMetaData","cache","clearKeys","cacheKeys","CURRENT_WORKING_TASK_ID","isForceStartEnabled","isSyncActive","startSDKSyncManager","objSummary","_key","_value","_mappedStatesData","_objKey","COMPLETED_SUCCESS","lastERCData","getlastERC","_lastER","_objSummary$_objKey","lastReasonCode","lastEntityCode","lastEventCode","clear","dispatch","reset","routes","summary","objSuccess","nextStateDataArray","storeTerminalData","every","_state","COMPLETED_FAILURE","set","data","nextStateData","_etOutput$baseRespons","eventOutputData","meta","etData","nextTaskId","timestamp","Date","now","customData","customEventsData","saveAndProceedToNextET","_DispatchStateContainer"],"sources":["DispatchStateContainer.tsx"],"sourcesContent":["import { clearCache, createFmsFolder } from '../../utils/SyncManagerUtils';\nimport {\n DispatchExecutor as dispatchExecutor,\n IDispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { showToast } from '../../components/widgets/Toaster';\nimport {\n CustomScreens,\n ExecutionTaskID,\n} from '../../models/execTasks/ETConfig';\nimport type {\n ETSummary,\n ObjectiveSummary,\n} from '../../models/execTasks/ETBaseModels';\n\nimport EventsSyncManager from '../syncmanager/events/EventsSyncManager';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport type {\n BaseETProps,\n endEvent,\n JobObjectiveType,\n stateParams,\n} from '../../models/DispatchModels';\nimport { BaseError } from '../../errors/BaseError';\nimport { getBaseETResponse } from '../../utils/ExecTaskUtils';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport BaseErrorCodes from '../../errors/ErrorCodes';\nimport ErrorCodes, { InvalidArgumentsError } from '../../errors/ErrorCodes';\nimport { RouteParams } from '../../ui/uiConfig/RouteParams';\nimport { debounce } from 'lodash';\nimport dispatchEvent from '../../events/EventDispatcher';\nimport EventCodeContainer from '../dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE, REASON_NOT_USED, RETRY_LIMIT_REACHED_CODE } from '../../constants/constants';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\n// NEW CODE\nimport {\n BULK_DATA_LIMIT,\n LAST_SYNCED_EVENT_ID,\n SCAN_MERGED_OBJ_ID_OUTPUT,\n SHARED_PREFERENCE_DISPATCH_ID,\n SHARED_PREFERENCE_SCAN_OUTPUT,\n} from '../syncmanager/constants';\nimport Storage from '../../utils/storage';\nimport {\n clearPaymentSharedData,\n clearScanOutput,\n getScanMergedObjectID,\n} from '../../components/executiontasks/scan/utils';\nimport { SCANNED_RECORD } from '../../components/executiontasks/scan/interfaces';\nimport { SHARED_PREF_SCAN_OUTPUT_INTERFACE } from '../../components/executiontasks/scan/interfaces';\nimport { ScannerOutput } from '../../components/executiontasks/scan/ScanSchema';\nimport { CommonActions } from '@react-navigation/native';\n\nexport default class DispatchStateContainer {\n cacheKeys = DispatchSdkCache.KEYS;\n cache = DispatchSdkCache.getInstance();\n\n get stateKeys(): string[] {\n return this._stateKeys;\n }\n\n set stateKeys(value: string[]) {\n this._stateKeys = value;\n }\n get mappedStates(): Map<string, IDispatch.IExecutionTaskQueryResponse> {\n return this._mappedStates;\n }\n\n set mappedStates(value: Map<string, IDispatch.IExecutionTaskQueryResponse>) {\n this._mappedStates = value;\n }\n private static instance: DispatchStateContainer;\n private successRoute: string = '';\n private failureRoute: string = '';\n\n private _stateKeys: string[] = [];\n public _jobObjectives: JobObjectiveType[] | null = null;\n private _mappedStates: Map<string, IDispatch.IExecutionTaskQueryResponse> =\n new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n private _mappedStatesData: Map<\n string,\n IDispatch.IExecutionTaskQueryResponse\n > = new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n\n /**\n * Call this function when dispatch data is fetched successfully in client app\n * @param dispatchID\n * @param jobs\n * @param dispatchWorkflows\n * @param maxTaskReattempt\n */\n public async initDispatchExecutor(\n dispatchID: string,\n jobs: IDispatchExecutor.Job[],\n dispatchWorkflows: { [id: string]: IDispatchExecutor.Workflow },\n maxTaskReattempt?: number\n ) {\n if (\n !dispatchID ||\n !jobs ||\n jobs.length < 1 ||\n !dispatchWorkflows ||\n Object.keys(dispatchWorkflows).length < 1\n ) {\n Logger.getInstance().logEvent(\n 'initDispatchExecutor',\n InvalidArgumentsError,\n LOG_TYPE.SDK_WARNING\n );\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n await clearCache(dispatchID);\n await DispatchSdkCache.getInstance().setKeyInCache(\n DispatchSdkCache.KEYS.DISPATCH_ID,\n dispatchID\n );\n await createFmsFolder(dispatchID);\n\n // NEW CODE\n let storage = Storage.getInstance();\n\n const sharedPreferenceDispatchId = await storage.getSharedItem(\n SHARED_PREFERENCE_DISPATCH_ID\n );\n if (sharedPreferenceDispatchId) {\n if (sharedPreferenceDispatchId !== dispatchID) {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n } else {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n\n await dispatchExecutor.start(dispatchID, jobs, dispatchWorkflows, {\n maxTaskReattempt,\n eventSyncBatchSize: BULK_DATA_LIMIT,\n });\n }\n\n // NEW CODE\n /**\n *\n * @param mergedObjectiveId\n * @returns IExecutionTaskQueryResponse {\n * mergedObjectiveId: string;\n * taskName: string;\n * taskId: string;\n * input: any;\n * }\n */\n\n public async queryNextET(\n mergedObjectiveId: Array<string>,\n statusFilter: IDispatchExecutor.ExecutionStatus[]\n ): Promise<IDispatch.IExecutionTaskQueryResponse[]> {\n if (!mergedObjectiveId) {\n Logger.getInstance().logEvent(\n 'queryNextET',\n 'CONSTRAINTS FAILED',\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.MERGING_ERROR, 'CONSTRAINTS FAILED');\n }\n\n return await dispatchExecutor.getNextTask(\n mergedObjectiveId[0],\n statusFilter\n );\n }\n\n private async updateScanETOutputSharedPreference(\n etOutput: any,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;\n let storage = Storage.getInstance();\n const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);\n\n if (output) {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE =\n JSON.parse(output);\n let _scanETOutput: ScannerOutput = {};\n if (scanETOutput[prefixKey]) {\n _scanETOutput = scanETOutput[prefixKey];\n }\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n _scanETOutput[mergedId] = etOutput;\n });\n\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ ...scanETOutput, [prefixKey]: _scanETOutput })\n );\n } else {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE = {};\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n scanETOutput[mergedId] = etOutput;\n });\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ [prefixKey]: scanETOutput })\n );\n }\n }\n\n private async updatePendingSharedPreference(\n eventType: boolean,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT\n );\n\n if (mergedIdOutput) {\n const mergedIds = JSON.parse(mergedIdOutput);\n const _mergedIds = mergedIds[prefixKey];\n if (_mergedIds) {\n if (eventType) {\n _mergedIds.success.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n } else {\n _mergedIds.failure.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({ ...mergedIds, [prefixKey]: _mergedIds })\n );\n }\n }\n }\n\n // NEW CODE\n public async sendETOutput(\n etOutput: any,\n states: any,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n const mergedObjectiveIds =\n states[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const taskName = states[RouteParams.NEXT_STATES].taskName;\n const taskID = states[RouteParams.NEXT_STATES].taskId;\n const input = states[RouteParams.NEXT_STATES].input;\n let lockTaskResponse: boolean = true;\n\n if (isMergedObjectiveBasedOutput) {\n // NEW CODE\n const output = etOutput;\n let promises: any = [];\n\n const prefixKey = this.findPrefixKey(\n mergedObjectiveIds,\n etOutput,\n states\n );\n\n let defaultConfig: { index: number; success: boolean; output: any } = {\n index: -1,\n success: false,\n output: {},\n };\n let mergedIds: SCANNED_RECORD = {\n success: [],\n failure: [],\n pending: [prefixKey],\n };\n const filterIds = await getScanMergedObjectID();\n if (filterIds) {\n mergedIds = filterIds[prefixKey];\n }\n\n Object.keys(etOutput).forEach((mergedObjectiveId) => {\n const _output = output[mergedObjectiveId].output;\n // PREFIX_KEY\n if (mergedObjectiveId === 'default') {\n const defaultOutput = output.default.output;\n // DELIVER AT DIFF LOCATION\n if (defaultOutput.eventCode === REASON_NOT_USED) {\n // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION\n defaultOutput.eventCode = '';\n defaultOutput.reasonCode = '';\n lockTaskResponse = false;\n } else {\n defaultConfig = {\n index: promises.length,\n success: defaultOutput.success,\n output: output.default,\n };\n\n promises.push(\n dispatchExecutor.saveTaskOutput(\n mergedIds.pending,\n taskName,\n taskID,\n {\n input,\n output: defaultOutput,\n },\n {\n ec: defaultOutput.eventCode,\n rc: defaultOutput.reasonCode || '',\n }\n )\n );\n }\n } else {\n promises.push(\n dispatchExecutor.saveTaskOutput(\n [mergedObjectiveId],\n taskName,\n taskID,\n {\n input,\n output: _output,\n }\n )\n );\n }\n });\n\n const response = await Promise.all(promises);\n\n if (defaultConfig.index !== -1) {\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n this.updatePendingSharedPreference(\n defaultConfig.success,\n response[defaultConfig.index],\n prefixKey\n );\n this.updateScanETOutputSharedPreference(\n defaultConfig.output,\n response[defaultConfig.index],\n prefixKey\n );\n }\n } else {\n await dispatchExecutor.saveTaskOutput(\n mergedObjectiveIds,\n taskName,\n taskID,\n {\n input,\n output: etOutput,\n }\n );\n }\n }\n\n private findPrefixKey(\n mergedObjectiveIds: Array<string>,\n scanOutput: { [mergedObjectiveId: string]: any },\n routeParams: any\n ) {\n const prefixedMergedObjectiveId =\n routeParams[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n return prefixedMergedObjectiveId;\n }\n\n public static getInstance(): DispatchStateContainer {\n if (!DispatchStateContainer.instance) {\n DispatchStateContainer.instance = new DispatchStateContainer();\n }\n return DispatchStateContainer.instance;\n }\n\n public setSuccessRoute(route: string) {\n this.successRoute = route;\n }\n public getSuccessRoute(): string {\n return this.successRoute;\n }\n public setFailureRoute(route: string) {\n this.failureRoute = route;\n }\n public getFailureRoute(): string {\n return this.failureRoute;\n }\n public async getObjectiveSummary(\n jobObjective: JobObjectiveType\n ): Promise<ETSummary[]> {\n try {\n let response: ETSummary[] = [];\n let summaryData =\n await EventsSyncManager.getInstance().getObjectiveSummary(\n jobObjective.jobId + jobObjective.objectiveId\n );\n if (summaryData) {\n for (const k in summaryData) {\n if (k === 'inputs') continue;\n else {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n summaryData[k].output.reasonCode\n );\n response.push({\n eventCode: summaryData[k].output.eventCode,\n reasonCode: summaryData[k].output.reasonCode,\n reasonCodeDesc: reason?.description,\n name: k,\n });\n }\n }\n return response;\n } else return response;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getObjectiveSummary',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return [];\n }\n }\n public async navigateToNextTask(\n navigation: any,\n route: any,\n etOutput: any,\n etSuccess: boolean,\n entityCode: string,\n eTaskID: ExecutionTaskID,\n baseETProps: BaseETProps,\n isLastTask?: boolean,\n isMergeObjectiveBasedOutput?: boolean\n ) {\n try {\n baseETProps.showProgress(true);\n const mergedObjectiveIds =\n route.params[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const reasonsContainer = ReasonCodeContainer.getInstance();\n const eventsContainer = EventCodeContainer.getInstance();\n\n if (isMergeObjectiveBasedOutput) {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n const _eventCode = etOutput.eventCode;\n\n if (etSuccess) {\n if (!_eventCode) {\n const _successApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success;\n const successEventCodes = await eventsContainer.getEventCodes(\n _successApplicable\n );\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = successEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _successApplicable;\n rParams[RouteParams.IS_MERGED_OBJ_BASED_OUTPUT] =\n isMergeObjectiveBasedOutput;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n const successCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n ? route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n : route.params[RouteParams.NEXT_STATES].input.applicableReasons,\n _eventCode\n );\n\n if (successCodes && successCodes.length > 0) {\n if (successCodes.length === 1) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = successCodes[0].reasonCode;\n else etOutput.reasonCode = successCodes[0].reasonCode;\n\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = successCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n } else {\n let failureCodes: any[] = [];\n if (!_eventCode) {\n const _failureApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure;\n const failureEventCodes = await eventsContainer.getEventCodes(\n _failureApplicable\n );\n\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n // rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = failureEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _failureApplicable;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n if (_eventCode === GO_BACK_EVENT_CODE) failureCodes = [];\n else if (etOutput.reasonCode === RETRY_LIMIT_REACHED_CODE)\n failureCodes = [];\n else\n failureCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure\n ? route.params[RouteParams.NEXT_STATES].input\n .applicableReasons.failure\n : route.params[RouteParams.NEXT_STATES].input\n .applicableReasons,\n _eventCode\n );\n\n if (failureCodes && failureCodes.length > 0) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = failureCodes[0].reasonCode;\n\n if (failureCodes.length === 1) {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n failureCodes[0].reasonCode,\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = failureCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n '',\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n }\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logEvent(\n 'navigateToNextTask',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n async moveToNextET(\n etOutput: any,\n baseETProps: BaseETProps,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean\n ) {\n try {\n let etStates = states.next_states;\n baseETProps.showProgress(true);\n\n if (isLastTask && etStates && Object.keys(etStates).length > 0) {\n if (this._mappedStates.size && this._stateKeys.length) {\n\n const st = this._stateKeys.pop();\n if (st) {\n let rParams: any = {};\n const _stData = this._mappedStates.get(st);\n this._mappedStates.delete(st);\n if (_stData) {\n rParams[RouteParams.NEXT_STATES] = _stData;\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n navigation.replace(_stData.taskId, rParams);\n }\n }\n } else {\n baseETProps.showProgress(false);\n // TODO: Remove this later\n this.cache.clearKeys([this.cacheKeys.CURRENT_WORKING_TASK_ID]);\n\n AppSyncManager.getInstance().isForceStartEnabled = true;\n AppSyncManager.getInstance().isSyncActive = false;\n AppSyncManager.getInstance().startSDKSyncManager();\n\n let objSummary: {\n success?: ObjectiveSummary[];\n failure?: ObjectiveSummary[];\n } = {\n success: [],\n failure: [],\n };\n for (let [_key, _value] of this._mappedStatesData) {\n const _objKey =\n _key === ExecutionTaskID.COMPLETED_SUCCESS\n ? 'success'\n : 'failure';\n\n const lastERCData = await DispatchExecutor.getlastERC(\n _value.mergedObjectiveIds\n );\n\n for (const _lastER of lastERCData) {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n _lastER.lastReasonCode\n );\n\n objSummary[_objKey]?.push({\n entityCode: _lastER.lastEntityCode,\n eventCode: _lastER.lastEventCode,\n reasonCode: _lastER.lastReasonCode,\n reasonCodeDesc: reason?.description,\n });\n }\n }\n if (this._mappedStatesData.get(ExecutionTaskID.COMPLETED_SUCCESS)) {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getSuccessRoute(),\n params: {\n summary: objSummary,\n objSuccess: true\n }\n },\n ],\n }),\n );\n } else {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getFailureRoute(),\n params: {\n summary: objSummary,\n objSuccess: false\n }\n },\n ],\n }),\n );\n }\n }\n } else {\n let rParams: any = {};\n\n let nextStateDataArray: IDispatch.IExecutionTaskQueryResponse[] =\n await this.queryNextET(\n states.next_states.mergedObjectiveIds,\n states.rootMetaData.statusFilter\n );\n\n const storeTerminalData = nextStateDataArray.every(\n (_state) =>\n _state.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n _state.taskId === ExecutionTaskID.COMPLETED_FAILURE\n );\n\n if (storeTerminalData) {\n if (nextStateDataArray.length === 2) {\n // Array in case of last states containing c-s and c-f\n this._mappedStates.set(\n nextStateDataArray[1].taskId,\n nextStateDataArray[1]\n );\n this._stateKeys.push(nextStateDataArray[1].taskId);\n }\n nextStateDataArray.forEach((data) => {\n if (\n data.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n data.taskId === ExecutionTaskID.COMPLETED_FAILURE\n )\n this._mappedStatesData.set(data.taskId, data);\n });\n }\n const nextStateData = nextStateDataArray[0];\n\n baseETProps.showProgress(false);\n if (nextStateData != null && Object.keys(nextStateData).length > 0) {\n rParams[RouteParams.NEXT_STATES] = nextStateData;\n\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n\n /**\n * Send END/BACK custom event\n */\n if (!isLastTask) {\n const eventOutputData: endEvent = {\n meta: etOutput?.baseResponse?.meta || etOutput?.meta || {},\n etData: etOutput,\n taskId: etStates.taskId,\n nextTaskId: '',\n timestamp: Date.now(),\n customData: rParams[RouteParams.ROOT_META_DATA].customEventsData,\n };\n\n eventOutputData.nextTaskId = nextStateData.taskId;\n eventOutputData.etData.eventCode !== GO_BACK_EVENT_CODE\n ? dispatchEvent('END', etStates.taskName, eventOutputData)\n : dispatchEvent('BACK', etStates.taskName, eventOutputData);\n }\n }\n\n navigation.replace(nextStateData.taskId, rParams);\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logEvent(\n 'moveToNextET',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n private saveAndProceedToNextET = debounce(\n async (\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) => {\n try {\n await this.sendETOutput(etOutput, states, isMergedObjectiveBasedOutput);\n await this.moveToNextET(\n etOutput,\n baseETProps,\n states,\n navigation,\n isLastTask\n );\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'saveAndProceed',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n baseETProps.showProgress(false);\n showToast(error.message);\n }\n },\n 800\n );\n\n public async saveAndProceed(\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n baseETProps.showProgress(true);\n await this.saveAndProceedToNextET(\n baseETProps,\n etOutput,\n states,\n navigation,\n isLastTask,\n isMergedObjectiveBasedOutput\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -65,7 +65,7 @@ export default class ReasonCodeContainer {
|
|
|
65
65
|
throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, 'Unexpected error');
|
|
66
66
|
}
|
|
67
67
|
} catch (error) {
|
|
68
|
-
Logger.getInstance().logEvent('fetchReasonCode',
|
|
68
|
+
Logger.getInstance().logEvent('fetchReasonCode', error.message, LOG_TYPE.SDK_ERROR);
|
|
69
69
|
throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, error.message);
|
|
70
70
|
}
|
|
71
71
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DispatchSdkCache","Logger","LOG_TYPE","BaseError","ErrorCodes","ReasonCodeRepo","GraphQLClient","ReasonCodeContainer","constructor","_defineProperty","getInstance","instance","getReasonCodes","applicableCodes","entityCode","length","codes","finalApplicableCodes","getReasonsByCode","error","getReasonCodeFromText","reasonText","reasons","r","description","reasonCode","getReasonByCode","code","queryResult","fetchReasonCode","currentDate","Date","toLocaleDateString","lastFetchedTime","cache","getKeyFromCache","KEYS","REASON_FETCH_TIME","reasonFetchDate","parseInt","graphlQLResponse","fetchReasonCodes","data","reasonList","saveReasonCode","setKeyInCache","now","toString","logEvent","JSON","stringify","SDK_ERROR","REASON_CODE_API_ERROR","message","SDK_INFO","_ReasonCodeContainer"],"sources":["ReasonCodeContainer.ts"],"sourcesContent":["import DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport ReasonCodeRepo from './ReasonCodeRepo';\nimport type { ApplicableReasons } from '../../models/execTasks/ETBaseModels';\nimport type { ReasonsRow } from '../syncmanager/DBConfig';\nimport GraphQLClient from '../../network/GraphQLClient';\n\nexport default class ReasonCodeContainer {\n private static instance: ReasonCodeContainer;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private constructor() {}\n\n public static getInstance(): ReasonCodeContainer {\n if (!ReasonCodeContainer.instance) {\n ReasonCodeContainer.instance = new ReasonCodeContainer();\n }\n return ReasonCodeContainer.instance;\n }\n public async getReasonCodes(\n applicableCodes: ApplicableReasons,\n entityCode: string\n ): Promise<ReasonsRow[]> {\n if (\n !applicableCodes ||\n applicableCodes[entityCode] == null ||\n applicableCodes[entityCode].length < 1\n )\n return [];\n try {\n const codes: string[] = applicableCodes[entityCode];\n let finalApplicableCodes =\n await ReasonCodeRepo.getInstance().getReasonsByCode(codes);\n if (finalApplicableCodes && finalApplicableCodes.length > 0) {\n return finalApplicableCodes;\n } else return [];\n } catch (error: any) {\n return [];\n }\n }\n public static getReasonCodeFromText(\n reasonText: string,\n reasons: ReasonsRow[]\n ): string {\n for (const r of reasons) {\n if (r.description === reasonText) {\n return r.reasonCode;\n }\n }\n return '';\n }\n public async getReasonByCode(code: string): Promise<ReasonsRow | null> {\n try {\n if (!code) return null;\n else {\n const queryResult = await ReasonCodeRepo.getInstance().getReasonByCode(\n code\n );\n if (queryResult && queryResult.length > 0) {\n return queryResult[0];\n } else return null;\n }\n } catch (error: any) {\n return null;\n }\n }\n\n public async fetchReasonCode() {\n const currentDate = new Date().toLocaleDateString();\n const lastFetchedTime = await this.cache.getKeyFromCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME\n );\n const reasonFetchDate = new Date(\n lastFetchedTime ? parseInt(lastFetchedTime) : 0\n ).toLocaleDateString();\n if (currentDate !== reasonFetchDate) {\n try {\n let graphlQLResponse =\n await GraphQLClient.getInstance().fetchReasonCodes();\n if (\n graphlQLResponse &&\n graphlQLResponse.data &&\n graphlQLResponse.data.reasonList &&\n graphlQLResponse.data.reasonList.data\n ) {\n await ReasonCodeRepo.getInstance().saveReasonCode(\n graphlQLResponse.data.reasonList.data\n );\n await this.cache.setKeyInCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME,\n Date.now().toString()\n );\n } else {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n JSON.stringify(graphlQLResponse),\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(\n ErrorCodes.REASON_CODE_API_ERROR,\n 'Unexpected error'\n );\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n
|
|
1
|
+
{"version":3,"names":["DispatchSdkCache","Logger","LOG_TYPE","BaseError","ErrorCodes","ReasonCodeRepo","GraphQLClient","ReasonCodeContainer","constructor","_defineProperty","getInstance","instance","getReasonCodes","applicableCodes","entityCode","length","codes","finalApplicableCodes","getReasonsByCode","error","getReasonCodeFromText","reasonText","reasons","r","description","reasonCode","getReasonByCode","code","queryResult","fetchReasonCode","currentDate","Date","toLocaleDateString","lastFetchedTime","cache","getKeyFromCache","KEYS","REASON_FETCH_TIME","reasonFetchDate","parseInt","graphlQLResponse","fetchReasonCodes","data","reasonList","saveReasonCode","setKeyInCache","now","toString","logEvent","JSON","stringify","SDK_ERROR","REASON_CODE_API_ERROR","message","SDK_INFO","_ReasonCodeContainer"],"sources":["ReasonCodeContainer.ts"],"sourcesContent":["import DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport ReasonCodeRepo from './ReasonCodeRepo';\nimport type { ApplicableReasons } from '../../models/execTasks/ETBaseModels';\nimport type { ReasonsRow } from '../syncmanager/DBConfig';\nimport GraphQLClient from '../../network/GraphQLClient';\n\nexport default class ReasonCodeContainer {\n private static instance: ReasonCodeContainer;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private constructor() {}\n\n public static getInstance(): ReasonCodeContainer {\n if (!ReasonCodeContainer.instance) {\n ReasonCodeContainer.instance = new ReasonCodeContainer();\n }\n return ReasonCodeContainer.instance;\n }\n public async getReasonCodes(\n applicableCodes: ApplicableReasons,\n entityCode: string\n ): Promise<ReasonsRow[]> {\n if (\n !applicableCodes ||\n applicableCodes[entityCode] == null ||\n applicableCodes[entityCode].length < 1\n )\n return [];\n try {\n const codes: string[] = applicableCodes[entityCode];\n let finalApplicableCodes =\n await ReasonCodeRepo.getInstance().getReasonsByCode(codes);\n if (finalApplicableCodes && finalApplicableCodes.length > 0) {\n return finalApplicableCodes;\n } else return [];\n } catch (error: any) {\n return [];\n }\n }\n public static getReasonCodeFromText(\n reasonText: string,\n reasons: ReasonsRow[]\n ): string {\n for (const r of reasons) {\n if (r.description === reasonText) {\n return r.reasonCode;\n }\n }\n return '';\n }\n public async getReasonByCode(code: string): Promise<ReasonsRow | null> {\n try {\n if (!code) return null;\n else {\n const queryResult = await ReasonCodeRepo.getInstance().getReasonByCode(\n code\n );\n if (queryResult && queryResult.length > 0) {\n return queryResult[0];\n } else return null;\n }\n } catch (error: any) {\n return null;\n }\n }\n\n public async fetchReasonCode() {\n const currentDate = new Date().toLocaleDateString();\n const lastFetchedTime = await this.cache.getKeyFromCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME\n );\n const reasonFetchDate = new Date(\n lastFetchedTime ? parseInt(lastFetchedTime) : 0\n ).toLocaleDateString();\n if (currentDate !== reasonFetchDate) {\n try {\n let graphlQLResponse =\n await GraphQLClient.getInstance().fetchReasonCodes();\n if (\n graphlQLResponse &&\n graphlQLResponse.data &&\n graphlQLResponse.data.reasonList &&\n graphlQLResponse.data.reasonList.data\n ) {\n await ReasonCodeRepo.getInstance().saveReasonCode(\n graphlQLResponse.data.reasonList.data\n );\n await this.cache.setKeyInCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME,\n Date.now().toString()\n );\n } else {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n JSON.stringify(graphlQLResponse),\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(\n ErrorCodes.REASON_CODE_API_ERROR,\n 'Unexpected error'\n );\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, error.message);\n }\n } else {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n 'NO Fetch REQUIRED',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -492,10 +492,9 @@ export default class ETEventsManager {
|
|
|
492
492
|
}
|
|
493
493
|
async getRowToSync(id, dispatchId) {
|
|
494
494
|
const sqlResult = await Database.executeQuery(`SELECT * from ${EVENTS_TABLE}\
|
|
495
|
-
WHERE ${EVENTS_COLUMNS.
|
|
496
|
-
${EVENTS_COLUMNS.DISPATCH_ID} = ? and \
|
|
495
|
+
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \
|
|
497
496
|
${EVENTS_COLUMNS.SYNCED} = 0 \
|
|
498
|
-
ORDER BY ${EVENTS_COLUMNS.ID} ASC;`, [
|
|
497
|
+
ORDER BY ${EVENTS_COLUMNS.ID} ASC;`, [dispatchId]);
|
|
499
498
|
return sqlResult.rows._array;
|
|
500
499
|
}
|
|
501
500
|
async getBulkRowsToSync(id, dispatchId) {
|
|
@@ -505,11 +504,11 @@ export default class ETEventsManager {
|
|
|
505
504
|
(SELECT *, \
|
|
506
505
|
(SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \
|
|
507
506
|
FROM ${EVENTS_TABLE} \
|
|
508
|
-
WHERE
|
|
507
|
+
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \
|
|
509
508
|
) total \
|
|
510
509
|
FROM ${EVENTS_TABLE} t \
|
|
511
510
|
) q \
|
|
512
|
-
WHERE total <= ${BULK_DATA_LIMIT} \
|
|
511
|
+
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and total <= ${BULK_DATA_LIMIT} \
|
|
513
512
|
ORDER BY ${EVENTS_COLUMNS.ID};`;
|
|
514
513
|
const sqlResult = await Database.executeQuery(query, []);
|
|
515
514
|
return sqlResult.rows._array;
|
|
@@ -518,11 +517,11 @@ export default class ETEventsManager {
|
|
|
518
517
|
(SELECT *, \
|
|
519
518
|
(SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \
|
|
520
519
|
FROM ${EVENTS_TABLE} \
|
|
521
|
-
WHERE
|
|
520
|
+
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \
|
|
522
521
|
) total \
|
|
523
522
|
FROM ${EVENTS_TABLE} t \
|
|
524
523
|
) q \
|
|
525
|
-
WHERE total <= ${BULK_DATA_LIMIT} \
|
|
524
|
+
WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} and total <= ${BULK_DATA_LIMIT} \
|
|
526
525
|
ORDER BY ${EVENTS_COLUMNS.ID};`;
|
|
527
526
|
const sqlResult = await Database.executeQuery(query, []);
|
|
528
527
|
return sqlResult.rows._array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","ATTEMPT_COUNT","SYNC_ERROR","insertPODDocEvent","dspID","syncType","insertEvent","sequence","payload","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","getAllEvents","dispatchID","resultSet","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markPODDocEventSynced","sync","attempt","podDocId","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_ETEventsManager"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventETData,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n WORKFLOW_INSTANCE_COLUMNS,\n WORKFLOW_INSTANCE_TABLE,\n} from '../DBConfig';\nimport type { ExecQuery } from '../database';\nimport * as Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport Storage from '../../../utils/storage';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n private constructor() {}\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n // This is the function to insert POD_DOC type event in event table.\n async insertPODDocEvent(dspID: string, syncType: string): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`,\n [dspID, syncType, '', 1, '', 0, '', '']\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n // This function will actualy update the POD_DOC type of event as sync along with attempt count.\n async markPODDocEventSynced(sync: number, attempt:number, podDocId: String): Promise<void> {\n if (!podDocId) throw new TypeError('podDocId cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`,\n [sync,attempt,podDocId]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.ID} = ? and \\\n ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \\\n ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [id, dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if(PROCESS_MAX_RETRIED_ROWS){\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }else{\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","ATTEMPT_COUNT","SYNC_ERROR","insertPODDocEvent","dspID","syncType","insertEvent","sequence","payload","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","getAllEvents","dispatchID","resultSet","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markPODDocEventSynced","sync","attempt","podDocId","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_ETEventsManager"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventETData,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n WORKFLOW_INSTANCE_COLUMNS,\n WORKFLOW_INSTANCE_TABLE,\n} from '../DBConfig';\nimport type { ExecQuery } from '../database';\nimport * as Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport Storage from '../../../utils/storage';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n private constructor() {}\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n // This is the function to insert POD_DOC type event in event table.\n async insertPODDocEvent(dspID: string, syncType: string): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`,\n [dspID, syncType, '', 1, '', 0, '', '']\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n // This function will actualy update the POD_DOC type of event as sync along with attempt count.\n async markPODDocEventSynced(sync: number, attempt:number, podDocId: String): Promise<void> {\n if (!podDocId) throw new TypeError('podDocId cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`,\n [sync,attempt,podDocId]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \\\n ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if(PROCESS_MAX_RETRIED_ROWS){\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }else{\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }\n }\n}\n"],"mappings":";;;;AAAA,SAASA,cAAc,QAAQ,sBAAsB;AACrD,SAGEC,gBAAgB,EAGhBC,cAAc,EACdC,YAAY,QAOP,aAAa;AAEpB,OAAO,KAAKC,QAAQ,MAAM,aAAa;AACvC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,OAAOC,cAAc,IACnBC,qBAAqB,QAChB,4BAA4B;AACnC,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,eAAe,EAAEC,eAAe,EAAEC,wBAAwB,QAAQ,cAAc;AAGzF;AACA,SACEC,gBAAgB,EAChBC,SAAS,QACJ,oDAAoD;AAC3D,MAAMC,QAAQ,GAAGD,SAAS,CAACC,QAAQ;AAEnC,eAAe,MAAMC,eAAe,CAAC;EAK3BC,WAAWA,CAAA,EAAG;IAAAC,eAAA,wBAHUP,eAAe;IAAAO,eAAA,mBAC5B,CAAC;EAEG;EAEvB,aAAoBC,WAAWA,CAAA,EAA6B;IAC1D,IAAI,CAACH,eAAe,CAACI,QAAQ,EAAE;MAC7B,IAAIC,OAAO,GAAG,IAAIL,eAAe,CAAC,CAAC;MACnC,MAAMA,eAAe,CAACM,IAAI,CAAC,CAAC;MAC5BN,eAAe,CAACI,QAAQ,GAAGC,OAAO;IACpC;IACA,OAAOL,eAAe,CAACI,QAAQ;EACjC;;EAEA;EACA,aAAqBE,IAAIA,CAAA,EAAkB;IACzC,MAAMlB,QAAQ,CAACmB,YAAY,CACzB,8BAA8BpB,YAAY;AAChD,kBAAkBD,cAAc,CAACsB,EAAE;AACnC,kBAAkBtB,cAAc,CAACuB,WAAW;AAC5C,kBAAkBvB,cAAc,CAACwB,OAAO;AACxC,kBAAkBxB,cAAc,CAACyB,MAAM;AACvC,kBAAkBzB,cAAc,CAAC0B,SAAS;AAC1C,kBAAkB1B,cAAc,CAAC2B,WAAW;AAC5C,kBAAkB3B,cAAc,CAAC4B,IAAI;AACrC,kBAAkB5B,cAAc,CAAC6B,MAAM;AACvC,kBAAkB7B,cAAc,CAAC8B,aAAa;AAC9C,kBAAkB9B,cAAc,CAAC+B,UAAU,SAAS,EAC9C,EACF,CAAC;EACH;;EAEA;EACA,MAAMC,iBAAiBA,CAACC,KAAa,EAAEC,QAAgB,EAAiB;IACtE,MAAMhC,QAAQ,CAACmB,YAAY,CACzB,eAAepB,YAAY,IAAID,cAAc,CAACuB,WAAW,IAAIvB,cAAc,CAAC0B,SAAS,IAAI1B,cAAc,CAACwB,OAAO,IAAIxB,cAAc,CAAC2B,WAAW,IAAI3B,cAAc,CAAC4B,IAAI,IAAI5B,cAAc,CAAC6B,MAAM,IAAI7B,cAAc,CAACyB,MAAM,IAAIzB,cAAc,CAAC+B,UAAU,4BAA4B,EAC/Q,CAACE,KAAK,EAAEC,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CACxC,CAAC;EACH;EAEA,MAAMC,WAAWA,CACfC,QAAgB,EAChBC,OAAe,EACfJ,KAAa,EACbC,QAAgB,EAChBI,YAAoB,EACpBC,MAAe,EACA;IACf,MAAMrC,QAAQ,CAACmB,YAAY,CACzB,eAAepB,YAAY;AACjC,kBAAkBD,cAAc,CAACwB,OAAO;AACxC,kBAAkBxB,cAAc,CAACuB,WAAW;AAC5C,kBAAkBvB,cAAc,CAACwC,QAAQ;AACzC,kBAAkBxC,cAAc,CAACyB,MAAM;AACvC,kBAAkBzB,cAAc,CAAC0B,SAAS;AAC1C,kBAAkB1B,cAAc,CAAC4B,IAAI;AACrC,qCAAqC,EAC/B,CAACS,OAAO,EAAEJ,KAAK,EAAEG,QAAQ,EAAEG,MAAM,IAAI,IAAI,EAAEL,QAAQ,EAAEI,YAAY,CACnE,CAAC;EACH;EAEA,MAAcG,aAAaA,CACzBC,cAAyB,EACc;IACvC,MAAMC,MAAoC,GAAG,EAAE;IAC/C,MAAMC,UAAU,GAAGF,cAAc,CAACE,UAAU;IAC5C,MAAM;MAAEC,MAAM;MAAEC,SAAS;MAAEC,IAAI;MAAEC,SAAS;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GACxER,cAAc,CAACS,IAAI;IACrB,MAAMC,OAAY,GAAG,CAAC,CAAC;IACvB,MAAMC,MAA6B,GAAGX,cAAc,CAACY,IAAI;IAEzD,IAAIC,MAAM,GAAG,CAAC;IACd,IAAIC,UAAgE,GAClE,MAAM7C,gBAAgB,CAAC8C,aAAa,CAClCP,iBAAiB,EACjB1C,eAAe,EACf+C,MACF,CAAC;IACH,GAAG;MACD,MAAMG,UAAgE,GACpEF,UAAU;MAEZG,MAAM,CAACC,IAAI,CAACP,MAAM,CAAC,CAACQ,OAAO,CAAEC,YAAoB,IAAK;QACpDV,OAAO,CAACU,YAAY,CAAC,GAAGT,MAAM,CAACS,YAAY,CAAC;MAC9C,CAAC,CAAC;MAEFnB,MAAM,CAACoB,IAAI,CAAC;QACVnB,UAAU;QACVK,SAAS;QACTe,SAAS,EAAE,CACT;UACEnB,MAAM;UACNG,SAAS;UACTF,SAAS;UACTC,IAAI;UACJO,IAAI,EAAEF,OAAO;UACbM,UAAU;UACVP,IAAI,EAAE,CAAC;QACT,CAAC;MAEL,CAAC,CAAC;MAEFI,MAAM,IAAI/C,eAAe;MACzBgD,UAAU,GAAG,MAAM7C,gBAAgB,CAAC8C,aAAa,CAC/CP,iBAAiB,EACjB1C,eAAe,EACf+C,MACF,CAAC;IACH,CAAC,QAAQC,UAAU,CAACS,MAAM,GAAG,CAAC;IAE9B,OAAOtB,MAAM;EACf;EAEQuB,iBAAiBA,CAACxB,cAAyB,EAAE;IACnD,MAAMY,IAAwB,GAAGZ,cAAc,CAACY,IAAI;IACpD,OAAOA,IAAI;EACb;EAEQa,oBAAoBA,CAACzB,cAAyB,EAAE;IACtD,MAAMY,IAAS,GAAGZ,cAAc,CAACY,IAAI;IACrC,OAAOA,IAAI;EACb;EAEQc,wBAAwBA,CAAC1B,cAAyB,EAAE;IAC1D,MAAMY,IAAS,GAAGZ,cAAc,CAACY,IAAI;IACrC,MAAMjB,OAAO,GAAGiB,IAAI,CAACjB,OAAO;IAC5B,OAAOA,OAAO;EAChB;EAEA,MAAcgC,gBAAgBA,CAC5B3B,cAAyB,EACW;IACpC,MAAMR,QAA+C,GACnDQ,cAAc,CAACR,QAAQ;IACzB,QAAQA,QAAQ;MACd,KAAKrB,QAAQ,CAACyD,eAAe;QAAE;UAC7B,MAAMC,cAAc,GAAG,IAAI,CAACL,iBAAiB,CAACxB,cAAc,CAAC;UAC7D,OAAO,CACL;YACEY,IAAI,EAAE;cACJkB,MAAM,EAAE3D,QAAQ,CAACyD,eAAe;cAChCjC,OAAO,EAAE;gBAAEgB,MAAM,EAAEkB;cAAe;YACpC,CAAC;YACDN,MAAM,EAAEM,cAAc,CAACN;UACzB,CAAC,CACF;QACH;MACA,KAAKpD,QAAQ,CAAC4D,gBAAgB;QAAE;UAC9B,MAAMC,eAAe,GAAG,IAAI,CAACR,iBAAiB,CAACxB,cAAc,CAAC;UAE9D,OAAO,CACL;YACEY,IAAI,EAAE;cACJkB,MAAM,EAAE3D,QAAQ,CAAC4D,gBAAgB;cACjCpC,OAAO,EAAE;gBAAEgB,MAAM,EAAEqB;cAAgB;YACrC,CAAC;YACDT,MAAM,EAAES,eAAe,CAACT;UAC1B,CAAC,CACF;QACH;MACA,KAAKpD,QAAQ,CAAC8D,QAAQ;QAAE;UACtB,MAAMtC,OAAO,GAAG,MAAM,IAAI,CAACI,aAAa,CAACC,cAAc,CAAC;UACxD,OAAOL,OAAO,CAACuC,GAAG,CAAEC,QAAQ;YAAA,IAAAC,qBAAA;YAAA,OAAM;cAChCxB,IAAI,EAAE;gBAAEkB,MAAM,EAAE3D,QAAQ,CAAC8D,QAAQ;gBAAEtC,OAAO,EAAEwC;cAAS,CAAC;cACtDZ,MAAM,EAAE,EAAAa,qBAAA,GAAAD,QAAQ,CAACb,SAAS,CAAC,CAAC,CAAC,CAACN,UAAU,cAAAoB,qBAAA,uBAAhCA,qBAAA,CAAkCb,MAAM,KAAI;YACtD,CAAC;UAAA,CAAC,CAAC;QACL;MACA,KAAKpD,QAAQ,CAACkE,WAAW;QAAE;UAAA,IAAAC,mBAAA,EAAAC,mBAAA;UACzB,MAAMC,UAAU,GAAG,IAAI,CAACf,oBAAoB,CAACzB,cAAc,CAAC;UAC5D,MAAMuB,MAAM,GACV,CAAAiB,UAAU,aAAVA,UAAU,gBAAAF,mBAAA,GAAVE,UAAU,CAAEC,OAAO,cAAAH,mBAAA,uBAAnBA,mBAAA,CAAqBf,MAAM,KAAGiB,UAAU,aAAVA,UAAU,gBAAAD,mBAAA,GAAVC,UAAU,CAAEE,OAAO,cAAAH,mBAAA,uBAAnBA,mBAAA,CAAqBhB,MAAM;UAC3D,OAAO,CACL;YACEX,IAAI,EAAE;cACJkB,MAAM,EAAE3D,QAAQ,CAACkE,WAAW;cAC5B1C,OAAO,EAAE6C;YACX,CAAC;YACDjB,MAAM,EAAEA,MAAM,IAAI;UACpB,CAAC,CACF;QACH;MACA,KAAKlE,gBAAgB,CAACsF,eAAe;QAAE;UACrC,OAAO,CACL;YACE/B,IAAI,EAAE;cACJkB,MAAM,EAAEzE,gBAAgB,CAACsF,eAAe;cACxChD,OAAO,EAAE,IAAI,CAAC+B,wBAAwB,CAAC1B,cAAc;YACvD,CAAC;YACDuB,MAAM,EAAE;UACV,CAAC,CACF;QACH;MACA,KAAKlE,gBAAgB,CAACuF,0BAA0B;QAAE;UAChD,OAAO,CACL;YACEhC,IAAI,EAAE;cACJkB,MAAM,EAAEzE,gBAAgB,CAACuF,0BAA0B;cACnDjD,OAAO,EAAE,IAAI,CAAC+B,wBAAwB,CAAC1B,cAAc;YACvD,CAAC;YACDuB,MAAM,EAAE;UACV,CAAC,CACF;QACH;MACA;QAAS;UACP,OAAO,CACL;YACEX,IAAI,EAAE;cACJkB,MAAM,EAAEzE,gBAAgB,CAACwF,OAAO;cAChClD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD4B,MAAM,EAAE;UACV,CAAC,CACF;QACH;IACF;EACF;EAEQuB,SAASA,CAAClC,IAAS,EAAEmC,SAAiB,EAAEC,QAAgB,EAAS;IACvE,MAAM/C,MAAW,GAAG,EAAE;IACtB,MAAMgD,UAAU,GAAGrC,IAAI,CAACoC,QAAQ,CAAC;IAEjC,IAAI,CAACC,UAAU,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE;MAC7C,OAAOhD,MAAM;IACf;IAEA,KAAK,IAAImD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,UAAU,CAAC1B,MAAM,EAAE6B,CAAC,IAAIL,SAAS,EAAE;MACrD,MAAMM,KAAU,GAAG,CAAC,CAAC;MAErB,KAAK,MAAMC,GAAG,IAAI1C,IAAI,EAAE;QACtB,IAAIA,IAAI,CAAC2C,cAAc,CAACD,GAAG,CAAC,EAAE;UAC5BD,KAAK,CAACC,GAAG,CAAC,GACRA,GAAG,KAAKN,QAAQ,GAAGC,UAAU,CAACO,KAAK,CAACJ,CAAC,EAAEA,CAAC,GAAGL,SAAS,CAAC,GAAGnC,IAAI,CAAC0C,GAAG,CAAC;QACrE;MACF;MAEArD,MAAM,CAACoB,IAAI,CAACgC,KAAK,CAAC;IACpB;IAEA,OAAOpD,MAAM;EACf;;EAEA;EACA,MAAMwD,gBAAgBA,CAACC,UAAqB,EAAiB;IAC3D,IAAIC,IAAW,GAAG,EAAE;IACpB,IAAIC,MAAa,GAAG,EAAE;IACtB,IAAIC,SAAsB,GAAG,EAAE,CAAC,CAAC;IACjC,IAAI;MACFD,MAAM,CAACvC,IAAI,CAAC,WAAW,CAAC;MACxB,MAAMyC,KAAK,GAAGC,IAAI,CAACC,SAAS,CAACN,UAAU,CAACjD,IAAI,CAAC;MAC7CkD,IAAI,CAACtC,IAAI,CACPqC,UAAU,CAAC9C,IAAI,EACf8C,UAAU,CAACxD,UAAU,EACrBwD,UAAU,CAAClE,QAAQ,EACnBsE;MACA;MACA;MACF,CAAC;MACDD,SAAS,CAACxC,IAAI,CAAC;QACb4C,KAAK,EAAE,eAAe1G,YAAY;AAC1C,gBAAgBD,cAAc,CAACwB,OAAO;AACtC,gBAAgBxB,cAAc,CAACuB,WAAW;AAC1C,gBAAgBvB,cAAc,CAAC0B,SAAS;AACxC,gBAAgB1B,cAAc,CAAC4B,IAAI;AACnC,uBAAuB0E,MAAM,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG;QAClCP;MACF,CAAC,CAAC;MACF,MAAMnG,QAAQ,CAAC2G,gBAAgB,CAACN,SAAS,CAAC;MAC1C,IAAI,CAACO,QAAQ,GAAG,CAAC;IACnB,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZ,IAAI,IAAI,CAACD,QAAQ,GAAG,IAAI,CAACE,aAAa,EAAE;QACtC1G,MAAM,CAACW,WAAW,CAAC,CAAC,CAACgG,QAAQ,CAC3B,mBAAmB,EACnB,IAAI,CAACH,QAAQ,CAACI,QAAQ,CAAC,CAAC,EACxB3G,QAAQ,CAAC4G,SACX,CAAC;QACD,IAAI,CAACL,QAAQ,EAAE;QACf,MAAM,IAAI,CAACX,gBAAgB,CAACC,UAAU,CAAC;MACzC,CAAC,MAAM;QACL,IAAI,CAACU,QAAQ,GAAG,CAAC;QACjB,MAAMC,GAAG;MACX;IACF;EACF;;EAIA;EACA,MAAMK,eAAeA,CAAChB,UAAqB,EAAiB;IAC1D,IAAI;MACF,MAAM/C,MAAiC,GAAG,MAAM,IAAI,CAACgB,gBAAgB,CACnE+B,UACF,CAAC;MACD,IAAIC,IAAW,GAAG,EAAE;MACpB,IAAIC,MAAa,GAAG,EAAE;MACtB,IAAIC,SAAsB,GAAG,EAAE,CAAC,CAAC;MACjC,MAAMC,KAAK,GAAGC,IAAI,CAACC,SAAS,CAACN,UAAU,CAACjD,IAAI,IAAI,CAAC,CAAC,CAAC;MAEnD,IACEiD,UAAU,CAAClE,QAAQ,KAAKrB,QAAQ,CAAC8D,QAAQ,IACzCyB,UAAU,CAAClE,QAAQ,KAAKrB,QAAQ,CAACyD,eAAe,IAChD8B,UAAU,CAAClE,QAAQ,KAAKrB,QAAQ,CAAC4D,gBAAgB,IACjD2B,UAAU,CAAClE,QAAQ,KAAKnC,gBAAgB,CAACsF,eAAe,IACxDe,UAAU,CAAClE,QAAQ,KAAKnC,gBAAgB,CAACuF,0BAA0B,EACnE;QACAjC,MAAM,CAACQ,OAAO,CACZ,CAACwD,kBAAsC,EAAEC,KAAa,KAAK;UACzD,MAAMzC,QAAQ,GAAG4B,IAAI,CAACC,SAAS,CAACW,kBAAkB,CAAC/D,IAAI,CAAC;UACxD,IACExD,cAAc,CAACuH,kBAAkB,CAAC/D,IAAI,CAACkB,MAAM,CAAC,IAC9C1E,cAAc,CAAC+E,QAAQ,CAAC,EACxB;YACA,MAAM,IAAI1E,SAAS,CACjBC,cAAc,CAACmH,oBAAoB,EACnClH,qBACF,CAAC;UACH;UACAiG,MAAM,CAACvC,IAAI,CAAC,aAAa,CAAC;UAC1BsC,IAAI,CAACtC,IAAI,CACPc,QAAQ,EACRuB,UAAU,CAACxD,UAAU,EACrBwD,UAAU,CAAClE,QAAQ,EACnBmF,kBAAkB,CAACpD,MAAM,EACzBuC,KACF,CAAC;UACDD,SAAS,CAACxC,IAAI,CAAC;YACb4C,KAAK,EAAE,eAAe1G,YAAY;AAChD,gBAAgBD,cAAc,CAACwB,OAAO;AACtC,gBAAgBxB,cAAc,CAACuB,WAAW;AAC1C,gBAAgBvB,cAAc,CAAC0B,SAAS;AACxC,gBAAgB1B,cAAc,CAAC2B,WAAW;AAC1C,gBAAgB3B,cAAc,CAAC4B,IAAI;AACnC,uBAAuB0E,MAAM,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG;YAC5BP;UACF,CAAC,CAAC;UACFC,MAAM,GAAG,EAAE;UACXD,IAAI,GAAG,EAAE;QACX,CACF,CAAC;QAED,MAAMnG,QAAQ,CAAC2G,gBAAgB,CAACN,SAAS,CAAC;QAC1C,IAAI,CAACO,QAAQ,GAAG,CAAC;MACnB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MAEA;MACA;MACA;MACA;MAAA,KACK;QACH,MAAMU,WAAW,GAAG,IAAI,CAAChC,SAAS,CAACnC,MAAM,EAAE7C,eAAe,EAAE,SAAS,CAAC;QAEtEgH,WAAW,CAAC3D,OAAO,CAAC,CAAC4D,OAAO,EAAEH,KAAK,KAAK;UACtC,MAAMzC,QAAQ,GAAG4B,IAAI,CAACC,SAAS,CAACe,OAAO,CAACpF,OAAO,CAAC;UAChD,IAAIvC,cAAc,CAAC2H,OAAO,CAACjD,MAAM,CAAC,IAAI1E,cAAc,CAAC+E,QAAQ,CAAC,EAC5D,MAAM,IAAI1E,SAAS,CACjBC,cAAc,CAACmH,oBAAoB,EACnClH,qBACF,CAAC;UACHiG,MAAM,CAACvC,IAAI,CAAC,aAAa,CAAC;UAC1BsC,IAAI,CAACtC,IAAI,CAAC0D,OAAO,EAAErB,UAAU,CAACxD,UAAU,EAAEwD,UAAU,CAAClE,QAAQ,EAAEsE,KAAK,CAAC;UACrED,SAAS,CAACxC,IAAI,CAAC;YACb4C,KAAK,EAAE,eAAe1G,YAAY;AAC9C,gBAAgBD,cAAc,CAACwB,OAAO;AACtC,gBAAgBxB,cAAc,CAACuB,WAAW;AAC1C,gBAAgBvB,cAAc,CAAC0B,SAAS;AACxC,gBAAgB1B,cAAc,CAAC2B,WAAW;AAC1C,gBAAgB3B,cAAc,CAAC4B,IAAI;AACnC,uBAAuB0E,MAAM,CAACM,IAAI,CAAC,GAAG,CAAC,GAAG;YAC9BP;UACF,CAAC,CAAC;UACFC,MAAM,GAAG,EAAE;UACXD,IAAI,GAAG,EAAE;QACX,CAAC,CAAC;QACF,MAAMnG,QAAQ,CAAC2G,gBAAgB,CAACN,SAAS,CAAC;QAC1C,IAAI,CAACO,QAAQ,GAAG,CAAC;MACnB;IACF,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZ,IAAI,IAAI,CAACD,QAAQ,GAAG,IAAI,CAACE,aAAa,EAAE;QACtC1G,MAAM,CAACW,WAAW,CAAC,CAAC,CAACgG,QAAQ,CAC3B,kBAAkB,EAClB,IAAI,CAACH,QAAQ,CAACI,QAAQ,CAAC,CAAC,EACxB3G,QAAQ,CAAC4G,SACX,CAAC;QACD,IAAI,CAACL,QAAQ,EAAE;QACf,MAAM,IAAI,CAACM,eAAe,CAAChB,UAAU,CAAC;MACxC,CAAC,MAAM;QACL,IAAI,CAACU,QAAQ,GAAG,CAAC;QACjB,MAAMC,GAAG;MACX;IACF;EACF;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAMW,YAAYA,CAACC,UAAmB,EAAuB;IAC3D,IAAIA,UAAU,EAAE;MACd,MAAMC,SAAS,GAAG,MAAM1H,QAAQ,CAACmB,YAAY,CAC3C,iBAAiBpB,YAAY;AACrC,oBAAoBD,cAAc,CAACuB,WAAW,OAAO,EAC7C,CAACoG,UAAU,CACb,CAAC;MACD,OAAOC,SAAS,CAACC,IAAI,CAACC,MAAM;IAC9B,CAAC,MAAM;MACL,MAAMF,SAAS,GAAG,MAAM1H,QAAQ,CAACmB,YAAY,CAC3C,iBAAiBpB,YAAY,GAAG,EAChC,EACF,CAAC;MACD,OAAO2H,SAAS,CAACC,IAAI,CAACC,MAAM;IAC9B;EACF;EAEA,MAAMC,oBAAoBA,CAAA,EAAwB;IAChD,IAAIH,SAAS,GAAG,MAAM1H,QAAQ,CAACmB,YAAY,CACzC,iBAAiBpB,YAAY;AACnC,oBAAoBD,cAAc,CAAC6B,MAAM,OAAO,EAC1C,EACF,CAAC;IACD,OAAO+F,SAAS,CAACC,IAAI,CAACC,MAAM;EAC9B;EAEOE,eAAeA,CAAA,EAAG;IACvB,MAAMC,iBAAiB,GAAG;MACxBtB,KAAK,EAAE,eAAe1G,YAAY,GAAG;MACrCoG,IAAI,EAAE;IACR,CAAC;IACD,MAAM6B,0BAA0B,GAAG;MACjCvB,KAAK,EAAE;AACb,UAAU1G,YAAY,IAAI;MACpBoG,IAAI,EAAE;IACR,CAAC;IAED,OAAOnG,QAAQ,CAAC2G,gBAAgB,CAAC,CAC/BoB,iBAAiB,EACjBC,0BAA0B,CAC3B,CAAC;EACJ;EAEA,MAAMC,WAAWA,CAACC,EAAU,EAAEC,SAAiB,EAAiB;IAC9D,IAAI,CAACD,EAAE,EAAE,MAAM,IAAIE,SAAS,CAAC,yBAAyB,CAAC;IACvD,MAAMpI,QAAQ,CAACmB,YAAY,CACzB,UAAUpB,YAAY;AAC5B;AACA,cAAcD,cAAc,CAAC+B,UAAU,eAAe/B,cAAc,CAACsB,EAAE,OAAO,EACxE,CAAC+G,SAAS,EAAED,EAAE,CAChB,CAAC;EACH;;EAEA;EACA,MAAMG,qBAAqBA,CAACC,IAAY,EAAEC,OAAc,EAAEC,QAAgB,EAAiB;IACzF,IAAI,CAACA,QAAQ,EAAE,MAAM,IAAIJ,SAAS,CAAC,yBAAyB,CAAC;IAC7D,MAAMpI,QAAQ,CAACmB,YAAY,CACzB,UAAUpB,YAAY,QAAQD,cAAc,CAAC6B,MAAM,SAAS7B,cAAc,CAAC8B,aAAa,cAAc9B,cAAc,CAAC0B,SAAS,OAAO,EACrI,CAAC8G,IAAI,EAACC,OAAO,EAACC,QAAQ,CACxB,CAAC;EACH;EAEA,MAAMC,eAAeA,CAACP,EAAU,EAAiB;IAC/C,IAAI,CAACA,EAAE,EAAE,MAAM,IAAIE,SAAS,CAAC,yBAAyB,CAAC;IACvD,MAAMpI,QAAQ,CAACmB,YAAY,CACzB,UAAUpB,YAAY,QAAQD,cAAc,CAAC6B,MAAM,cAAc7B,cAAc,CAACsB,EAAE,OAAO,EACzF,CAAC8G,EAAE,CACL,CAAC;EACH;EAEA,MAAMQ,uBAAuBA,CAAC1G,QAAgB,EAAuB;IACnE,IAAI2G,YAAY,GAAG,MAAM3I,QAAQ,CAACmB,YAAY,CAC5C,iBAAiBpB,YAAY;AACnC,oBAAoBD,cAAc,CAAC6B,MAAM;AACzC,kBAAkB7B,cAAc,CAAC0B,SAAS;AAC1C,uBAAuB1B,cAAc,CAACsB,EAAE,eAAe,EACjD,CAACY,QAAQ,CACX,CAAC;IACD,OAAO2G,YAAY,CAAChB,IAAI,CAACC,MAAM;EACjC;EACA,MAAMgB,mBAAmBA,CAAC5G,QAAgB,EAAuB;IAC/D,IAAI2G,YAAY,GAAG,MAAM3I,QAAQ,CAACmB,YAAY,CAC5C,iBAAiBpB,YAAY;AACnC,oBAAoBD,cAAc,CAAC6B,MAAM;AACzC,kBAAkB7B,cAAc,CAAC0B,SAAS;AAC1C,uBAAuB1B,cAAc,CAACsB,EAAE,eAAe,EACjD,CAACY,QAAQ,CACX,CAAC;IACD,OAAO2G,YAAY,CAAChB,IAAI,CAACC,MAAM;EACjC;EACA,MAAMiB,eAAeA,CAACpB,UAAkB,EAAuB;IAC7D,MAAMqB,SAAS,GAAG,MAAM9I,QAAQ,CAACmB,YAAY,CAC3C,iBAAiBpB,YAAY;AACnC,oBAAoBD,cAAc,CAAC6B,MAAM;AACzC,eAAe7B,cAAc,CAAC0B,SAAS,WAAW1B,cAAc,CAAC0B,SAAS;AAC1E,kBAAkB1B,cAAc,CAACuB,WAAW;AAC5C,uBAAuBvB,cAAc,CAACsB,EAAE,OAAO,EACzC,CAACT,QAAQ,CAACyD,eAAe,EAAEzD,QAAQ,CAAC4D,gBAAgB,EAAEkD,UAAU,CAClE,CAAC;IACD,OAAOqB,SAAS,CAACnB,IAAI,CAACC,MAAM;EAC9B;EACA,MAAMmB,mBAAmBA,CAAC3G,YAAoB,EAAuB;IACnE,IAAI4G,EAAE,GAAG,MAAMhJ,QAAQ,CAACmB,YAAY,CAClC,iBAAiBpB,YAAY,UAAUD,cAAc,CAAC4B,IAAI,OAAO,EACjE,CAACU,YAAY,CACf,CAAC;IACD,OAAO4G,EAAE,CAACrB,IAAI,CAACC,MAAM;EACvB;EAEA,MAAMqB,YAAYA,CAACf,EAAU,EAAExF,UAAkB,EAAuB;IACtE,MAAMoG,SAAS,GAAG,MAAM9I,QAAQ,CAACmB,YAAY,CAC3C,iBAAiBpB,YAAY;AACnC,oBAAoBD,cAAc,CAACuB,WAAW;AAC9C,cAAcvB,cAAc,CAAC6B,MAAM;AACnC,uBAAuB7B,cAAc,CAACsB,EAAE,OAAO,EACzC,CAACsB,UAAU,CACb,CAAC;IACD,OAAOoG,SAAS,CAACnB,IAAI,CAACC,MAAM;EAC9B;EAEA,MAAMsB,iBAAiBA,CAAChB,EAAU,EAAExF,UAAkB,EAAuB;IAC3E;IACA,IAAGlC,wBAAwB,EAAC;MAC1B,MAAMiG,KAAK,GAAG;AACpB;AACA,sBAAsB3G,cAAc,CAAC2B,WAAW;AAChD,mBAAmB1B,YAAY;AAC/B,sBAAsBD,cAAc,CAACuB,WAAW,SAASqB,UAAU,SAAS5C,cAAc,CAAC2B,WAAW,YAAY3B,cAAc,CAAC6B,MAAM;AACvI;AACA,qBAAqB5B,YAAY;AACjC;AACA,sBAAsBD,cAAc,CAACuB,WAAW,SAASqB,UAAU,SAAS5C,cAAc,CAAC2B,WAAW,YAAY3B,cAAc,CAAC6B,MAAM,qBAAqBrB,eAAe;AAC3K,yBAAyBR,cAAc,CAACsB,EAAE,GAAG;MAEvC,MAAM0H,SAAS,GAAG,MAAM9I,QAAQ,CAACmB,YAAY,CAACsF,KAAK,EAAE,EAAE,CAAC;MACxD,OAAOqC,SAAS,CAACnB,IAAI,CAACC,MAAM;IAC9B,CAAC,MAAI;MACH,MAAMnB,KAAK,GAAG;AACpB;AACA,sBAAsB3G,cAAc,CAAC2B,WAAW;AAChD,mBAAmB1B,YAAY;AAC/B,sBAAsBD,cAAc,CAACuB,WAAW,SAASqB,UAAU,SAAS5C,cAAc,CAAC2B,WAAW,YAAY3B,cAAc,CAAC6B,MAAM,YAAY7B,cAAc,CAAC8B,aAAa,MAAMrB,eAAe;AACpM;AACA,qBAAqBR,YAAY;AACjC;AACA,sBAAsBD,cAAc,CAACuB,WAAW,SAASqB,UAAU,SAAS5C,cAAc,CAAC2B,WAAW,YAAY3B,cAAc,CAAC6B,MAAM,YAAY7B,cAAc,CAAC8B,aAAa,MAAMrB,eAAe,iBAAiBD,eAAe;AACpO,yBAAyBR,cAAc,CAACsB,EAAE,GAAG;MAEvC,MAAM0H,SAAS,GAAG,MAAM9I,QAAQ,CAACmB,YAAY,CAACsF,KAAK,EAAE,EAAE,CAAC;MACxD,OAAOqC,SAAS,CAACnB,IAAI,CAACC,MAAM;IAC9B;EACF;AACF;AAACuB,gBAAA,GAvoBoBvI,eAAe;AAAAE,eAAA,CAAfF,eAAe","ignoreList":[]}
|
|
@@ -223,6 +223,7 @@ export default class EventsSyncManager {
|
|
|
223
223
|
async forceSync() {
|
|
224
224
|
if (!this.eventsManager) this.eventsManager = await ETEventsManager.getInstance();
|
|
225
225
|
this._retries = 0;
|
|
226
|
+
this.inProgress = false;
|
|
226
227
|
await this.startSync();
|
|
227
228
|
}
|
|
228
229
|
async isSyncPending() {
|