@os1-platform/dispatch-mobile 2.1.7 → 2.1.8

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.
@@ -25,7 +25,6 @@ var _DispatchSdkCache = _interopRequireDefault(require("../../../manager/sdk/Dis
25
25
  var _SyncManagerUtils = require("../../../utils/SyncManagerUtils");
26
26
  var _reactNativeImagePicker = require("react-native-image-picker");
27
27
  var _reactNativeCompressor = require("react-native-compressor");
28
- var _storage = _interopRequireDefault(require("../../../utils/storage"));
29
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
29
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
31
30
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -155,10 +154,8 @@ async function captureImage(imageWidth, imageHeight, fileSize) {
155
154
  console.log("aks:uri-after=", uri);
156
155
  //
157
156
  if (uri != null) {
158
- let compressionRatio = await getCompressionRatio(uri, fileSize);
157
+ let compressionRatio = 0.80; //await getCompressionRatio(uri, fileSize);
159
158
  console.log('aks:compressionRatio=', compressionRatio);
160
- _storage.default.getInstance().setItem('maxSize', String(fileSize));
161
- _storage.default.getInstance().setItem('cRatio', String(compressionRatio));
162
159
  console.log('aks:uri=', uri);
163
160
  let resizedImage1 = await _reactNativeCompressor.Image.compress(uri, {
164
161
  compressionMethod: 'manual',
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","FileSystem","_interopRequireWildcard","_expoImagePicker","ImagePicker","_Toaster","_Logger","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_BaseError","_ErrorCodes","_interopRequireDefault","_DispatchSdkCache","_SyncManagerUtils","_reactNativeImagePicker","_reactNativeCompressor","_storage","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","Logger","getInstance","logEvent","message","LOG_TYPE","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","PermissionStatus","GRANTED","captureImage","imageWidth","imageHeight","Alert","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","launchCamera","didCancel","showToast","errorCode","errorMessage","assets","compressionRatio","Storage","setItem","String","resizedImage1","Image","compress","compressionMethod","quality","includes","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","getBaseETResponse","EntityCode","IMAGE_CAPTURE","getEventCodeByET","ExecutionTaskID","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","DispatchSdkCache","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","insertDocumentInDB","title","dateTime","lat","lng","accuracy","push","url","timestamp","file","folder","name","BaseError","BaseErrorCodes","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\nimport { Image } from 'react-native-compressor';\nimport Storage from '../../../utils/storage';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\ndeclare type ImageResult = {\n uri: string;\n width: number;\n height: number;\n base64?: string;\n};\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if (uri != null) {\n \n let compressionRatio = await getCompressionRatio(uri, fileSize);\n console.log('aks:compressionRatio=', compressionRatio);\n Storage.getInstance().setItem('maxSize', String(fileSize));\n Storage.getInstance().setItem('cRatio', String(compressionRatio));\n\n console.log('aks:uri=', uri);\n\n let resizedImage1 = await Image.compress(uri, {\n compressionMethod: 'manual',\n quality: compressionRatio,\n });\n //\n console.log('aks:resizedImage1=', resizedImage1);\n // If captured image file path does not have prefix file:// then we are addding manually\n if (!resizedImage1.includes('file')) {\n resizedImage1 = 'file://' + resizedImage1; \n }\n\n console.log('aks:resizedImage2=', resizedImage1);\n\n let resizedImageResult: ImageResult = {\n uri: resizedImage1,\n width: imageWidth,\n height: imageHeight,\n base64: '',\n };\n console.log('aks:resizedImageResult=', resizedImageResult);\n\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n // console.log(\"resizedImage=before\")\n // console.log(\"resizedImage=\", resizedImage)\n\n return resizedImageResult;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n console.log('getImagesData:',folderName);\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path,\n data.dateTime,\n data.lat,\n data.lng,\n data.accuracy\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":";;;;;;;;;;;;AAMA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAD,uBAAA,CAAAF,OAAA;AAAiD,IAAAI,WAAA,GAAAD,gBAAA;AAEjD,IAAAE,QAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAJ,uBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAIA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAC,sBAAA,CAAAZ,OAAA;AACA,IAAAa,iBAAA,GAAAD,sBAAA,CAAAZ,OAAA;AACA,IAAAc,iBAAA,GAAAd,OAAA;AACA,IAAAe,uBAAA,GAAAf,OAAA;AACA,IAAAgB,sBAAA,GAAAhB,OAAA;AACA,IAAAiB,QAAA,GAAAL,sBAAA,CAAAZ,OAAA;AAA6C,SAAAY,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAApB,wBAAAoB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAEtC,eAAeY,WAAWA,CAACC,SAA6D,EAAEC,MAAa,EAAE;EAC9G,MAAMzC,UAAU,CAAC0C,WAAW,CAACF,SAAS,CAACG,IAAI,CAAC;EAC5C,IAAIC,QAAQ,GAAGH,MAAM,CAACI,MAAM,CAACC,GAAG,IAAEA,GAAG,CAAC,CAACD,MAAM,CAACE,GAAG,IAAIA,GAAG,CAACC,EAAE,CAACC,QAAQ,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,KAAKV,SAAS,CAACQ,EAAE,CAACC,QAAQ,CAAC,CAAC,CAACC,WAAW,CAAC,CAC7H,CAAC;EACDC,OAAO,CAACC,GAAG,CAAC,UAAU,EAACR,QAAQ,CAAC;EAChC,OAAOA,QAAQ;AACjB;AAEO,SAASS,iBAAiBA,CAACC,KAAmB,EAAE;EACrD,IAAIA,KAAK,IAAIA,KAAK,CAACC,iBAAiB,EAAE,OAAOD,KAAK,CAACC,iBAAiB,CAAC,KAChE,OAAO,CAAC;AACf;AAEO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,OAAQ,OAAMC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACT,QAAQ,CAAC,CAAE,MAAK;AAC3C;AAEO,eAAeU,mBAAmBA,CACvCC,GAAW,EACXC,OAAe,EACE;EACjB,IAAI;IACF,IAAIC,QAAQ,GAAG,MAAM9D,UAAU,CAAC+D,YAAY,CAACH,GAAG,EAAE;MAChDI,IAAI,EAAE;IACR,CAAC,CAAC;IACFH,OAAO,GAAGI,IAAI,CAACC,GAAG,CAACL,OAAO,EAAE,IAAI,CAAC;IACjC,IAAIC,QAAQ,CAACK,MAAM,EAAE;MACnB,IAAIC,QAAQ,GAAGN,QAAQ,CAACE,IAAI,GAAG,IAAI;MACnC,IAAII,QAAQ,GAAGP,OAAO,EAAE;QACtB,OAAOA,OAAO,GAAGO,QAAQ;MAC3B,CAAC,MAAM,OAAO,CAAC;IACjB;IACA,OAAO,CAAC;EACV,CAAC,CAAC,OAAOC,KAAU,EAAE;IACnBC,eAAM,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAC3B,qBAAqB,EACrBH,KAAK,CAACI,OAAO,EACbC,gBAAQ,CAACC,SACX,CAAC;IACD,OAAO,CAAC;EACV;AACF;AAEO,eAAeC,yBAAyBA,CAAA,EAAqB;EAClE,IAAIC,QAAQ,GAAG,MAAM1E,WAAW,CAAC2E,yBAAyB,CAAC,CAAC;EAC5D,IAAID,QAAQ,CAACE,OAAO,EAAE,OAAO,IAAI,CAAC,KAC7B;IACH,IAAIC,IAAI,GAAG,MAAM7E,WAAW,CAAC8E,6BAA6B,CAAC,CAAC;IAC5D,OAAOD,IAAI,CAACE,MAAM,KAAKC,iCAAgB,CAACC,OAAO;EACjD;AACF;AAeO,eAAeC,YAAYA,CAChCC,UAAkB,EAClBC,WAAmB,EACnBnB,QAAgB,EACa;EAC7B,IAAI;IACF,IAAI,EAAE,MAAMQ,yBAAyB,CAAC,CAAC,CAAC,EAAE;MACxCY,kBAAK,CAACC,KAAK,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;MACpE,OAAO,IAAI;IACb;;IAGA;IACA,IAAI7B,GAAY,GAAG,EAAE;IACrB,IAAI8B,YAAY,GAAG,IAAI;IAEvB,MAAMC,OAAO,GAAG;MACdC,cAAc,EAAE,CAAC;MACjBC,SAAS,EAAE,OAAO;MAClBC,aAAa,EAAE;IACjB,CAAC;;IAID;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA,MAAM,IAAAC,oCAAY,EAACJ,OAAO,EAAoBd,QAAQ,IAAI;MACxD,IAAIA,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEmB,SAAS,EAAC;QACtB7C,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;QAC7B,IAAA6C,kBAAS,EAAC,2BAA2B,CAAC;QACtC9C,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;MAC1C,CAAC,MAAM,IAAIyB,QAAQ,CAACqB,SAAS,KAAK,oBAAoB,IAAI,YAAY,IAAI,QAAQ,CAAC,EAAE;QACnF/C,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;QAC7B,IAAA6C,kBAAS,EAACpB,QAAQ,CAACsB,YAAY,GAAEtB,QAAQ,CAACsB,YAAY,GAAG,EAAE,CAAC;QAC5DhD,OAAO,CAACC,GAAG,CAAC,qBAAqB,EAAEyB,QAAQ,CAACsB,YAAY,CAAC;MAC3D,CAAC,MAAM;QACLhD,OAAO,CAACC,GAAG,CAAC,yBAAyB,CAAC;QACtC;QACA,IAAIgD,MAAM,GAAGvB,QAAQ,CAACuB,MAAM,GAAEvB,QAAQ,CAACuB,MAAM,GAAG,IAAI;QACpDjD,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEgD,MAAM,CAAC;;QAElC;QACA,IAAGA,MAAM,IAAI,IAAI,EAAC;UAChBxC,GAAG,GAAGwC,MAAM,CAAC,CAAC,CAAC,CAACxC,GAAa;QAC/B;QAEAT,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEQ,GAAG,CAAC;MACpC;IACF,CAAC,CAAC;IAEFT,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEQ,GAAG,CAAC;IAClC;IACA,IAAIA,GAAG,IAAI,IAAI,EAAE;MAEf,IAAIyC,gBAAgB,GAAG,MAAM1C,mBAAmB,CAACC,GAAG,EAAEQ,QAAQ,CAAC;MAC/DjB,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEiD,gBAAgB,CAAC;MACtDC,gBAAO,CAAC/B,WAAW,CAAC,CAAC,CAACgC,OAAO,CAAC,SAAS,EAAEC,MAAM,CAACpC,QAAQ,CAAC,CAAC;MAC1DkC,gBAAO,CAAC/B,WAAW,CAAC,CAAC,CAACgC,OAAO,CAAC,QAAQ,EAAEC,MAAM,CAACH,gBAAgB,CAAC,CAAC;MAEjElD,OAAO,CAACC,GAAG,CAAC,UAAU,EAAEQ,GAAG,CAAC;MAE5B,IAAI6C,aAAa,GAAG,MAAMC,4BAAK,CAACC,QAAQ,CAAC/C,GAAG,EAAE;QAC5CgD,iBAAiB,EAAE,QAAQ;QAC3BC,OAAO,EAAER;MACX,CAAC,CAAC;MACF;MACAlD,OAAO,CAACC,GAAG,CAAC,oBAAoB,EAAEqD,aAAa,CAAC;MAChD;MACA,IAAI,CAACA,aAAa,CAACK,QAAQ,CAAC,MAAM,CAAC,EAAE;QACnCL,aAAa,GAAG,SAAS,GAAGA,aAAa;MAC3C;MAEAtD,OAAO,CAACC,GAAG,CAAC,oBAAoB,EAAEqD,aAAa,CAAC;MAEhD,IAAIM,kBAA+B,GAAG;QACpCnD,GAAG,EAAE6C,aAAa;QAClBO,KAAK,EAAE1B,UAAU;QACjB2B,MAAM,EAAE1B,WAAW;QACnB2B,MAAM,EAAE;MACV,CAAC;MACD/D,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAE2D,kBAAkB,CAAC;;MAE1D;MACA/G,UAAU,CAAC0C,WAAW,CAACkB,GAAG,CAAC,CACtBuD,IAAI,CAAC,MACJ7C,eAAM,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,YAAY,EAAC,sBAAsB,EAACE,gBAAQ,CAAC0C,SAAS,CACtF,CAAC,CAACC,KAAK,CAAEhD,KAAK,IAAK;QACjBC,eAAM,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,YAAY,EAACH,KAAK,CAACI,OAAO,EAACC,gBAAQ,CAACC,SAAS,CAAC;MAC9E,CAAC,CAAC;MACN;;MAEH;MACD;;MAEI,OAAOoC,kBAAkB;IAC3B;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAGA;IACA;IACA;IACA;IACA;IACA;;IAEF,OAAO,IAAI;EAEX,CAAC,CAAC,OAAOO,SAAc,EAAE;IACvB;IACA;IACA,OAAO,IAAI;EACb;AACF;AAGO,eAAeC,gBAAgBA,CACpCC,aAA0B,EAC1BC,YAA0B,EACF;EAAA,IAAAC,qBAAA;EACxB,IAAI,CAACF,aAAa,IAAIA,aAAa,CAACG,MAAM,KAAK,CAAC,EAC9C,OAAO;IACL,IAAI,MAAM,IAAAC,gCAAiB,EACzBC,oBAAU,CAACC,aAAa,EACxB,KAAK,EACL,IAAAC,oCAAgB,EACdC,yBAAe,CAACF,aAAa,EAC7B,KAAK,GAAAJ,qBAAA,GACLD,YAAY,CAACQ,iBAAiB,cAAAP,qBAAA,uBAA9BA,qBAAA,CAAgCQ,OAClC,CAAC,EACD,EAAE,EACFT,YAAY,CAACU,iBAAiB,EAC9BH,yBAAe,CAACF,aAClB,CAAC;EACH,CAAC,CAAC,KACC;IAAA,IAAAM,sBAAA;IACH,OAAO;MACL,IAAI,MAAM,IAAAR,gCAAiB,EACzBC,oBAAU,CAACC,aAAa,EACxB,IAAI,EACJ,IAAAC,oCAAgB,EACdC,yBAAe,CAACF,aAAa,EAC7B,IAAI,GAAAM,sBAAA,GACJX,YAAY,CAACQ,iBAAiB,cAAAG,sBAAA,uBAA9BA,sBAAA,CAAgCC,OAClC,CAAC,EACD,EAAE,EACFZ,YAAY,CAACU,iBAAiB,EAC9BH,yBAAe,CAACF,aAClB,CAAC,CAAC;MACFQ,QAAQ,EAAE,MAAMC,aAAa,CAACf,aAAa,EAAEC,YAAY;IAC3D,CAAC;EACH;AACF;AAEA,eAAec,aAAaA,CAC1BC,cAA2B,EAC3Bf,YAA0B,EACA;EAC1B,IAAIe,cAAc,IAAIA,cAAc,CAACb,MAAM,GAAG,CAAC,EAAE;IAC/C,IAAIc,MAAuB,GAAG,EAAE;IAChC,MAAMC,UAAU,GACd,CAAC,MAAMC,yBAAgB,CAACpE,WAAW,CAAC,CAAC,CAACqE,eAAe,CACnDD,yBAAgB,CAACE,IAAI,CAACC,UACxB,CAAC,KAAK,MAAM;IACZ3F,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAACsF,UAAU,CAAC;IAC1C,KAAK,MAAMK,IAAI,IAAIP,cAAc,EAAE;MACjC,IAAIQ,QAAQ,GAAG,MAAM,IAAAC,oCAAkB,EACrCF,IAAI,CAAC/F,EAAE,EACP0F,UAAU;MACV;MACA;MACA,IAAI,EACJjB,YAAY,CAACyB,KAAK,EAClBH,IAAI,CAACpG,IAAI,EACToG,IAAI,CAACI,QAAQ,EACbJ,IAAI,CAACK,GAAG,EACRL,IAAI,CAACM,GAAG,EACRN,IAAI,CAACO,QACP,CAAC;MACD,IAAIN,QAAQ,EACVP,MAAM,CAACc,IAAI,CAAC;QACVC,GAAG,EAAE,EAAE;QACPC,SAAS,EAAEV,IAAI,CAACU,SAAS;QACzBC,IAAI,EAAE;UAAEC,MAAM,EAAEjB,UAAU;UAAEkB,IAAI,EAAEb,IAAI,CAAC/F;QAAG;MAC5C,CAAC,CAAC,CAAC,KAEH,MAAM,IAAI6G,oBAAS,CACjBC,mBAAc,CAACC,aAAa,EAC5B,sBACF,CAAC;IACL;IACA,OAAOtB,MAAM;EACf,CAAC,MAAM,OAAO,EAAE;AAClB"}
1
+ {"version":3,"names":["_reactNative","require","FileSystem","_interopRequireWildcard","_expoImagePicker","ImagePicker","_Toaster","_Logger","_ExecTaskUtils","_EventCodeContainer","_ETConfig","_BaseError","_ErrorCodes","_interopRequireDefault","_DispatchSdkCache","_SyncManagerUtils","_reactNativeImagePicker","_reactNativeCompressor","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","Logger","getInstance","logEvent","message","LOG_TYPE","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","PermissionStatus","GRANTED","captureImage","imageWidth","imageHeight","Alert","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","launchCamera","didCancel","showToast","errorCode","errorMessage","assets","compressionRatio","resizedImage1","Image","compress","compressionMethod","quality","includes","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","getBaseETResponse","EntityCode","IMAGE_CAPTURE","getEventCodeByET","ExecutionTaskID","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","DispatchSdkCache","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","insertDocumentInDB","title","dateTime","lat","lng","accuracy","push","url","timestamp","file","folder","name","BaseError","BaseErrorCodes","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\nimport { Image } from 'react-native-compressor';\nimport Storage from '../../../utils/storage';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\ndeclare type ImageResult = {\n uri: string;\n width: number;\n height: number;\n base64?: string;\n};\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if (uri != null) {\n \n let compressionRatio = 0.80 //await getCompressionRatio(uri, fileSize);\n console.log('aks:compressionRatio=', compressionRatio);\n \n\n console.log('aks:uri=', uri);\n\n let resizedImage1 = await Image.compress(uri, {\n compressionMethod: 'manual',\n quality: compressionRatio,\n });\n //\n console.log('aks:resizedImage1=', resizedImage1);\n // If captured image file path does not have prefix file:// then we are addding manually\n if (!resizedImage1.includes('file')) {\n resizedImage1 = 'file://' + resizedImage1; \n }\n\n console.log('aks:resizedImage2=', resizedImage1);\n\n let resizedImageResult: ImageResult = {\n uri: resizedImage1,\n width: imageWidth,\n height: imageHeight,\n base64: '',\n };\n console.log('aks:resizedImageResult=', resizedImageResult);\n\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n // console.log(\"resizedImage=before\")\n // console.log(\"resizedImage=\", resizedImage)\n\n return resizedImageResult;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n console.log('getImagesData:',folderName);\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path,\n data.dateTime,\n data.lat,\n data.lng,\n data.accuracy\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":"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"}
@@ -13,7 +13,6 @@ var _Logger = _interopRequireWildcard(require("../../../utils/Logger"));
13
13
  var _NetworkUtil = _interopRequireDefault(require("../../../utils/NetworkUtil"));
14
14
  var _reactNativeImageMarker = _interopRequireWildcard(require("react-native-image-marker"));
15
15
  var _reactNativeFs = _interopRequireDefault(require("react-native-fs"));
16
- var _storage = _interopRequireDefault(require("../../../utils/storage"));
17
16
  var _reactNative = require("react-native");
18
17
  var _SentrySdkConstants = require("../../../analytics/sentry/SentrySdkConstants");
19
18
  var _SentryAnalyticsUtils = require("../../../analytics/sentry/SentryAnalyticsUtils");
@@ -161,17 +160,9 @@ class DocumentSyncManager {
161
160
  }
162
161
 
163
162
  let fontSize = 14;
164
- let fileSize = await _storage.default.getInstance().getItem('maxSize'); // File max size
165
- let cRatio = await _storage.default.getInstance().getItem('cRatio'); // File compression ratio
166
- let nFileSize = Number(fileSize);
167
- let ncRatio = Number(cRatio);
168
- let wholeRatio = Math.round(ncRatio * 100); // Compression ratio to be made
169
163
  if (_reactNative.Platform.OS !== 'android') {
170
164
  fontSize = 28;
171
165
  }
172
- if (wholeRatio >= 75) {
173
- wholeRatio = 25;
174
- }
175
166
  const options = {
176
167
  backgroundImage: {
177
168
  // Image for overlay
@@ -197,11 +188,8 @@ class DocumentSyncManager {
197
188
  }
198
189
  }
199
190
  }],
200
- scale: 1,
201
- quality: 100 - wholeRatio,
202
- // Compressio ratio in which file will generate
203
- maxSize: nFileSize,
204
- // Max file size in which file will generate
191
+ scale: 0,
192
+ quality: 100,
205
193
  filename: pFilePath,
206
194
  saveFormat: _reactNativeImageMarker.ImageFormat.jpg // Saving in jpeg format
207
195
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_DocumentManager","_interopRequireDefault","require","_DocumentHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_Logger","_NetworkUtil","_reactNativeImageMarker","_reactNativeFs","_storage","_reactNative","_SentrySdkConstants","_SentryAnalyticsUtils","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","latlngToDms","DocumentSyncManager","retries","_retries","constructor","init","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","documentHttpClient","DocumentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","checkForInitialization","docManager","DocumentManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","Logger","logEvent","LOG_TYPE","SDK_INFO","error","isSyncPending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","InvalidArgumentError","InvalidArgumentsError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocument","documentRow","fmsID","markDocumentSynced","id","err","message","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","SyncManagerNotInitialized","processImageData","processed_file_path","pFilePath","file_name","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","fileSize","Storage","getItem","cRatio","nFileSize","ncRatio","wholeRatio","Math","round","Platform","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","Position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","TextBackgroundType","none","quality","maxSize","filename","saveFormat","ImageFormat","jpg","Marker","markText","completeFilePath","includes","processBase64Data","imagePath","RNFS","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","uploadDocument","extraParameters","folderName","fms_folder_id","flattenObject","SDK_ERROR","_error$response","_error$response2","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","ERROR","eventName","SentryEventNameSdkConstants","API_ERROR","screenName","extraParams","stringify","response","status","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","exports"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Marker, {\n Position,\n TextBackgroundType,\n ImageFormat,\n} from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = 3;\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 init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No data to sync',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No Network',\n LOG_TYPE.SDK_INFO\n );\n }\n } catch (error: any) {\n } finally {\n this.inProgress = false;\n if ((await this.isSyncPending()) && hasNetwork) {\n await this.startDocumentSync();\n }\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'sync already in progress ',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n Logger.getInstance().logEvent(\n 'insertDocument',\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_INFO\n );\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:',fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocError',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n \n let fileSize = await Storage.getInstance().getItem('maxSize'); // File max size\n let cRatio = await Storage.getInstance().getItem('cRatio'); // File compression ratio\n let nFileSize = Number(fileSize);\n let ncRatio = Number(cRatio);\n let wholeRatio = Math.round(ncRatio * 100); // Compression ratio to be made\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n if(wholeRatio >= 75){\n wholeRatio = 25;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [ \n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100 - wholeRatio, // Compressio ratio in which file will generate\n maxSize: nFileSize, // Max file size in which file will generate\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath; \n }\n }\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n // If base64 overlayed data already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = await this.processPODData(documentRow);\n console.log('uploadDocToServer999:', docRow);\n let fmsID = await this.documentHttpClient?.uploadDocument(documentRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fileName: docRow.file_name,\n folderName: docRow.fms_folder_id\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n this._retries = 0;\n await this.updateDocument(docRow, fmsID);\n } else {\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-empty-fms-id',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: error.message,\n },\n });\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-sync-error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_DocumentManager","_interopRequireDefault","require","_DocumentHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_Logger","_NetworkUtil","_reactNativeImageMarker","_reactNativeFs","_reactNative","_SentrySdkConstants","_SentryAnalyticsUtils","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","latlngToDms","DocumentSyncManager","retries","_retries","constructor","init","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","documentHttpClient","DocumentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","checkForInitialization","docManager","DocumentManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","Logger","logEvent","LOG_TYPE","SDK_INFO","error","isSyncPending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","InvalidArgumentError","InvalidArgumentsError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocument","documentRow","fmsID","markDocumentSynced","id","err","message","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","SyncManagerNotInitialized","processImageData","processed_file_path","pFilePath","file_name","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","Platform","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","Position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","TextBackgroundType","none","quality","filename","saveFormat","ImageFormat","jpg","Marker","markText","completeFilePath","includes","processBase64Data","imagePath","RNFS","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","uploadDocument","extraParameters","folderName","fms_folder_id","flattenObject","SDK_ERROR","_error$response","_error$response2","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","ERROR","eventName","SentryEventNameSdkConstants","API_ERROR","screenName","extraParams","stringify","response","status","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","exports"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Marker, {\n Position,\n TextBackgroundType,\n ImageFormat,\n} from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = 3;\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 init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No data to sync',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No Network',\n LOG_TYPE.SDK_INFO\n );\n }\n } catch (error: any) {\n } finally {\n this.inProgress = false;\n if ((await this.isSyncPending()) && hasNetwork) {\n await this.startDocumentSync();\n }\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'sync already in progress ',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n Logger.getInstance().logEvent(\n 'insertDocument',\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_INFO\n );\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:',fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocError',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [ \n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100, \n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath; \n }\n }\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n // If base64 overlayed data already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = await this.processPODData(documentRow);\n console.log('uploadDocToServer999:', docRow);\n let fmsID = await this.documentHttpClient?.uploadDocument(documentRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fileName: docRow.file_name,\n folderName: docRow.fms_folder_id\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n this._retries = 0;\n await this.updateDocument(docRow, fmsID);\n } else {\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-empty-fms-id',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: error.message,\n },\n });\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-sync-error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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"}
@@ -13,7 +13,6 @@ import DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';
13
13
  import { insertDocumentInDB } from '../../../utils/SyncManagerUtils';
14
14
  import { launchCamera } from 'react-native-image-picker';
15
15
  import { Image } from 'react-native-compressor';
16
- import Storage from '../../../utils/storage';
17
16
  export async function deleteImage(imageData, images) {
18
17
  await FileSystem.deleteAsync(imageData.path);
19
18
  let filtered = images.filter(ele => ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase());
@@ -140,10 +139,8 @@ export async function captureImage(imageWidth, imageHeight, fileSize) {
140
139
  console.log("aks:uri-after=", uri);
141
140
  //
142
141
  if (uri != null) {
143
- let compressionRatio = await getCompressionRatio(uri, fileSize);
142
+ let compressionRatio = 0.80; //await getCompressionRatio(uri, fileSize);
144
143
  console.log('aks:compressionRatio=', compressionRatio);
145
- Storage.getInstance().setItem('maxSize', String(fileSize));
146
- Storage.getInstance().setItem('cRatio', String(compressionRatio));
147
144
  console.log('aks:uri=', uri);
148
145
  let resizedImage1 = await Image.compress(uri, {
149
146
  compressionMethod: 'manual',
@@ -1 +1 @@
1
- {"version":3,"names":["Alert","FileSystem","ImagePicker","PermissionStatus","showToast","Logger","LOG_TYPE","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","BaseError","BaseErrorCodes","DispatchSdkCache","insertDocumentInDB","launchCamera","Image","Storage","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","getInstance","logEvent","message","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","GRANTED","captureImage","imageWidth","imageHeight","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","didCancel","errorCode","errorMessage","assets","compressionRatio","setItem","String","resizedImage1","compress","compressionMethod","quality","includes","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","IMAGE_CAPTURE","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","title","dateTime","lat","lng","accuracy","push","url","timestamp","file","folder","name","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\nimport { Image } from 'react-native-compressor';\nimport Storage from '../../../utils/storage';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\ndeclare type ImageResult = {\n uri: string;\n width: number;\n height: number;\n base64?: string;\n};\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if (uri != null) {\n \n let compressionRatio = await getCompressionRatio(uri, fileSize);\n console.log('aks:compressionRatio=', compressionRatio);\n Storage.getInstance().setItem('maxSize', String(fileSize));\n Storage.getInstance().setItem('cRatio', String(compressionRatio));\n\n console.log('aks:uri=', uri);\n\n let resizedImage1 = await Image.compress(uri, {\n compressionMethod: 'manual',\n quality: compressionRatio,\n });\n //\n console.log('aks:resizedImage1=', resizedImage1);\n // If captured image file path does not have prefix file:// then we are addding manually\n if (!resizedImage1.includes('file')) {\n resizedImage1 = 'file://' + resizedImage1; \n }\n\n console.log('aks:resizedImage2=', resizedImage1);\n\n let resizedImageResult: ImageResult = {\n uri: resizedImage1,\n width: imageWidth,\n height: imageHeight,\n base64: '',\n };\n console.log('aks:resizedImageResult=', resizedImageResult);\n\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n // console.log(\"resizedImage=before\")\n // console.log(\"resizedImage=\", resizedImage)\n\n return resizedImageResult;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n console.log('getImagesData:',folderName);\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path,\n data.dateTime,\n data.lat,\n data.lng,\n data.accuracy\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":"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"}
1
+ {"version":3,"names":["Alert","FileSystem","ImagePicker","PermissionStatus","showToast","Logger","LOG_TYPE","getBaseETResponse","getEventCodeByET","EntityCode","ExecutionTaskID","BaseError","BaseErrorCodes","DispatchSdkCache","insertDocumentInDB","launchCamera","Image","deleteImage","imageData","images","deleteAsync","path","filtered","filter","ele","img","id","toString","toLowerCase","console","log","getMaxImagesCount","props","captureCountLimit","getImagesFileName","Date","now","getCompressionRatio","uri","maxSize","fileInfo","getInfoAsync","size","Math","min","exists","fileSize","error","getInstance","logEvent","message","SDK_ERROR","checkCameraPermissionUtil","response","getCameraPermissionsAsync","granted","resp","requestCameraPermissionsAsync","status","GRANTED","captureImage","imageWidth","imageHeight","alert","cameraResult","options","selectionLimit","mediaType","includeBase64","didCancel","errorCode","errorMessage","assets","compressionRatio","resizedImage1","compress","compressionMethod","quality","includes","resizedImageResult","width","height","base64","then","SDK_DEBUG","catch","exception","getCaptureOutput","imageDataList","captureProps","_captureProps$applica","length","IMAGE_CAPTURE","applicableReasons","failure","mergedObjectiveId","_captureProps$applica2","success","captures","getImagesData","imagesDataList","output","folderName","getKeyFromCache","KEYS","FMS_FOLDER","data","insertID","title","dateTime","lat","lng","accuracy","push","url","timestamp","file","folder","name","SQLiteDBIssue"],"sources":["CaptureUtils.ts"],"sourcesContent":["import type {\n CapturedImage,\n CaptureInput,\n CaptureOutput,\n ImageData,\n} from './CaptureSchema';\nimport { Alert, Platform } from 'react-native';\nimport * as FileSystem from 'expo-file-system';\nimport * as ImagePicker from 'expo-image-picker';\nimport { PermissionStatus } from 'expo-image-picker';\nimport { showToast } from '../../widgets/Toaster';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes from '../../../errors/ErrorCodes';\nimport DispatchSdkCache from '../../../manager/sdk/DispatchSdkCache';\nimport { insertDocumentInDB } from '../../../utils/SyncManagerUtils';\nimport {CameraOptions, launchCamera} from 'react-native-image-picker';\nimport { Image } from 'react-native-compressor';\nimport Storage from '../../../utils/storage';\n\nexport async function deleteImage(imageData: { path: string; id: { toString: () => string; }; }, images: any[]) {\n await FileSystem.deleteAsync(imageData.path);\n let filtered = images.filter(ele=>ele).filter(img => img.id.toString().toLowerCase() !== imageData.id.toString().toLowerCase()\n );\n console.log(\"filtered\",filtered);\n return filtered;\n}\n\nexport function getMaxImagesCount(props: CaptureInput) {\n if (props && props.captureCountLimit) return props.captureCountLimit;\n else return 1;\n}\n\nexport function getImagesFileName() {\n return `IMG_${Date.now().toString()}.jpg`;\n}\n\nexport async function getCompressionRatio(\n uri: string,\n maxSize: number\n): Promise<number> {\n try {\n let fileInfo = await FileSystem.getInfoAsync(uri, {\n size: true,\n });\n maxSize = Math.min(maxSize, 1024);\n if (fileInfo.exists) {\n let fileSize = fileInfo.size / 1024;\n if (fileSize > maxSize) {\n return maxSize / fileSize;\n } else return 1;\n }\n return 1;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getCompressionRatio',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return 1;\n }\n}\n\nexport async function checkCameraPermissionUtil(): Promise<boolean> {\n let response = await ImagePicker.getCameraPermissionsAsync();\n if (response.granted) return true;\n else {\n let resp = await ImagePicker.requestCameraPermissionsAsync();\n return resp.status === PermissionStatus.GRANTED;\n }\n}\n\ninterface responseType {\n cancelled?: boolean;\n uri?: string;\n assets?: any[];\n}\n\ndeclare type ImageResult = {\n uri: string;\n width: number;\n height: number;\n base64?: string;\n};\n\nexport async function captureImage(\n imageWidth: number,\n imageHeight: number,\n fileSize: number\n): Promise<ImageResult | null> {\n try {\n if (!(await checkCameraPermissionUtil())) {\n Alert.alert('Permissions Error', 'Camera permissions not provided!');\n return null;\n }\n\n\n //let response : responseType;\n let uri : string = ''\n let cameraResult = null;\n\n const options = {\n selectionLimit: 1,\n mediaType: 'photo',\n includeBase64: false,\n };\n\n \n\n // You can also use as a promise without 'callback':\n // await launchCamera(options as CameraOptions , response => { \n // if (response?.didCancel){\n // console.log(\"aks:didCancel=\")\n // showToast('User cancelled the action'); \n // console.log('User cancelled the action');\n // } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n // console.log(\"aks:errorCode=\")\n // showToast(response.errorMessage? response.errorMessage : ''); \n // console.log('ImagePicker Error: ', response.errorMessage);\n // } else {\n // console.log(\"aks:errorCode=before\")\n // async()=>{\n // console.log(\"aks:else=after\")\n // let assets = response.assets? response.assets : null; \n // console.log(\"aks:assets=\", assets)\n // // \n // if(assets != null){\n // uri = assets[0].uri as string;\n // //\n // let compressionRatio = await getCompressionRatio(uri, fileSize);\n // console.log(\"aks:compressionRatio=\", compressionRatio)\n \n // //\n // const saveOptions = {\n // compress: compressionRatio,\n // }\n // //\n // console.log(\"aks:uri=blank\")\n // console.log(\"aks:uri=\", uri)\n // let resizedImage = await ImageManipulator.manipulateAsync(uri, [], saveOptions,);\n // //\n // console.log(\"aks:resizedImage=\", resizedImage)\n // //delete file\n // FileSystem.deleteAsync(uri)\n // .then(() =>\n // Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n // ).catch((error) => {\n // Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n // });\n // //\n // return resizedImage;\n // } \n // return null; \n // }\n // } \n // });\n\n await launchCamera(options as CameraOptions , response => { \n if (response?.didCancel){\n console.log(\"aks:didCancel=\")\n showToast('User cancelled the action'); \n console.log('User cancelled the action');\n } else if (response.errorCode == ('camera_unavailable' || 'permission' || 'others')) {\n console.log(\"aks:errorCode=\")\n showToast(response.errorMessage? response.errorMessage : ''); \n console.log('ImagePicker Error: ', response.errorMessage);\n } else {\n console.log(\"aks:response=else-start\")\n // \n let assets = response.assets? response.assets : null; \n console.log(\"aks:assets=\", assets)\n \n //\n if(assets != null){\n uri = assets[0].uri as string;\n }\n\n console.log(\"aks:uri=before\", uri)\n } \n });\n\n console.log(\"aks:uri-after=\", uri)\n // \n if (uri != null) {\n \n let compressionRatio = 0.80 //await getCompressionRatio(uri, fileSize);\n console.log('aks:compressionRatio=', compressionRatio);\n \n\n console.log('aks:uri=', uri);\n\n let resizedImage1 = await Image.compress(uri, {\n compressionMethod: 'manual',\n quality: compressionRatio,\n });\n //\n console.log('aks:resizedImage1=', resizedImage1);\n // If captured image file path does not have prefix file:// then we are addding manually\n if (!resizedImage1.includes('file')) {\n resizedImage1 = 'file://' + resizedImage1; \n }\n\n console.log('aks:resizedImage2=', resizedImage1);\n\n let resizedImageResult: ImageResult = {\n uri: resizedImage1,\n width: imageWidth,\n height: imageHeight,\n base64: '',\n };\n console.log('aks:resizedImageResult=', resizedImageResult);\n\n //delete file\n FileSystem.deleteAsync(uri)\n .then(() =>\n Logger.getInstance().logEvent('CAPTURE_ET','File deleted success',LOG_TYPE.SDK_DEBUG)\n ).catch((error) => {\n Logger.getInstance().logEvent('CAPTURE_ET',error.message,LOG_TYPE.SDK_ERROR);\n });\n //\n\n // console.log(\"resizedImage=before\")\n // console.log(\"resizedImage=\", resizedImage)\n\n return resizedImageResult;\n }\n\n // if(Platform.OS = 'android'){\n // response = {'uri': 'hello'}\n // uri = 'hello';\n // } else {\n // response = await ImagePicker.launchCameraAsync({\n // quality: 1,\n // });\n // let assets = response.assets;\n // if(assets){\n // uri = assets[0].uri\n // } \n // }\n\n // if (response?.cancelled){\n // showToast('User cancelled the action');\n // return null;\n // } \n\n \n // let actionResize: ActionResize = {\n // resize: {\n // width: imageWidth,\n // height: imageHeight,\n // },\n // };\n\n return null\n \n } catch (exception: any) {\n //showToast(`Error ${exception.message}`);\n //console.error('capture image error: ', exception);\n return null;\n }\n}\n\n\nexport async function getCaptureOutput(\n imageDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CaptureOutput> {\n if (!imageDataList || imageDataList.length === 0)\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n false,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n false,\n captureProps.applicableReasons?.failure\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n };\n else {\n return {\n ...(await getBaseETResponse(\n EntityCode.IMAGE_CAPTURE,\n true,\n getEventCodeByET(\n ExecutionTaskID.IMAGE_CAPTURE,\n true,\n captureProps.applicableReasons?.success\n ),\n '',\n captureProps.mergedObjectiveId,\n ExecutionTaskID.IMAGE_CAPTURE\n )),\n captures: await getImagesData(imageDataList, captureProps),\n };\n }\n}\n\nasync function getImagesData(\n imagesDataList: ImageData[],\n captureProps: CaptureInput\n): Promise<CapturedImage[]> {\n if (imagesDataList && imagesDataList.length > 0) {\n let output: CapturedImage[] = [];\n const folderName =\n (await DispatchSdkCache.getInstance().getKeyFromCache(\n DispatchSdkCache.KEYS.FMS_FOLDER\n )) ?? 'NULL';\n console.log('getImagesData:',folderName);\n for (const data of imagesDataList) {\n let insertID = await insertDocumentInDB(\n data.id,\n folderName,\n // JSON.stringify(captureProps.jobIds),\n // JSON.stringify(captureProps.objRefs),\n null,\n captureProps.title,\n data.path,\n data.dateTime,\n data.lat,\n data.lng,\n data.accuracy\n );\n if (insertID)\n output.push({\n url: '',\n timestamp: data.timestamp,\n file: { folder: folderName, name: data.id },\n });\n else\n throw new BaseError(\n BaseErrorCodes.SQLiteDBIssue,\n 'Unable to save Image'\n );\n }\n return output;\n } else return [];\n}"],"mappings":"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"}
@@ -11,7 +11,6 @@ import Logger, { LOG_TYPE } from '../../../utils/Logger';
11
11
  import NetworkUtil from '../../../utils/NetworkUtil';
12
12
  import Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';
13
13
  import RNFS from 'react-native-fs';
14
- import Storage from '../../../utils/storage';
15
14
  import { Platform } from 'react-native';
16
15
  import { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';
17
16
  import { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';
@@ -152,17 +151,9 @@ export default class DocumentSyncManager {
152
151
  }
153
152
 
154
153
  let fontSize = 14;
155
- let fileSize = await Storage.getInstance().getItem('maxSize'); // File max size
156
- let cRatio = await Storage.getInstance().getItem('cRatio'); // File compression ratio
157
- let nFileSize = Number(fileSize);
158
- let ncRatio = Number(cRatio);
159
- let wholeRatio = Math.round(ncRatio * 100); // Compression ratio to be made
160
154
  if (Platform.OS !== 'android') {
161
155
  fontSize = 28;
162
156
  }
163
- if (wholeRatio >= 75) {
164
- wholeRatio = 25;
165
- }
166
157
  const options = {
167
158
  backgroundImage: {
168
159
  // Image for overlay
@@ -188,11 +179,8 @@ export default class DocumentSyncManager {
188
179
  }
189
180
  }
190
181
  }],
191
- scale: 1,
192
- quality: 100 - wholeRatio,
193
- // Compressio ratio in which file will generate
194
- maxSize: nFileSize,
195
- // Max file size in which file will generate
182
+ scale: 0,
183
+ quality: 100,
196
184
  filename: pFilePath,
197
185
  saveFormat: ImageFormat.jpg // Saving in jpeg format
198
186
  };
@@ -1 +1 @@
1
- {"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Storage","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","logEvent","SDK_INFO","error","isSyncPending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","undefined","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocument","documentRow","fmsID","markDocumentSynced","id","err","message","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","processImageData","processed_file_path","pFilePath","file_name","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","fileSize","getItem","cRatio","nFileSize","Number","ncRatio","wholeRatio","Math","round","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","none","quality","maxSize","filename","saveFormat","jpg","markText","completeFilePath","includes","processBase64Data","imagePath","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","uploadDocument","extraParameters","folderName","fms_folder_id","SDK_ERROR","_error$response","_error$response2","cta","severityLevel","ERROR","eventName","API_ERROR","screenName","extraParams","stringify","response","status","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_class"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Marker, {\n Position,\n TextBackgroundType,\n ImageFormat,\n} from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = 3;\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 init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No data to sync',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No Network',\n LOG_TYPE.SDK_INFO\n );\n }\n } catch (error: any) {\n } finally {\n this.inProgress = false;\n if ((await this.isSyncPending()) && hasNetwork) {\n await this.startDocumentSync();\n }\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'sync already in progress ',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n Logger.getInstance().logEvent(\n 'insertDocument',\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_INFO\n );\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:',fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocError',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n \n let fileSize = await Storage.getInstance().getItem('maxSize'); // File max size\n let cRatio = await Storage.getInstance().getItem('cRatio'); // File compression ratio\n let nFileSize = Number(fileSize);\n let ncRatio = Number(cRatio);\n let wholeRatio = Math.round(ncRatio * 100); // Compression ratio to be made\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n if(wholeRatio >= 75){\n wholeRatio = 25;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [ \n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100 - wholeRatio, // Compressio ratio in which file will generate\n maxSize: nFileSize, // Max file size in which file will generate\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath; \n }\n }\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n // If base64 overlayed data already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = await this.processPODData(documentRow);\n console.log('uploadDocToServer999:', docRow);\n let fmsID = await this.documentHttpClient?.uploadDocument(documentRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fileName: docRow.file_name,\n folderName: docRow.fms_folder_id\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n this._retries = 0;\n await this.updateDocument(docRow, fmsID);\n } else {\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-empty-fms-id',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: error.message,\n },\n });\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-sync-error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["DocumentManager","DocumentHttpClient","isEmptyOrBlank","flattenObject","BaseError","BaseErrorCodes","InvalidArgumentsError","InvalidBaseURL","SyncManagerNotInitialized","Logger","LOG_TYPE","NetworkUtil","Marker","Position","TextBackgroundType","ImageFormat","RNFS","Platform","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","latlngToDms","require","DocumentSyncManager","retries","_retries","value","constructor","_defineProperty","init","baseURL","retryCount","maxRetryCount","documentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","isAvailableAsync","checkForInitialization","docManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","logEvent","SDK_INFO","error","isSyncPending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","arguments","undefined","InvalidArgumentError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocument","documentRow","fmsID","markDocumentSynced","id","err","message","SDK_WARNING","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","updateDocError","uploadError","updateDocSyncError","processImageData","processed_file_path","pFilePath","file_name","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","none","quality","filename","saveFormat","jpg","markText","completeFilePath","includes","processBase64Data","imagePath","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","uploadDocument","extraParameters","folderName","fms_folder_id","SDK_ERROR","_error$response","_error$response2","cta","severityLevel","ERROR","eventName","API_ERROR","screenName","extraParams","stringify","response","status","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","_class"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport Marker, {\n Position,\n TextBackgroundType,\n ImageFormat,\n} from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = 3;\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 init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No data to sync',\n LOG_TYPE.SDK_INFO\n );\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'No Network',\n LOG_TYPE.SDK_INFO\n );\n }\n } catch (error: any) {\n } finally {\n this.inProgress = false;\n if ((await this.isSyncPending()) && hasNetwork) {\n await this.startDocumentSync();\n }\n }\n } else {\n Logger.getInstance().logEvent(\n 'startDocumentSync',\n 'sync already in progress ',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n // jobID: string,\n // objRef: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n // isEmptyOrBlank(jobID) ||\n // isEmptyOrBlank(objRef) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n else {\n if (!this.docManager) {\n Logger.getInstance().logEvent(\n 'insertDocument',\n 'INIT DOC SYNC AGAIN',\n LOG_TYPE.SDK_INFO\n );\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:',fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n // jobID,\n // objRef,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n private async updateDocument(documentRow: DocumentRow, fmsID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.markDocumentSynced(documentRow.id, fmsID);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocument',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n 'updateDocError',\n err.message,\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [ \n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100, \n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath; \n }\n }\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n // If base64 overlayed data already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS; \n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = await this.processPODData(documentRow);\n console.log('uploadDocToServer999:', docRow);\n let fmsID = await this.documentHttpClient?.uploadDocument(documentRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fileName: docRow.file_name,\n folderName: docRow.fms_folder_id\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n this._retries = 0;\n await this.updateDocument(docRow, fmsID);\n } else {\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-empty-fms-id',\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: error.message,\n },\n });\n this._retries++;\n Logger.getInstance().logEvent(\n 'uploadDocToServer-sync-error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":";;;;AACA,OAAOA,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,cAAc,EAAEC,aAAa,QAAQ,sBAAsB;AACpE,SAASC,SAAS,QAAQ,2BAA2B;AACrD,OAAOC,cAAc,IACnBC,qBAAqB,EACrBC,cAAc,EACdC,yBAAyB,QACpB,4BAA4B;AACnC,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,uBAAuB;AAExD,OAAOC,WAAW,MAAM,4BAA4B;AACpD,OAAOC,MAAM,IACXC,QAAQ,EACRC,kBAAkB,EAClBC,WAAW,QACN,2BAA2B;AAClC,OAAOC,IAAI,MAAM,iBAAiB;AAElC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAAiCC,2BAA2B,EAAEC,kBAAkB,QAAQ,8CAA8C;AACtI,SAASC,uBAAuB,QAAQ,gDAAgD;AACxF,MAAMC,WAAW,GAAGC,OAAO,CAAC,eAAe,CAAC;AAG5C,eAAe,MAAMC,mBAAmB,CAAC;EAQvC,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;IAAAA,eAAA,wBAGH,CAAC;IAAAA,eAAA,mBACd,CAAC;EAUG;EAEhBC,IAAIA,CAACC,OAAe,EAAEC,UAAkB,EAAE;IAC/C,IAAI7B,cAAc,CAAC4B,OAAO,CAAC,EACzB,MAAM,IAAI1B,SAAS,CAACC,cAAc,CAACE,cAAc,EAAEA,cAAc,CAAC;IACpE,IAAI,CAACyB,aAAa,GAAGD,UAAU;IAC/B,IAAI,CAACE,kBAAkB,GAAG,IAAIhC,kBAAkB,CAAC6B,OAAO,CAAC;EAC3D;EAEA,OAAcI,WAAWA,CAAA,EAAwB;IAC/C,IAAI,CAACX,mBAAmB,CAACY,QAAQ,EAAE;MACjCZ,mBAAmB,CAACY,QAAQ,GAAG,IAAIZ,mBAAmB,CAAC,CAAC;IAC1D;IACA,OAAOA,mBAAmB,CAACY,QAAQ;EACrC;EAEA,MAAaC,iBAAiBA,CAAA,EAAkB;IAC9C,IAAI,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACZ,QAAQ,GAAG,IAAI,CAACO,aAAa,EAAE;MAC1D,IAAI,CAACK,UAAU,GAAG,IAAI;MACtB,MAAMC,UAAU,GAAG,MAAM3B,WAAW,CAAC4B,gBAAgB,CAAC,CAAC;MACvD,IAAI;QACF,IAAI,CAACC,sBAAsB,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;UACpB,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;QACvD;QACA,IAAII,UAAU,EAAE;UACd,IAAII,YAA2B,GAC7B,MAAM,IAAI,CAACD,UAAU,CAACE,mBAAmB,CAAC,CAAC;UAC7C,IAAI,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,MAAM,IAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,CAACC,iBAAiB,CAACH,YAAY,CAAC,CAAC,CAAC,CAAC;UAC/C,CAAC,MAAM;YACLjC,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,mBAAmB,EACnB,iBAAiB,EACjBpC,QAAQ,CAACqC,QACX,CAAC;UACH;QACF,CAAC,MAAM;UACLtC,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,mBAAmB,EACnB,YAAY,EACZpC,QAAQ,CAACqC,QACX,CAAC;QACH;MACF,CAAC,CAAC,OAAOC,KAAU,EAAE,CACrB,CAAC,SAAS;QACR,IAAI,CAACX,UAAU,GAAG,KAAK;QACvB,IAAI,CAAC,MAAM,IAAI,CAACY,aAAa,CAAC,CAAC,KAAKX,UAAU,EAAE;UAC9C,MAAM,IAAI,CAACF,iBAAiB,CAAC,CAAC;QAChC;MACF;IACF,CAAC,MAAM;MACL3B,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,mBAAmB,EACnB,2BAA2B,EAC3BpC,QAAQ,CAACqC,QACX,CAAC;IACH;EACF;EAEA,MAAaE,aAAaA,CAAA,EAAqB;IAC7C,IAAI,CAAC,IAAI,CAACR,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;IAC3E,IAAIgB,aAAa,GAAG,MAAM,IAAI,CAACT,UAAU,CAACU,kBAAkB,CAAC,CAAC;IAC9D,OAAO,CAAAD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEN,MAAM,IAAG,CAAC,IAAI,IAAI,CAACnB,QAAQ,GAAG,IAAI,CAACO,aAAa;EACxE;EAEA,MAAaoB,cAAcA,CACzBC,WAA0B,EAC1BC,IAAmB,EACnBC,MAAe,EACfC,IAAY,EACZC,KAAa;EACb;EACA;EACAC,QAAuB,EACvBC,QAAgB,EAChBC,QAAgB,EAChBC,YAAoB,EACpBC,iBAAyB,EAEF;IAAA,IADvBC,QAAgB,GAAAC,SAAA,CAAApB,MAAA,SAAAoB,SAAA,SAAAC,SAAA,GAAAD,SAAA,OAAG,CAAC;IAEpB,IACE9D,cAAc,CAACsD,IAAI,CAAC,IACpBtD,cAAc,CAACuD,KAAK,CAAC;IACrB;IACA;IACAvD,cAAc,CAACyD,QAAQ,CAAC,IACxBzD,cAAc,CAAC0D,QAAQ,CAAC,IACvBL,MAAM,IAAIrD,cAAc,CAACoD,IAAI,CAAE,IAC/B,CAACC,MAAM,IAAIrD,cAAc,CAACwD,QAAQ,CAAE,EAErC,MAAM,IAAItD,SAAS,CACjBC,cAAc,CAAC6D,oBAAoB,EACnC5D,qBACF,CAAC,CAAC,KACC;MAAA,IAAA6D,gBAAA;MACH,IAAI,CAAC,IAAI,CAAC1B,UAAU,EAAE;QACpBhC,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,gBAAgB,EAChB,qBAAqB,EACrBpC,QAAQ,CAACqC,QACX,CAAC;QACD,IAAI,CAACN,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;MACvD;MACAkC,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAChB,WAAW,CAAC;MAC3C,IAAIiB,cAAc,GAAG,QAAAH,gBAAA,GAAM,IAAI,CAAC1B,UAAU,cAAA0B,gBAAA,uBAAfA,gBAAA,CAAiBf,cAAc,CACxDC,WAAW,EACXG,IAAI,EACJC,KAAK;MACL;MACA;MACAF,MAAM,EACNK,QAAQ,EACRD,QAAQ,EACRL,IAAI,EACJI,QAAQ,EACRG,YAAY,EACZC,iBAAiB,EACjBC,QACF,CAAC;MACD,OAAOO,cAAc;IACvB;EACF;EAEA,MAAaC,iBAAiBA,CAAA,EAAG;IAC/B,IAAI,CAAC,IAAI,CAAC9B,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;IAC3E,IAAI,CAACT,QAAQ,GAAG,CAAC;IACjB,MAAM,IAAI,CAACW,iBAAiB,CAAC,CAAC;EAChC;EAEA,MAAcoC,cAAcA,CAACC,WAAwB,EAAEC,KAAa,EAAE;IACpE,IAAI,CAAC,IAAI,CAACjC,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;IAC3E,IAAI;MACF,MAAM,IAAI,CAACO,UAAU,CAACkC,kBAAkB,CAACF,WAAW,CAACG,EAAE,EAAEF,KAAK,CAAC;IACjE,CAAC,CAAC,OAAOG,GAAQ,EAAE;MACjBpE,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,gBAAgB,EAChB+B,GAAG,CAACC,OAAO,EACXpE,QAAQ,CAACqE,WACX,CAAC;IACH;EACF;;EAEE;EACF,MAAcC,2BAA2BA,CACvCP,WAAwB,EACxBQ,eAAuB,EACvBC,aAAqB,EACrB;IACA,IAAI,CAAC,IAAI,CAACzC,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;IAC3E,IAAI;MACF,MAAM,IAAI,CAACO,UAAU,CAAC0C,sBAAsB,CAC1CV,WAAW,CAACG,EAAE,EACdK,eAAe,EACfC,aACF,CAAC;IACH,CAAC,CAAC,OAAOL,GAAQ,EAAE;MACjBpE,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,gBAAgB,EAChB+B,GAAG,CAACC,OAAO,EACXpE,QAAQ,CAACqE,WACX,CAAC;IACH;EACF;EAEA,MAAcK,cAAcA,CAACX,WAAwB,EAAEY,WAAmB,EAAE;IAC1E,IAAI,CAAC,IAAI,CAAC5C,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;IAC3E,IAAI;MACF,MAAM,IAAI,CAACO,UAAU,CAAC6C,kBAAkB,CAACb,WAAW,CAACG,EAAE,EAAES,WAAW,CAAC;IACvE,CAAC,CAAC,OAAOR,GAAQ,EAAE;MACjBpE,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,gBAAgB,EAChB+B,GAAG,CAACC,OAAO,EACXpE,QAAQ,CAACqE,WACX,CAAC;IACH;EACF;EACQvC,sBAAsBA,CAAA,EAAG;IAC/B,IAAI,CAAC,IAAI,CAACP,kBAAkB,EAAE;MAC5B,MAAM,IAAI7B,SAAS,CACjBC,cAAc,CAACG,yBAAyB,EACxCA,yBACF,CAAC;IACH;EACF;;EAEA;EACA,MAAc+E,gBAAgBA,CAACd,WAAwB,EAAE;IACvD;IACA,IACEA,WAAW,CAACe,mBAAmB,KAAK,IAAI,IACxCf,WAAW,CAACe,mBAAmB,KAAK,EAAE,EACtC;MACA,IAAIC,SAAS,GAAG,YAAY,GAAGhB,WAAW,CAACiB,SAAS,CAAC,CAAC;MACtD,IAAIC,WAAW,GAAGlB,WAAW,CAACmB,aAAa,CAAC,CAAC;MAC7C,IAAIC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,CAAC,CAAC;MAC3C,IAAIK,QAAQ,GAAGH,WAAW,CAACG,QAAQ,CAAC,CAAC;MACrC,IAAIC,GAAG,GAAGJ,WAAW,CAACI,GAAG,CAAC,CAAC;MAC3B,IAAIC,GAAG,GAAGL,WAAW,CAACK,GAAG,CAAC,CAAC;MAC3B,IAAIC,QAAQ,GAAGN,WAAW,CAACM,QAAQ,CAAC,CAAC;MACrC,IAAIC,MAAM,GAAG/E,WAAW,CAAE,GAAE4E,GAAI,KAAIC,GAAI,EAAC,CAAC,CAAC,CAAC;MAC5C,IAAIG,kBAAkB,GAAGD,MAAM;MAC/B,IAAID,QAAQ,KAAK,EAAE,EAAE;QACnBE,kBAAkB,GAAGD,MAAM,GAAG,cAAc,GAAGD,QAAQ,GAAG,IAAI,CAAC,CAAC;MAClE;;MACA,IAAIG,QAAQ,GAAG,EAAE;MACjB,IAAIrF,QAAQ,CAACsF,EAAE,KAAK,SAAS,EAAE;QAC7BD,QAAQ,GAAG,EAAE;MACf;MACA,MAAME,OAAO,GAAG;QACdC,eAAe,EAAE;UAAE;UACjBC,GAAG,EAAEjC,WAAW,CAACkC,SAAS;UAC1BC,KAAK,EAAE;QACT,CAAC;QACDC,cAAc,EAAE,CACd;UACEC,IAAI,EAAG,GAAEd,QAAS,KAAIK,kBAAmB,EAAC;UAAG;UAC7CU,QAAQ,EAAE;YACRA,QAAQ,EAAElG,QAAQ,CAACmG,OAAO,CAAE;UAC9B,CAAC;;UACDC,KAAK,EAAE;YAAE;YACPC,KAAK,EAAE,SAAS;YAChBZ,QAAQ,EAAEA,QAAQ;YAClBa,QAAQ,EAAE,OAAO;YACjBC,mBAAmB,EAAE;cACnBC,OAAO,EAAE,OAAO;cAChBC,IAAI,EAAExG,kBAAkB,CAACyG,IAAI;cAC7BL,KAAK,EAAE;YACT;UACF;QACF,CAAC,CACF;QACDN,KAAK,EAAE,CAAC;QACRY,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAEhC,SAAS;QACnBiC,UAAU,EAAE3G,WAAW,CAAC4G,GAAG,CAAE;MAC/B,CAAC;;MACD,IAAI7D,iBAAiB,GAAG,MAAMlD,MAAM,CAACgH,QAAQ,CAACpB,OAAO,CAAC,CAAC,CAAC;MACxD,IAAI1C,iBAAiB,KAAK,IAAI,IAAIA,iBAAiB,KAAK,EAAE,EAAE;QAC1D,IAAI+D,gBAAgB,GAAG/D,iBAAiB;QACxC;QACA,IAAI,CAACA,iBAAiB,CAACgE,QAAQ,CAAC,MAAM,CAAC,EAAE;UACvCD,gBAAgB,GAAG,SAAS,GAAG/D,iBAAiB;QAClD;QACA;QACA,IAAI,CAACkB,2BAA2B,CAC9BP,WAAW,EACXA,WAAW,CAACkC,SAAS;QAAE;QACvBkB,gBAAgB,CAAC;QACnB,CAAC;;QACDpD,WAAW,CAACe,mBAAmB,GAAGqC,gBAAgB;MACpD;IACF;IACA,OAAOpD,WAAW;EACpB;;EAEA;EACA,MAAcsD,iBAAiBA,CAACtD,WAAwB,EAAE;IACpD;IACJ,IACEA,WAAW,CAACe,mBAAmB,KAAK,IAAI,IACxCf,WAAW,CAACe,mBAAmB,KAAK,EAAE,EACtC;MACA,IAAI9B,QAAQ,GAAG,EAAE;MACjB;MACA,IAAIe,WAAW,CAACkC,SAAS,KAAK,IAAI,IAAIlC,WAAW,CAACkC,SAAS,KAAK,EAAE,EAAE;QAClE,MAAMqB,SAAS,GAAI,GAAEhH,IAAI,CAACiH,sBAAuB,IAAGxD,WAAW,CAACiB,SAAU,EAAC;QAC3E,MAAM1E,IAAI,CAACkH,SAAS,CAACF,SAAS,EAAEvD,WAAW,CAACnB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7DI,QAAQ,GAAGsE,SAAS;QACpB;QACA,IAAI,CAACA,SAAS,CAACF,QAAQ,CAAC,MAAM,CAAC,EAAE;UAC/BpE,QAAQ,GAAI,UAASsE,SAAU,EAAC;QAClC;QACAvD,WAAW,CAACkC,SAAS,GAAGjD,QAAQ;MAClC,CAAC,MAAM;QACLA,QAAQ,GAAGe,WAAW,CAACkC,SAAS;MAClC;MACA,IAAIlB,SAAS,GAAG,YAAY,GAAGhB,WAAW,CAACiB,SAAS,CAAC,CAAC;MACtD,IAAIC,WAAW,GAAGlB,WAAW,CAACmB,aAAa,CAAC,CAAC;MAC7C,IAAIC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,CAAC,CAAC;MAC3C,IAAIK,QAAQ,GAAGH,WAAW,CAACG,QAAQ,CAAC,CAAC;MACrC,IAAIC,GAAG,GAAGJ,WAAW,CAACI,GAAG,CAAC,CAAC;MAC3B,IAAIC,GAAG,GAAGL,WAAW,CAACK,GAAG,CAAC,CAAC;MAC3B,IAAIC,QAAQ,GAAGN,WAAW,CAACM,QAAQ,CAAC,CAAC;MACrC,IAAIC,MAAM,GAAG/E,WAAW,CAAE,GAAE4E,GAAI,KAAIC,GAAI,EAAC,CAAC,CAAC,CAAC;MAC5C,IAAIG,kBAAkB,GAAGD,MAAM;MAC/B,IAAID,QAAQ,KAAK,EAAE,EAAE;QACnBE,kBAAkB,GAAGD,MAAM,GAAG,cAAc,GAAGD,QAAQ,GAAG,IAAI,CAAC,CAAC;MAClE;;MACA,MAAMK,OAAO,GAAG;QACdC,eAAe,EAAE;UACfC,GAAG,EAAEhD,QAAQ;UAAE;UACfkD,KAAK,EAAE;QACT,CAAC;QACDC,cAAc,EAAE,CACd;UACEC,IAAI,EAAG,GAAEd,QAAS,KAAIK,kBAAmB,EAAC;UAAE;UAC5CU,QAAQ,EAAE;YACRA,QAAQ,EAAElG,QAAQ,CAACmG,OAAO,CAAE;UAC9B,CAAC;;UACDC,KAAK,EAAE;YAAE;YACPC,KAAK,EAAE,SAAS;YAChBZ,QAAQ,EAAE,EAAE;YACZa,QAAQ,EAAE,OAAO;YACjBC,mBAAmB,EAAE;cACnBC,OAAO,EAAE,OAAO;cAChBC,IAAI,EAAExG,kBAAkB,CAACyG,IAAI;cAC7BL,KAAK,EAAE;YACT;UACF;QACF,CAAC,CACF;QACDN,KAAK,EAAE,CAAC;QACRY,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAEhC,SAAS;QACnBiC,UAAU,EAAE3G,WAAW,CAACwC,MAAM,CAAE;MAClC,CAAC;;MACD,IAAI4E,eAAe,GAAG,MAAMvH,MAAM,CAACgH,QAAQ,CAACpB,OAAO,CAAC,CAAC,CAAC;MACtD,IAAI2B,eAAe,KAAK,IAAI,IAAIA,eAAe,KAAK,EAAE,EAAE;QACtD;QACA,IAAIC,kBAAkB,GAAGD,eAAe,CAACE,KAAK,CAC5C,wBACF,CAAC;QACD;QACA,MAAM,IAAI,CAACrD,2BAA2B,CACpCP,WAAW,EACXf,QAAQ,EACR0E,kBAAkB,CAAC,CAAC,CACtB,CAAC;QACD3D,WAAW,CAACe,mBAAmB,GAAG4C,kBAAkB,CAAC,CAAC,CAAC;MACzD;IACF;IACA,OAAO3D,WAAW;EACpB;;EAEA;EACA,MAAc6D,cAAcA,CAAC7D,WAAwB,EAAE;IACrD,IAAIA,WAAW,CAAClB,MAAM,IAAIkB,WAAW,CAACnB,IAAI,IAAI,IAAI,EAAE;MAClD,OAAO,MAAM,IAAI,CAACyE,iBAAiB,CAACtD,WAAW,CAAC;IAClD,CAAC,MAAM;MACL,OAAO,MAAM,IAAI,CAACc,gBAAgB,CAACd,WAAW,CAAC;IACjD;EACF;EAEA,MAAc5B,iBAAiBA,CAAC4B,WAAwB,EAAE;IACxD,IAAI;MAAA,IAAA8D,qBAAA;MACF,IAAIC,MAAM,GAAG,MAAM,IAAI,CAACF,cAAc,CAAC7D,WAAW,CAAC;MACnDL,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEmE,MAAM,CAAC;MAC5C,IAAI9D,KAAK,GAAG,QAAA6D,qBAAA,GAAM,IAAI,CAACtG,kBAAkB,cAAAsG,qBAAA,uBAAvBA,qBAAA,CAAyBE,cAAc,CAAChE,WAAW,CAAC;MAEtE,IAAIiE,eAAe,GAAG;QACpBhE,KAAK,EAAEA,KAAK,IAAI,EAAE;QAClBd,QAAQ,EAAE4E,MAAM,CAAC9C,SAAS;QAC1BiD,UAAU,EAAEH,MAAM,CAACI;MACrB,CAAC;MACD;MACA,IAAIlE,KAAK,EAAE;QACT,IAAI,CAACjD,QAAQ,GAAG,CAAC;QACjB,MAAM,IAAI,CAAC+C,cAAc,CAACgE,MAAM,EAAE9D,KAAK,CAAC;MAC1C,CAAC,MAAM;QACL,IAAI,CAACjD,QAAQ,EAAE;QACfhB,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,gCAAgC,EAChC3C,aAAa,CAACuI,eAAe,CAAC,EAC9BhI,QAAQ,CAACmI,SACX,CAAC;QACD,MAAM,IAAI,CAACzD,cAAc,CAACoD,MAAM,EAAE,kBAAkB,CAAC;MACvD;IACF,CAAC,CAAC,OAAOxF,KAAU,EAAE;MAAA,IAAA8F,eAAA,EAAAC,gBAAA;MACnB,MAAMC,GAAG,GAAG,yBAAyB;MACrC5H,uBAAuB,CAAC;QACtB6H,aAAa,EAAE9H,kBAAkB,CAAC+H,KAAK;QACvCC,SAAS,EAAEjI,2BAA2B,CAACkI,SAAS;QAChDC,UAAU,EAAEL,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRM,WAAW,EAAE;UACXtG,KAAK,EAAEA,KAAK,CAAC8B;QACf;MACF,CAAC,CAAC;MACF,IAAI,CAACrD,QAAQ,EAAE;MACfhB,MAAM,CAACyB,WAAW,CAAC,CAAC,CAACY,QAAQ,CAC3B,8BAA8B,EAC9BE,KAAK,CAAC8B,OAAO,EACbpE,QAAQ,CAACmI,SACX,CAAC;MACD,MAAM,IAAI,CAACzD,cAAc,CACvBX,WAAW,EACXqB,IAAI,CAACyD,SAAS,CAAC;QACbzE,OAAO,EAAE9B,KAAK,CAAC8B,OAAO;QACtB9B,KAAK,EAAE8C,IAAI,CAACyD,SAAS,CAACvG,KAAK,aAALA,KAAK,gBAAA8F,eAAA,GAAL9F,KAAK,CAAEwG,QAAQ,cAAAV,eAAA,uBAAfA,eAAA,CAAiBxF,IAAI,CAAC;QAC5CmG,MAAM,EAAEzG,KAAK,aAALA,KAAK,gBAAA+F,gBAAA,GAAL/F,KAAK,CAAEwG,QAAQ,cAAAT,gBAAA,uBAAfA,gBAAA,CAAiBU;MAC3B,CAAC,CACH,CAAC;IACH;EACF;EAEA,MAAaC,eAAeA,CAACC,UAAmB,EAA0B;IACxE,IAAI,CAAC,IAAI,CAAClH,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;IAC3E,OAAO,IAAI,CAACO,UAAU,CAACiH,eAAe,CAACC,UAAU,CAAC;EACpD;EAEA,MAAaC,eAAeA,CAACnG,KAAa,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAChB,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMzC,eAAe,CAACkC,WAAW,CAAC,CAAC;IAC3E,IAAIuB,KAAK,EAAE,MAAM,IAAI,CAAChB,UAAU,CAACoH,wBAAwB,CAACpG,KAAK,CAAC;EAClE;AACF;AAACqG,MAAA,GAraoBvI,mBAAmB;AAAAK,eAAA,CAAnBL,mBAAmB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os1-platform/dispatch-mobile",
3
- "version": "2.1.7",
3
+ "version": "2.1.8",
4
4
  "description": "Dispatch SDK React Native Package",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -189,10 +189,9 @@ export async function captureImage(
189
189
  //
190
190
  if (uri != null) {
191
191
 
192
- let compressionRatio = await getCompressionRatio(uri, fileSize);
192
+ let compressionRatio = 0.80 //await getCompressionRatio(uri, fileSize);
193
193
  console.log('aks:compressionRatio=', compressionRatio);
194
- Storage.getInstance().setItem('maxSize', String(fileSize));
195
- Storage.getInstance().setItem('cRatio', String(compressionRatio));
194
+
196
195
 
197
196
  console.log('aks:uri=', uri);
198
197
 
@@ -246,18 +246,9 @@ export default class DocumentSyncManager {
246
246
  strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location
247
247
  }
248
248
  let fontSize = 14;
249
-
250
- let fileSize = await Storage.getInstance().getItem('maxSize'); // File max size
251
- let cRatio = await Storage.getInstance().getItem('cRatio'); // File compression ratio
252
- let nFileSize = Number(fileSize);
253
- let ncRatio = Number(cRatio);
254
- let wholeRatio = Math.round(ncRatio * 100); // Compression ratio to be made
255
249
  if (Platform.OS !== 'android') {
256
250
  fontSize = 28;
257
251
  }
258
- if(wholeRatio >= 75){
259
- wholeRatio = 25;
260
- }
261
252
  const options = {
262
253
  backgroundImage: { // Image for overlay
263
254
  src: documentRow.file_path,
@@ -281,9 +272,8 @@ export default class DocumentSyncManager {
281
272
  },
282
273
  },
283
274
  ],
284
- scale: 1,
285
- quality: 100 - wholeRatio, // Compressio ratio in which file will generate
286
- maxSize: nFileSize, // Max file size in which file will generate
275
+ scale: 0,
276
+ quality: 100,
287
277
  filename: pFilePath,
288
278
  saveFormat: ImageFormat.jpg, // Saving in jpeg format
289
279
  };