@os1-platform/dispatch-mobile 3.1.0 → 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/components/executiontasks/validateOTP/ValidateOtpStyles.js +0 -2
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +1 -1
- package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
- package/lib/commonjs/manager/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/components/executiontasks/validateOTP/ValidateOtpStyles.js +0 -2
- package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.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/lib/typescript/components/executiontasks/validateOTP/ValidateOtpStyles.d.ts +0 -2
- package/package.json +4 -4
- package/src/components/executiontasks/validateOTP/ValidateOtpStyles.ts +0 -2
- 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":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","ATTEMPT_COUNT","SYNC_ERROR","insertPODDocEvent","dspID","syncType","insertEvent","sequence","payload","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","getAllEvents","dispatchID","resultSet","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markPODDocEventSynced","sync","attempt","podDocId","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_ETEventsManager"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventETData,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n WORKFLOW_INSTANCE_COLUMNS,\n WORKFLOW_INSTANCE_TABLE,\n} from '../DBConfig';\nimport type { ExecQuery } from '../database';\nimport * as Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport Storage from '../../../utils/storage';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n private constructor() {}\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n // This is the function to insert POD_DOC type event in event table.\n async insertPODDocEvent(dspID: string, syncType: string): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`,\n [dspID, syncType, '', 1, '', 0, '', '']\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n // This function will actualy update the POD_DOC type of event as sync along with attempt count.\n async markPODDocEventSynced(sync: number, attempt:number, podDocId: String): Promise<void> {\n if (!podDocId) throw new TypeError('podDocId cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`,\n [sync,attempt,podDocId]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.ID} = ? and \\\n ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \\\n ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [id, dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if(PROCESS_MAX_RETRIED_ROWS){\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }else{\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE id <= t.id and ${EVENTS_COLUMNS.ID} > ${id} and ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isEmptyOrBlank","DispatchSyncType","EVENTS_COLUMNS","EVENTS_TABLE","Database","BaseError","BaseErrorCodes","InvalidArgumentsError","Logger","LOG_TYPE","BULK_DATA_LIMIT","MAX_RETRY_COUNT","PROCESS_MAX_RETRIED_ROWS","DispatchExecutor","IDispatch","SyncType","ETEventsManager","constructor","_defineProperty","getInstance","instance","manager","init","executeQuery","ID","DISPATCH_ID","PAYLOAD","CONFIG","SYNC_TYPE","DATA_LENGTH","META","SYNCED","ATTEMPT_COUNT","SYNC_ERROR","insertPODDocEvent","dspID","syncType","insertEvent","sequence","payload","objectiveRef","config","SEQUENCE","getWFIPayload","_bulkEventData","result","dispatchId","status","timestamp","code","attemptId","updatedBy","mergedObjectiveId","meta","outData","output","data","offset","jobMapping","getJobMapping","__unmerged","Object","keys","forEach","customETName","push","workflows","length","getCustodyPayload","getJobRemovalPayload","getDispatchUpdatePayload","_modifyEventData","CUSTODY_IN_SCAN","custodyInScans","action","CUSTODY_OUT_SCAN","custodyOutScans","WORKFLOW","map","_payload","_payload$workflows$0$","JOB_REMOVAL","_jobRemoval$success","_jobRemoval$failure","jobRemoval","success","failure","DISPATCH_UPDATE","DISPATCH_SUB_STATUS_UPDATE","DEFAULT","splitData","chunkSize","splitKey","splitArray","Array","isArray","i","chunk","key","hasOwnProperty","slice","insertQueueEvent","_eventData","args","values","queryData","_meta","JSON","stringify","query","join","executeBulkQuery","_retries","err","maxRetryCount","logEvent","toString","SDK_DEBUG","insertBulkEvent","syncManagerPayload","index","InvalidArgumentError","chunkedData","_evData","getAllEvents","dispatchID","resultSet","rows","_array","getAllUnsyncedEvents","deleteAllEvents","deleteEventsQuery","resetAutoIncrementSequence","updateError","id","syncError","TypeError","markPODDocEventSynced","sync","attempt","podDocId","markEventSynced","getWorkflowUpdateEvents","sqlResultSet","getJobRemovalEvents","getCustodyBatch","sqlResult","getObjectiveDetails","rs","getRowToSync","getBulkRowsToSync","_ETEventsManager"],"sources":["ETEventsManager.ts"],"sourcesContent":["import { isEmptyOrBlank } from '../../../utils/utils';\nimport {\n BulkEvent,\n CustodyData,\n DispatchSyncType,\n EventETData,\n EventRow,\n EVENTS_COLUMNS,\n EVENTS_TABLE,\n SyncManagerPayload,\n ExecEngineSyncType,\n WFUpdateBulkEventData,\n WIUpdateOutputPayload,\n WORKFLOW_INSTANCE_COLUMNS,\n WORKFLOW_INSTANCE_TABLE,\n} from '../DBConfig';\nimport type { ExecQuery } from '../database';\nimport * as Database from '../database';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { BULK_DATA_LIMIT, MAX_RETRY_COUNT, PROCESS_MAX_RETRIED_ROWS } from '../constants';\nimport Storage from '../../../utils/storage';\n\n// NEW CODE\nimport {\n DispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nconst SyncType = IDispatch.SyncType;\n\nexport default class ETEventsManager {\n private static instance: ETEventsManager;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n\n private constructor() {}\n\n public static async getInstance(): Promise<ETEventsManager> {\n if (!ETEventsManager.instance) {\n let manager = new ETEventsManager();\n await ETEventsManager.init();\n ETEventsManager.instance = manager;\n }\n return ETEventsManager.instance;\n }\n\n // NEED TO REMOVE SYNCED, CONFIG, OBJECTIVE_REF\n private static async init(): Promise<void> {\n await Database.executeQuery(\n `CREATE TABLE IF NOT EXISTS ${EVENTS_TABLE} (\\\n ${EVENTS_COLUMNS.ID} INTEGER PRIMARY KEY AUTOINCREMENT,\\\n ${EVENTS_COLUMNS.DISPATCH_ID} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.PAYLOAD} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.CONFIG} TEXT,\\\n ${EVENTS_COLUMNS.SYNC_TYPE} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.DATA_LENGTH} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.META} TEXT NOT NULL,\\\n ${EVENTS_COLUMNS.SYNCED} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.ATTEMPT_COUNT} INTEGER DEFAULT 0 NOT NULL,\\\n ${EVENTS_COLUMNS.SYNC_ERROR} TEXT);`,\n []\n );\n }\n\n // This is the function to insert POD_DOC type event in event table.\n async insertPODDocEvent(dspID: string, syncType: string): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(${EVENTS_COLUMNS.DISPATCH_ID},${EVENTS_COLUMNS.SYNC_TYPE},${EVENTS_COLUMNS.PAYLOAD},${EVENTS_COLUMNS.DATA_LENGTH},${EVENTS_COLUMNS.META},${EVENTS_COLUMNS.SYNCED},${EVENTS_COLUMNS.CONFIG},${EVENTS_COLUMNS.SYNC_ERROR}) values (?,?,?,?,?,?,?,?)`,\n [dspID, syncType, '', 1, '', 0, '', '']\n );\n }\n\n async insertEvent(\n sequence: number,\n payload: string,\n dspID: string,\n syncType: string,\n objectiveRef: string,\n config?: string\n ): Promise<void> {\n await Database.executeQuery(\n `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SEQUENCE},\\\n ${EVENTS_COLUMNS.CONFIG},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values (?,?,?,?,?,?)`,\n [payload, dspID, sequence, config ?? null, syncType, objectiveRef]\n );\n }\n\n private async getWFIPayload(\n _bulkEventData: BulkEvent\n ): Promise<Array<WIUpdateOutputPayload>> {\n const result: Array<WIUpdateOutputPayload> = [];\n const dispatchId = _bulkEventData.dispatchId;\n const { status, timestamp, code, attemptId, updatedBy, mergedObjectiveId } =\n _bulkEventData.meta;\n const outData: any = {};\n const output: WFUpdateBulkEventData = _bulkEventData.data;\n\n let offset = 0;\n let jobMapping: Array<{ jobId: string; workflowInstanceId: string }> =\n await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n do {\n const __unmerged: Array<{ jobId: string; workflowInstanceId: string }> =\n jobMapping;\n\n Object.keys(output).forEach((customETName: string) => {\n outData[customETName] = output[customETName];\n });\n\n result.push({\n dispatchId,\n updatedBy,\n workflows: [\n {\n status,\n attemptId,\n timestamp,\n code,\n data: outData,\n __unmerged,\n meta: {},\n },\n ],\n });\n\n offset += BULK_DATA_LIMIT;\n jobMapping = await DispatchExecutor.getJobMapping(\n mergedObjectiveId,\n BULK_DATA_LIMIT,\n offset\n );\n } while (jobMapping.length > 0);\n\n return result;\n }\n\n private getCustodyPayload(_bulkEventData: BulkEvent) {\n const data: Array<CustodyData> = _bulkEventData.data;\n return data;\n }\n\n private getJobRemovalPayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n return data;\n }\n\n private getDispatchUpdatePayload(_bulkEventData: BulkEvent) {\n const data: any = _bulkEventData.data;\n const payload = data.payload;\n return payload;\n }\n\n private async _modifyEventData(\n _bulkEventData: BulkEvent\n ): Promise<Array<SyncManagerPayload>> {\n const syncType: ExecEngineSyncType | DispatchSyncType =\n _bulkEventData.syncType;\n switch (syncType) {\n case SyncType.CUSTODY_IN_SCAN: {\n const custodyInScans = this.getCustodyPayload(_bulkEventData);\n return [\n {\n data: {\n action: SyncType.CUSTODY_IN_SCAN,\n payload: { output: custodyInScans },\n },\n length: custodyInScans.length,\n },\n ];\n }\n case SyncType.CUSTODY_OUT_SCAN: {\n const custodyOutScans = this.getCustodyPayload(_bulkEventData);\n\n return [\n {\n data: {\n action: SyncType.CUSTODY_OUT_SCAN,\n payload: { output: custodyOutScans },\n },\n length: custodyOutScans.length,\n },\n ];\n }\n case SyncType.WORKFLOW: {\n const payload = await this.getWFIPayload(_bulkEventData);\n return payload.map((_payload) => ({\n data: { action: SyncType.WORKFLOW, payload: _payload },\n length: _payload.workflows[0].__unmerged?.length || 0,\n }));\n }\n case SyncType.JOB_REMOVAL: {\n const jobRemoval = this.getJobRemovalPayload(_bulkEventData);\n const length =\n jobRemoval?.success?.length + jobRemoval?.failure?.length;\n return [\n {\n data: {\n action: SyncType.JOB_REMOVAL,\n payload: jobRemoval,\n },\n length: length || 0,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n case DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE: {\n return [\n {\n data: {\n action: DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE,\n payload: this.getDispatchUpdatePayload(_bulkEventData),\n },\n length: 1,\n },\n ];\n }\n default: {\n return [\n {\n data: {\n action: DispatchSyncType.DEFAULT,\n payload: {},\n },\n length: 0,\n },\n ];\n }\n }\n }\n\n private splitData(data: any, chunkSize: number, splitKey: string): any[] {\n const result: any = [];\n const splitArray = data[splitKey];\n\n if (!splitArray || !Array.isArray(splitArray)) {\n return result;\n }\n\n for (let i = 0; i < splitArray.length; i += chunkSize) {\n const chunk: any = {};\n\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n chunk[key] =\n key === splitKey ? splitArray.slice(i, i + chunkSize) : data[key];\n }\n }\n\n result.push(chunk);\n }\n\n return result;\n }\n\n // NEW CODE\n async insertQueueEvent(_eventData: BulkEvent): Promise<void> {\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n try {\n values.push(`(?,?,?,?)`);\n const _meta = JSON.stringify(_eventData.meta);\n args.push(\n _eventData.data,\n _eventData.dispatchId,\n _eventData.syncType,\n _meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertQueueEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertQueueEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n\n\n // NEW CODE\n async insertBulkEvent(_eventData: BulkEvent): Promise<void> {\n try {\n const output: Array<SyncManagerPayload> = await this._modifyEventData(\n _eventData\n );\n let args: any[] = [];\n let values: any[] = [];\n let queryData: ExecQuery[] = []; //final data to pass to db\n const _meta = JSON.stringify(_eventData.meta || {});\n\n if (\n _eventData.syncType === SyncType.WORKFLOW ||\n _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n _eventData.syncType === SyncType.CUSTODY_OUT_SCAN ||\n _eventData.syncType === DispatchSyncType.DISPATCH_UPDATE ||\n _eventData.syncType === DispatchSyncType.DISPATCH_SUB_STATUS_UPDATE\n ) {\n output.forEach(\n (syncManagerPayload: SyncManagerPayload, index: number) => {\n const _payload = JSON.stringify(syncManagerPayload.data);\n if (\n isEmptyOrBlank(syncManagerPayload.data.action) ||\n isEmptyOrBlank(_payload)\n ) {\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n values.push(`(?,?,?,?,?)`);\n args.push(\n _payload,\n _eventData.dispatchId,\n _eventData.syncType,\n syncManagerPayload.length,\n _meta\n );\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n }\n );\n\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n // else if (\n // _eventData.syncType === SyncType.CUSTODY_IN_SCAN ||\n // _eventData.syncType === SyncType.CUSTODY_OUT_SCAN\n // ) {\n // output.forEach(\n // (syncManagerPayload: SyncManagerPayload, index: number) => {\n // const _payload = JSON.stringify(syncManagerPayload);\n // if (\n // isEmptyOrBlank(syncManagerPayload.action) ||\n // isEmptyOrBlank(_payload)\n // ) {\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n // }\n // values.push(`(?,?,?,?)`);\n // args.push(\n // _payload,\n // _eventData.dispatchId,\n // _eventData.syncType,\n // _meta\n // );\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // }\n // );\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } else if (_eventData.syncType === DispatchSyncType.DISPATCH_UPDATE) {\n // }\n else {\n const chunkedData = this.splitData(output, BULK_DATA_LIMIT, 'payload');\n\n chunkedData.forEach((_evData, index) => {\n const _payload = JSON.stringify(_evData.payload);\n if (isEmptyOrBlank(_evData.action) || isEmptyOrBlank(_payload))\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n values.push(`(?,?,?,?,?)`);\n args.push(_evData, _eventData.dispatchId, _eventData.syncType, _meta);\n queryData.push({\n query: `INSERT INTO ${EVENTS_TABLE}(\\\n ${EVENTS_COLUMNS.PAYLOAD},\\\n ${EVENTS_COLUMNS.DISPATCH_ID},\\\n ${EVENTS_COLUMNS.SYNC_TYPE},\\\n ${EVENTS_COLUMNS.DATA_LENGTH},\\\n ${EVENTS_COLUMNS.META}) \\\n values ${values.join(',')};`,\n args,\n });\n values = [];\n args = [];\n });\n await Database.executeBulkQuery(queryData);\n this._retries = 0;\n }\n } catch (err) {\n if (this._retries < this.maxRetryCount) {\n Logger.getInstance().logEvent(\n 'insertBulkEvent ',\n this._retries.toString(),\n LOG_TYPE.SDK_DEBUG\n );\n this._retries++;\n await this.insertBulkEvent(_eventData);\n } else {\n this._retries = 0;\n throw err;\n }\n }\n }\n\n // OLD CODE\n // async insertBulkEvent(_eventData: BulkEvent[]): Promise<void> {\n // try {\n // let args: any[] = [];\n // let values: any[] = [];\n // let queryData: ExecQuery[] = []; //final data to pass to db\n // let evIndex = 100;\n\n // _eventData.forEach((_evData, index) => {\n // if (\n // !_evData.sequence ||\n // isEmptyOrBlank(_evData.data) ||\n // isEmptyOrBlank(_evData.dispatchId) ||\n // isEmptyOrBlank(_evData.syncType)\n // )\n // throw new BaseError(\n // BaseErrorCodes.InvalidArgumentError,\n // InvalidArgumentsError\n // );\n\n // values.push(`(?,?,?,?,?)`);\n // args.push(\n // _evData.data,\n // _evData.dispatchId,\n // // _evData.sequence,\n // _evData.config ? JSON.stringify(_evData.config) : null,\n // _evData.syncType,\n // _evData.meta\n // ? _evData.meta.jobId + _evData.meta.objectiveReference\n // : 'NO_REF_FOUND'\n // );\n // if (index === evIndex || index === _eventData.length - 1) {\n // queryData.push({\n // query: `INSERT INTO ${EVENTS_TABLE}(\\\n // ${EVENTS_COLUMNS.PAYLOAD},\\\n // ${EVENTS_COLUMNS.DISPATCH_ID},\\\n // ${EVENTS_COLUMNS.CONFIG},\\\n // ${EVENTS_COLUMNS.SYNC_TYPE},\\\n // ${EVENTS_COLUMNS.OBJECTIVE_REF}) \\\n // values ${values.join(',')};`,\n // args,\n // });\n // values = [];\n // args = [];\n // evIndex = evIndex + evIndex;\n // }\n // });\n\n // await Database.executeBulkQuery(queryData);\n // this._retries = 0;\n // } catch (err) {\n // if (this._retries < this.maxRetryCount) {\n // Logger.getInstance().logEvent(\n // 'insertBulkEvent ',\n // this._retries.toString(),\n // LOG_TYPE.SDK_DEBUG\n // );\n // this._retries++;\n // await this.insertBulkEvent(_eventData);\n // } else {\n // this._retries = 0;\n // throw err;\n // }\n // }\n // }\n\n async getAllEvents(dispatchID?: string): Promise<EventRow[]> {\n if (dispatchID) {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ?;`,\n [dispatchID]\n );\n return resultSet.rows._array;\n } else {\n const resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE};`,\n []\n );\n return resultSet.rows._array;\n }\n }\n\n async getAllUnsyncedEvents(): Promise<EventRow[]> {\n let resultSet = await Database.executeQuery(\n `SELECT * FROM ${EVENTS_TABLE} \\\n where ${EVENTS_COLUMNS.SYNCED} = 0;`,\n []\n );\n return resultSet.rows._array;\n }\n\n public deleteAllEvents() {\n const deleteEventsQuery = {\n query: `DELETE FROM ${EVENTS_TABLE};`,\n args: [],\n };\n const resetAutoIncrementSequence = {\n query: `UPDATE sqlite_sequence SET seq = 0 WHERE name\n = '${EVENTS_TABLE}';`,\n args: [],\n };\n\n return Database.executeBulkQuery([\n deleteEventsQuery,\n resetAutoIncrementSequence,\n ]);\n }\n\n async updateError(id: number, syncError: string): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} \\\n SET \\\n ${EVENTS_COLUMNS.SYNC_ERROR} = ? WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [syncError, id]\n );\n }\n\n // This function will actualy update the POD_DOC type of event as sync along with attempt count.\n async markPODDocEventSynced(sync: number, attempt:number, podDocId: String): Promise<void> {\n if (!podDocId) throw new TypeError('podDocId cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = ?, ${EVENTS_COLUMNS.ATTEMPT_COUNT} = ? WHERE ${EVENTS_COLUMNS.SYNC_TYPE} = ?;`,\n [sync,attempt,podDocId]\n );\n }\n\n async markEventSynced(id: number): Promise<void> {\n if (!id) throw new TypeError('Event ID cannot be null');\n await Database.executeQuery(\n `UPDATE ${EVENTS_TABLE} SET ${EVENTS_COLUMNS.SYNCED} = 1 WHERE ${EVENTS_COLUMNS.ID} = ?;`,\n [id]\n );\n }\n\n async getWorkflowUpdateEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getJobRemovalEvents(syncType: string): Promise<EventRow[]> {\n let sqlResultSet = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0\\\n and ${EVENTS_COLUMNS.SYNC_TYPE} = ?\\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC LIMIT 1;`,\n [syncType]\n );\n return sqlResultSet.rows._array;\n }\n async getCustodyBatch(dispatchID: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.SYNCED} = 0 and \\\n (${EVENTS_COLUMNS.SYNC_TYPE} = ? or ${EVENTS_COLUMNS.SYNC_TYPE} = ?) \\\n and ${EVENTS_COLUMNS.DISPATCH_ID} = ? \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [SyncType.CUSTODY_IN_SCAN, SyncType.CUSTODY_OUT_SCAN, dispatchID]\n );\n return sqlResult.rows._array;\n }\n async getObjectiveDetails(objectiveRef: string): Promise<EventRow[]> {\n let rs = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE} WHERE ${EVENTS_COLUMNS.META} = ?;`,\n [objectiveRef]\n );\n return rs.rows._array;\n }\n\n async getRowToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n const sqlResult = await Database.executeQuery(\n `SELECT * from ${EVENTS_TABLE}\\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} = ? and \\\n ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ORDER BY ${EVENTS_COLUMNS.ID} ASC;`,\n [dispatchId]\n );\n return sqlResult.rows._array;\n }\n\n async getBulkRowsToSync(id: string, dispatchId: string): Promise<EventRow[]> {\n // If it is allowed max_retried_rows are allowed to process then it will refetch those data which are even have tried max attempt otherwise it will skip those events.\n if(PROCESS_MAX_RETRIED_ROWS){\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }else{\n const query = `SELECT * FROM \\\n (SELECT *, \\ \n (SELECT SUM(${EVENTS_COLUMNS.DATA_LENGTH}) \\\n FROM ${EVENTS_TABLE} \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} \\\n ) total \\\n FROM ${EVENTS_TABLE} t \\\n ) q \\\n WHERE ${EVENTS_COLUMNS.DISPATCH_ID} \\ = '${dispatchId}' and ${EVENTS_COLUMNS.DATA_LENGTH} > 0 and ${EVENTS_COLUMNS.SYNCED} = 0 and ${EVENTS_COLUMNS.ATTEMPT_COUNT} < ${MAX_RETRY_COUNT} and total <= ${BULK_DATA_LIMIT} \\\n ORDER BY ${EVENTS_COLUMNS.ID};`;\n\n const sqlResult = await Database.executeQuery(query, []);\n return sqlResult.rows._array;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -223,6 +223,7 @@ export default class EventsSyncManager {
|
|
|
223
223
|
async forceSync() {
|
|
224
224
|
if (!this.eventsManager) this.eventsManager = await ETEventsManager.getInstance();
|
|
225
225
|
this._retries = 0;
|
|
226
|
+
this.inProgress = false;
|
|
226
227
|
await this.startSync();
|
|
227
228
|
}
|
|
228
229
|
async isSyncPending() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ETEventsManager","SyncHttpClient","flattenObject","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","NetworkUtil","Logger","LOG_TYPE","IDispatch","SyncType","DispatchSdkCache","Storage","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","TAG","EventsSyncManager","retries","_retries","value","constructor","_defineProperty","initSyncManager","baseURL","retryCount","maxRetryCount","syncHttpClient","getInstance","instance","startSync","inProgress","hasNetwork","isAvailableAsync","eventsManager","checkForInitialization","lastSyncedEventId","getSharedItem","dspID","getKeyFromCache","KEYS","DISPATCH_ID","bulkEventRows","getBulkRowsToSync","arrEventsToSync","index","syncType","sync_type","includes","push","length","syncBulkEventToServer","extraParameters","logEvent","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","insertEvent","sequence","payload","objectiveRef","config","insertBulkEvent","_bulkData","insertQueueEvent","_pushData","getObjectiveSummary","data","getObjectiveDetails","requiredPayload","row","JSON","parse","status","_this$syncHttpClient","success","syncBulkEvent","setSharedItem","lastSyncEventId","stringify","getAllEvents","clearEventsDB","deleteAllEvents","_EventsSyncManager"],"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":";;;;AAAA,OAAOA,eAAe,MAAM,mBAAmB;AAO/C,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAASC,aAAa,EAAEC,cAAc,QAAQ,sBAAsB;AACpE,SAASC,SAAS,QAAQ,2BAA2B;AACrD,OAAOC,cAAc,IACnBC,qBAAqB,EACrBC,cAAc,EACdC,yBAAyB,QACpB,4BAA4B;AACnC,OAAOC,WAAW,MAAM,4BAA4B;AACpD,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,SAAS,QAAQ,oDAAoD;AAC9E,MAAMC,QAAQ,GAAGD,SAAS,CAACC,QAAQ;AAEnC,OAAOC,gBAAgB,MAAM,4BAA4B;AACzD,OAAOC,OAAO,MAAM,wBAAwB;AAC5C,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,cAAc;AACpE,SAASC,OAAO,QAAQ,cAAc;AAEtC,MAAMC,GAAG,GAAG,mBAAmB;AAC/B,eAAe,MAAMC,iBAAiB,CAAC;EASrC,IAAIC,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACC,QAAQ;EACtB;EAEA,IAAID,OAAOA,CAACE,KAAa,EAAE;IACzB,IAAI,CAACD,QAAQ,GAAGC,KAAK;EACvB;EAEQC,WAAWA,CAAA,EAAG;IAAAC,eAAA;IAAAA,eAAA,qBAdQ,KAAK;IAAAA,eAAA,0BACA,KAAK;IAAAA,eAAA;IAAAA,eAAA,wBAERR,eAAe;IAAAQ,eAAA,mBAC5B,CAAC;EAUG;EAEhBC,eAAeA,CAACC,OAAe,EAAEC,UAAkB,EAAE;IAC1D,IAAIzB,cAAc,CAACwB,OAAO,CAAC,EACzB,MAAM,IAAIvB,SAAS,CAACC,cAAc,CAACE,cAAc,EAAEA,cAAc,CAAC;IACpE,IAAI,CAACsB,aAAa,GAAGD,UAAU;IAC/B,IAAI,CAACE,cAAc,GAAG,IAAI7B,cAAc,CAAC0B,OAAO,CAAC;EACnD;EAEA,OAAcI,WAAWA,CAAA,EAAsB;IAC7C,IAAI,CAACX,iBAAiB,CAACY,QAAQ,EAAE;MAC/BZ,iBAAiB,CAACY,QAAQ,GAAG,IAAIZ,iBAAiB,CAAC,CAAC;IACtD;IACA,OAAOA,iBAAiB,CAACY,QAAQ;EACnC;EAEA,MAAaC,SAASA,CAAA,EAAkB;IACtC,IAAI,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACZ,QAAQ,GAAG,IAAI,CAACO,aAAa,EAAE;MAC1D,IAAI,CAACK,UAAU,GAAG,IAAI;MACtB,MAAMC,UAAU,GAAG,MAAM1B,WAAW,CAAC2B,gBAAgB,CAAC,CAAC;MACvD,IAAI,CAAC,IAAI,CAACC,aAAa,EAAE;QACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;MAC1D;MACA,IAAI;QACF,IAAI,CAACO,sBAAsB,CAAC,CAAC;QAE7B,IAAIH,UAAU,EAAE;UACd;UACA,MAAMI,iBAAiB,GAAG,MAAMxB,OAAO,CAACgB,WAAW,CAAC,CAAC,CAACS,aAAa,CACjExB,oBACF,CAAC;UACD,MAAMyB,KAAK,GAAG,MAAM3B,gBAAgB,CAACiB,WAAW,CAAC,CAAC,CAACW,eAAe,CAChE5B,gBAAgB,CAAC6B,IAAI,CAACC,WACxB,CAAC;UAED,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACR,aAAa,CAACS,iBAAiB,CAC9DP,iBAAiB,EACjBE,KAAK,IAAI,EACX,CAAC;UAED,IAAIM,eAA2B,GAAG,EAAE;;UAEpC;UACA,KAAK,IAAIC,KAAK,IAAIH,aAAa,EAAE;YAC/B,IAAII,QAAQ,GAAGJ,aAAa,CAACG,KAAK,CAAC,CAACE,SAAS;YAC7C,IAAID,QAAQ,CAACE,QAAQ,CAACjC,OAAO,CAAC,EAAE;cAC9B;YACF;YACA6B,eAAe,CAACK,IAAI,CAACP,aAAa,CAACG,KAAK,CAAC,CAAC;UAC5C;UAEA,IAAID,eAAe,CAACM,MAAM,IAAI,CAAC,EAAE;YAC/B,MAAM,IAAI,CAACC,qBAAqB,CAC9BP,eAAe,EACfR,iBACF,CAAC;YACD,IAAIgB,eAAe,GAAG;cACpBV,aAAa,EAAEE,eAAe,CAACM;YACjC,CAAC;YACD3C,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,yBAAyB,EACzBtD,aAAa,CAACqD,eAAe,CAAC,EAC9B5C,QAAQ,CAAC8C,SACX,CAAC;UACH,CAAC,MAAM;YACL,IAAIF,eAAe,GAAG;cACpBV,aAAa,EAAEA,aAAa,CAACQ,MAAM;cACnCN,eAAe,EAAEA,eAAe,CAACM;YACnC,CAAC;YACD3C,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,iCAAiC,EACjCtD,aAAa,CAACqD,eAAe,CAAC,EAC9B5C,QAAQ,CAAC8C,SACX,CAAC;UACH;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;QACF,CAAC,MAAM;UACL,IAAIF,eAAe,GAAG;YACpBG,OAAO,EAAEvB;UACX,CAAC;UACDzB,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,sBAAsB,EACtBtD,aAAa,CAACqD,eAAe,CAAC,EAC9B5C,QAAQ,CAAC8C,SACX,CAAC;QACH;MACF,CAAC,CAAC,OAAOE,KAAU,EAAE;QACnBjD,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,iBAAiB,EACjBtD,aAAa,CAACyD,KAAK,CAAC,EACpBhD,QAAQ,CAAC8C,SACX,CAAC;MACH,CAAC,SAAS;QACR,IAAI,CAACvB,UAAU,GAAG,KAAK;QACvB,MAAMK,iBAAiB,GAAG,MAAMxB,OAAO,CAACgB,WAAW,CAAC,CAAC,CAACS,aAAa,CACjExB,oBACF,CAAC;QACD,MAAMyB,KAAK,GAAG,MAAM3B,gBAAgB,CAACiB,WAAW,CAAC,CAAC,CAACW,eAAe,CAChE5B,gBAAgB,CAAC6B,IAAI,CAACC,WACxB,CAAC;QAED,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACR,aAAa,CAACS,iBAAiB,CAC9DP,iBAAiB,EACjBE,KAAK,IAAI,EACX,CAAC;QAED,IAAIM,eAA2B,GAAG,EAAE;;QAEpC;QACA,KAAK,IAAIC,KAAK,IAAIH,aAAa,EAAE;UAC/B,IAAII,QAAQ,GAAGJ,aAAa,CAACG,KAAK,CAAC,CAACE,SAAS;UAC7C,IAAID,QAAQ,CAACE,QAAQ,CAACjC,OAAO,CAAC,EAAE;YAC9B;UACF;UACA6B,eAAe,CAACK,IAAI,CAACP,aAAa,CAACG,KAAK,CAAC,CAAC;QAC5C;QACA,IAAIO,eAAe,GAAG;UACpBpB,UAAU,EAAEA,UAAU;UACtByB,OAAO,EAAEb,eAAe,CAACM,MAAM,IAAI;QACrC,CAAC;QACDQ,OAAO,CAACC,GAAG,CAAC,UAAU,EAACf,eAAe,CAACM,MAAM,CAAC;QAC9C,IAAIN,eAAe,CAACM,MAAM,IAAI,CAAC,IAAIlB,UAAU,EAAE;UAC7C,MAAM,IAAI,CAACF,SAAS,CAAC,CAAC;UACtBvB,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAAC,uCAAuC,EAAEtD,aAAa,CAACqD,eAAe,CAAC,EAAE5C,QAAQ,CAAC8C,SAAS,CAAC;QAC5H;MACF;IACF,CAAC,MAAM;MACL,IAAIF,eAAe,GAAG;QACpBQ,UAAU,EAAE,IAAI,CAAC7B,UAAU;QAC3B8B,KAAK,EAAE,IAAI,CAAC1C;MACd,CAAC;MACDZ,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,iCAAiC,EACjCtD,aAAa,CAACqD,eAAe,CAAC,EAC9B5C,QAAQ,CAAC8C,SACX,CAAC;IACH;EACF;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAcQ,gBAAgBA,CAC5BC,SAAqB,EACrBC,WAAmB,EACJ;IACf,IAAI,CAACD,SAAS,IAAIA,SAAS,CAACb,MAAM,KAAK,CAAC,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAChB,aAAa,EAAE;MACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D;IACA,MAAMqC,QAAe,GAAG,EAAE;IAC1B,KAAK,MAAMC,EAAE,IAAIH,SAAS,EAAE;MAC1B,IAAI;QACFE,QAAQ,CAAChB,IAAI,CAAC,IAAI,CAACf,aAAa,CAACiC,WAAW,CAACD,EAAE,CAACE,EAAE,EAAEJ,WAAW,CAAC,CAAC;MACnE,CAAC,CAAC,OAAOK,GAAQ,EAAE;QACjB9D,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,kBAAkB,EAClBtD,aAAa,CAACsE,GAAG,CAAC,EAClB7D,QAAQ,CAAC8D,WACX,CAAC;MACH;IACF;IACA,MAAMC,OAAO,CAACC,GAAG,CAACP,QAAQ,CAAC;EAC7B;;EAEA;AACF;AACA;EACE,MAAaQ,SAASA,CAAA,EAAG;IACvB,IAAI,CAAC,IAAI,CAACvC,aAAa,EACrB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D,IAAI,CAACT,QAAQ,GAAG,CAAC;IACjB,MAAM,IAAI,CAACW,SAAS,CAAC,CAAC;EACxB;EAEA,MAAa4C,aAAaA,CAAA,EAAqB;IAC7C,IAAI,CAAC,IAAI,CAACxC,aAAa,EAAE;MACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D;;IAGA;IACA,MAAMQ,iBAAiB,GAAG,MAAMxB,OAAO,CAACgB,WAAW,CAAC,CAAC,CAACS,aAAa,CACjExB,oBACF,CAAC;IACD,MAAM8D,WAAW,GAAGC,QAAQ,CAACxC,iBAAiB,CAAC,GAAG,CAAC;IACnD,MAAME,KAAK,GAAG,MAAM3B,gBAAgB,CAACiB,WAAW,CAAC,CAAC,CAACW,eAAe,CAChE5B,gBAAgB,CAAC6B,IAAI,CAACC,WACxB,CAAC;IACD,MAAMsB,SAAS,GAAG,MAAM,IAAI,CAAC7B,aAAa,CAAC2C,YAAY,CACrD,GAAGF,WAAW,EAAE,EAChBrC,KAAK,IAAI,EACX,CAAC;IAED,OAAOyB,SAAS,CAACb,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC/B,QAAQ,GAAG,IAAI,CAACO,aAAa;;IAEjE;IACA;IACA;EACF;EAEA,MAAcoD,eAAeA,CAACf,SAAqB,EAAE;IACnD,IAAI,CAACA,SAAS,IAAIA,SAAS,CAACb,MAAM,KAAK,CAAC,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAChB,aAAa,EAAE;MACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D;IACA,MAAMqC,QAAe,GAAG,EAAE;IAC1B,KAAK,MAAMC,EAAE,IAAIH,SAAS,EAAE;MAC1B,IAAI;QACFE,QAAQ,CAAChB,IAAI,CAAC,MAAM,IAAI,CAACf,aAAa,CAAC4C,eAAe,CAACZ,EAAE,CAACE,EAAE,CAAC,CAAC;MAChE,CAAC,CAAC,OAAOC,GAAQ,EAAE;QACjB9D,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,iBAAiB,EACjBtD,aAAa,CAACsE,GAAG,CAAC,EAClB7D,QAAQ,CAAC8D,WACX,CAAC;MACH;IACF;IAEA,MAAMC,OAAO,CAACC,GAAG,CAACP,QAAQ,CAAC;EAC7B;;EAEA;EACA,MAAac,iBAAiBA,CAC5BzC,KAAa,EACbQ,QAAgB,EACD;IACf,IAAI9C,cAAc,CAACsC,KAAK,CAAC,IAAItC,cAAc,CAAC8C,QAAQ,CAAC,EACnD,MAAM,IAAI7C,SAAS,CACjBC,cAAc,CAAC8E,oBAAoB,EACnC7E,qBACF,CAAC;IACH,IAAI,CAAC,IAAI,CAAC+B,aAAa,EAAE;MACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D;IACA,MAAM,IAAI,CAACM,aAAa,CAAC6C,iBAAiB,CAACzC,KAAK,EAAEQ,QAAQ,CAAC;EAC7D;EAEA,MAAamC,WAAWA,CACtBC,QAAgB,EAChBC,OAAe,EACf7C,KAAa,EACbQ,QAAgB,EAChBsC,YAAoB,EACpBC,MAAe,EACA;IACf,IACE,CAACH,QAAQ,IACTlF,cAAc,CAACmF,OAAO,CAAC,IACvBnF,cAAc,CAACsC,KAAK,CAAC,IACrBtC,cAAc,CAAC8C,QAAQ,CAAC,IACxB9C,cAAc,CAACoF,YAAY,CAAC,EAE5B,MAAM,IAAInF,SAAS,CACjBC,cAAc,CAAC8E,oBAAoB,EACnC7E,qBACF,CAAC;IACH,IAAI,CAAC,IAAI,CAAC+B,aAAa,EAAE;MACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D;IACA,MAAM,IAAI,CAACM,aAAa,CAAC+C,WAAW,CAClCC,QAAQ,EACRC,OAAO,EACP7C,KAAK,EACLQ,QAAQ,EACRsC,YAAY,EACZC,MACF,CAAC;EACH;;EAEA;EACA,MAAaC,eAAeA,CAACC,SAAoB,EAAiB;IAChE,IAAI;MACF,IAAI,CAAC,IAAI,CAACrD,aAAa,EAAE;QACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;MAC1D;MACA,MAAM,IAAI,CAACM,aAAa,CAACoD,eAAe,CAACC,SAAS,CAAC;IACrD,CAAC,CAAC,OAAOlB,GAAG,EAAE;MACZ,MAAMA,GAAG;IACX;EACF;;EAEA;EACA,MAAamB,gBAAgBA,CAACC,SAAoB,EAAiB;IACjE,IAAI;MACF,IAAI,CAAC,IAAI,CAACvD,aAAa,EAAE;QACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;MAC1D;MACA,MAAM,IAAI,CAACM,aAAa,CAACsD,gBAAgB,CAACC,SAAS,CAAC;IACtD,CAAC,CAAC,OAAOpB,GAAG,EAAE;MACZ,MAAMA,GAAG;IACX;EACF;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEQlC,sBAAsBA,CAAA,EAAG;IAC/B,IAAI,CAAC,IAAI,CAACR,cAAc,EAAE;MACxB,MAAM,IAAI1B,SAAS,CACjBC,cAAc,CAACG,yBAAyB,EACxCA,yBACF,CAAC;IACH;EACF;EAEA,MAAaqF,mBAAmBA,CAACN,YAAoB,EAAgB;IACnE,IAAI,CAACA,YAAY,EAAE,OAAO,EAAE;IAC5B,IAAI,CAAC,IAAI,CAAClD,aAAa,EAAE;MACvB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D;IACA,IAAI;MACF,IAAI+D,IAAI,GAAG,MAAM,IAAI,CAACzD,aAAa,CAAC0D,mBAAmB,CAACR,YAAY,CAAC;MACrE,IAAIS,eAAoB,GAAG,IAAI;MAC/B,KAAK,MAAMC,GAAG,IAAIH,IAAI,EAAE;QACtB,IAAIR,OAAO,GAAGY,IAAI,CAACC,KAAK,CAACF,GAAG,CAACX,OAAO,CAAC;QACrC,IAAIA,OAAO,CAACc,MAAM,KAAK,QAAQ,EAAE;UAC/BJ,eAAe,GAAGV,OAAO;QAC3B;MACF;MACA,IAAIU,eAAe,EAAE,OAAOA,eAAe,CAACF,IAAI,CAAC,KAC5C,OAAO,IAAI;IAClB,CAAC,CAAC,OAAOtB,GAAQ,EAAE;MACjB9D,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,qBAAqB,EACrBtD,aAAa,CAACsE,GAAG,CAAC,EAClB7D,QAAQ,CAAC8D,WACX,CAAC;MACD,OAAO,IAAI;IACb;EACF;;EAEA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAcnB,qBAAqBA,CACjCY,SAAqB,EACrB3B,iBAAyB,EACzB;IACA,IAAI;MAAA,IAAA8D,oBAAA;MACF,MAAMC,OAAO,GAAG,QAAAD,oBAAA,GAAM,IAAI,CAACvE,cAAc,cAAAuE,oBAAA,uBAAnBA,oBAAA,CAAqBE,aAAa,CAACrC,SAAS,CAAC;MACnE,IAAIX,eAAe,GAAG;QACpB+C,OAAO,EAAEA;MACX,CAAC;MACD5F,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,kDAAkD,EAClDtD,aAAa,CAACqD,eAAe,CAAC,EAC9B5C,QAAQ,CAAC8C,SACX,CAAC;MACD,IAAI6C,OAAO,EAAE;QACX,IAAI,CAAChF,QAAQ,GAAG,CAAC;QACjB;;QAEA,MAAMwD,WAAW,GAAGC,QAAQ,CAACxC,iBAAiB,CAAC,GAAG2B,SAAS,CAACb,MAAM;QAClE,MAAMtC,OAAO,CAACgB,WAAW,CAAC,CAAC,CAACyE,aAAa,CACvCxF,oBAAoB,EACpB,GAAG8D,WAAW,EAChB,CAAC;;QAED;QACA,MAAM,IAAI,CAACG,eAAe,CAACf,SAAS,CAAC;QAErC,IAAIX,eAAe,GAAG;UACpBlC,OAAO,EAAE,IAAI,CAACC,QAAQ;UACtBmF,eAAe,EAAE3B;QACnB,CAAC;QACDpE,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,uCAAuC,EACvCtD,aAAa,CAACqD,eAAe,CAAC,EAC9B5C,QAAQ,CAAC8C,SACX,CAAC;MACH,CAAC,MAAM;QACL,IAAI,CAACnC,QAAQ,EAAE;QACf,MAAM,IAAI,CAAC2C,gBAAgB,CAACC,SAAS,EAAE,kBAAkB,CAAC;QAC1D,IAAIX,eAAe,GAAG;UACpB+C,OAAO,EAAEA;QACX,CAAC;QACD5F,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,mDAAmD,EACnDtD,aAAa,CAACqD,eAAe,CAAC,EAC9B5C,QAAQ,CAAC8C,SACX,CAAC;MACH;IACF,CAAC,CAAC,OAAOE,KAAU,EAAE;MACnB,IAAI,CAACrC,QAAQ,EAAE;MACfZ,MAAM,CAACqB,WAAW,CAAC,CAAC,CAACyB,QAAQ,CAC3B,6BAA6B,EAC7BtD,aAAa,CAACyD,KAAK,CAAC,EACpBhD,QAAQ,CAAC8C,SACX,CAAC;MACD,MAAM,IAAI,CAACQ,gBAAgB,CACzBC,SAAS,EACTgC,IAAI,CAACQ,SAAS,CAAC;QACb/C;MACF,CAAC,CACH,CAAC;IACH;EACF;EAEA,MAAagD,YAAYA,CAAClE,KAAc,EAAuB;IAC7D,IAAI,CAAC,IAAI,CAACJ,aAAa,EACrB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D,OAAO,IAAI,CAACM,aAAa,CAACsE,YAAY,CAAClE,KAAK,CAAC;EAC/C;EACA,MAAamE,aAAaA,CAAA,EAAG;IAC3B,IAAI,CAAC,IAAI,CAACvE,aAAa,EACrB,IAAI,CAACA,aAAa,GAAG,MAAMrC,eAAe,CAAC+B,WAAW,CAAC,CAAC;IAC1D,MAAM,IAAI,CAACM,aAAa,CAACwE,eAAe,CAAC,CAAC;EAC5C;AACF;AAACC,kBAAA,GAvjBoB1F,iBAAiB;AAAAK,eAAA,CAAjBL,iBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ETEventsManager","SyncHttpClient","flattenObject","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","NetworkUtil","Logger","LOG_TYPE","IDispatch","SyncType","DispatchSdkCache","Storage","LAST_SYNCED_EVENT_ID","MAX_RETRY_COUNT","POD_DOC","TAG","EventsSyncManager","retries","_retries","value","constructor","_defineProperty","initSyncManager","baseURL","retryCount","maxRetryCount","syncHttpClient","getInstance","instance","startSync","inProgress","hasNetwork","isAvailableAsync","eventsManager","checkForInitialization","lastSyncedEventId","getSharedItem","dspID","getKeyFromCache","KEYS","DISPATCH_ID","bulkEventRows","getBulkRowsToSync","arrEventsToSync","index","syncType","sync_type","includes","push","length","syncBulkEventToServer","extraParameters","logEvent","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","insertEvent","sequence","payload","objectiveRef","config","insertBulkEvent","_bulkData","insertQueueEvent","_pushData","getObjectiveSummary","data","getObjectiveDetails","requiredPayload","row","JSON","parse","status","_this$syncHttpClient","success","syncBulkEvent","setSharedItem","lastSyncEventId","stringify","getAllEvents","clearEventsDB","deleteAllEvents","_EventsSyncManager"],"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":[]}
|
|
@@ -93,10 +93,11 @@ const DropCashScreen = ({
|
|
|
93
93
|
})();
|
|
94
94
|
}, [expectedAmount.value]);
|
|
95
95
|
const getTotalExpected = async () => {
|
|
96
|
-
const
|
|
96
|
+
const totalAmountArr = await DispatchExecutor.getTotalAmountMWI(mergedObjectiveId);
|
|
97
|
+
let finalValue = totalAmountArr.map(Number).reduce((sum, num) => sum + num, 0).toFixed(2);
|
|
97
98
|
setExpectedAmount({
|
|
98
99
|
...expectedAmount,
|
|
99
|
-
value:
|
|
100
|
+
value: Number(finalValue)
|
|
100
101
|
});
|
|
101
102
|
};
|
|
102
103
|
const getSelfLoopBool = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useState","withBaseDispatchScreen","SLDropCash","EntityCode","ExecutionTaskID","DispatchStateContainer","RouteParams","getDataFromNextState","View","CancelOrderDialog","getBaseETResponse","onTaskStart","DispatchExecutor","GO_BACK_EVENT_CODE","Helper","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","ProgressDialog","getEventCodeByET","DropCashScreen","route","navigation","baseETProps","loading","setLoading","helperInstance","getInstance","nextState","params","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","taskName","expectedAmount","setExpectedAmount","value","minorUnit","currencyCode","isSelfLoopTrue","setSelfLoop","severityLevel","LOG","eventName","RETURN_CASH_ET_OPENED","screenName","RETURN_CASH_ET_SCREEN","ROOT_META_DATA","customEventsData","getTotalExpected","getSelfLoopBool","console","log","_input$applicableReas","dropCashETOutput","amount","DELIVER_CASH","applicableReasons","success","eventCode","submitOutput","setResponse","_prevState","setShowAlert","totalAmount","getTotalAmountMWI","_mergedObjectiveId$","splitArr","split","isSelfLoopExistOnET","error","showAlert","sResponse","etOutput","navigateToNextTask","createElement","style","flex","visible","label","_extends","isSelfLoop","onSubmitET","onSubmit"],"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":";AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC/D,OAAOC,sBAAsB,MAAM,0BAA0B;AAE7D,SAASC,UAAU,QAAQ,qDAAqD;AAChF,SAASC,UAAU,EAAEC,eAAe,QAAQ,iCAAiC;AAC7E,OAAOC,sBAAsB,MAAM,+CAA+C;AAClF,SAASC,WAAW,EAAEC,oBAAoB,QAAQ,yBAAyB;AAE3E,SAASC,IAAI,QAAQ,cAAc;AACnC,OAAOC,iBAAiB,MAAM,4CAA4C;AAC1E,SAASC,iBAAiB,EAAEC,WAAW,QAAQ,2BAA2B;AAE1E,SAASC,gBAAgB,QAAQ,oDAAoD;AACrF,SAASC,kBAAkB,QAAQ,2BAA2B;AAC9D,OAAOC,MAAM,MAAM,oBAAoB;AACvC;AACA,SAASC,sBAAsB,EAAEC,2BAA2B,EAAEC,kBAAkB,QAAQ,2CAA2C;AACnI,SAASC,uBAAuB,QAAQ,6CAA6C;AACrF,OAAOC,cAAc,MAAM,yCAAyC;AACpE,SAASC,gBAAgB,QAAQ,gDAAgD;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,cAAc,GAAGA,CAAC;EACtBC,KAAK;EACLC,UAAU;EACVC;AAKF,CAAC,KAAK;EACJ,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG1B,QAAQ,CAAC,KAAK,CAAC;EAE7C,MAAM2B,cAAc,GAAGb,MAAM,CAACc,WAAW,CAAC,CAAC;EAC3C,MAAMC,SAAS,GAAGP,KAAK,CAACQ,MAAM,CAACxB,WAAW,CAACyB,WAAW,CAAC;EACvD,MAAM;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAC5D7B,oBAAoB,CAACsB,SAAS,CAAC;EAEjC,MAAM,CAACQ,cAAc,EAAEC,iBAAiB,CAAC,GAAGtC,QAAQ,CAAW;IAC7DuC,KAAK,EAAE,CAAC;IACRC,SAAS,EAAEN,KAAK,CAACG,cAAc,CAACG,SAAS;IACzCC,YAAY,EAAEP,KAAK,CAACG,cAAc,CAACI;EACrC,CAAC,CAAC;EACF,MAAM,CAACC,cAAc,EAAEC,WAAW,CAAC,GAAG3C,QAAQ,CAAC,KAAK,CAAC;EAErDD,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX;MACAmB,uBAAuB,CAAC;QAAC0B,aAAa,EAAC3B,kBAAkB,CAAC4B,GAAG;QAAEC,SAAS,EAAC9B,2BAA2B,CAAC+B,qBAAqB;QAAEC,UAAU,EAACjC,sBAAsB,CAACkC;MAAqB,CAAC,CAAC;MACrL;MACAtC,WAAW,CACTkB,SAAS,EACTP,KAAK,CAACQ,MAAM,CAACxB,WAAW,CAAC4C,cAAc,CAAC,CAACC,gBAC3C,CAAC;MACDC,gBAAgB,CAAC,CAAC;MAClB,MAAMC,eAAe,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAENtD,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACXuD,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAClB,cAAc,CAAC;MAC7C,IAAGA,cAAc,CAACE,KAAK,KAAK,CAAC,EAAC;QAAA,IAAAiB,qBAAA;QAC5B;QACA,IAAIC,gBAAgB,GAAG;UACrBC,MAAM,EAAE;YACNnB,KAAK,EAAEF,cAAc,CAACE,KAAK;YAC3BE,YAAY,EAAEJ,cAAc,CAACI,YAAY;YACzCD,SAAS,EAAEH,cAAc,CAACG;UAC5B,CAAC;UACD,IAAI,MAAM9B,iBAAiB,CACzBP,UAAU,CAACwD,YAAY,EACvB,IAAI,EACJvC,gBAAgB,CACdhB,eAAe,CAACuD,YAAY,EAC5B,IAAI,GAAAH,qBAAA,GACJtB,KAAK,CAAC0B,iBAAiB,cAAAJ,qBAAA,uBAAvBA,qBAAA,CAAyBK,OAC3B,CAAC,EACD,EAAE,EACF5B,iBAAiB,EACjB7B,eAAe,CAACuD,YAClB,CAAC;QACH,CAAC;QACD,IAAIF,gBAAgB,CAACI,OAAO,IAAIJ,gBAAgB,CAACK,SAAS,IAAIjD,kBAAkB,EAAE;UAChF,MAAMkD,YAAY,CAACN,gBAAgB,CAAC;QACtC,CAAC,MAAM;UACLO,WAAW,CAAEC,UAAe,IAAK;YAC/BC,YAAY,CAAC,IAAI,CAAC;YAClB,OAAOT,gBAAgB;UACzB,CAAC,CAAC;QACJ;QACA;MACJ;IACA,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACpB,cAAc,CAACE,KAAK,CAAC,CAAC;EAI1B,MAAMa,gBAAgB,GAAG,MAAAA,CAAA,KAAY;IACnC,MAAMe,WAAmB,GAAG,MAAMvD,gBAAgB,CAACwD,iBAAiB,CAClEnC,iBACF,CAAC;IACDK,iBAAiB,CAAC;MAAE,GAAGD,cAAc;MAAEE,KAAK,EAAE4B;IAAY,CAAC,CAAC;EAC9D,CAAC;EAED,MAAMd,eAAe,GAAG,MAAAA,CAAA,KAAY;IAClC,IAAI;MAAA,IAAAgB,mBAAA;MACF,MAAMC,QAAQ,IAAAD,mBAAA,GAAGpC,iBAAiB,CAAC,CAAC,CAAC,cAAAoC,mBAAA,uBAApBA,mBAAA,CAAsBE,KAAK,CAAC,GAAG,CAAC;MACjD,MAAM7B,cAAuB,GAAG,MAAMf,cAAc,CAAC6C,mBAAmB,CAACF,QAAQ,CAAC,CAAC,CAAC,EAAElC,QAAQ,CAAC;MAC/FO,WAAW,CAACD,cAAc,CAAC;MAC3BY,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;IAC1D,CAAC,CAAC,OAAOkB,KAAK,EAAE;MACdnB,OAAO,CAACC,GAAG,CAAC,qCAAqC,EAAEkB,KAAK,CAAC;IAC3D;EACF,CAAC;EAED,MAAM,CAACC,SAAS,EAAER,YAAY,CAAC,GAAGlE,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAAC2E,SAAS,EAAEX,WAAW,CAAC,GAAGhE,QAAQ,CAAM,CAAC;EAChD,MAAM+D,YAAY,GAAGjE,WAAW,CAC9B,MAAO8E,QAAa,IAAK;IACvB,MAAMvE,sBAAsB,CAACuB,WAAW,CAAC,CAAC,CAACiD,kBAAkB,CAC3DtD,UAAU,EACVD,KAAK,EACLsD,QAAQ,EACRA,QAAQ,CAACf,OAAO,EAChB1D,UAAU,CAACwD,YAAY,EACvBvD,eAAe,CAACuD,YAAY,EAC5BnC,WAAW,EACX,KACF,CAAC;EACH,CAAC,EACD,CAACA,WAAW,EAAED,UAAU,EAAED,KAAK,CACjC,CAAC;EAED,oBACEzB,KAAA,CAAAiF,aAAA,CAACtE,IAAI;IAACuE,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE;EAAE,GACrB3C,cAAc,CAACE,KAAK,KAAK,CAAC,gBAAG1C,KAAA,CAAAiF,aAAA,CAACtE,IAAI,qBAACX,KAAA,CAAAiF,aAAA,CAAC3D,cAAc;IAAC8D,OAAO,EAAExD,OAAQ;IAACyD,KAAK,EAAE;EAAiB,CAAE,CAAO,CAAC,gBACzGrF,KAAA,CAAAiF,aAAA,CAAC5E,UAAU,EAAAiF,QAAA,KACLjD,KAAK;IACTG,cAAc,EAAEA,cAAe;IAC/B+C,UAAU,EAAE1C,cAAe;IAC3BnB,UAAU,EAAEA,UAAW;IACvBU,iBAAiB,EAAEA,iBAAkB;IACrCD,QAAQ,EAAEA,QAAS;IACnBqD,UAAU,EAAE,MAAOT,QAAQ,IAAK;MAC9B,IAAIA,QAAQ,CAACf,OAAO,IAAIe,QAAQ,CAACd,SAAS,IAAIjD,kBAAkB,EAAE;QAChE,MAAMkD,YAAY,CAACa,QAAQ,CAAC;MAC9B,CAAC,MAAM;QACLZ,WAAW,CAAEC,UAAe,IAAK;UAC/BC,YAAY,CAAC,IAAI,CAAC;UAClB,OAAOU,QAAQ;QACjB,CAAC,CAAC;MACJ;IACF;EAAE,EACH,CAAC,eAGF/E,KAAA,CAAAiF,aAAA,CAACrE,iBAAiB;IAChBwE,OAAO,EAAEP,SAAU;IACnBY,QAAQ,EAAE,MAAO/C,KAAK,IAAK;MACzB,IAAIA,KAAK,EAAE;QACT2B,YAAY,CAAC,KAAK,CAAC;QACnB,MAAMH,YAAY,CAACY,SAAS,CAAC;MAC/B,CAAC,MAAM;QACLT,YAAY,CAAC,KAAK,CAAC;MACrB;IACF;EAAE,CACH,CACG,CAAC;AAEX,CAAC;AACD,eAAejE,sBAAsB,CAACoB,cAAc,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useState","withBaseDispatchScreen","SLDropCash","EntityCode","ExecutionTaskID","DispatchStateContainer","RouteParams","getDataFromNextState","View","CancelOrderDialog","getBaseETResponse","onTaskStart","DispatchExecutor","GO_BACK_EVENT_CODE","Helper","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","ProgressDialog","getEventCodeByET","DropCashScreen","route","navigation","baseETProps","loading","setLoading","helperInstance","getInstance","nextState","params","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","taskName","expectedAmount","setExpectedAmount","value","minorUnit","currencyCode","isSelfLoopTrue","setSelfLoop","severityLevel","LOG","eventName","RETURN_CASH_ET_OPENED","screenName","RETURN_CASH_ET_SCREEN","ROOT_META_DATA","customEventsData","getTotalExpected","getSelfLoopBool","console","log","_input$applicableReas","dropCashETOutput","amount","DELIVER_CASH","applicableReasons","success","eventCode","submitOutput","setResponse","_prevState","setShowAlert","totalAmountArr","getTotalAmountMWI","finalValue","map","Number","reduce","sum","num","toFixed","_mergedObjectiveId$","splitArr","split","isSelfLoopExistOnET","error","showAlert","sResponse","etOutput","navigateToNextTask","createElement","style","flex","visible","label","_extends","isSelfLoop","onSubmitET","onSubmit"],"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":";AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC/D,OAAOC,sBAAsB,MAAM,0BAA0B;AAE7D,SAASC,UAAU,QAAQ,qDAAqD;AAChF,SAASC,UAAU,EAAEC,eAAe,QAAQ,iCAAiC;AAC7E,OAAOC,sBAAsB,MAAM,+CAA+C;AAClF,SAASC,WAAW,EAAEC,oBAAoB,QAAQ,yBAAyB;AAE3E,SAASC,IAAI,QAAQ,cAAc;AACnC,OAAOC,iBAAiB,MAAM,4CAA4C;AAC1E,SAASC,iBAAiB,EAAEC,WAAW,QAAQ,2BAA2B;AAE1E,SAASC,gBAAgB,QAAQ,oDAAoD;AACrF,SAASC,kBAAkB,QAAQ,2BAA2B;AAC9D,OAAOC,MAAM,MAAM,oBAAoB;AACvC;AACA,SAASC,sBAAsB,EAAEC,2BAA2B,EAAEC,kBAAkB,QAAQ,2CAA2C;AACnI,SAASC,uBAAuB,QAAQ,6CAA6C;AACrF,OAAOC,cAAc,MAAM,yCAAyC;AACpE,SAASC,gBAAgB,QAAQ,gDAAgD;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,cAAc,GAAGA,CAAC;EACtBC,KAAK;EACLC,UAAU;EACVC;AAKF,CAAC,KAAK;EACJ,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG1B,QAAQ,CAAC,KAAK,CAAC;EAE7C,MAAM2B,cAAc,GAAGb,MAAM,CAACc,WAAW,CAAC,CAAC;EAC3C,MAAMC,SAAS,GAAGP,KAAK,CAACQ,MAAM,CAACxB,WAAW,CAACyB,WAAW,CAAC;EACvD,MAAM;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAC5D7B,oBAAoB,CAACsB,SAAS,CAAC;EAEjC,MAAM,CAACQ,cAAc,EAAEC,iBAAiB,CAAC,GAAGtC,QAAQ,CAAW;IAC7DuC,KAAK,EAAE,CAAC;IACRC,SAAS,EAAEN,KAAK,CAACG,cAAc,CAACG,SAAS;IACzCC,YAAY,EAAEP,KAAK,CAACG,cAAc,CAACI;EACrC,CAAC,CAAC;EACF,MAAM,CAACC,cAAc,EAAEC,WAAW,CAAC,GAAG3C,QAAQ,CAAC,KAAK,CAAC;EAErDD,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX;MACAmB,uBAAuB,CAAC;QAAE0B,aAAa,EAAE3B,kBAAkB,CAAC4B,GAAG;QAAEC,SAAS,EAAE9B,2BAA2B,CAAC+B,qBAAqB;QAAEC,UAAU,EAAEjC,sBAAsB,CAACkC;MAAsB,CAAC,CAAC;MAC1L;MACAtC,WAAW,CACTkB,SAAS,EACTP,KAAK,CAACQ,MAAM,CAACxB,WAAW,CAAC4C,cAAc,CAAC,CAACC,gBAC3C,CAAC;MACDC,gBAAgB,CAAC,CAAC;MAClB,MAAMC,eAAe,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAENtD,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACXuD,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAElB,cAAc,CAAC;MAC9C,IAAIA,cAAc,CAACE,KAAK,KAAK,CAAC,EAAE;QAAA,IAAAiB,qBAAA;QAC9B;QACA,IAAIC,gBAAgB,GAAG;UACrBC,MAAM,EAAE;YACNnB,KAAK,EAAEF,cAAc,CAACE,KAAK;YAC3BE,YAAY,EAAEJ,cAAc,CAACI,YAAY;YACzCD,SAAS,EAAEH,cAAc,CAACG;UAC5B,CAAC;UACD,IAAI,MAAM9B,iBAAiB,CACzBP,UAAU,CAACwD,YAAY,EACvB,IAAI,EACJvC,gBAAgB,CACdhB,eAAe,CAACuD,YAAY,EAC5B,IAAI,GAAAH,qBAAA,GACJtB,KAAK,CAAC0B,iBAAiB,cAAAJ,qBAAA,uBAAvBA,qBAAA,CAAyBK,OAC3B,CAAC,EACD,EAAE,EACF5B,iBAAiB,EACjB7B,eAAe,CAACuD,YAClB,CAAC;QACH,CAAC;QACD,IAAIF,gBAAgB,CAACI,OAAO,IAAIJ,gBAAgB,CAACK,SAAS,IAAIjD,kBAAkB,EAAE;UAChF,MAAMkD,YAAY,CAACN,gBAAgB,CAAC;QACtC,CAAC,MAAM;UACLO,WAAW,CAAEC,UAAe,IAAK;YAC/BC,YAAY,CAAC,IAAI,CAAC;YAClB,OAAOT,gBAAgB;UACzB,CAAC,CAAC;QACJ;QACA;MACF;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACpB,cAAc,CAACE,KAAK,CAAC,CAAC;EAI1B,MAAMa,gBAAgB,GAAG,MAAAA,CAAA,KAAY;IACnC,MAAMe,cAAqB,GAAG,MAAMvD,gBAAgB,CAACwD,iBAAiB,CAACnC,iBAAiB,CAAC;IACzF,IAAIoC,UAAU,GAAGF,cAAc,CAACG,GAAG,CAACC,MAAM,CAAC,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAKD,GAAG,GAAGC,GAAG,EAAE,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;IACzFrC,iBAAiB,CAAC;MAAE,GAAGD,cAAc;MAAEE,KAAK,EAAEgC,MAAM,CAACF,UAAU;IAAE,CAAC,CAAC;EACrE,CAAC;EAED,MAAMhB,eAAe,GAAG,MAAAA,CAAA,KAAY;IAClC,IAAI;MAAA,IAAAuB,mBAAA;MACF,MAAMC,QAAQ,IAAAD,mBAAA,GAAG3C,iBAAiB,CAAC,CAAC,CAAC,cAAA2C,mBAAA,uBAApBA,mBAAA,CAAsBE,KAAK,CAAC,GAAG,CAAC;MACjD,MAAMpC,cAAuB,GAAG,MAAMf,cAAc,CAACoD,mBAAmB,CAACF,QAAQ,CAAC,CAAC,CAAC,EAAEzC,QAAQ,CAAC;MAC/FO,WAAW,CAACD,cAAc,CAAC;MAC3BY,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;IAC1D,CAAC,CAAC,OAAOyB,KAAK,EAAE;MACd1B,OAAO,CAACC,GAAG,CAAC,qCAAqC,EAAEyB,KAAK,CAAC;IAC3D;EACF,CAAC;EAED,MAAM,CAACC,SAAS,EAAEf,YAAY,CAAC,GAAGlE,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACkF,SAAS,EAAElB,WAAW,CAAC,GAAGhE,QAAQ,CAAM,CAAC;EAChD,MAAM+D,YAAY,GAAGjE,WAAW,CAC9B,MAAOqF,QAAa,IAAK;IACvB,MAAM9E,sBAAsB,CAACuB,WAAW,CAAC,CAAC,CAACwD,kBAAkB,CAC3D7D,UAAU,EACVD,KAAK,EACL6D,QAAQ,EACRA,QAAQ,CAACtB,OAAO,EAChB1D,UAAU,CAACwD,YAAY,EACvBvD,eAAe,CAACuD,YAAY,EAC5BnC,WAAW,EACX,KACF,CAAC;EACH,CAAC,EACD,CAACA,WAAW,EAAED,UAAU,EAAED,KAAK,CACjC,CAAC;EAED,oBACEzB,KAAA,CAAAwF,aAAA,CAAC7E,IAAI;IAAC8E,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE;EAAE,GACtBlD,cAAc,CAACE,KAAK,KAAK,CAAC,gBAAG1C,KAAA,CAAAwF,aAAA,CAAC7E,IAAI,qBAACX,KAAA,CAAAwF,aAAA,CAAClE,cAAc;IAACqE,OAAO,EAAE/D,OAAQ;IAACgE,KAAK,EAAE;EAAiB,CAAE,CAAO,CAAC,gBACtG5F,KAAA,CAAAwF,aAAA,CAACnF,UAAU,EAAAwF,QAAA,KACLxD,KAAK;IACTG,cAAc,EAAEA,cAAe;IAC/BsD,UAAU,EAAEjD,cAAe;IAC3BnB,UAAU,EAAEA,UAAW;IACvBU,iBAAiB,EAAEA,iBAAkB;IACrCD,QAAQ,EAAEA,QAAS;IACnB4D,UAAU,EAAE,MAAOT,QAAQ,IAAK;MAC9B,IAAIA,QAAQ,CAACtB,OAAO,IAAIsB,QAAQ,CAACrB,SAAS,IAAIjD,kBAAkB,EAAE;QAChE,MAAMkD,YAAY,CAACoB,QAAQ,CAAC;MAC9B,CAAC,MAAM;QACLnB,WAAW,CAAEC,UAAe,IAAK;UAC/BC,YAAY,CAAC,IAAI,CAAC;UAClB,OAAOiB,QAAQ;QACjB,CAAC,CAAC;MACJ;IACF;EAAE,EACH,CAAC,eAGJtF,KAAA,CAAAwF,aAAA,CAAC5E,iBAAiB;IAChB+E,OAAO,EAAEP,SAAU;IACnBY,QAAQ,EAAE,MAAOtD,KAAK,IAAK;MACzB,IAAIA,KAAK,EAAE;QACT2B,YAAY,CAAC,KAAK,CAAC;QACnB,MAAMH,YAAY,CAACmB,SAAS,CAAC;MAC/B,CAAC,MAAM;QACLhB,YAAY,CAAC,KAAK,CAAC;MACrB;IACF;EAAE,CACH,CACG,CAAC;AAEX,CAAC;AACD,eAAejE,sBAAsB,CAACoB,cAAc,CAAC","ignoreList":[]}
|
|
@@ -80,6 +80,8 @@ export function getEntityCodeByET(etId) {
|
|
|
80
80
|
return EntityCode.PROCESS_PAYMENT;
|
|
81
81
|
case ExecutionTaskID.COMPLETE_PAYMENT:
|
|
82
82
|
return EntityCode.COMPLETE_PAYMENT;
|
|
83
|
+
case ExecutionTaskID.COLLECT_PAYMENT_ET:
|
|
84
|
+
return EntityCode.COLLECT_PAYMENT_ET;
|
|
83
85
|
case ExecutionTaskID.DELIVER_CASH:
|
|
84
86
|
return EntityCode.DELIVER_CASH;
|
|
85
87
|
case ExecutionTaskID.VERIFY_INPUT:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LocationManager","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","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","CAPTURE_INPUT","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","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","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"],"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","DispatchSdkCache","EntityCode","ExecutionTaskID","dispatchEvent","JSONPath","getBaseETResponse","entityCode","success","eventCode","reasonCode","mergedObjectiveIds","taskId","lastLocation","getInstance","getLastLocation","console","log","JSON","stringify","cache","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","CAPTURE_INPUT","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","onClickEvent","eventName","additionalData","isLeafData","value","isDynamicValue","charAt","length","handleDynamicValues","jsonInput","dataBlob","key","path","substring","output","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"],"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":[]}
|