@os1-platform/dispatch-mobile 2.1.25 → 2.1.27

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.
@@ -24,6 +24,7 @@ var _AppSyncManager = _interopRequireDefault(require("../syncmanager/AppSyncMana
24
24
  var _constants2 = require("../syncmanager/constants");
25
25
  var _storage = _interopRequireDefault(require("../../utils/storage"));
26
26
  var _utils = require("../../components/executiontasks/scan/utils");
27
+ var _native = require("@react-navigation/native");
27
28
  var _DispatchStateContainer;
28
29
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
29
30
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -35,8 +36,8 @@ class DispatchStateContainer {
35
36
  constructor() {
36
37
  _defineProperty(this, "cacheKeys", _DispatchSdkCache.default.KEYS);
37
38
  _defineProperty(this, "cache", _DispatchSdkCache.default.getInstance());
38
- _defineProperty(this, "successRoute", null);
39
- _defineProperty(this, "failureRoute", null);
39
+ _defineProperty(this, "successRoute", '');
40
+ _defineProperty(this, "failureRoute", '');
40
41
  _defineProperty(this, "_stateKeys", []);
41
42
  _defineProperty(this, "_jobObjectives", null);
42
43
  _defineProperty(this, "_mappedStates", new Map());
@@ -431,20 +432,32 @@ class DispatchStateContainer {
431
432
  this._stateKeys = [];
432
433
  (0, _utils.clearScanOutput)(states.rootMetaData.prefixedMergedObjectiveId);
433
434
  (0, _utils.clearPaymentSharedData)(states.next_states.mergedObjectiveIds);
434
- navigation.replace(this.getSuccessRoute(), {
435
- summary: objSummary,
436
- objSuccess: true
437
- });
435
+ navigation.dispatch(_native.CommonActions.reset({
436
+ index: 0,
437
+ routes: [{
438
+ name: this.getSuccessRoute(),
439
+ params: {
440
+ summary: objSummary,
441
+ objSuccess: true
442
+ }
443
+ }]
444
+ }));
438
445
  } else {
439
446
  this._mappedStatesData.clear();
440
447
  this._mappedStates.clear();
441
448
  this._stateKeys = [];
442
449
  (0, _utils.clearScanOutput)(states.rootMetaData.prefixedMergedObjectiveId);
443
450
  (0, _utils.clearPaymentSharedData)(states.next_states.mergedObjectiveIds);
444
- navigation.replace(this.getFailureRoute(), {
445
- summary: objSummary,
446
- objSuccess: false
447
- });
451
+ navigation.dispatch(_native.CommonActions.reset({
452
+ index: 0,
453
+ routes: [{
454
+ name: this.getFailureRoute(),
455
+ params: {
456
+ summary: objSummary,
457
+ objSuccess: false
458
+ }
459
+ }]
460
+ }));
448
461
  }
449
462
  }
450
463
  } else {
@@ -1 +1 @@
1
- {"version":3,"names":["_SyncManagerUtils","require","_platformCoreosExecutionEngineSdk","_Toaster","_ETConfig","_EventsSyncManager","_interopRequireDefault","_Logger","_interopRequireWildcard","_DispatchSdkCache","_BaseError","_ExecTaskUtils","_ReasonCodeContainer","_ErrorCodes","_RouteParams","_lodash","_EventDispatcher","_EventCodeContainer","_constants","_AppSyncManager","_constants2","_storage","_utils","_DispatchStateContainer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DispatchStateContainer","constructor","DispatchSdkCache","KEYS","getInstance","Map","debounce","baseETProps","etOutput","states","navigation","isLastTask","isMergedObjectiveBasedOutput","sendETOutput","moveToNextET","error","Logger","logEvent","message","LOG_TYPE","SDK_ERROR","showProgress","showToast","stateKeys","_stateKeys","mappedStates","_mappedStates","initDispatchExecutor","dispatchID","jobs","dispatchWorkflows","maxTaskReattempt","length","keys","InvalidArgumentsError","SDK_WARNING","BaseError","BaseErrorCodes","InvalidArgumentError","clearCache","setKeyInCache","DISPATCH_ID","createFmsFolder","storage","Storage","sharedPreferenceDispatchId","getSharedItem","SHARED_PREFERENCE_DISPATCH_ID","Promise","all","setSharedItem","LAST_SYNCED_EVENT_ID","dispatchExecutor","start","eventSyncBatchSize","BULK_DATA_LIMIT","queryNextET","mergedObjectiveId","statusFilter","ErrorCodes","MERGING_ERROR","getNextTask","updateScanETOutputSharedPreference","prefixedMergedObjectiveId","prefixKey","mergedObjectiveIds","output","SHARED_PREFERENCE_SCAN_OUTPUT","scanETOutput","JSON","parse","_scanETOutput","forEach","mergedId","stringify","updatePendingSharedPreference","eventType","mergedIdOutput","SCAN_MERGED_OBJ_ID_OUTPUT","mergedIds","_mergedIds","success","push","pending","failure","RouteParams","NEXT_STATES","taskName","taskID","taskId","input","lockTaskResponse","promises","findPrefixKey","defaultConfig","index","filterIds","getScanMergedObjectID","_output","defaultOutput","eventCode","REASON_NOT_USED","reasonCode","saveTaskOutput","ec","rc","response","scanOutput","routeParams","ROOT_META_DATA","instance","setSuccessRoute","route","successRoute","getSuccessRoute","setFailureRoute","failureRoute","getFailureRoute","getObjectiveSummary","jobObjective","summaryData","EventsSyncManager","jobId","objectiveId","k","reason","ReasonCodeContainer","getReasonByCode","reasonCodeDesc","description","name","navigateToNextTask","etSuccess","entityCode","eTaskID","isMergeObjectiveBasedOutput","params","reasonsContainer","eventsContainer","EventCodeContainer","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","CustomScreens","REMARK_SCREEN","successCodes","getReasonCodes","baseResponse","REASONS","failureCodes","_failureApplicable","failureEventCodes","GO_BACK_EVENT_CODE","getBaseETResponse","etStates","next_states","size","st","pop","_stData","delete","rootMetaData","cache","clearKeys","cacheKeys","CURRENT_WORKING_TASK_ID","AppSyncManager","isForceStartEnabled","isSyncActive","startSDKSyncManager","objSummary","_key","_value","_mappedStatesData","_objKey","ExecutionTaskID","COMPLETED_SUCCESS","lastERCData","DispatchExecutor","getlastERC","_lastER","_objSummary$_objKey","lastReasonCode","lastEntityCode","lastEventCode","clear","clearScanOutput","clearPaymentSharedData","summary","objSuccess","nextStateDataArray","storeTerminalData","every","_state","COMPLETED_FAILURE","data","nextStateData","_etOutput$baseRespons","eventOutputData","meta","etData","nextTaskId","timestamp","Date","now","customData","customEventsData","dispatchEvent","saveAndProceedToNextET","exports"],"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';\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 | null = null;\n private failureRoute: string | null = null;\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 | null {\n return this.successRoute;\n }\n public setFailureRoute(route: string) {\n this.failureRoute = route;\n }\n public getFailureRoute(): string | null {\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.replace(this.getSuccessRoute(), {\n summary: objSummary,\n objSuccess: true,\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.replace(this.getFailureRoute(), {\n summary: objSummary,\n objSuccess: false,\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":["_SyncManagerUtils","require","_platformCoreosExecutionEngineSdk","_Toaster","_ETConfig","_EventsSyncManager","_interopRequireDefault","_Logger","_interopRequireWildcard","_DispatchSdkCache","_BaseError","_ExecTaskUtils","_ReasonCodeContainer","_ErrorCodes","_RouteParams","_lodash","_EventDispatcher","_EventCodeContainer","_constants","_AppSyncManager","_constants2","_storage","_utils","_native","_DispatchStateContainer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DispatchStateContainer","constructor","DispatchSdkCache","KEYS","getInstance","Map","debounce","baseETProps","etOutput","states","navigation","isLastTask","isMergedObjectiveBasedOutput","sendETOutput","moveToNextET","error","Logger","logEvent","message","LOG_TYPE","SDK_ERROR","showProgress","showToast","stateKeys","_stateKeys","mappedStates","_mappedStates","initDispatchExecutor","dispatchID","jobs","dispatchWorkflows","maxTaskReattempt","length","keys","InvalidArgumentsError","SDK_WARNING","BaseError","BaseErrorCodes","InvalidArgumentError","clearCache","setKeyInCache","DISPATCH_ID","createFmsFolder","storage","Storage","sharedPreferenceDispatchId","getSharedItem","SHARED_PREFERENCE_DISPATCH_ID","Promise","all","setSharedItem","LAST_SYNCED_EVENT_ID","dispatchExecutor","start","eventSyncBatchSize","BULK_DATA_LIMIT","queryNextET","mergedObjectiveId","statusFilter","ErrorCodes","MERGING_ERROR","getNextTask","updateScanETOutputSharedPreference","prefixedMergedObjectiveId","prefixKey","mergedObjectiveIds","output","SHARED_PREFERENCE_SCAN_OUTPUT","scanETOutput","JSON","parse","_scanETOutput","forEach","mergedId","stringify","updatePendingSharedPreference","eventType","mergedIdOutput","SCAN_MERGED_OBJ_ID_OUTPUT","mergedIds","_mergedIds","success","push","pending","failure","RouteParams","NEXT_STATES","taskName","taskID","taskId","input","lockTaskResponse","promises","findPrefixKey","defaultConfig","index","filterIds","getScanMergedObjectID","_output","defaultOutput","eventCode","REASON_NOT_USED","reasonCode","saveTaskOutput","ec","rc","response","scanOutput","routeParams","ROOT_META_DATA","instance","setSuccessRoute","route","successRoute","getSuccessRoute","setFailureRoute","failureRoute","getFailureRoute","getObjectiveSummary","jobObjective","summaryData","EventsSyncManager","jobId","objectiveId","k","reason","ReasonCodeContainer","getReasonByCode","reasonCodeDesc","description","name","navigateToNextTask","etSuccess","entityCode","eTaskID","isMergeObjectiveBasedOutput","params","reasonsContainer","eventsContainer","EventCodeContainer","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","CustomScreens","REMARK_SCREEN","successCodes","getReasonCodes","baseResponse","REASONS","failureCodes","_failureApplicable","failureEventCodes","GO_BACK_EVENT_CODE","getBaseETResponse","etStates","next_states","size","st","pop","_stData","delete","rootMetaData","cache","clearKeys","cacheKeys","CURRENT_WORKING_TASK_ID","AppSyncManager","isForceStartEnabled","isSyncActive","startSDKSyncManager","objSummary","_key","_value","_mappedStatesData","_objKey","ExecutionTaskID","COMPLETED_SUCCESS","lastERCData","DispatchExecutor","getlastERC","_lastER","_objSummary$_objKey","lastReasonCode","lastEntityCode","lastEventCode","clear","clearScanOutput","clearPaymentSharedData","dispatch","CommonActions","reset","routes","summary","objSuccess","nextStateDataArray","storeTerminalData","every","_state","COMPLETED_FAILURE","data","nextStateData","_etOutput$baseRespons","eventOutputData","meta","etData","nextTaskId","timestamp","Date","now","customData","customEventsData","dispatchEvent","saveAndProceedToNextET","exports"],"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":[]}
@@ -26,12 +26,13 @@ import { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine
26
26
  import { BULK_DATA_LIMIT, LAST_SYNCED_EVENT_ID, SCAN_MERGED_OBJ_ID_OUTPUT, SHARED_PREFERENCE_DISPATCH_ID, SHARED_PREFERENCE_SCAN_OUTPUT } from '../syncmanager/constants';
27
27
  import Storage from '../../utils/storage';
28
28
  import { clearPaymentSharedData, clearScanOutput, getScanMergedObjectID } from '../../components/executiontasks/scan/utils';
29
+ import { CommonActions } from '@react-navigation/native';
29
30
  export default class DispatchStateContainer {
30
31
  constructor() {
31
32
  _defineProperty(this, "cacheKeys", DispatchSdkCache.KEYS);
32
33
  _defineProperty(this, "cache", DispatchSdkCache.getInstance());
33
- _defineProperty(this, "successRoute", null);
34
- _defineProperty(this, "failureRoute", null);
34
+ _defineProperty(this, "successRoute", '');
35
+ _defineProperty(this, "failureRoute", '');
35
36
  _defineProperty(this, "_stateKeys", []);
36
37
  _defineProperty(this, "_jobObjectives", null);
37
38
  _defineProperty(this, "_mappedStates", new Map());
@@ -426,20 +427,32 @@ export default class DispatchStateContainer {
426
427
  this._stateKeys = [];
427
428
  clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);
428
429
  clearPaymentSharedData(states.next_states.mergedObjectiveIds);
429
- navigation.replace(this.getSuccessRoute(), {
430
- summary: objSummary,
431
- objSuccess: true
432
- });
430
+ navigation.dispatch(CommonActions.reset({
431
+ index: 0,
432
+ routes: [{
433
+ name: this.getSuccessRoute(),
434
+ params: {
435
+ summary: objSummary,
436
+ objSuccess: true
437
+ }
438
+ }]
439
+ }));
433
440
  } else {
434
441
  this._mappedStatesData.clear();
435
442
  this._mappedStates.clear();
436
443
  this._stateKeys = [];
437
444
  clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);
438
445
  clearPaymentSharedData(states.next_states.mergedObjectiveIds);
439
- navigation.replace(this.getFailureRoute(), {
440
- summary: objSummary,
441
- objSuccess: false
442
- });
446
+ navigation.dispatch(CommonActions.reset({
447
+ index: 0,
448
+ routes: [{
449
+ name: this.getFailureRoute(),
450
+ params: {
451
+ summary: objSummary,
452
+ objSuccess: false
453
+ }
454
+ }]
455
+ }));
443
456
  }
444
457
  }
445
458
  } else {
@@ -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","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","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';\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 | null = null;\n private failureRoute: string | null = null;\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 | null {\n return this.successRoute;\n }\n public setFailureRoute(route: string) {\n this.failureRoute = route;\n }\n public getFailureRoute(): string | null {\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.replace(this.getSuccessRoute(), {\n summary: objSummary,\n objSuccess: true,\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.replace(this.getFailureRoute(), {\n summary: objSummary,\n objSuccess: false,\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","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":[]}
@@ -53,9 +53,9 @@ export default class DispatchStateContainer {
53
53
  private findPrefixKey;
54
54
  static getInstance(): DispatchStateContainer;
55
55
  setSuccessRoute(route: string): void;
56
- getSuccessRoute(): string | null;
56
+ getSuccessRoute(): string;
57
57
  setFailureRoute(route: string): void;
58
- getFailureRoute(): string | null;
58
+ getFailureRoute(): string;
59
59
  getObjectiveSummary(jobObjective: JobObjectiveType): Promise<ETSummary[]>;
60
60
  navigateToNextTask(navigation: any, route: any, etOutput: any, etSuccess: boolean, entityCode: string, eTaskID: ExecutionTaskID, baseETProps: BaseETProps, isLastTask?: boolean, isMergeObjectiveBasedOutput?: boolean): Promise<void>;
61
61
  moveToNextET(etOutput: any, baseETProps: BaseETProps, states: stateParams, navigation: any, isLastTask?: boolean): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os1-platform/dispatch-mobile",
3
- "version": "2.1.25",
3
+ "version": "2.1.27",
4
4
  "description": "Dispatch SDK React Native Package",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -57,7 +57,7 @@
57
57
  "@babel/preset-typescript": "^7.15.0",
58
58
  "@babel/runtime": "^7.12.5",
59
59
  "@commitlint/config-conventional": "^11.0.0",
60
- "@delhivery/platform-coreos-mts-sdk": "^2.0.4",
60
+ "@delhivery/platform-coreos-mts-sdk": "^2.0.6",
61
61
  "@expo-google-fonts/ibm-plex-sans": "*",
62
62
  "@react-native-async-storage/async-storage": "^1.15.14",
63
63
  "@react-native-community/datetimepicker": "^3.5.2",
@@ -130,7 +130,7 @@
130
130
  },
131
131
  "peerDependencies": {
132
132
  "@apollo/client": "^3.5.6",
133
- "@delhivery/platform-coreos-mts-sdk": "^2.0.4",
133
+ "@delhivery/platform-coreos-mts-sdk": "^2.0.6",
134
134
  "@expo-google-fonts/ibm-plex-sans": "*",
135
135
  "@react-native-async-storage/async-storage": "^1.15.14",
136
136
  "@react-native-community/datetimepicker": "^3.5.2",
@@ -259,7 +259,7 @@
259
259
  ]
260
260
  },
261
261
  "dependencies": {
262
- "@os1-platform/platform-coreos-execution-engine-sdk": "1.0.16",
262
+ "@os1-platform/platform-coreos-execution-engine-sdk": "1.0.17",
263
263
  "@rjsf/core": "^2.0.0",
264
264
  "apollo-link-timeout": "^4.0.0",
265
265
  "decompress": "^4.2.1",
@@ -53,6 +53,7 @@ import {
53
53
  import { SCANNED_RECORD } from '../../components/executiontasks/scan/interfaces';
54
54
  import { SHARED_PREF_SCAN_OUTPUT_INTERFACE } from '../../components/executiontasks/scan/interfaces';
55
55
  import { ScannerOutput } from '../../components/executiontasks/scan/ScanSchema';
56
+ import { CommonActions } from '@react-navigation/native';
56
57
 
57
58
  export default class DispatchStateContainer {
58
59
  cacheKeys = DispatchSdkCache.KEYS;
@@ -73,8 +74,8 @@ export default class DispatchStateContainer {
73
74
  this._mappedStates = value;
74
75
  }
75
76
  private static instance: DispatchStateContainer;
76
- private successRoute: string | null = null;
77
- private failureRoute: string | null = null;
77
+ private successRoute: string = '';
78
+ private failureRoute: string = '';
78
79
 
79
80
  private _stateKeys: string[] = [];
80
81
  public _jobObjectives: JobObjectiveType[] | null = null;
@@ -384,13 +385,13 @@ export default class DispatchStateContainer {
384
385
  public setSuccessRoute(route: string) {
385
386
  this.successRoute = route;
386
387
  }
387
- public getSuccessRoute(): string | null {
388
+ public getSuccessRoute(): string {
388
389
  return this.successRoute;
389
390
  }
390
391
  public setFailureRoute(route: string) {
391
392
  this.failureRoute = route;
392
393
  }
393
- public getFailureRoute(): string | null {
394
+ public getFailureRoute(): string {
394
395
  return this.failureRoute;
395
396
  }
396
397
  public async getObjectiveSummary(
@@ -487,7 +488,7 @@ export default class DispatchStateContainer {
487
488
  route.params[RouteParams.NEXT_STATES].input.applicableReasons
488
489
  .success
489
490
  ? route.params[RouteParams.NEXT_STATES].input.applicableReasons
490
- .success
491
+ .success
491
492
  : route.params[RouteParams.NEXT_STATES].input.applicableReasons,
492
493
  _eventCode
493
494
  );
@@ -559,9 +560,9 @@ export default class DispatchStateContainer {
559
560
  route.params[RouteParams.NEXT_STATES].input.applicableReasons
560
561
  .failure
561
562
  ? route.params[RouteParams.NEXT_STATES].input
562
- .applicableReasons.failure
563
+ .applicableReasons.failure
563
564
  : route.params[RouteParams.NEXT_STATES].input
564
- .applicableReasons,
565
+ .applicableReasons,
565
566
  _eventCode
566
567
  );
567
568
 
@@ -575,13 +576,13 @@ export default class DispatchStateContainer {
575
576
  isMergeObjectiveBasedOutput
576
577
  ? etOutput
577
578
  : await getBaseETResponse(
578
- entityCode,
579
- false,
580
- _eventCode,
581
- failureCodes[0].reasonCode,
582
- mergedObjectiveIds,
583
- eTaskID
584
- ),
579
+ entityCode,
580
+ false,
581
+ _eventCode,
582
+ failureCodes[0].reasonCode,
583
+ mergedObjectiveIds,
584
+ eTaskID
585
+ ),
585
586
  route.params,
586
587
  navigation,
587
588
  isLastTask,
@@ -605,13 +606,13 @@ export default class DispatchStateContainer {
605
606
  isMergeObjectiveBasedOutput
606
607
  ? etOutput
607
608
  : await getBaseETResponse(
608
- entityCode,
609
- false,
610
- _eventCode,
611
- '',
612
- mergedObjectiveIds,
613
- eTaskID
614
- ),
609
+ entityCode,
610
+ false,
611
+ _eventCode,
612
+ '',
613
+ mergedObjectiveIds,
614
+ eTaskID
615
+ ),
615
616
  route.params,
616
617
  navigation,
617
618
  isLastTask,
@@ -644,7 +645,7 @@ export default class DispatchStateContainer {
644
645
 
645
646
  if (isLastTask && etStates && Object.keys(etStates).length > 0) {
646
647
  if (this._mappedStates.size && this._stateKeys.length) {
647
-
648
+
648
649
  const st = this._stateKeys.pop();
649
650
  if (st) {
650
651
  let rParams: any = {};
@@ -703,10 +704,20 @@ export default class DispatchStateContainer {
703
704
 
704
705
  clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);
705
706
  clearPaymentSharedData(states.next_states.mergedObjectiveIds);
706
- navigation.replace(this.getSuccessRoute(), {
707
- summary: objSummary,
708
- objSuccess: true,
709
- });
707
+ navigation.dispatch(
708
+ CommonActions.reset({
709
+ index: 0,
710
+ routes: [
711
+ {
712
+ name: this.getSuccessRoute(),
713
+ params: {
714
+ summary: objSummary,
715
+ objSuccess: true
716
+ }
717
+ },
718
+ ],
719
+ }),
720
+ );
710
721
  } else {
711
722
  this._mappedStatesData.clear();
712
723
  this._mappedStates.clear();
@@ -714,10 +725,20 @@ export default class DispatchStateContainer {
714
725
 
715
726
  clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);
716
727
  clearPaymentSharedData(states.next_states.mergedObjectiveIds);
717
- navigation.replace(this.getFailureRoute(), {
718
- summary: objSummary,
719
- objSuccess: false,
720
- });
728
+ navigation.dispatch(
729
+ CommonActions.reset({
730
+ index: 0,
731
+ routes: [
732
+ {
733
+ name: this.getFailureRoute(),
734
+ params: {
735
+ summary: objSummary,
736
+ objSuccess: false
737
+ }
738
+ },
739
+ ],
740
+ }),
741
+ );
721
742
  }
722
743
  }
723
744
  } else {