@os1-platform/dispatch-mobile 3.1.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +6 -7
- package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +1 -0
- package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/commonjs/ui/screens/DropCashScreen.js +3 -2
- package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js +2 -0
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/manager/dispatch/DispatchStateContainer.js +2 -2
- package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/module/manager/syncmanager/events/ETEventsManager.js +6 -7
- package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js +1 -0
- package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
- package/lib/module/ui/screens/DropCashScreen.js +3 -2
- package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js +2 -0
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/package.json +4 -4
- package/src/manager/dispatch/DispatchStateContainer.tsx +3 -1
- package/src/manager/syncmanager/events/ETEventsManager.ts +6 -7
- package/src/manager/syncmanager/events/EventsSyncManager.ts +1 -0
- package/src/ui/screens/DropCashScreen.tsx +28 -29
- package/src/utils/ExecTaskUtils.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ETEventsManager","_interopRequireDefault","require","_SyncHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_NetworkUtil","_Logger","_platformCoreosExecutionEngineSdk","_DispatchSdkCache","_storage","_constants","_EventsSyncManager","_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","SyncType","IDispatch","TAG","EventsSyncManager","retries","_retries","constructor","MAX_RETRY_COUNT","initSyncManager","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","syncHttpClient","SyncHttpClient","getInstance","instance","startSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","eventsManager","ETEventsManager","checkForInitialization","lastSyncedEventId","Storage","getSharedItem","LAST_SYNCED_EVENT_ID","dspID","DispatchSdkCache","getKeyFromCache","KEYS","DISPATCH_ID","bulkEventRows","getBulkRowsToSync","arrEventsToSync","index","syncType","sync_type","includes","POD_DOC","push","length","syncBulkEventToServer","extraParameters","Logger","logEvent","flattenObject","LOG_TYPE","SDK_ERROR","network","error","pending","console","log","isProgress","retry","updateEventError","eventRows","errorString","promises","ev","updateError","id","err","SDK_WARNING","Promise","all","forceSync","isSyncPending","syncEventId","parseInt","getRowToSync","markEventSynced","insertPODDocEvent","InvalidArgumentError","InvalidArgumentsError","insertEvent","sequence","payload","objectiveRef","config","insertBulkEvent","_bulkData","insertQueueEvent","_pushData","SyncManagerNotInitialized","getObjectiveSummary","data","getObjectiveDetails","requiredPayload","row","JSON","parse","status","_this$syncHttpClient","success","syncBulkEvent","setSharedItem","lastSyncEventId","stringify","getAllEvents","clearEventsDB","deleteAllEvents","exports"],"sources":["EventsSyncManager.ts"],"sourcesContent":["import ETEventsManager from './ETEventsManager';\nimport type {\n BulkEvent,\n DispatchSyncType,\n EventRow,\n ExecEngineSyncType,\n} from '../DBConfig';\nimport SyncHttpClient from './SyncHttpClient';\nimport { flattenObject, isEmptyOrBlank } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Storage from '../../../utils/storage';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT } from '../constants';\nimport { POD_DOC } from '../constants';\n\nconst TAG = 'EventsSyncManager';\nexport default class EventsSyncManager {\n private syncHttpClient: SyncHttpClient | undefined;\n private static instance: EventsSyncManager;\n private inProgress: boolean = false;\n private cScanInProgress: boolean = false;\n private eventsManager: ETEventsManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() {}\n\n public initSyncManager(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.syncHttpClient = new SyncHttpClient(baseURL);\n }\n\n public static getInstance(): EventsSyncManager {\n if (!EventsSyncManager.instance) {\n EventsSyncManager.instance = new EventsSyncManager();\n }\n return EventsSyncManager.instance;\n }\n\n public async startSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n this.checkForInitialization();\n \n if (hasNetwork) {\n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n\n if (arrEventsToSync.length != 0) {\n await this.syncBulkEventToServer(\n arrEventsToSync,\n lastSyncedEventId\n );\n let extraParameters = {\n bulkEventRows: arrEventsToSync.length,\n };\n Logger.getInstance().logEvent(\n 'startSync-event-to-sync',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n let extraParameters = {\n bulkEventRows: bulkEventRows.length,\n arrEventsToSync: arrEventsToSync.length\n };\n Logger.getInstance().logEvent(\n 'startSync-no-event-to-sync-else',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n\n // OLD CODE\n // const promises: any[] = [\n // this.JobRemovalEvent(this.eventsManager),\n // this.CustodyBatchEvent(this.eventsManager),\n // this.WorkflowUpdateEvent(this.eventsManager),\n // ];\n // await Promise.all(promises);\n } else {\n let extraParameters = {\n network: hasNetwork\n };\n Logger.getInstance().logEvent(\n 'startSync-no network',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startSync-error',\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: arrEventsToSync.length != 0,\n };\n console.log(\"finally:\",arrEventsToSync.length);\n if (arrEventsToSync.length != 0 && hasNetwork) {\n await this.startSync();\n Logger.getInstance().logEvent('startSync-finally-data-sync-available', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);\n }\n }\n } else {\n let extraParameters = {\n isProgress: this.inProgress,\n retry: this._retries,\n };\n Logger.getInstance().logEvent(\n 'startSync-inprogress-maxretries',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // private async WorkflowUpdateEvent(eventsManager: ETEventsManager) {\n // const unsyncedData = await eventsManager.getWorkflowUpdateEvents(\n // SyncType.WORKFLOW\n // );\n // if (unsyncedData?.length > 0) {\n // await this.syncEventToServer(unsyncedData, SyncType.WORKFLOW);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startSync',\n // 'No workflow/task data to sync in Events Manager',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n // private async CustodyBatchEvent(eventsManager: ETEventsManager) {\n // const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n // DispatchSdkCache.KEYS.DISPATCH_ID\n // );\n // const custodyScans = await eventsManager.getCustodyBatch(dspID ?? '');\n // if (custodyScans && custodyScans.length > 0) {\n // await this.startCustodyScans(custodyScans);\n // }\n // }\n\n // private async JobRemovalEvent(eventsManager: ETEventsManager) {\n // const unsyncedJobRemovalData = await eventsManager.getJobRemovalEvents(\n // SyncType.JOB_REMOVAL\n // );\n // if (unsyncedJobRemovalData?.length > 0) {\n // await this.syncEventToServer(\n // unsyncedJobRemovalData,\n // SyncType.JOB_REMOVAL\n // );\n // }\n // }\n\n // public async startCustodyScans(custodyScans: EventRow[]) {\n // if (!this.cScanInProgress) {\n // this.cScanInProgress = true;\n // try {\n // const inScans = custodyScans.filter(\n // (scan) => scan.sync_type === SyncType.CUSTODY_IN_SCAN\n // );\n // const outScans = custodyScans.filter(\n // (scans) => scans.sync_type === SyncType.CUSTODY_OUT_SCAN\n // );\n // if (inScans && inScans.length > 0) {\n // await this.syncEventToServer(inScans, SyncType.CUSTODY_IN_SCAN);\n // } else if (outScans && outScans.length > 0) {\n // await this.syncEventToServer(outScans, SyncType.CUSTODY_OUT_SCAN);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'NO CUSTODY SCANS LEFT TO SYNC',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // } catch (error: any) {\n // } finally {\n // this.cScanInProgress = false;\n // if (await this.isSyncPending()) await this.startSync();\n // }\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'Custody Scan already in Progress',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n private async updateEventError(\n eventRows: EventRow[],\n errorString: string\n ): Promise<void> {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(this.eventsManager.updateError(ev.id, errorString));\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateEventError',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n await Promise.all(promises);\n }\n\n /**\n * force sync events who retry count >3 This function can be called from app UI to sync the events forcefully\n */\n public async forceSync() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n this._retries = 0;\n await this.startSync();\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n\n \n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n const eventRows = await this.eventsManager.getRowToSync(\n `${syncEventId}`,\n dspID ?? ''\n );\n\n return eventRows.length > 0 && this._retries < this.maxRetryCount;\n\n // OLD CODE\n // let unsyncedData = await this.eventsManager.getAllUnsyncedEvents();\n // return unsyncedData?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n private async markEventSynced(eventRows: EventRow[]) {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(await this.eventsManager.markEventSynced(ev.id));\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'markEventSynced',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n await Promise.all(promises);\n }\n\n // This function will insert POD_DOC type of event in event table.\n public async insertPODDocEvent(\n dspID: string,\n syncType: string\n ): Promise<void> {\n if (isEmptyOrBlank(dspID) || isEmptyOrBlank(syncType))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertPODDocEvent(dspID, syncType);\n }\n\n public async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n if (\n !sequence ||\n isEmptyOrBlank(payload) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(syncType) ||\n isEmptyOrBlank(objectiveRef)\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertEvent(\n sequence,\n payload,\n dspID,\n syncType,\n objectiveRef,\n config\n );\n }\n\n // NEW CODE\n public async insertBulkEvent(_bulkData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertBulkEvent(_bulkData);\n } catch (err) {\n throw err;\n }\n }\n\n // NEW CODE\n public async insertQueueEvent(_pushData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertQueueEvent(_pushData);\n } catch (err) {\n throw err;\n }\n }\n\n // OLD CODE\n // public async insertBulkEvent(_bulkData: BulkEvent[]): Promise<void> {\n // try {\n // /* if (\n // !sequence ||\n // isEmptyOrBlank(payload) ||\n // isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(syncType) ||\n // isEmptyOrBlank(objectiveRef)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // ); */\n // if (!this.eventsManager) {\n // this.eventsManager = await ETEventsManager.getInstance();\n // }\n // await this.eventsManager.insertBulkEvent(_bulkData);\n // } catch (err) {\n // throw err;\n // }\n // }\n\n private checkForInitialization() {\n if (!this.syncHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n public async getObjectiveSummary(objectiveRef: string): Promise<any> {\n if (!objectiveRef) return [];\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n let data = await this.eventsManager.getObjectiveDetails(objectiveRef);\n let requiredPayload: any = null;\n for (const row of data) {\n let payload = JSON.parse(row.payload);\n if (payload.status === 'CLOSED') {\n requiredPayload = payload;\n }\n }\n if (requiredPayload) return requiredPayload.data;\n else return null;\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'getObjectiveSummary',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n return null;\n }\n }\n\n // private async syncEventToServer(\n // eventRows: EventRow[],\n // syncType: ExecEngineSyncType | DispatchSyncType\n // ) {\n // try {\n // const success = await this.syncHttpClient?.syncEvent(eventRows, syncType);\n\n // if (success) {\n // this._retries = 0;\n // // NEW CODE\n // const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n // LAST_SYNCED_EVENT_ID\n // );\n // const syncEventId = parseInt(lastSyncedEventId) + 1;\n // await Storage.getInstance().setSharedItem(\n // LAST_SYNCED_EVENT_ID,\n // `${syncEventId}`\n // );\n\n // // OLD CODE\n // await this.markEventSynced(eventRows);\n // } else {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)}`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(eventRows, 'Unexpected error');\n // }\n // } catch (error: any) {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)} -: ${\n // error.message\n // }`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(\n // eventRows,\n // JSON.stringify({\n // error,\n // })\n // );\n // }\n // }\n\n private async syncBulkEventToServer(\n eventRows: EventRow[],\n lastSyncedEventId: string\n ) {\n try {\n const success = await this.syncHttpClient?.syncBulkEvent(eventRows);\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-true',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (success) {\n this._retries = 0;\n // NEW CODE\n\n const syncEventId = parseInt(lastSyncedEventId) + eventRows.length;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n\n // OLD CODE\n await this.markEventSynced(eventRows);\n\n let extraParameters = {\n retries: this._retries,\n lastSyncEventId: syncEventId\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-markEventSynced',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n this._retries++;\n await this.updateEventError(eventRows, 'Unexpected error');\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-false',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n this._retries++;\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-error',\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateEventError(\n eventRows,\n JSON.stringify({\n error,\n })\n );\n }\n }\n\n public async getAllEvents(dspID?: string): Promise<EventRow[]> {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n return this.eventsManager.getAllEvents(dspID);\n }\n public async clearEventsDB() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n await this.eventsManager.deleteAllEvents();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_ETEventsManager","_interopRequireDefault","require","_SyncHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_NetworkUtil","_Logger","_platformCoreosExecutionEngineSdk","_DispatchSdkCache","_storage","_constants","_EventsSyncManager","_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","SyncType","IDispatch","TAG","EventsSyncManager","retries","_retries","constructor","MAX_RETRY_COUNT","initSyncManager","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","syncHttpClient","SyncHttpClient","getInstance","instance","startSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","eventsManager","ETEventsManager","checkForInitialization","lastSyncedEventId","Storage","getSharedItem","LAST_SYNCED_EVENT_ID","dspID","DispatchSdkCache","getKeyFromCache","KEYS","DISPATCH_ID","bulkEventRows","getBulkRowsToSync","arrEventsToSync","index","syncType","sync_type","includes","POD_DOC","push","length","syncBulkEventToServer","extraParameters","Logger","logEvent","flattenObject","LOG_TYPE","SDK_ERROR","network","error","pending","console","log","isProgress","retry","updateEventError","eventRows","errorString","promises","ev","updateError","id","err","SDK_WARNING","Promise","all","forceSync","isSyncPending","syncEventId","parseInt","getRowToSync","markEventSynced","insertPODDocEvent","InvalidArgumentError","InvalidArgumentsError","insertEvent","sequence","payload","objectiveRef","config","insertBulkEvent","_bulkData","insertQueueEvent","_pushData","SyncManagerNotInitialized","getObjectiveSummary","data","getObjectiveDetails","requiredPayload","row","JSON","parse","status","_this$syncHttpClient","success","syncBulkEvent","setSharedItem","lastSyncEventId","stringify","getAllEvents","clearEventsDB","deleteAllEvents","exports"],"sources":["EventsSyncManager.ts"],"sourcesContent":["import ETEventsManager from './ETEventsManager';\nimport type {\n BulkEvent,\n DispatchSyncType,\n EventRow,\n ExecEngineSyncType,\n} from '../DBConfig';\nimport SyncHttpClient from './SyncHttpClient';\nimport { flattenObject, isEmptyOrBlank } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nimport DispatchSdkCache from '../../sdk/DispatchSdkCache';\nimport Storage from '../../../utils/storage';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT } from '../constants';\nimport { POD_DOC } from '../constants';\n\nconst TAG = 'EventsSyncManager';\nexport default class EventsSyncManager {\n private syncHttpClient: SyncHttpClient | undefined;\n private static instance: EventsSyncManager;\n private inProgress: boolean = false;\n private cScanInProgress: boolean = false;\n private eventsManager: ETEventsManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() {}\n\n public initSyncManager(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.syncHttpClient = new SyncHttpClient(baseURL);\n }\n\n public static getInstance(): EventsSyncManager {\n if (!EventsSyncManager.instance) {\n EventsSyncManager.instance = new EventsSyncManager();\n }\n return EventsSyncManager.instance;\n }\n\n public async startSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n this.checkForInitialization();\n \n if (hasNetwork) {\n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n\n if (arrEventsToSync.length != 0) {\n await this.syncBulkEventToServer(\n arrEventsToSync,\n lastSyncedEventId\n );\n let extraParameters = {\n bulkEventRows: arrEventsToSync.length,\n };\n Logger.getInstance().logEvent(\n 'startSync-event-to-sync',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n let extraParameters = {\n bulkEventRows: bulkEventRows.length,\n arrEventsToSync: arrEventsToSync.length\n };\n Logger.getInstance().logEvent(\n 'startSync-no-event-to-sync-else',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n\n // OLD CODE\n // const promises: any[] = [\n // this.JobRemovalEvent(this.eventsManager),\n // this.CustodyBatchEvent(this.eventsManager),\n // this.WorkflowUpdateEvent(this.eventsManager),\n // ];\n // await Promise.all(promises);\n } else {\n let extraParameters = {\n network: hasNetwork\n };\n Logger.getInstance().logEvent(\n 'startSync-no network',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'startSync-error',\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n\n const bulkEventRows = await this.eventsManager.getBulkRowsToSync(\n lastSyncedEventId,\n dspID ?? ''\n );\n\n var arrEventsToSync: EventRow[] = [];\n\n // Filtering and removing those events which are type of POD_DOC\n for (var index in bulkEventRows) {\n let syncType = bulkEventRows[index].sync_type;\n if (syncType.includes(POD_DOC)) {\n break;\n }\n arrEventsToSync.push(bulkEventRows[index]);\n }\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: arrEventsToSync.length != 0,\n };\n console.log(\"finally:\",arrEventsToSync.length);\n if (arrEventsToSync.length != 0 && hasNetwork) {\n await this.startSync();\n Logger.getInstance().logEvent('startSync-finally-data-sync-available', flattenObject(extraParameters), LOG_TYPE.SDK_ERROR);\n }\n }\n } else {\n let extraParameters = {\n isProgress: this.inProgress,\n retry: this._retries,\n };\n Logger.getInstance().logEvent(\n 'startSync-inprogress-maxretries',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // private async WorkflowUpdateEvent(eventsManager: ETEventsManager) {\n // const unsyncedData = await eventsManager.getWorkflowUpdateEvents(\n // SyncType.WORKFLOW\n // );\n // if (unsyncedData?.length > 0) {\n // await this.syncEventToServer(unsyncedData, SyncType.WORKFLOW);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startSync',\n // 'No workflow/task data to sync in Events Manager',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n // private async CustodyBatchEvent(eventsManager: ETEventsManager) {\n // const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n // DispatchSdkCache.KEYS.DISPATCH_ID\n // );\n // const custodyScans = await eventsManager.getCustodyBatch(dspID ?? '');\n // if (custodyScans && custodyScans.length > 0) {\n // await this.startCustodyScans(custodyScans);\n // }\n // }\n\n // private async JobRemovalEvent(eventsManager: ETEventsManager) {\n // const unsyncedJobRemovalData = await eventsManager.getJobRemovalEvents(\n // SyncType.JOB_REMOVAL\n // );\n // if (unsyncedJobRemovalData?.length > 0) {\n // await this.syncEventToServer(\n // unsyncedJobRemovalData,\n // SyncType.JOB_REMOVAL\n // );\n // }\n // }\n\n // public async startCustodyScans(custodyScans: EventRow[]) {\n // if (!this.cScanInProgress) {\n // this.cScanInProgress = true;\n // try {\n // const inScans = custodyScans.filter(\n // (scan) => scan.sync_type === SyncType.CUSTODY_IN_SCAN\n // );\n // const outScans = custodyScans.filter(\n // (scans) => scans.sync_type === SyncType.CUSTODY_OUT_SCAN\n // );\n // if (inScans && inScans.length > 0) {\n // await this.syncEventToServer(inScans, SyncType.CUSTODY_IN_SCAN);\n // } else if (outScans && outScans.length > 0) {\n // await this.syncEventToServer(outScans, SyncType.CUSTODY_OUT_SCAN);\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'NO CUSTODY SCANS LEFT TO SYNC',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // } catch (error: any) {\n // } finally {\n // this.cScanInProgress = false;\n // if (await this.isSyncPending()) await this.startSync();\n // }\n // } else {\n // Logger.getInstance().logEvent(\n // 'startCustodyScans',\n // 'Custody Scan already in Progress',\n // LOG_TYPE.SDK_INFO\n // );\n // }\n // }\n\n private async updateEventError(\n eventRows: EventRow[],\n errorString: string\n ): Promise<void> {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(this.eventsManager.updateError(ev.id, errorString));\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateEventError',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n await Promise.all(promises);\n }\n\n /**\n * force sync events who retry count >3 This function can be called from app UI to sync the events forcefully\n */\n public async forceSync() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n this._retries = 0;\n this.inProgress = false;\n await this.startSync();\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n\n \n // NEW CODE\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n const dspID = await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.DISPATCH_ID\n );\n const eventRows = await this.eventsManager.getRowToSync(\n `${syncEventId}`,\n dspID ?? ''\n );\n\n return eventRows.length > 0 && this._retries < this.maxRetryCount;\n\n // OLD CODE\n // let unsyncedData = await this.eventsManager.getAllUnsyncedEvents();\n // return unsyncedData?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n private async markEventSynced(eventRows: EventRow[]) {\n if (!eventRows || eventRows.length === 0) return;\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n const promises: any[] = [];\n for (const ev of eventRows) {\n try {\n promises.push(await this.eventsManager.markEventSynced(ev.id));\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'markEventSynced',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n await Promise.all(promises);\n }\n\n // This function will insert POD_DOC type of event in event table.\n public async insertPODDocEvent(\n dspID: string,\n syncType: string\n ): Promise<void> {\n if (isEmptyOrBlank(dspID) || isEmptyOrBlank(syncType))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertPODDocEvent(dspID, syncType);\n }\n\n public async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n if (\n !sequence ||\n isEmptyOrBlank(payload) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(syncType) ||\n isEmptyOrBlank(objectiveRef)\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertEvent(\n sequence,\n payload,\n dspID,\n syncType,\n objectiveRef,\n config\n );\n }\n\n // NEW CODE\n public async insertBulkEvent(_bulkData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertBulkEvent(_bulkData);\n } catch (err) {\n throw err;\n }\n }\n\n // NEW CODE\n public async insertQueueEvent(_pushData: BulkEvent): Promise<void> {\n try {\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n await this.eventsManager.insertQueueEvent(_pushData);\n } catch (err) {\n throw err;\n }\n }\n\n // OLD CODE\n // public async insertBulkEvent(_bulkData: BulkEvent[]): Promise<void> {\n // try {\n // /* if (\n // !sequence ||\n // isEmptyOrBlank(payload) ||\n // isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(syncType) ||\n // isEmptyOrBlank(objectiveRef)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // ); */\n // if (!this.eventsManager) {\n // this.eventsManager = await ETEventsManager.getInstance();\n // }\n // await this.eventsManager.insertBulkEvent(_bulkData);\n // } catch (err) {\n // throw err;\n // }\n // }\n\n private checkForInitialization() {\n if (!this.syncHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n public async getObjectiveSummary(objectiveRef: string): Promise<any> {\n if (!objectiveRef) return [];\n if (!this.eventsManager) {\n this.eventsManager = await ETEventsManager.getInstance();\n }\n try {\n let data = await this.eventsManager.getObjectiveDetails(objectiveRef);\n let requiredPayload: any = null;\n for (const row of data) {\n let payload = JSON.parse(row.payload);\n if (payload.status === 'CLOSED') {\n requiredPayload = payload;\n }\n }\n if (requiredPayload) return requiredPayload.data;\n else return null;\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'getObjectiveSummary',\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n return null;\n }\n }\n\n // private async syncEventToServer(\n // eventRows: EventRow[],\n // syncType: ExecEngineSyncType | DispatchSyncType\n // ) {\n // try {\n // const success = await this.syncHttpClient?.syncEvent(eventRows, syncType);\n\n // if (success) {\n // this._retries = 0;\n // // NEW CODE\n // const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n // LAST_SYNCED_EVENT_ID\n // );\n // const syncEventId = parseInt(lastSyncedEventId) + 1;\n // await Storage.getInstance().setSharedItem(\n // LAST_SYNCED_EVENT_ID,\n // `${syncEventId}`\n // );\n\n // // OLD CODE\n // await this.markEventSynced(eventRows);\n // } else {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)}`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(eventRows, 'Unexpected error');\n // }\n // } catch (error: any) {\n // this._retries++;\n // /* Logger.getInstance().logEvent(\n // 'syncEventToServer',\n // `Syncing Error ${syncType} :- ${JSON.stringify(eventRows)} -: ${\n // error.message\n // }`,\n // LOG_TYPE.SDK_ERROR\n // ); */\n // await this.updateEventError(\n // eventRows,\n // JSON.stringify({\n // error,\n // })\n // );\n // }\n // }\n\n private async syncBulkEventToServer(\n eventRows: EventRow[],\n lastSyncedEventId: string\n ) {\n try {\n const success = await this.syncHttpClient?.syncBulkEvent(eventRows);\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-true',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n if (success) {\n this._retries = 0;\n // NEW CODE\n\n const syncEventId = parseInt(lastSyncedEventId) + eventRows.length;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n\n // OLD CODE\n await this.markEventSynced(eventRows);\n\n let extraParameters = {\n retries: this._retries,\n lastSyncEventId: syncEventId\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-markEventSynced',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n } else {\n this._retries++;\n await this.updateEventError(eventRows, 'Unexpected error');\n let extraParameters = {\n success: success,\n };\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-syncBulkEvent-success-false',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n this._retries++;\n Logger.getInstance().logEvent(\n 'syncBulkEventToServer-error',\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateEventError(\n eventRows,\n JSON.stringify({\n error,\n })\n );\n }\n }\n\n public async getAllEvents(dspID?: string): Promise<EventRow[]> {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n return this.eventsManager.getAllEvents(dspID);\n }\n public async clearEventsDB() {\n if (!this.eventsManager)\n this.eventsManager = await ETEventsManager.getInstance();\n await this.eventsManager.deleteAllEvents();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -100,10 +100,11 @@ const DropCashScreen = ({
|
|
|
100
100
|
})();
|
|
101
101
|
}, [expectedAmount.value]);
|
|
102
102
|
const getTotalExpected = async () => {
|
|
103
|
-
const
|
|
103
|
+
const totalAmountArr = await _platformCoreosExecutionEngineSdk.DispatchExecutor.getTotalAmountMWI(mergedObjectiveId);
|
|
104
|
+
let finalValue = totalAmountArr.map(Number).reduce((sum, num) => sum + num, 0).toFixed(2);
|
|
104
105
|
setExpectedAmount({
|
|
105
106
|
...expectedAmount,
|
|
106
|
-
value:
|
|
107
|
+
value: Number(finalValue)
|
|
107
108
|
});
|
|
108
109
|
};
|
|
109
110
|
const getSelfLoopBool = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_WithBaseDispatchScreen","_interopRequireDefault","_ExecutionTasksIndex","_ETConfig","_DispatchStateContainer","_RouteParams","_reactNative","_CancelOrderDialog","_ExecTaskUtils","_platformCoreosExecutionEngineSdk","_constants","_helper","_SentrySdkConstants","_SentryAnalyticsUtils","_ProgressDialog","_EventCodeContainer","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DropCashScreen","route","navigation","baseETProps","loading","setLoading","useState","helperInstance","Helper","getInstance","nextState","params","RouteParams","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","taskName","getDataFromNextState","expectedAmount","setExpectedAmount","value","minorUnit","currencyCode","isSelfLoopTrue","setSelfLoop","useEffect","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","RETURN_CASH_ET_OPENED","screenName","ScreenNameSdkConstants","RETURN_CASH_ET_SCREEN","onTaskStart","ROOT_META_DATA","customEventsData","getTotalExpected","getSelfLoopBool","console","log","_input$applicableReas","dropCashETOutput","amount","getBaseETResponse","EntityCode","DELIVER_CASH","getEventCodeByET","ExecutionTaskID","applicableReasons","success","eventCode","GO_BACK_EVENT_CODE","submitOutput","setResponse","_prevState","setShowAlert","totalAmount","DispatchExecutor","getTotalAmountMWI","_mergedObjectiveId$","splitArr","split","isSelfLoopExistOnET","error","showAlert","sResponse","useCallback","etOutput","DispatchStateContainer","navigateToNextTask","createElement","View","style","flex","visible","label","SLDropCash","isSelfLoop","onSubmitET","onSubmit","_default","exports","withBaseDispatchScreen"],"sources":["DropCashScreen.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport { SLDropCash } from '../../components/executiontasks/ExecutionTasksIndex';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport type { ETAmount } from '../../components/executiontasks/payments/init/InitPaymentSchema';\nimport { View } from 'react-native';\nimport CancelOrderDialog from '../../components/widgets/CancelOrderDialog';\nimport { getBaseETResponse, onTaskStart } from '../../utils/ExecTaskUtils';\n\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { GO_BACK_EVENT_CODE } from '../../constants/constants';\nimport Helper from '../../utils/helper';\n//{ fireEventWithScreenName } from 'src/analytics/sentry/SentryAnalyticsUtils';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\nimport ProgressDialog from '../../components/widgets/ProgressDialog';\nimport { getEventCodeByET } from '../../manager/dispatchCodes/EventCodeContainer';\n\n// OLD CODE\n// function getTotalExpected(nextStates: any[]): ETAmount {\n// let totalAmount = 0;\n// for (const s of nextStates) {\n// totalAmount += s.nextState.data.input.expectedAmount.value;\n// }\n// return {\n// value: totalAmount,\n// minorUnit: nextStates[0].nextState.data.input.expectedAmount.minorUnit,\n// currencyCode:\n// nextStates[0].nextState.data.input.expectedAmount.currencyCode,\n// };\n// }\n\nconst DropCashScreen = ({\n route,\n navigation,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const [loading, setLoading] = useState(false);\n\n const helperInstance = Helper.getInstance();\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, wfMeta, taskName } =\n getDataFromNextState(nextState);\n\n const [expectedAmount, setExpectedAmount] = useState<ETAmount>({\n value: 1,\n minorUnit: input.expectedAmount.minorUnit,\n currencyCode: input.expectedAmount.currencyCode,\n });\n const [isSelfLoopTrue, setSelfLoop] = useState(false);\n\n useEffect(() => {\n (async () => {\n //fire sentry event\n fireEventWithScreenName({severityLevel:SeverityLevelValue.LOG, eventName:SentryEventNameSdkConstants.RETURN_CASH_ET_OPENED, screenName:ScreenNameSdkConstants.RETURN_CASH_ET_SCREEN});\n // \n onTaskStart(\n nextState,\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n getTotalExpected();\n await getSelfLoopBool();\n })();\n }, [])\n\n useEffect(() => {\n (async () => {\n console.log(\"expectedAmount:\",expectedAmount);\n if(expectedAmount.value === 0){\n // setLoading(true);\n let dropCashETOutput = {\n amount: {\n value: expectedAmount.value,\n currencyCode: expectedAmount.currencyCode,\n minorUnit: expectedAmount.minorUnit,\n },\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n true,\n getEventCodeByET(\n ExecutionTaskID.DELIVER_CASH,\n true,\n input.applicableReasons?.success\n ),\n '',\n mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n }\n if (dropCashETOutput.success || dropCashETOutput.eventCode == GO_BACK_EVENT_CODE) {\n await submitOutput(dropCashETOutput);\n } else {\n setResponse((_prevState: any) => {\n setShowAlert(true);\n return dropCashETOutput;\n });\n }\n // setLoading(false);\n }\n })();\n }, [expectedAmount.value])\n\n\n\n const getTotalExpected = async () => {\n const totalAmount: number = await DispatchExecutor.getTotalAmountMWI(\n mergedObjectiveId\n );\n setExpectedAmount({ ...expectedAmount, value: totalAmount });\n };\n\n const getSelfLoopBool = async () => {\n try {\n const splitArr = mergedObjectiveId[0]?.split('#');\n const isSelfLoopTrue: boolean = await helperInstance.isSelfLoopExistOnET(splitArr[1], taskName)\n setSelfLoop(isSelfLoopTrue);\n console.log('isSelfLoopTrue code execution successful!');\n } catch (error) {\n console.log('isSelfLoopTrue code execution error', error);\n }\n }\n\n const [showAlert, setShowAlert] = useState(false);\n const [sResponse, setResponse] = useState<any>();\n const submitOutput = useCallback(\n async (etOutput: any) => {\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n route,\n etOutput,\n etOutput.success,\n EntityCode.DELIVER_CASH,\n ExecutionTaskID.DELIVER_CASH,\n baseETProps,\n false\n );\n },\n [baseETProps, navigation, route]\n );\n \n return (\n <View style={{ flex: 1 }}>\n { expectedAmount.value === 0 ? <View><ProgressDialog visible={loading} label={'Please wait...'} /></View> : \n <SLDropCash\n {...input}\n expectedAmount={expectedAmount}\n isSelfLoop={isSelfLoopTrue}\n navigation={navigation}\n mergedObjectiveId={mergedObjectiveId}\n taskMeta={taskMeta}\n onSubmitET={async (etOutput) => {\n if (etOutput.success || etOutput.eventCode == GO_BACK_EVENT_CODE) {\n await submitOutput(etOutput);\n } else {\n setResponse((_prevState: any) => {\n setShowAlert(true);\n return etOutput;\n });\n }\n }}\n />\n }\n \n <CancelOrderDialog\n visible={showAlert}\n onSubmit={async (value) => {\n if (value) {\n setShowAlert(false);\n await submitOutput(sResponse);\n } else {\n setShowAlert(false);\n }\n }}\n />\n </View>\n );\n};\nexport default withBaseDispatchScreen(DropCashScreen);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_WithBaseDispatchScreen","_interopRequireDefault","_ExecutionTasksIndex","_ETConfig","_DispatchStateContainer","_RouteParams","_reactNative","_CancelOrderDialog","_ExecTaskUtils","_platformCoreosExecutionEngineSdk","_constants","_helper","_SentrySdkConstants","_SentryAnalyticsUtils","_ProgressDialog","_EventCodeContainer","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DropCashScreen","route","navigation","baseETProps","loading","setLoading","useState","helperInstance","Helper","getInstance","nextState","params","RouteParams","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","taskName","getDataFromNextState","expectedAmount","setExpectedAmount","value","minorUnit","currencyCode","isSelfLoopTrue","setSelfLoop","useEffect","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","RETURN_CASH_ET_OPENED","screenName","ScreenNameSdkConstants","RETURN_CASH_ET_SCREEN","onTaskStart","ROOT_META_DATA","customEventsData","getTotalExpected","getSelfLoopBool","console","log","_input$applicableReas","dropCashETOutput","amount","getBaseETResponse","EntityCode","DELIVER_CASH","getEventCodeByET","ExecutionTaskID","applicableReasons","success","eventCode","GO_BACK_EVENT_CODE","submitOutput","setResponse","_prevState","setShowAlert","totalAmountArr","DispatchExecutor","getTotalAmountMWI","finalValue","map","Number","reduce","sum","num","toFixed","_mergedObjectiveId$","splitArr","split","isSelfLoopExistOnET","error","showAlert","sResponse","useCallback","etOutput","DispatchStateContainer","navigateToNextTask","createElement","View","style","flex","visible","label","SLDropCash","isSelfLoop","onSubmitET","onSubmit","_default","exports","withBaseDispatchScreen"],"sources":["DropCashScreen.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport { SLDropCash } from '../../components/executiontasks/ExecutionTasksIndex';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport type { ETAmount } from '../../components/executiontasks/payments/init/InitPaymentSchema';\nimport { View } from 'react-native';\nimport CancelOrderDialog from '../../components/widgets/CancelOrderDialog';\nimport { getBaseETResponse, onTaskStart } from '../../utils/ExecTaskUtils';\n\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { GO_BACK_EVENT_CODE } from '../../constants/constants';\nimport Helper from '../../utils/helper';\n//{ fireEventWithScreenName } from 'src/analytics/sentry/SentryAnalyticsUtils';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\nimport ProgressDialog from '../../components/widgets/ProgressDialog';\nimport { getEventCodeByET } from '../../manager/dispatchCodes/EventCodeContainer';\n\n// OLD CODE\n// function getTotalExpected(nextStates: any[]): ETAmount {\n// let totalAmount = 0;\n// for (const s of nextStates) {\n// totalAmount += s.nextState.data.input.expectedAmount.value;\n// }\n// return {\n// value: totalAmount,\n// minorUnit: nextStates[0].nextState.data.input.expectedAmount.minorUnit,\n// currencyCode:\n// nextStates[0].nextState.data.input.expectedAmount.currencyCode,\n// };\n// }\n\nconst DropCashScreen = ({\n route,\n navigation,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const [loading, setLoading] = useState(false);\n\n const helperInstance = Helper.getInstance();\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, wfMeta, taskName } =\n getDataFromNextState(nextState);\n\n const [expectedAmount, setExpectedAmount] = useState<ETAmount>({\n value: 1,\n minorUnit: input.expectedAmount.minorUnit,\n currencyCode: input.expectedAmount.currencyCode,\n });\n const [isSelfLoopTrue, setSelfLoop] = useState(false);\n\n useEffect(() => {\n (async () => {\n //fire sentry event\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.RETURN_CASH_ET_OPENED, screenName: ScreenNameSdkConstants.RETURN_CASH_ET_SCREEN });\n // \n onTaskStart(\n nextState,\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n getTotalExpected();\n await getSelfLoopBool();\n })();\n }, [])\n\n useEffect(() => {\n (async () => {\n console.log(\"expectedAmount:\", expectedAmount);\n if (expectedAmount.value === 0) {\n // setLoading(true);\n let dropCashETOutput = {\n amount: {\n value: expectedAmount.value,\n currencyCode: expectedAmount.currencyCode,\n minorUnit: expectedAmount.minorUnit,\n },\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n true,\n getEventCodeByET(\n ExecutionTaskID.DELIVER_CASH,\n true,\n input.applicableReasons?.success\n ),\n '',\n mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n }\n if (dropCashETOutput.success || dropCashETOutput.eventCode == GO_BACK_EVENT_CODE) {\n await submitOutput(dropCashETOutput);\n } else {\n setResponse((_prevState: any) => {\n setShowAlert(true);\n return dropCashETOutput;\n });\n }\n // setLoading(false);\n }\n })();\n }, [expectedAmount.value])\n\n\n\n const getTotalExpected = async () => {\n const totalAmountArr: any[] = await DispatchExecutor.getTotalAmountMWI(mergedObjectiveId);\n let finalValue = totalAmountArr.map(Number).reduce((sum, num) => sum + num, 0).toFixed(2);\n setExpectedAmount({ ...expectedAmount, value: Number(finalValue) });\n };\n\n const getSelfLoopBool = async () => {\n try {\n const splitArr = mergedObjectiveId[0]?.split('#');\n const isSelfLoopTrue: boolean = await helperInstance.isSelfLoopExistOnET(splitArr[1], taskName)\n setSelfLoop(isSelfLoopTrue);\n console.log('isSelfLoopTrue code execution successful!');\n } catch (error) {\n console.log('isSelfLoopTrue code execution error', error);\n }\n }\n\n const [showAlert, setShowAlert] = useState(false);\n const [sResponse, setResponse] = useState<any>();\n const submitOutput = useCallback(\n async (etOutput: any) => {\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n route,\n etOutput,\n etOutput.success,\n EntityCode.DELIVER_CASH,\n ExecutionTaskID.DELIVER_CASH,\n baseETProps,\n false\n );\n },\n [baseETProps, navigation, route]\n );\n\n return (\n <View style={{ flex: 1 }}>\n {expectedAmount.value === 0 ? <View><ProgressDialog visible={loading} label={'Please wait...'} /></View> :\n <SLDropCash\n {...input}\n expectedAmount={expectedAmount}\n isSelfLoop={isSelfLoopTrue}\n navigation={navigation}\n mergedObjectiveId={mergedObjectiveId}\n taskMeta={taskMeta}\n onSubmitET={async (etOutput) => {\n if (etOutput.success || etOutput.eventCode == GO_BACK_EVENT_CODE) {\n await submitOutput(etOutput);\n } else {\n setResponse((_prevState: any) => {\n setShowAlert(true);\n return etOutput;\n });\n }\n }}\n />\n }\n\n <CancelOrderDialog\n visible={showAlert}\n onSubmit={async (value) => {\n if (value) {\n setShowAlert(false);\n await submitOutput(sResponse);\n } else {\n setShowAlert(false);\n }\n }}\n />\n </View>\n );\n};\nexport default withBaseDispatchScreen(DropCashScreen);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -94,6 +94,8 @@ function getEntityCodeByET(etId) {
|
|
|
94
94
|
return _ETConfig.EntityCode.PROCESS_PAYMENT;
|
|
95
95
|
case _ETConfig.ExecutionTaskID.COMPLETE_PAYMENT:
|
|
96
96
|
return _ETConfig.EntityCode.COMPLETE_PAYMENT;
|
|
97
|
+
case _ETConfig.ExecutionTaskID.COLLECT_PAYMENT_ET:
|
|
98
|
+
return _ETConfig.EntityCode.COLLECT_PAYMENT_ET;
|
|
97
99
|
case _ETConfig.ExecutionTaskID.DELIVER_CASH:
|
|
98
100
|
return _ETConfig.EntityCode.DELIVER_CASH;
|
|
99
101
|
case _ETConfig.ExecutionTaskID.VERIFY_INPUT:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_LocationManager","_interopRequireDefault","require","_DispatchSdkCache","_ETConfig","_EventDispatcher","_jsonpathPlus","e","__esModule","default","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","LocationManager","getInstance","getLastLocation","console","log","JSON","stringify","cache","DispatchSdkCache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","ExecutionTaskID","CAPTURE_INPUT","EntityCode","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","dispatchEvent","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","JSONPath","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","parseRequestBody","body","userInput","requestBody","parse","preprocessUserInput","Object","prototype","hasOwnProperty","call","includes","otp","item","preprocessedBody","resolvedBody","maskContact","contact","domain","split","maskedName","visibleDigits","maskedPart","repeat","Math","max","visiblePart","slice","exports"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log('getBaseETResponse:startLocation:', startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation: {\n latitude: startLocation.latitude,\n longitude: startLocation.longitude,\n },\n endLocation: {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log('getBaseETResponse:baseResponse:', JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"onTaskStart:lastLocation:\",JSON.stringify(lastLocation));\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport function parseRequestBody(body: any, userInput: any) {\n const requestBody = JSON.parse(JSON.stringify(body)); // Deep clone the input\n\n // Preprocess `userInput` placeholders before calling handleDynamicValues\n const preprocessUserInput = (jsonInput: any) => {\n for (const key in jsonInput) {\n if (Object.prototype.hasOwnProperty.call(jsonInput, key)) {\n const value = jsonInput[key];\n\n if (typeof value === 'string' && value.includes('{{$.userInput}}')) {\n // Replace `{{$.userInput}}` with the OTP value from userInput\n jsonInput[key] = userInput.otp || value;\n } else if (typeof value === 'object' && value !== null) {\n // Recursively preprocess nested objects\n preprocessUserInput(value);\n } else if (Array.isArray(value)) {\n // Recursively preprocess arrays\n jsonInput[key] = value.map((item) => {\n if (typeof item === 'string' && item.includes('{{$.userInput}}')) {\n return userInput.otp || userInput.input || item;\n } else if (\n typeof item === 'string' &&\n item.includes('{{$.inputs.userInput}}')\n ) {\n return userInput.input || item;\n } else if (typeof item === 'object' && item !== null) {\n preprocessUserInput(item);\n return item;\n }\n return item;\n });\n }\n }\n }\n return jsonInput;\n };\n\n // Step 1: Preprocess the body for `{{$.userInput}}`\n const preprocessedBody = preprocessUserInput(requestBody);\n\n // Step 2: Pass the preprocessed body to `handleDynamicValues`\n const resolvedBody = handleDynamicValues(preprocessedBody, userInput);\n\n return resolvedBody;\n}\n\n// old masking\n// export const maskContact = (contact: string) => {\n// if (contact && contact?.includes('@')) {\n// const [name, domain] = contact.split('@');\n// const maskedName = name.substring(0, 3) + '****';\n// const maskedEmail = maskedName + '@' + domain;\n// return maskedEmail;\n// } else {\n// return `${contact && contact.slice(0, 2)}****${contact.slice(-4)}`;\n// }\n// };\nexport const maskContact = (contact: string) => {\n if (contact && contact.includes('@')) {\n const [name, domain] = contact.split('@');\n let maskedName;\n if (name.length <= 2) {\n maskedName = name.substring(0, 1) + '*****';\n } else {\n maskedName = name.substring(0, 2) + '*****';\n }\n return maskedName + '@' + domain;\n } else {\n const visibleDigits = 4;\n const maskedPart = '*'.repeat(Math.max(contact.length - visibleDigits, 0));\n const visiblePart = contact.slice(-visibleDigits);\n return maskedPart + visiblePart;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_LocationManager","_interopRequireDefault","require","_DispatchSdkCache","_ETConfig","_EventDispatcher","_jsonpathPlus","e","__esModule","default","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","LocationManager","getInstance","getLastLocation","console","log","JSON","stringify","cache","DispatchSdkCache","sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","startTime","TASK_START_TIME","startLocation","TASK_START_LOCATION","baseResponse","id","meta","latitude","longitude","endLocation","userDetails","userID","name","userName","parseInt","Date","now","endTime","getObjectiveCompleteResp","mergedObjectiveId","completeResponse","getEntityCodeByET","etId","ExecutionTaskID","CAPTURE_INPUT","EntityCode","IMAGE_CAPTURE","DELIVER","DOODLE","FORMS","SCAN","DISPLAY","PICKUP","START_WORKFLOW","VERIFY_LOCATION","COMPLETED_FAILURE","COMPLETED_SUCCESS","INIT_PAYMENT","PROCESS_PAYMENT","COMPLETE_PAYMENT","COLLECT_PAYMENT_ET","DELIVER_CASH","VERIFY_INPUT","VALIDATE_OTP_ET","onTaskStart","eventData","customData","triggerEvent","keys","location","setKeyInCache","toString","CURRENT_WORKING_TASK_ID","setObjectInCache","customEtName","taskName","eventOutputData","etData","input","timestamp","dispatchEvent","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","JSONPath","json","outputResp","pop","Array","isArray","dynamicVal","filter","_val","shift","map","val","parseRequestBody","body","userInput","requestBody","parse","preprocessUserInput","Object","prototype","hasOwnProperty","call","includes","otp","item","preprocessedBody","resolvedBody","maskContact","contact","domain","split","maskedName","visibleDigits","maskedPart","repeat","Math","max","visiblePart","slice","exports"],"sources":["ExecTaskUtils.ts"],"sourcesContent":["import type { BaseETResponse } from '../models/execTasks/ETBaseModels';\nimport LocationManager from '../manager/location/LocationManager';\nimport DispatchSdkCache from '../manager/sdk/DispatchSdkCache';\nimport type { CompletedWFResponse } from '../components/executiontasks/CompletedWFSchema';\nimport { EntityCode, ExecutionTaskID } from '../models/execTasks/ETConfig';\nimport type { EventRow } from '../manager/syncmanager/DBConfig';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport dispatchEvent from '../events/EventDispatcher';\nimport type { clickEvent, startEvent } from '../models/DispatchModels';\nimport { JSONPath } from 'jsonpath-plus';\nimport { IDispatch } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { last } from 'lodash';\n\nexport async function getBaseETResponse(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveIds: Array<string>,\n taskId: ExecutionTaskID\n): Promise<BaseETResponse> {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"getBaseETResponse:lastLocation:\",JSON.stringify(lastLocation))\n\n let cache = DispatchSdkCache.getInstance();\n const sdkConfig = (await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n )) as DispatchSDKConfig;\n const startTime = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_TIME\n );\n const startLocation = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.TASK_START_LOCATION\n );\n console.log('getBaseETResponse:startLocation:', startLocation);\n let baseResponse: BaseETResponse = {\n entityCode: entityCode,\n success: success,\n eventCode: eventCode,\n reasonCode: reasonCode,\n id: taskId,\n meta: {\n startLocation: {\n latitude: startLocation.latitude,\n longitude: startLocation.longitude,\n },\n endLocation: {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n },\n // location: {\n // latitude: location.latitude,\n // longitude: location.longitude,\n // },\n userDetails: {\n id: sdkConfig?.userID ?? '',\n name: sdkConfig?.userName ?? '',\n },\n startTime: startTime ? parseInt(startTime) : Date.now(),\n endTime: Date.now(),\n },\n mergedObjectiveIds,\n };\n console.log('getBaseETResponse:baseResponse:', JSON.stringify(baseResponse));\n\n return baseResponse;\n}\n\nexport async function getObjectiveCompleteResp(\n entityCode: string,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n mergedObjectiveId: Array<string>,\n taskId: ExecutionTaskID\n) {\n let completeResponse: CompletedWFResponse = {\n ...(await getBaseETResponse(\n entityCode,\n success,\n eventCode,\n reasonCode,\n mergedObjectiveId,\n taskId\n )),\n };\n return completeResponse;\n}\nexport function getEntityCodeByET(etId: string): string {\n switch (etId) {\n case ExecutionTaskID.CAPTURE_INPUT:\n return EntityCode.CAPTURE_INPUT;\n case ExecutionTaskID.IMAGE_CAPTURE:\n return EntityCode.IMAGE_CAPTURE;\n case ExecutionTaskID.DELIVER:\n return EntityCode.DELIVER;\n case ExecutionTaskID.DOODLE:\n return EntityCode.DOODLE;\n case ExecutionTaskID.FORMS:\n return EntityCode.FORMS;\n case ExecutionTaskID.SCAN:\n return EntityCode.SCAN;\n case ExecutionTaskID.DISPLAY:\n return EntityCode.DISPLAY;\n case ExecutionTaskID.PICKUP:\n return EntityCode.PICKUP;\n case ExecutionTaskID.START_WORKFLOW:\n return EntityCode.START_WORKFLOW;\n case ExecutionTaskID.VERIFY_LOCATION:\n return EntityCode.VERIFY_LOCATION;\n case ExecutionTaskID.COMPLETED_FAILURE:\n return EntityCode.COMPLETED_FAILURE;\n case ExecutionTaskID.COMPLETED_SUCCESS:\n return EntityCode.COMPLETED_SUCCESS;\n case ExecutionTaskID.INIT_PAYMENT:\n return EntityCode.INIT_PAYMENT;\n case ExecutionTaskID.PROCESS_PAYMENT:\n return EntityCode.PROCESS_PAYMENT;\n case ExecutionTaskID.COMPLETE_PAYMENT:\n return EntityCode.COMPLETE_PAYMENT;\n case ExecutionTaskID.COLLECT_PAYMENT_ET:\n return EntityCode.COLLECT_PAYMENT_ET;\n case ExecutionTaskID.DELIVER_CASH:\n return EntityCode.DELIVER_CASH;\n case ExecutionTaskID.VERIFY_INPUT:\n return EntityCode.VERIFY_INPUT;\n case ExecutionTaskID.VALIDATE_OTP_ET:\n return EntityCode.VALIDATE_OTP_ET;\n default:\n return 'NO_ENTITY_CODE_FOUND';\n }\n}\n\n// export function checkForImagesInEvents(eventRow: EventRow) {\n// console.log(eventRow);\n// }\n\n/**\n * This function will be called on start of every execution task and is being used in ET screens components.\n * @param eventData nextState: state | objRef: string | jobId: string\n */\n\nexport function onTaskStart(\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n triggerEvent = true\n) {\n const keys = DispatchSdkCache.KEYS;\n const cache = DispatchSdkCache.getInstance();\n (async () => {\n let lastLocation = await LocationManager.getInstance().getLastLocation();\n console.log(\"onTaskStart:lastLocation:\",JSON.stringify(lastLocation));\n let location = {\n latitude: lastLocation.latitude,\n longitude: lastLocation.longitude,\n }\n await cache.setKeyInCache(keys.TASK_START_TIME, Date.now().toString());\n await cache.setKeyInCache(keys.CURRENT_WORKING_TASK_ID, eventData.taskId);\n await cache.setObjectInCache(keys.TASK_START_LOCATION, location);\n })();\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: startEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n };\n /* eventData[0].groupId\n ? (eventOutputData['groupId'] = eventData[0].groupId)\n : null; */\n\n /* eventData.forEach((objItem: stateWithObjRef) => {\n eventOutputData.etData[objItem.jobId] = {\n ...(objItem.nextState.data.input || {}),\n workflowInstanceId: objItem.nextState.workflowInstanceId,\n additionalData: objItem?.additionalData || {},\n };\n }); */\n dispatchEvent('START', customEtName, eventOutputData);\n }\n}\n\nexport function onClickEvent(\n eventName: string,\n eventData: IDispatch.IExecutionTaskQueryResponse,\n customData: any,\n additionalData: any,\n triggerEvent = true\n) {\n if (triggerEvent) {\n const customEtName = eventData.taskName;\n const eventOutputData: clickEvent = {\n etData: eventData.input,\n taskId: eventData.taskId,\n timestamp: Date.now(),\n customData,\n additionalData,\n };\n dispatchEvent('ON_CLICK', eventName + ':' + customEtName, eventOutputData);\n }\n}\n\nconst isLeafData = (value: any) => {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n return true;\n default:\n return false;\n }\n};\nconst isDynamicValue = function (input: string) {\n if (\n input.charAt(0) === '{' &&\n input.charAt(1) === '{' &&\n input.charAt(input.length - 1) === '}' &&\n input.charAt(input.length - 2) === '}'\n )\n return true;\n else return false;\n};\n\nexport function handleDynamicValues(jsonInput: any, dataBlob: any) {\n for (const key in jsonInput) {\n let value = jsonInput[key];\n if (!isLeafData(value)) {\n if (value && typeof value === 'string' && isDynamicValue(value)) {\n const path = value.substring(2, value.length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n const outputResp = output.pop();\n if (outputResp) jsonInput[key] = outputResp;\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'string') {\n const dynamicVal = value.filter((_val) => isDynamicValue(_val));\n if (dynamicVal.length) {\n const path = dynamicVal[0].substring(2, dynamicVal[0].length - 2);\n const output = JSONPath({\n json: dataBlob,\n path,\n });\n\n let outputResp = output.pop();\n if (outputResp) {\n value.shift();\n if (\n Array.isArray(outputResp) &&\n value &&\n Array.isArray(value)\n ) {\n jsonInput[key] = [...outputResp, ...value];\n } else jsonInput[key] = outputResp;\n }\n }\n } else if (typeof value[0] === 'object') {\n jsonInput[key] = value.map((val) => {\n val = handleDynamicValues(val, dataBlob);\n return val;\n });\n }\n } else handleDynamicValues(value, dataBlob);\n }\n }\n }\n return jsonInput;\n}\n\nexport function parseRequestBody(body: any, userInput: any) {\n const requestBody = JSON.parse(JSON.stringify(body)); // Deep clone the input\n\n // Preprocess `userInput` placeholders before calling handleDynamicValues\n const preprocessUserInput = (jsonInput: any) => {\n for (const key in jsonInput) {\n if (Object.prototype.hasOwnProperty.call(jsonInput, key)) {\n const value = jsonInput[key];\n\n if (typeof value === 'string' && value.includes('{{$.userInput}}')) {\n // Replace `{{$.userInput}}` with the OTP value from userInput\n jsonInput[key] = userInput.otp || value;\n } else if (typeof value === 'object' && value !== null) {\n // Recursively preprocess nested objects\n preprocessUserInput(value);\n } else if (Array.isArray(value)) {\n // Recursively preprocess arrays\n jsonInput[key] = value.map((item) => {\n if (typeof item === 'string' && item.includes('{{$.userInput}}')) {\n return userInput.otp || userInput.input || item;\n } else if (\n typeof item === 'string' &&\n item.includes('{{$.inputs.userInput}}')\n ) {\n return userInput.input || item;\n } else if (typeof item === 'object' && item !== null) {\n preprocessUserInput(item);\n return item;\n }\n return item;\n });\n }\n }\n }\n return jsonInput;\n };\n\n // Step 1: Preprocess the body for `{{$.userInput}}`\n const preprocessedBody = preprocessUserInput(requestBody);\n\n // Step 2: Pass the preprocessed body to `handleDynamicValues`\n const resolvedBody = handleDynamicValues(preprocessedBody, userInput);\n\n return resolvedBody;\n}\n\n// old masking\n// export const maskContact = (contact: string) => {\n// if (contact && contact?.includes('@')) {\n// const [name, domain] = contact.split('@');\n// const maskedName = name.substring(0, 3) + '****';\n// const maskedEmail = maskedName + '@' + domain;\n// return maskedEmail;\n// } else {\n// return `${contact && contact.slice(0, 2)}****${contact.slice(-4)}`;\n// }\n// };\nexport const maskContact = (contact: string) => {\n if (contact && contact.includes('@')) {\n const [name, domain] = contact.split('@');\n let maskedName;\n if (name.length <= 2) {\n maskedName = name.substring(0, 1) + '*****';\n } else {\n maskedName = name.substring(0, 2) + '*****';\n }\n return maskedName + '@' + domain;\n } else {\n const visibleDigits = 4;\n const maskedPart = '*'.repeat(Math.max(contact.length - visibleDigits, 0));\n const visiblePart = contact.slice(-visibleDigits);\n return maskedPart + visiblePart;\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ import { RouteParams } from '../../ui/uiConfig/RouteParams';
|
|
|
18
18
|
import { debounce } from 'lodash';
|
|
19
19
|
import dispatchEvent from '../../events/EventDispatcher';
|
|
20
20
|
import EventCodeContainer from '../dispatchCodes/EventCodeContainer';
|
|
21
|
-
import { GO_BACK_EVENT_CODE, REASON_NOT_USED } from '../../constants/constants';
|
|
21
|
+
import { GO_BACK_EVENT_CODE, REASON_NOT_USED, RETRY_LIMIT_REACHED_CODE } from '../../constants/constants';
|
|
22
22
|
import AppSyncManager from '../syncmanager/AppSyncManager';
|
|
23
23
|
import { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';
|
|
24
24
|
|
|
@@ -350,7 +350,7 @@ export default class DispatchStateContainer {
|
|
|
350
350
|
rParams[RouteParams.CANCEL_EVENT] = '';
|
|
351
351
|
navigation.replace(CustomScreens.REMARK_SCREEN, rParams);
|
|
352
352
|
} else {
|
|
353
|
-
if (_eventCode === GO_BACK_EVENT_CODE) failureCodes = [];else failureCodes = await reasonsContainer.getReasonCodes(route.params[RouteParams.NEXT_STATES].input.applicableReasons.failure ? route.params[RouteParams.NEXT_STATES].input.applicableReasons.failure : route.params[RouteParams.NEXT_STATES].input.applicableReasons, _eventCode);
|
|
353
|
+
if (_eventCode === GO_BACK_EVENT_CODE) failureCodes = [];else if (etOutput.reasonCode === RETRY_LIMIT_REACHED_CODE) failureCodes = [];else failureCodes = await reasonsContainer.getReasonCodes(route.params[RouteParams.NEXT_STATES].input.applicableReasons.failure ? route.params[RouteParams.NEXT_STATES].input.applicableReasons.failure : route.params[RouteParams.NEXT_STATES].input.applicableReasons, _eventCode);
|
|
354
354
|
if (failureCodes && failureCodes.length > 0) {
|
|
355
355
|
if (isMergeObjectiveBasedOutput) etOutput.baseResponse.reasonCode = failureCodes[0].reasonCode;
|
|
356
356
|
if (failureCodes.length === 1) {
|