@os1-platform/dispatch-mobile 3.1.2 → 3.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +41 -21
  2. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  3. package/lib/commonjs/components/executiontasks/validateOTP/constants.js +2 -1
  4. package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
  5. package/lib/commonjs/components/executiontasks/validateOTP/utils.js +12 -3
  6. package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
  7. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js +1 -1
  8. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  9. package/lib/commonjs/utils/Logger.js +18 -0
  10. package/lib/commonjs/utils/Logger.js.map +1 -1
  11. package/lib/commonjs/utils/SdkUtils.js +4 -1
  12. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  13. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +42 -22
  14. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  15. package/lib/module/components/executiontasks/validateOTP/constants.js +1 -0
  16. package/lib/module/components/executiontasks/validateOTP/constants.js.map +1 -1
  17. package/lib/module/components/executiontasks/validateOTP/utils.js +13 -4
  18. package/lib/module/components/executiontasks/validateOTP/utils.js.map +1 -1
  19. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js +1 -1
  20. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  21. package/lib/module/utils/Logger.js +18 -0
  22. package/lib/module/utils/Logger.js.map +1 -1
  23. package/lib/module/utils/SdkUtils.js +4 -1
  24. package/lib/module/utils/SdkUtils.js.map +1 -1
  25. package/lib/typescript/components/executiontasks/validateOTP/constants.d.ts +1 -0
  26. package/lib/typescript/utils/Logger.d.ts +1 -0
  27. package/package.json +2 -1
  28. package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +40 -19
  29. package/src/components/executiontasks/validateOTP/constants.ts +2 -0
  30. package/src/components/executiontasks/validateOTP/utils.ts +26 -4
  31. package/src/manager/dispatchCodes/ReasonCodeContainer.ts +1 -1
  32. package/src/utils/Logger.ts +18 -0
  33. package/src/utils/SdkUtils.ts +3 -0
@@ -2,7 +2,7 @@
2
2
  import * as jsonLogic from 'json-logic-js';
3
3
  import Logger, { LOG_TYPE } from '../../../utils/Logger';
4
4
  import { createApiData, getAxiosApiResponse } from '../../../utils/ApiUtils';
5
- import { DEFAULT_RETRY_CONFIG } from './constants';
5
+ import { DEFAULT_RETRY_CONFIG, TAG_VERIFY_OTP } from './constants';
6
6
  import Storage from '../../../utils/storage';
7
7
  import { SHARED_PREFERENCE_RESEND_COUNT, SHARED_PREFERENCE_RETRY_COUNT } from '../../../manager/syncmanager/constants';
8
8
  import { ENDPOINTS } from '../../../constants/apiConstants';
@@ -27,7 +27,9 @@ export const generateOTP = async (payload, props) => {
27
27
  var _props$otpGeneration;
28
28
  const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;
29
29
  const apiData = createApiData(payload, props, isCustomConfig ? props === null || props === void 0 || (_props$otpGeneration = props.otpGeneration) === null || _props$otpGeneration === void 0 ? void 0 : _props$otpGeneration.uri : `{baseURI}${ENDPOINTS.GENERATE_OTP_ENDPOINT}`, 'POST', null, isCustomConfig ? props.otpGeneration : undefined);
30
+ Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:apiData : ${JSON.stringify(apiData)}`);
30
31
  const apiResponse = await getAxiosApiResponse(apiData);
32
+ Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:apiResponse : ${JSON.stringify(apiResponse)}`);
31
33
  if (isCustomConfig && apiData.responseJsonLogic) {
32
34
  return jsonLogic.apply(apiData.responseJsonLogic, apiResponse.data);
33
35
  }
@@ -35,7 +37,8 @@ export const generateOTP = async (payload, props) => {
35
37
  } catch (error) {
36
38
  var _error$response;
37
39
  Logger.getInstance().logEvent('~ generateOTP', error.message, LOG_TYPE.SDK_ERROR);
38
- console.error('error: ', JSON.stringify(error));
40
+ Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:catch : ${error.message}`);
41
+ console.error('error: ', error.message);
39
42
  return (error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) ?? false;
40
43
  }
41
44
  };
@@ -44,7 +47,9 @@ export const verifyOTP = async (payload, props) => {
44
47
  var _props$validationApi;
45
48
  const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;
46
49
  const apiData = createApiData(payload, props, isCustomConfig ? props === null || props === void 0 || (_props$validationApi = props.validationApi) === null || _props$validationApi === void 0 ? void 0 : _props$validationApi.uri : `{baseURI}${ENDPOINTS.VERIFY_OTP_ENDPOINT}`, 'POST', null, isCustomConfig ? props.validationApi : undefined);
50
+ Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:apiData : ${JSON.stringify(apiData)}`);
47
51
  const apiResponse = await getAxiosApiResponse(apiData);
52
+ Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:apiResponse : ${JSON.stringify(apiResponse)}`);
48
53
  if (isCustomConfig && apiData.responseJsonLogic) {
49
54
  return jsonLogic.apply(apiData.responseJsonLogic, apiResponse.data);
50
55
  }
@@ -52,7 +57,8 @@ export const verifyOTP = async (payload, props) => {
52
57
  } catch (error) {
53
58
  var _error$response2;
54
59
  Logger.getInstance().logEvent('~ verifyOTP', error.message, LOG_TYPE.SDK_ERROR);
55
- console.error('error: ', JSON.stringify(error));
60
+ console.error('error: ', error.message);
61
+ Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:catch : ${error.message}`);
56
62
  return (error === null || error === void 0 || (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data) ?? false;
57
63
  }
58
64
  };
@@ -61,7 +67,9 @@ export const resendOTP = async (payload, props) => {
61
67
  var _props$resendApi;
62
68
  const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;
63
69
  const apiData = createApiData(payload, props, isCustomConfig ? props === null || props === void 0 || (_props$resendApi = props.resendApi) === null || _props$resendApi === void 0 ? void 0 : _props$resendApi.uri : `{baseURI}${ENDPOINTS.RESEND_OTP_ENDPOINT}`, 'POST', null, isCustomConfig ? props.resendApi : undefined);
70
+ Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:apiData : ${JSON.stringify(apiData)}`);
64
71
  const apiResponse = await getAxiosApiResponse(apiData);
72
+ Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:apiResponse : ${JSON.stringify(apiResponse)}`);
65
73
  if (isCustomConfig && apiData.responseJsonLogic) {
66
74
  return jsonLogic.apply(apiData.responseJsonLogic, apiResponse.data);
67
75
  }
@@ -69,7 +77,8 @@ export const resendOTP = async (payload, props) => {
69
77
  } catch (error) {
70
78
  var _error$response3;
71
79
  Logger.getInstance().logEvent('~ resendOTP', error.message, LOG_TYPE.SDK_ERROR);
72
- console.error('error: ', JSON.stringify(error));
80
+ Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:catch : ${error.message}`);
81
+ console.error('error: ', error.message);
73
82
  return (error === null || error === void 0 || (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.data) ?? false;
74
83
  }
75
84
  };
@@ -1 +1 @@
1
- {"version":3,"names":["jsonLogic","Logger","LOG_TYPE","createApiData","getAxiosApiResponse","DEFAULT_RETRY_CONFIG","Storage","SHARED_PREFERENCE_RESEND_COUNT","SHARED_PREFERENCE_RETRY_COUNT","ENDPOINTS","getUuidByString","OTP_CONFIG","countType","VALIDATE_OTP_SCREENS","CONTACT_LIST","OTP_VIEW","VERIFICATION_COMPLETE","generateOTP","payload","props","_props$otpGeneration","isCustomConfig","otpConfig","CUSTOM","apiData","otpGeneration","uri","GENERATE_OTP_ENDPOINT","undefined","apiResponse","responseJsonLogic","apply","data","error","_error$response","getInstance","logEvent","message","SDK_ERROR","console","JSON","stringify","response","verifyOTP","_props$validationApi","validationApi","VERIFY_OTP_ENDPOINT","_error$response2","resendOTP","_props$resendApi","resendApi","RESEND_OTP_ENDPOINT","_error$response3","parseResendConfig","inputResendConfig","resendConfig","buttonTitle","enableDelay","maxResends","maskContactId","contactId","idString","String","includes","username","domain","split","visibleUsername","slice","repeat","length","lastFourDigits","truncateOrderId","shipmentId","displayShipmentId","startingTen","lastTen","isNotNullOrEmpty","value","trim","Array","isArray","generateContactList","orderId","_response$phone","_response$additionalP","_response$additionalE","contactList","phone","number","push","id","mode","type","index","additionalPhone","forEach","idx","email","additionalEmail","getUniqueRefId","moId","progressGroupId","attemptCount","_refId$toString","refId","_hashedRefId","toString","updateRetryCount","retryCount","storage","setSharedItem","updateResendCount","getCount","count","RESEND","getSharedItem","RETRY","parsedCount","parse","warn","resetCount"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as jsonLogic from 'json-logic-js';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { createApiData, getAxiosApiResponse } from '../../../utils/ApiUtils';\nimport { DEFAULT_RETRY_CONFIG } from './constants';\nimport type {\n ResendOTPConfigType,\n EmailAndPhoneResponse,\n ContactType,\n ValidateOTPInput,\n ResendOTPPayloadType,\n ResponseType,\n ErrorResponseType,\n GenerateOtpPayloadType,\n} from './ValidateOTPSchema';\nimport Storage from '../../../utils/storage';\nimport {\n SHARED_PREFERENCE_RESEND_COUNT,\n SHARED_PREFERENCE_RETRY_COUNT,\n} from '../../../manager/syncmanager/constants';\nimport { ENDPOINTS } from '../../../constants/apiConstants';\nimport getUuidByString from 'uuid-by-string';\n\nexport enum OTP_CONFIG {\n OS1 = 'OTP_CONFIG',\n CUSTOM = 'Custom',\n}\n\ntype PropType = ValidateOTPInput & { domain: string };\n\nexport enum countType {\n RETRY,\n RESEND,\n}\n\nexport const VALIDATE_OTP_SCREENS = {\n CONTACT_LIST: 'CONTACT_LIST',\n OTP_VIEW: 'OTP_VIEW',\n VERIFICATION_COMPLETE: 'VERIFICATION_COMPLETE',\n};\n\nexport const generateOTP = async (\n payload: GenerateOtpPayloadType,\n props: PropType\n): Promise<any | ResponseType | ErrorResponseType> => {\n try {\n const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;\n const apiData = createApiData(\n payload,\n props,\n isCustomConfig\n ? props?.otpGeneration?.uri\n : `{baseURI}${ENDPOINTS.GENERATE_OTP_ENDPOINT}`,\n 'POST',\n null,\n isCustomConfig ? props.otpGeneration : undefined\n );\n\n const apiResponse = await getAxiosApiResponse(apiData);\n\n if (isCustomConfig && apiData.responseJsonLogic) {\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>apiData.responseJsonLogic,\n apiResponse.data\n );\n }\n\n return apiResponse.data;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ generateOTP',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n console.error('error: ', JSON.stringify(error));\n return error?.response?.data ?? false;\n }\n};\n\nexport const verifyOTP = async (\n payload: any,\n props: PropType\n): Promise<any | ResponseType | ErrorResponseType> => {\n try {\n const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;\n const apiData = createApiData(\n payload,\n props,\n isCustomConfig\n ? props?.validationApi?.uri\n : `{baseURI}${ENDPOINTS.VERIFY_OTP_ENDPOINT}`,\n 'POST',\n null,\n isCustomConfig ? props.validationApi : undefined\n );\n\n const apiResponse = await getAxiosApiResponse(apiData);\n\n if (isCustomConfig && apiData.responseJsonLogic) {\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>apiData.responseJsonLogic,\n apiResponse.data\n );\n }\n\n return apiResponse.data;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ verifyOTP',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n console.error('error: ', JSON.stringify(error));\n return error?.response?.data ?? false;\n }\n};\n\nexport const resendOTP = async (\n payload: ResendOTPPayloadType,\n props: PropType\n): Promise<any | ResponseType | ErrorResponseType> => {\n try {\n const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;\n const apiData = createApiData(\n payload,\n props,\n isCustomConfig\n ? props?.resendApi?.uri\n : `{baseURI}${ENDPOINTS.RESEND_OTP_ENDPOINT}`,\n 'POST',\n null,\n isCustomConfig ? props.resendApi : undefined\n );\n\n const apiResponse = await getAxiosApiResponse(apiData);\n\n if (isCustomConfig && apiData.responseJsonLogic) {\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>apiData.responseJsonLogic,\n apiResponse.data\n );\n }\n\n return apiResponse.data;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ resendOTP',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n console.error('error: ', JSON.stringify(error));\n return error?.response?.data ?? false;\n }\n};\n\nexport const parseResendConfig = (\n inputResendConfig: ResendOTPConfigType | undefined\n): ResendOTPConfigType => {\n const resendConfig: ResendOTPConfigType = DEFAULT_RETRY_CONFIG;\n if (inputResendConfig) {\n if (inputResendConfig.buttonTitle) {\n resendConfig.buttonTitle = inputResendConfig.buttonTitle;\n }\n if (inputResendConfig.enableDelay) {\n resendConfig.enableDelay = inputResendConfig.enableDelay;\n }\n if (inputResendConfig.maxResends) {\n resendConfig.maxResends = inputResendConfig.maxResends;\n }\n }\n return resendConfig;\n};\n\nexport function maskContactId(contactId: string) {\n const idString = String(contactId);\n\n // Check if it's an email based on the presence of '@'\n if (idString.includes('@')) {\n // Split email into username and domain parts\n const [username, domain] = idString.split('@');\n\n // Show first 3 characters and replace the rest with asterisks\n const visibleUsername =\n username.slice(0, 3) + '*'.repeat(username.length - 3);\n\n return `${visibleUsername}@${domain}`;\n } else {\n // For non-email contact ID, show first 5 characters as asterisks and last 4 digits\n const lastFourDigits = idString.slice(-4);\n return `***** *${lastFourDigits}`;\n }\n}\n\nexport const truncateOrderId = (shipmentId: string) => {\n let displayShipmentId = '';\n if (shipmentId?.length >= 16) {\n const startingTen = shipmentId.slice(0, 5);\n const lastTen = shipmentId.slice(-5);\n displayShipmentId = `${startingTen}...${lastTen}`;\n } else {\n displayShipmentId = shipmentId;\n }\n return displayShipmentId;\n};\n\nexport const isNotNullOrEmpty = (value: any): boolean => {\n if (value === null || value === undefined) {\n return false;\n }\n if (typeof value === 'string' && value.trim() === '') {\n return false;\n }\n if (Array.isArray(value) && value.length === 0) {\n return false;\n }\n return true;\n};\n\nexport function generateContactList(\n response: EmailAndPhoneResponse,\n orderId?: string\n): ContactType[] {\n // Initialize an array to store the transformed contact list\n const contactList: ContactType[] = [];\n\n // Handle the primary phone number\n if (response.phone?.number) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'PHONE',\n type: 'PRIMARY',\n index: 0,\n value: response.phone.number, // Actual phone number\n orderId,\n });\n }\n\n // Handle additional phone numbers\n if (response.additionalPhone?.length) {\n response.additionalPhone.forEach((phone, idx) => {\n if (phone?.number) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'PHONE',\n type: 'SECONDARY',\n index: idx,\n value: phone.number, // Actual phone number\n orderId,\n });\n }\n });\n }\n\n // Handle the primary email\n if (response.email) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'EMAIL',\n type: 'PRIMARY',\n index: 0,\n value: response.email, // Actual email address\n orderId,\n });\n }\n\n // Handle additional emails\n if (response.additionalEmail?.length) {\n response.additionalEmail.forEach((email, idx) => {\n if (email?.id) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'EMAIL',\n type: 'SECONDARY',\n index: idx,\n value: email.id, // Actual email address\n orderId,\n });\n }\n });\n }\n\n return contactList;\n}\n\nexport const getUniqueRefId = (\n moId: string,\n progressGroupId?: string | null,\n attemptCount?: number | null\n) => {\n const refId = `${moId}${progressGroupId ? '::' + progressGroupId : ''}${\n attemptCount ? '::' + attemptCount : ''\n }`;\n const _hashedRefId = getUuidByString(refId?.toString()?.trim());\n return _hashedRefId;\n};\n\nexport const updateRetryCount = async (retryCount: number) => {\n let storage = Storage.getInstance();\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_RETRY_COUNT,\n JSON.stringify(retryCount)\n );\n};\n\nexport const updateResendCount = async (retryCount: number) => {\n let storage = Storage.getInstance();\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_RESEND_COUNT,\n JSON.stringify(retryCount)\n );\n};\n\nexport const getCount = async (type: countType): Promise<number> => {\n const storage = Storage.getInstance();\n let count: any = 0;\n\n if (type === countType.RESEND) {\n count = await storage.getSharedItem(SHARED_PREFERENCE_RESEND_COUNT);\n } else if (type === countType.RETRY) {\n count = await storage.getSharedItem(SHARED_PREFERENCE_RETRY_COUNT);\n }\n\n // Parse and validate the count\n if (count) {\n try {\n const parsedCount = JSON.parse(count);\n if (typeof parsedCount === 'number') {\n return parsedCount;\n }\n } catch (error) {\n console.warn('Invalid count value:', count);\n }\n }\n\n // Default to 0 if count is invalid\n return 0;\n};\n\nexport const resetCount = async () => {\n let storage = Storage.getInstance();\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_RESEND_COUNT,\n JSON.stringify(0)\n );\n\n await storage.setSharedItem(SHARED_PREFERENCE_RETRY_COUNT, JSON.stringify(0));\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsonLogic","Logger","LOG_TYPE","createApiData","getAxiosApiResponse","DEFAULT_RETRY_CONFIG","TAG_VERIFY_OTP","Storage","SHARED_PREFERENCE_RESEND_COUNT","SHARED_PREFERENCE_RETRY_COUNT","ENDPOINTS","getUuidByString","OTP_CONFIG","countType","VALIDATE_OTP_SCREENS","CONTACT_LIST","OTP_VIEW","VERIFICATION_COMPLETE","generateOTP","payload","props","_props$otpGeneration","isCustomConfig","otpConfig","CUSTOM","apiData","otpGeneration","uri","GENERATE_OTP_ENDPOINT","undefined","getInstance","log","JSON","stringify","apiResponse","responseJsonLogic","apply","data","error","_error$response","logEvent","message","SDK_ERROR","console","response","verifyOTP","_props$validationApi","validationApi","VERIFY_OTP_ENDPOINT","_error$response2","resendOTP","_props$resendApi","resendApi","RESEND_OTP_ENDPOINT","_error$response3","parseResendConfig","inputResendConfig","resendConfig","buttonTitle","enableDelay","maxResends","maskContactId","contactId","idString","String","includes","username","domain","split","visibleUsername","slice","repeat","length","lastFourDigits","truncateOrderId","shipmentId","displayShipmentId","startingTen","lastTen","isNotNullOrEmpty","value","trim","Array","isArray","generateContactList","orderId","_response$phone","_response$additionalP","_response$additionalE","contactList","phone","number","push","id","mode","type","index","additionalPhone","forEach","idx","email","additionalEmail","getUniqueRefId","moId","progressGroupId","attemptCount","_refId$toString","refId","_hashedRefId","toString","updateRetryCount","retryCount","storage","setSharedItem","updateResendCount","getCount","count","RESEND","getSharedItem","RETRY","parsedCount","parse","warn","resetCount"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport * as jsonLogic from 'json-logic-js';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { createApiData, getAxiosApiResponse } from '../../../utils/ApiUtils';\nimport { DEFAULT_RETRY_CONFIG, TAG_VERIFY_OTP } from './constants';\nimport type {\n ResendOTPConfigType,\n EmailAndPhoneResponse,\n ContactType,\n ValidateOTPInput,\n ResendOTPPayloadType,\n ResponseType,\n ErrorResponseType,\n GenerateOtpPayloadType,\n} from './ValidateOTPSchema';\nimport Storage from '../../../utils/storage';\nimport {\n SHARED_PREFERENCE_RESEND_COUNT,\n SHARED_PREFERENCE_RETRY_COUNT,\n} from '../../../manager/syncmanager/constants';\nimport { ENDPOINTS } from '../../../constants/apiConstants';\nimport getUuidByString from 'uuid-by-string';\n\nexport enum OTP_CONFIG {\n OS1 = 'OTP_CONFIG',\n CUSTOM = 'Custom',\n}\n\ntype PropType = ValidateOTPInput & { domain: string };\n\nexport enum countType {\n RETRY,\n RESEND,\n}\n\nexport const VALIDATE_OTP_SCREENS = {\n CONTACT_LIST: 'CONTACT_LIST',\n OTP_VIEW: 'OTP_VIEW',\n VERIFICATION_COMPLETE: 'VERIFICATION_COMPLETE',\n};\n\nexport const generateOTP = async (\n payload: GenerateOtpPayloadType,\n props: PropType\n): Promise<any | ResponseType | ErrorResponseType> => {\n try {\n const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;\n const apiData = createApiData(\n payload,\n props,\n isCustomConfig\n ? props?.otpGeneration?.uri\n : `{baseURI}${ENDPOINTS.GENERATE_OTP_ENDPOINT}`,\n 'POST',\n null,\n isCustomConfig ? props.otpGeneration : undefined\n );\n\n Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:apiData : ${JSON.stringify(apiData)}`);\n\n\n const apiResponse = await getAxiosApiResponse(apiData);\n\n Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:apiResponse : ${JSON.stringify(apiResponse)}`);\n\n\n if (isCustomConfig && apiData.responseJsonLogic) {\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>apiData.responseJsonLogic,\n apiResponse.data\n );\n }\n\n return apiResponse.data;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ generateOTP',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n\n Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:catch : ${error.message}`);\n\n console.error('error: ', error.message);\n return error?.response?.data ?? false;\n }\n};\n\nexport const verifyOTP = async (\n payload: any,\n props: PropType\n): Promise<any | ResponseType | ErrorResponseType> => {\n try {\n const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;\n const apiData = createApiData(\n payload,\n props,\n isCustomConfig\n ? props?.validationApi?.uri\n : `{baseURI}${ENDPOINTS.VERIFY_OTP_ENDPOINT}`,\n 'POST',\n null,\n isCustomConfig ? props.validationApi : undefined\n );\n\n Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:apiData : ${JSON.stringify(apiData)}`);\n\n const apiResponse = await getAxiosApiResponse(apiData);\n\n Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:apiResponse : ${JSON.stringify(apiResponse)}`);\n\n if (isCustomConfig && apiData.responseJsonLogic) {\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>apiData.responseJsonLogic,\n apiResponse.data\n );\n }\n\n return apiResponse.data;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ verifyOTP',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n console.error('error: ', error.message);\n Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:catch : ${error.message}`);\n return error?.response?.data ?? false;\n }\n};\n\nexport const resendOTP = async (\n payload: ResendOTPPayloadType,\n props: PropType\n): Promise<any | ResponseType | ErrorResponseType> => {\n try {\n const isCustomConfig = props.otpConfig === OTP_CONFIG.CUSTOM;\n const apiData = createApiData(\n payload,\n props,\n isCustomConfig\n ? props?.resendApi?.uri\n : `{baseURI}${ENDPOINTS.RESEND_OTP_ENDPOINT}`,\n 'POST',\n null,\n isCustomConfig ? props.resendApi : undefined\n );\n\n Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:apiData : ${JSON.stringify(apiData)}`);\n\n const apiResponse = await getAxiosApiResponse(apiData);\n\n Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:apiResponse : ${JSON.stringify(apiResponse)}`);\n\n\n if (isCustomConfig && apiData.responseJsonLogic) {\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>apiData.responseJsonLogic,\n apiResponse.data\n );\n }\n\n \n\n return apiResponse.data;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ resendOTP',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:catch : ${error.message}`);\n console.error('error: ', error.message);\n return error?.response?.data ?? false;\n }\n};\n\nexport const parseResendConfig = (\n inputResendConfig: ResendOTPConfigType | undefined\n): ResendOTPConfigType => {\n const resendConfig: ResendOTPConfigType = DEFAULT_RETRY_CONFIG;\n if (inputResendConfig) {\n if (inputResendConfig.buttonTitle) {\n resendConfig.buttonTitle = inputResendConfig.buttonTitle;\n }\n if (inputResendConfig.enableDelay) {\n resendConfig.enableDelay = inputResendConfig.enableDelay;\n }\n if (inputResendConfig.maxResends) {\n resendConfig.maxResends = inputResendConfig.maxResends;\n }\n }\n return resendConfig;\n};\n\nexport function maskContactId(contactId: string) {\n const idString = String(contactId);\n\n // Check if it's an email based on the presence of '@'\n if (idString.includes('@')) {\n // Split email into username and domain parts\n const [username, domain] = idString.split('@');\n\n // Show first 3 characters and replace the rest with asterisks\n const visibleUsername =\n username.slice(0, 3) + '*'.repeat(username.length - 3);\n\n return `${visibleUsername}@${domain}`;\n } else {\n // For non-email contact ID, show first 5 characters as asterisks and last 4 digits\n const lastFourDigits = idString.slice(-4);\n return `***** *${lastFourDigits}`;\n }\n}\n\nexport const truncateOrderId = (shipmentId: string) => {\n let displayShipmentId = '';\n if (shipmentId?.length >= 16) {\n const startingTen = shipmentId.slice(0, 5);\n const lastTen = shipmentId.slice(-5);\n displayShipmentId = `${startingTen}...${lastTen}`;\n } else {\n displayShipmentId = shipmentId;\n }\n return displayShipmentId;\n};\n\nexport const isNotNullOrEmpty = (value: any): boolean => {\n if (value === null || value === undefined) {\n return false;\n }\n if (typeof value === 'string' && value.trim() === '') {\n return false;\n }\n if (Array.isArray(value) && value.length === 0) {\n return false;\n }\n return true;\n};\n\nexport function generateContactList(\n response: EmailAndPhoneResponse,\n orderId?: string\n): ContactType[] {\n // Initialize an array to store the transformed contact list\n const contactList: ContactType[] = [];\n\n // Handle the primary phone number\n if (response.phone?.number) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'PHONE',\n type: 'PRIMARY',\n index: 0,\n value: response.phone.number, // Actual phone number\n orderId,\n });\n }\n\n // Handle additional phone numbers\n if (response.additionalPhone?.length) {\n response.additionalPhone.forEach((phone, idx) => {\n if (phone?.number) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'PHONE',\n type: 'SECONDARY',\n index: idx,\n value: phone.number, // Actual phone number\n orderId,\n });\n }\n });\n }\n\n // Handle the primary email\n if (response.email) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'EMAIL',\n type: 'PRIMARY',\n index: 0,\n value: response.email, // Actual email address\n orderId,\n });\n }\n\n // Handle additional emails\n if (response.additionalEmail?.length) {\n response.additionalEmail.forEach((email, idx) => {\n if (email?.id) {\n contactList.push({\n id: response.id, // Unique identifier\n mode: 'EMAIL',\n type: 'SECONDARY',\n index: idx,\n value: email.id, // Actual email address\n orderId,\n });\n }\n });\n }\n\n return contactList;\n}\n\nexport const getUniqueRefId = (\n moId: string,\n progressGroupId?: string | null,\n attemptCount?: number | null\n) => {\n const refId = `${moId}${progressGroupId ? '::' + progressGroupId : ''}${\n attemptCount ? '::' + attemptCount : ''\n }`;\n const _hashedRefId = getUuidByString(refId?.toString()?.trim());\n return _hashedRefId;\n};\n\nexport const updateRetryCount = async (retryCount: number) => {\n let storage = Storage.getInstance();\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_RETRY_COUNT,\n JSON.stringify(retryCount)\n );\n};\n\nexport const updateResendCount = async (retryCount: number) => {\n let storage = Storage.getInstance();\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_RESEND_COUNT,\n JSON.stringify(retryCount)\n );\n};\n\nexport const getCount = async (type: countType): Promise<number> => {\n const storage = Storage.getInstance();\n let count: any = 0;\n\n if (type === countType.RESEND) {\n count = await storage.getSharedItem(SHARED_PREFERENCE_RESEND_COUNT);\n } else if (type === countType.RETRY) {\n count = await storage.getSharedItem(SHARED_PREFERENCE_RETRY_COUNT);\n }\n\n // Parse and validate the count\n if (count) {\n try {\n const parsedCount = JSON.parse(count);\n if (typeof parsedCount === 'number') {\n return parsedCount;\n }\n } catch (error) {\n console.warn('Invalid count value:', count);\n }\n }\n\n // Default to 0 if count is invalid\n return 0;\n};\n\nexport const resetCount = async () => {\n let storage = Storage.getInstance();\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_RESEND_COUNT,\n JSON.stringify(0)\n );\n\n await storage.setSharedItem(SHARED_PREFERENCE_RETRY_COUNT, JSON.stringify(0));\n};\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,eAAe;AAC1C,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC5E,SAASC,oBAAoB,EAAEC,cAAc,QAAQ,aAAa;AAWlE,OAAOC,OAAO,MAAM,wBAAwB;AAC5C,SACEC,8BAA8B,EAC9BC,6BAA6B,QACxB,wCAAwC;AAC/C,SAASC,SAAS,QAAQ,iCAAiC;AAC3D,OAAOC,eAAe,MAAM,gBAAgB;AAE5C,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAOtB,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAKrB,OAAO,MAAMC,oBAAoB,GAAG;EAClCC,YAAY,EAAE,cAAc;EAC5BC,QAAQ,EAAE,UAAU;EACpBC,qBAAqB,EAAE;AACzB,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,MAAAA,CACzBC,OAA+B,EAC/BC,KAAe,KACqC;EACpD,IAAI;IAAA,IAAAC,oBAAA;IACF,MAAMC,cAAc,GAAGF,KAAK,CAACG,SAAS,KAAKX,UAAU,CAACY,MAAM;IAC5D,MAAMC,OAAO,GAAGtB,aAAa,CAC3BgB,OAAO,EACPC,KAAK,EACLE,cAAc,GACVF,KAAK,aAALA,KAAK,gBAAAC,oBAAA,GAALD,KAAK,CAAEM,aAAa,cAAAL,oBAAA,uBAApBA,oBAAA,CAAsBM,GAAG,GACzB,YAAYjB,SAAS,CAACkB,qBAAqB,EAAE,EACjD,MAAM,EACN,IAAI,EACJN,cAAc,GAAGF,KAAK,CAACM,aAAa,GAAGG,SACzC,CAAC;IAED5B,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,yBAAyB0B,IAAI,CAACC,SAAS,CAACR,OAAO,CAAC,EAAE,CAAC;IAG5F,MAAMS,WAAW,GAAG,MAAM9B,mBAAmB,CAACqB,OAAO,CAAC;IAEtDxB,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,6BAA6B0B,IAAI,CAACC,SAAS,CAACC,WAAW,CAAC,EAAE,CAAC;IAGpG,IAAIZ,cAAc,IAAIG,OAAO,CAACU,iBAAiB,EAAE;MAC/C,OAAOnC,SAAS,CAACoC,KAAK,CACEX,OAAO,CAACU,iBAAiB,EAC/CD,WAAW,CAACG,IACd,CAAC;IACH;IAEA,OAAOH,WAAW,CAACG,IAAI;EACzB,CAAC,CAAC,OAAOC,KAAU,EAAE;IAAA,IAAAC,eAAA;IACnBtC,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACU,QAAQ,CAC3B,eAAe,EACfF,KAAK,CAACG,OAAO,EACbvC,QAAQ,CAACwC,SACX,CAAC;IAEDzC,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,uBAAuBgC,KAAK,CAACG,OAAO,EAAE,CAAC;IAEhFE,OAAO,CAACL,KAAK,CAAC,SAAS,EAAEA,KAAK,CAACG,OAAO,CAAC;IACvC,OAAO,CAAAH,KAAK,aAALA,KAAK,gBAAAC,eAAA,GAALD,KAAK,CAAEM,QAAQ,cAAAL,eAAA,uBAAfA,eAAA,CAAiBF,IAAI,KAAI,KAAK;EACvC;AACF,CAAC;AAED,OAAO,MAAMQ,SAAS,GAAG,MAAAA,CACvB1B,OAAY,EACZC,KAAe,KACqC;EACpD,IAAI;IAAA,IAAA0B,oBAAA;IACF,MAAMxB,cAAc,GAAGF,KAAK,CAACG,SAAS,KAAKX,UAAU,CAACY,MAAM;IAC5D,MAAMC,OAAO,GAAGtB,aAAa,CAC3BgB,OAAO,EACPC,KAAK,EACLE,cAAc,GACVF,KAAK,aAALA,KAAK,gBAAA0B,oBAAA,GAAL1B,KAAK,CAAE2B,aAAa,cAAAD,oBAAA,uBAApBA,oBAAA,CAAsBnB,GAAG,GACzB,YAAYjB,SAAS,CAACsC,mBAAmB,EAAE,EAC/C,MAAM,EACN,IAAI,EACJ1B,cAAc,GAAGF,KAAK,CAAC2B,aAAa,GAAGlB,SACzC,CAAC;IAED5B,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,uBAAuB0B,IAAI,CAACC,SAAS,CAACR,OAAO,CAAC,EAAE,CAAC;IAE1F,MAAMS,WAAW,GAAG,MAAM9B,mBAAmB,CAACqB,OAAO,CAAC;IAEtDxB,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,2BAA2B0B,IAAI,CAACC,SAAS,CAACC,WAAW,CAAC,EAAE,CAAC;IAElG,IAAIZ,cAAc,IAAIG,OAAO,CAACU,iBAAiB,EAAE;MAC/C,OAAOnC,SAAS,CAACoC,KAAK,CACEX,OAAO,CAACU,iBAAiB,EAC/CD,WAAW,CAACG,IACd,CAAC;IACH;IAEA,OAAOH,WAAW,CAACG,IAAI;EACzB,CAAC,CAAC,OAAOC,KAAU,EAAE;IAAA,IAAAW,gBAAA;IACnBhD,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACU,QAAQ,CAC3B,aAAa,EACbF,KAAK,CAACG,OAAO,EACbvC,QAAQ,CAACwC,SACX,CAAC;IACDC,OAAO,CAACL,KAAK,CAAC,SAAS,EAAEA,KAAK,CAACG,OAAO,CAAC;IACvCxC,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,qBAAqBgC,KAAK,CAACG,OAAO,EAAE,CAAC;IAC9E,OAAO,CAAAH,KAAK,aAALA,KAAK,gBAAAW,gBAAA,GAALX,KAAK,CAAEM,QAAQ,cAAAK,gBAAA,uBAAfA,gBAAA,CAAiBZ,IAAI,KAAI,KAAK;EACvC;AACF,CAAC;AAED,OAAO,MAAMa,SAAS,GAAG,MAAAA,CACvB/B,OAA6B,EAC7BC,KAAe,KACqC;EACpD,IAAI;IAAA,IAAA+B,gBAAA;IACF,MAAM7B,cAAc,GAAGF,KAAK,CAACG,SAAS,KAAKX,UAAU,CAACY,MAAM;IAC5D,MAAMC,OAAO,GAAGtB,aAAa,CAC3BgB,OAAO,EACPC,KAAK,EACLE,cAAc,GACVF,KAAK,aAALA,KAAK,gBAAA+B,gBAAA,GAAL/B,KAAK,CAAEgC,SAAS,cAAAD,gBAAA,uBAAhBA,gBAAA,CAAkBxB,GAAG,GACrB,YAAYjB,SAAS,CAAC2C,mBAAmB,EAAE,EAC/C,MAAM,EACN,IAAI,EACJ/B,cAAc,GAAGF,KAAK,CAACgC,SAAS,GAAGvB,SACrC,CAAC;IAED5B,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,uBAAuB0B,IAAI,CAACC,SAAS,CAACR,OAAO,CAAC,EAAE,CAAC;IAE1F,MAAMS,WAAW,GAAG,MAAM9B,mBAAmB,CAACqB,OAAO,CAAC;IAEtDxB,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,2BAA2B0B,IAAI,CAACC,SAAS,CAACC,WAAW,CAAC,EAAE,CAAC;IAGlG,IAAIZ,cAAc,IAAIG,OAAO,CAACU,iBAAiB,EAAE;MAC/C,OAAOnC,SAAS,CAACoC,KAAK,CACEX,OAAO,CAACU,iBAAiB,EAC/CD,WAAW,CAACG,IACd,CAAC;IACH;IAIA,OAAOH,WAAW,CAACG,IAAI;EACzB,CAAC,CAAC,OAAOC,KAAU,EAAE;IAAA,IAAAgB,gBAAA;IACnBrD,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACU,QAAQ,CAC3B,aAAa,EACbF,KAAK,CAACG,OAAO,EACbvC,QAAQ,CAACwC,SACX,CAAC;IACDzC,MAAM,CAAC6B,WAAW,CAAC,CAAC,CAACC,GAAG,CAACzB,cAAc,EAAE,qBAAqBgC,KAAK,CAACG,OAAO,EAAE,CAAC;IAC9EE,OAAO,CAACL,KAAK,CAAC,SAAS,EAAEA,KAAK,CAACG,OAAO,CAAC;IACvC,OAAO,CAAAH,KAAK,aAALA,KAAK,gBAAAgB,gBAAA,GAALhB,KAAK,CAAEM,QAAQ,cAAAU,gBAAA,uBAAfA,gBAAA,CAAiBjB,IAAI,KAAI,KAAK;EACvC;AACF,CAAC;AAED,OAAO,MAAMkB,iBAAiB,GAC5BC,iBAAkD,IAC1B;EACxB,MAAMC,YAAiC,GAAGpD,oBAAoB;EAC9D,IAAImD,iBAAiB,EAAE;IACrB,IAAIA,iBAAiB,CAACE,WAAW,EAAE;MACjCD,YAAY,CAACC,WAAW,GAAGF,iBAAiB,CAACE,WAAW;IAC1D;IACA,IAAIF,iBAAiB,CAACG,WAAW,EAAE;MACjCF,YAAY,CAACE,WAAW,GAAGH,iBAAiB,CAACG,WAAW;IAC1D;IACA,IAAIH,iBAAiB,CAACI,UAAU,EAAE;MAChCH,YAAY,CAACG,UAAU,GAAGJ,iBAAiB,CAACI,UAAU;IACxD;EACF;EACA,OAAOH,YAAY;AACrB,CAAC;AAED,OAAO,SAASI,aAAaA,CAACC,SAAiB,EAAE;EAC/C,MAAMC,QAAQ,GAAGC,MAAM,CAACF,SAAS,CAAC;;EAElC;EACA,IAAIC,QAAQ,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC1B;IACA,MAAM,CAACC,QAAQ,EAAEC,MAAM,CAAC,GAAGJ,QAAQ,CAACK,KAAK,CAAC,GAAG,CAAC;;IAE9C;IACA,MAAMC,eAAe,GACnBH,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAACC,MAAM,CAACL,QAAQ,CAACM,MAAM,GAAG,CAAC,CAAC;IAExD,OAAO,GAAGH,eAAe,IAAIF,MAAM,EAAE;EACvC,CAAC,MAAM;IACL;IACA,MAAMM,cAAc,GAAGV,QAAQ,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,UAAUG,cAAc,EAAE;EACnC;AACF;AAEA,OAAO,MAAMC,eAAe,GAAIC,UAAkB,IAAK;EACrD,IAAIC,iBAAiB,GAAG,EAAE;EAC1B,IAAI,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEH,MAAM,KAAI,EAAE,EAAE;IAC5B,MAAMK,WAAW,GAAGF,UAAU,CAACL,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAMQ,OAAO,GAAGH,UAAU,CAACL,KAAK,CAAC,CAAC,CAAC,CAAC;IACpCM,iBAAiB,GAAG,GAAGC,WAAW,MAAMC,OAAO,EAAE;EACnD,CAAC,MAAM;IACLF,iBAAiB,GAAGD,UAAU;EAChC;EACA,OAAOC,iBAAiB;AAC1B,CAAC;AAED,OAAO,MAAMG,gBAAgB,GAAIC,KAAU,IAAc;EACvD,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKnD,SAAS,EAAE;IACzC,OAAO,KAAK;EACd;EACA,IAAI,OAAOmD,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IACpD,OAAO,KAAK;EACd;EACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IAAIA,KAAK,CAACR,MAAM,KAAK,CAAC,EAAE;IAC9C,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,SAASY,mBAAmBA,CACjCxC,QAA+B,EAC/ByC,OAAgB,EACD;EAAA,IAAAC,eAAA,EAAAC,qBAAA,EAAAC,qBAAA;EACf;EACA,MAAMC,WAA0B,GAAG,EAAE;;EAErC;EACA,KAAAH,eAAA,GAAI1C,QAAQ,CAAC8C,KAAK,cAAAJ,eAAA,eAAdA,eAAA,CAAgBK,MAAM,EAAE;IAC1BF,WAAW,CAACG,IAAI,CAAC;MACfC,EAAE,EAAEjD,QAAQ,CAACiD,EAAE;MAAE;MACjBC,IAAI,EAAE,OAAO;MACbC,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,CAAC;MACRhB,KAAK,EAAEpC,QAAQ,CAAC8C,KAAK,CAACC,MAAM;MAAE;MAC9BN;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,KAAAE,qBAAA,GAAI3C,QAAQ,CAACqD,eAAe,cAAAV,qBAAA,eAAxBA,qBAAA,CAA0Bf,MAAM,EAAE;IACpC5B,QAAQ,CAACqD,eAAe,CAACC,OAAO,CAAC,CAACR,KAAK,EAAES,GAAG,KAAK;MAC/C,IAAIT,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,MAAM,EAAE;QACjBF,WAAW,CAACG,IAAI,CAAC;UACfC,EAAE,EAAEjD,QAAQ,CAACiD,EAAE;UAAE;UACjBC,IAAI,EAAE,OAAO;UACbC,IAAI,EAAE,WAAW;UACjBC,KAAK,EAAEG,GAAG;UACVnB,KAAK,EAAEU,KAAK,CAACC,MAAM;UAAE;UACrBN;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,IAAIzC,QAAQ,CAACwD,KAAK,EAAE;IAClBX,WAAW,CAACG,IAAI,CAAC;MACfC,EAAE,EAAEjD,QAAQ,CAACiD,EAAE;MAAE;MACjBC,IAAI,EAAE,OAAO;MACbC,IAAI,EAAE,SAAS;MACfC,KAAK,EAAE,CAAC;MACRhB,KAAK,EAAEpC,QAAQ,CAACwD,KAAK;MAAE;MACvBf;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,KAAAG,qBAAA,GAAI5C,QAAQ,CAACyD,eAAe,cAAAb,qBAAA,eAAxBA,qBAAA,CAA0BhB,MAAM,EAAE;IACpC5B,QAAQ,CAACyD,eAAe,CAACH,OAAO,CAAC,CAACE,KAAK,EAAED,GAAG,KAAK;MAC/C,IAAIC,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEP,EAAE,EAAE;QACbJ,WAAW,CAACG,IAAI,CAAC;UACfC,EAAE,EAAEjD,QAAQ,CAACiD,EAAE;UAAE;UACjBC,IAAI,EAAE,OAAO;UACbC,IAAI,EAAE,WAAW;UACjBC,KAAK,EAAEG,GAAG;UACVnB,KAAK,EAAEoB,KAAK,CAACP,EAAE;UAAE;UACjBR;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEA,OAAOI,WAAW;AACpB;AAEA,OAAO,MAAMa,cAAc,GAAGA,CAC5BC,IAAY,EACZC,eAA+B,EAC/BC,YAA4B,KACzB;EAAA,IAAAC,eAAA;EACH,MAAMC,KAAK,GAAG,GAAGJ,IAAI,GAAGC,eAAe,GAAG,IAAI,GAAGA,eAAe,GAAG,EAAE,GACnEC,YAAY,GAAG,IAAI,GAAGA,YAAY,GAAG,EAAE,EACvC;EACF,MAAMG,YAAY,GAAGjG,eAAe,CAACgG,KAAK,aAALA,KAAK,gBAAAD,eAAA,GAALC,KAAK,CAAEE,QAAQ,CAAC,CAAC,cAAAH,eAAA,uBAAjBA,eAAA,CAAmBzB,IAAI,CAAC,CAAC,CAAC;EAC/D,OAAO2B,YAAY;AACrB,CAAC;AAED,OAAO,MAAME,gBAAgB,GAAG,MAAOC,UAAkB,IAAK;EAC5D,IAAIC,OAAO,GAAGzG,OAAO,CAACuB,WAAW,CAAC,CAAC;EAEnC,MAAMkF,OAAO,CAACC,aAAa,CACzBxG,6BAA6B,EAC7BuB,IAAI,CAACC,SAAS,CAAC8E,UAAU,CAC3B,CAAC;AACH,CAAC;AAED,OAAO,MAAMG,iBAAiB,GAAG,MAAOH,UAAkB,IAAK;EAC7D,IAAIC,OAAO,GAAGzG,OAAO,CAACuB,WAAW,CAAC,CAAC;EAEnC,MAAMkF,OAAO,CAACC,aAAa,CACzBzG,8BAA8B,EAC9BwB,IAAI,CAACC,SAAS,CAAC8E,UAAU,CAC3B,CAAC;AACH,CAAC;AAED,OAAO,MAAMI,QAAQ,GAAG,MAAOpB,IAAe,IAAsB;EAClE,MAAMiB,OAAO,GAAGzG,OAAO,CAACuB,WAAW,CAAC,CAAC;EACrC,IAAIsF,KAAU,GAAG,CAAC;EAElB,IAAIrB,IAAI,KAAKlF,SAAS,CAACwG,MAAM,EAAE;IAC7BD,KAAK,GAAG,MAAMJ,OAAO,CAACM,aAAa,CAAC9G,8BAA8B,CAAC;EACrE,CAAC,MAAM,IAAIuF,IAAI,KAAKlF,SAAS,CAAC0G,KAAK,EAAE;IACnCH,KAAK,GAAG,MAAMJ,OAAO,CAACM,aAAa,CAAC7G,6BAA6B,CAAC;EACpE;;EAEA;EACA,IAAI2G,KAAK,EAAE;IACT,IAAI;MACF,MAAMI,WAAW,GAAGxF,IAAI,CAACyF,KAAK,CAACL,KAAK,CAAC;MACrC,IAAI,OAAOI,WAAW,KAAK,QAAQ,EAAE;QACnC,OAAOA,WAAW;MACpB;IACF,CAAC,CAAC,OAAOlF,KAAK,EAAE;MACdK,OAAO,CAAC+E,IAAI,CAAC,sBAAsB,EAAEN,KAAK,CAAC;IAC7C;EACF;;EAEA;EACA,OAAO,CAAC;AACV,CAAC;AAED,OAAO,MAAMO,UAAU,GAAG,MAAAA,CAAA,KAAY;EACpC,IAAIX,OAAO,GAAGzG,OAAO,CAACuB,WAAW,CAAC,CAAC;EAEnC,MAAMkF,OAAO,CAACC,aAAa,CACzBzG,8BAA8B,EAC9BwB,IAAI,CAACC,SAAS,CAAC,CAAC,CAClB,CAAC;EAED,MAAM+E,OAAO,CAACC,aAAa,CAACxG,6BAA6B,EAAEuB,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC","ignoreList":[]}
@@ -65,7 +65,7 @@ export default class ReasonCodeContainer {
65
65
  throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, 'Unexpected error');
66
66
  }
67
67
  } catch (error) {
68
- Logger.getInstance().logEvent('fetchReasonCode', JSON.stringify(error), LOG_TYPE.SDK_ERROR);
68
+ Logger.getInstance().logEvent('fetchReasonCode', error.message, LOG_TYPE.SDK_ERROR);
69
69
  throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, error.message);
70
70
  }
71
71
  } else {
@@ -1 +1 @@
1
- {"version":3,"names":["DispatchSdkCache","Logger","LOG_TYPE","BaseError","ErrorCodes","ReasonCodeRepo","GraphQLClient","ReasonCodeContainer","constructor","_defineProperty","getInstance","instance","getReasonCodes","applicableCodes","entityCode","length","codes","finalApplicableCodes","getReasonsByCode","error","getReasonCodeFromText","reasonText","reasons","r","description","reasonCode","getReasonByCode","code","queryResult","fetchReasonCode","currentDate","Date","toLocaleDateString","lastFetchedTime","cache","getKeyFromCache","KEYS","REASON_FETCH_TIME","reasonFetchDate","parseInt","graphlQLResponse","fetchReasonCodes","data","reasonList","saveReasonCode","setKeyInCache","now","toString","logEvent","JSON","stringify","SDK_ERROR","REASON_CODE_API_ERROR","message","SDK_INFO","_ReasonCodeContainer"],"sources":["ReasonCodeContainer.ts"],"sourcesContent":["import DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport ReasonCodeRepo from './ReasonCodeRepo';\nimport type { ApplicableReasons } from '../../models/execTasks/ETBaseModels';\nimport type { ReasonsRow } from '../syncmanager/DBConfig';\nimport GraphQLClient from '../../network/GraphQLClient';\n\nexport default class ReasonCodeContainer {\n private static instance: ReasonCodeContainer;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private constructor() {}\n\n public static getInstance(): ReasonCodeContainer {\n if (!ReasonCodeContainer.instance) {\n ReasonCodeContainer.instance = new ReasonCodeContainer();\n }\n return ReasonCodeContainer.instance;\n }\n public async getReasonCodes(\n applicableCodes: ApplicableReasons,\n entityCode: string\n ): Promise<ReasonsRow[]> {\n if (\n !applicableCodes ||\n applicableCodes[entityCode] == null ||\n applicableCodes[entityCode].length < 1\n )\n return [];\n try {\n const codes: string[] = applicableCodes[entityCode];\n let finalApplicableCodes =\n await ReasonCodeRepo.getInstance().getReasonsByCode(codes);\n if (finalApplicableCodes && finalApplicableCodes.length > 0) {\n return finalApplicableCodes;\n } else return [];\n } catch (error: any) {\n return [];\n }\n }\n public static getReasonCodeFromText(\n reasonText: string,\n reasons: ReasonsRow[]\n ): string {\n for (const r of reasons) {\n if (r.description === reasonText) {\n return r.reasonCode;\n }\n }\n return '';\n }\n public async getReasonByCode(code: string): Promise<ReasonsRow | null> {\n try {\n if (!code) return null;\n else {\n const queryResult = await ReasonCodeRepo.getInstance().getReasonByCode(\n code\n );\n if (queryResult && queryResult.length > 0) {\n return queryResult[0];\n } else return null;\n }\n } catch (error: any) {\n return null;\n }\n }\n\n public async fetchReasonCode() {\n const currentDate = new Date().toLocaleDateString();\n const lastFetchedTime = await this.cache.getKeyFromCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME\n );\n const reasonFetchDate = new Date(\n lastFetchedTime ? parseInt(lastFetchedTime) : 0\n ).toLocaleDateString();\n if (currentDate !== reasonFetchDate) {\n try {\n let graphlQLResponse =\n await GraphQLClient.getInstance().fetchReasonCodes();\n if (\n graphlQLResponse &&\n graphlQLResponse.data &&\n graphlQLResponse.data.reasonList &&\n graphlQLResponse.data.reasonList.data\n ) {\n await ReasonCodeRepo.getInstance().saveReasonCode(\n graphlQLResponse.data.reasonList.data\n );\n await this.cache.setKeyInCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME,\n Date.now().toString()\n );\n } else {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n JSON.stringify(graphlQLResponse),\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(\n ErrorCodes.REASON_CODE_API_ERROR,\n 'Unexpected error'\n );\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n JSON.stringify(error),\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, error.message);\n }\n } else {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n 'NO Fetch REQUIRED',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DispatchSdkCache","Logger","LOG_TYPE","BaseError","ErrorCodes","ReasonCodeRepo","GraphQLClient","ReasonCodeContainer","constructor","_defineProperty","getInstance","instance","getReasonCodes","applicableCodes","entityCode","length","codes","finalApplicableCodes","getReasonsByCode","error","getReasonCodeFromText","reasonText","reasons","r","description","reasonCode","getReasonByCode","code","queryResult","fetchReasonCode","currentDate","Date","toLocaleDateString","lastFetchedTime","cache","getKeyFromCache","KEYS","REASON_FETCH_TIME","reasonFetchDate","parseInt","graphlQLResponse","fetchReasonCodes","data","reasonList","saveReasonCode","setKeyInCache","now","toString","logEvent","JSON","stringify","SDK_ERROR","REASON_CODE_API_ERROR","message","SDK_INFO","_ReasonCodeContainer"],"sources":["ReasonCodeContainer.ts"],"sourcesContent":["import DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport ReasonCodeRepo from './ReasonCodeRepo';\nimport type { ApplicableReasons } from '../../models/execTasks/ETBaseModels';\nimport type { ReasonsRow } from '../syncmanager/DBConfig';\nimport GraphQLClient from '../../network/GraphQLClient';\n\nexport default class ReasonCodeContainer {\n private static instance: ReasonCodeContainer;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private constructor() {}\n\n public static getInstance(): ReasonCodeContainer {\n if (!ReasonCodeContainer.instance) {\n ReasonCodeContainer.instance = new ReasonCodeContainer();\n }\n return ReasonCodeContainer.instance;\n }\n public async getReasonCodes(\n applicableCodes: ApplicableReasons,\n entityCode: string\n ): Promise<ReasonsRow[]> {\n if (\n !applicableCodes ||\n applicableCodes[entityCode] == null ||\n applicableCodes[entityCode].length < 1\n )\n return [];\n try {\n const codes: string[] = applicableCodes[entityCode];\n let finalApplicableCodes =\n await ReasonCodeRepo.getInstance().getReasonsByCode(codes);\n if (finalApplicableCodes && finalApplicableCodes.length > 0) {\n return finalApplicableCodes;\n } else return [];\n } catch (error: any) {\n return [];\n }\n }\n public static getReasonCodeFromText(\n reasonText: string,\n reasons: ReasonsRow[]\n ): string {\n for (const r of reasons) {\n if (r.description === reasonText) {\n return r.reasonCode;\n }\n }\n return '';\n }\n public async getReasonByCode(code: string): Promise<ReasonsRow | null> {\n try {\n if (!code) return null;\n else {\n const queryResult = await ReasonCodeRepo.getInstance().getReasonByCode(\n code\n );\n if (queryResult && queryResult.length > 0) {\n return queryResult[0];\n } else return null;\n }\n } catch (error: any) {\n return null;\n }\n }\n\n public async fetchReasonCode() {\n const currentDate = new Date().toLocaleDateString();\n const lastFetchedTime = await this.cache.getKeyFromCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME\n );\n const reasonFetchDate = new Date(\n lastFetchedTime ? parseInt(lastFetchedTime) : 0\n ).toLocaleDateString();\n if (currentDate !== reasonFetchDate) {\n try {\n let graphlQLResponse =\n await GraphQLClient.getInstance().fetchReasonCodes();\n if (\n graphlQLResponse &&\n graphlQLResponse.data &&\n graphlQLResponse.data.reasonList &&\n graphlQLResponse.data.reasonList.data\n ) {\n await ReasonCodeRepo.getInstance().saveReasonCode(\n graphlQLResponse.data.reasonList.data\n );\n await this.cache.setKeyInCache(\n DispatchSdkCache.KEYS.REASON_FETCH_TIME,\n Date.now().toString()\n );\n } else {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n JSON.stringify(graphlQLResponse),\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(\n ErrorCodes.REASON_CODE_API_ERROR,\n 'Unexpected error'\n );\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, error.message);\n }\n } else {\n Logger.getInstance().logEvent(\n 'fetchReasonCode',\n 'NO Fetch REQUIRED',\n LOG_TYPE.SDK_INFO\n );\n }\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,gBAAgB,MAAM,yBAAyB;AACtD,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,oBAAoB;AACrD,SAASC,SAAS,QAAQ,wBAAwB;AAClD,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,cAAc,MAAM,kBAAkB;AAG7C,OAAOC,aAAa,MAAM,6BAA6B;AAEvD,eAAe,MAAMC,mBAAmB,CAAC;EAG/BC,WAAWA,CAAA,EAAG;IAAAC,eAAA,gBADYT,gBAAgB,CAACU,WAAW,CAAC,CAAC;EACzC;EAEvB,OAAcA,WAAWA,CAAA,EAAwB;IAC/C,IAAI,CAACH,mBAAmB,CAACI,QAAQ,EAAE;MACjCJ,mBAAmB,CAACI,QAAQ,GAAG,IAAIJ,mBAAmB,CAAC,CAAC;IAC1D;IACA,OAAOA,mBAAmB,CAACI,QAAQ;EACrC;EACA,MAAaC,cAAcA,CACzBC,eAAkC,EAClCC,UAAkB,EACK;IACvB,IACE,CAACD,eAAe,IAChBA,eAAe,CAACC,UAAU,CAAC,IAAI,IAAI,IACnCD,eAAe,CAACC,UAAU,CAAC,CAACC,MAAM,GAAG,CAAC,EAEtC,OAAO,EAAE;IACX,IAAI;MACF,MAAMC,KAAe,GAAGH,eAAe,CAACC,UAAU,CAAC;MACnD,IAAIG,oBAAoB,GACtB,MAAMZ,cAAc,CAACK,WAAW,CAAC,CAAC,CAACQ,gBAAgB,CAACF,KAAK,CAAC;MAC5D,IAAIC,oBAAoB,IAAIA,oBAAoB,CAACF,MAAM,GAAG,CAAC,EAAE;QAC3D,OAAOE,oBAAoB;MAC7B,CAAC,MAAM,OAAO,EAAE;IAClB,CAAC,CAAC,OAAOE,KAAU,EAAE;MACnB,OAAO,EAAE;IACX;EACF;EACA,OAAcC,qBAAqBA,CACjCC,UAAkB,EAClBC,OAAqB,EACb;IACR,KAAK,MAAMC,CAAC,IAAID,OAAO,EAAE;MACvB,IAAIC,CAAC,CAACC,WAAW,KAAKH,UAAU,EAAE;QAChC,OAAOE,CAAC,CAACE,UAAU;MACrB;IACF;IACA,OAAO,EAAE;EACX;EACA,MAAaC,eAAeA,CAACC,IAAY,EAA8B;IACrE,IAAI;MACF,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI,CAAC,KAClB;QACH,MAAMC,WAAW,GAAG,MAAMvB,cAAc,CAACK,WAAW,CAAC,CAAC,CAACgB,eAAe,CACpEC,IACF,CAAC;QACD,IAAIC,WAAW,IAAIA,WAAW,CAACb,MAAM,GAAG,CAAC,EAAE;UACzC,OAAOa,WAAW,CAAC,CAAC,CAAC;QACvB,CAAC,MAAM,OAAO,IAAI;MACpB;IACF,CAAC,CAAC,OAAOT,KAAU,EAAE;MACnB,OAAO,IAAI;IACb;EACF;EAEA,MAAaU,eAAeA,CAAA,EAAG;IAC7B,MAAMC,WAAW,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,kBAAkB,CAAC,CAAC;IACnD,MAAMC,eAAe,GAAG,MAAM,IAAI,CAACC,KAAK,CAACC,eAAe,CACtDnC,gBAAgB,CAACoC,IAAI,CAACC,iBACxB,CAAC;IACD,MAAMC,eAAe,GAAG,IAAIP,IAAI,CAC9BE,eAAe,GAAGM,QAAQ,CAACN,eAAe,CAAC,GAAG,CAChD,CAAC,CAACD,kBAAkB,CAAC,CAAC;IACtB,IAAIF,WAAW,KAAKQ,eAAe,EAAE;MACnC,IAAI;QACF,IAAIE,gBAAgB,GAClB,MAAMlC,aAAa,CAACI,WAAW,CAAC,CAAC,CAAC+B,gBAAgB,CAAC,CAAC;QACtD,IACED,gBAAgB,IAChBA,gBAAgB,CAACE,IAAI,IACrBF,gBAAgB,CAACE,IAAI,CAACC,UAAU,IAChCH,gBAAgB,CAACE,IAAI,CAACC,UAAU,CAACD,IAAI,EACrC;UACA,MAAMrC,cAAc,CAACK,WAAW,CAAC,CAAC,CAACkC,cAAc,CAC/CJ,gBAAgB,CAACE,IAAI,CAACC,UAAU,CAACD,IACnC,CAAC;UACD,MAAM,IAAI,CAACR,KAAK,CAACW,aAAa,CAC5B7C,gBAAgB,CAACoC,IAAI,CAACC,iBAAiB,EACvCN,IAAI,CAACe,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CACtB,CAAC;QACH,CAAC,MAAM;UACL9C,MAAM,CAACS,WAAW,CAAC,CAAC,CAACsC,QAAQ,CAC3B,iBAAiB,EACjBC,IAAI,CAACC,SAAS,CAACV,gBAAgB,CAAC,EAChCtC,QAAQ,CAACiD,SACX,CAAC;UACD,MAAM,IAAIhD,SAAS,CACjBC,UAAU,CAACgD,qBAAqB,EAChC,kBACF,CAAC;QACH;MACF,CAAC,CAAC,OAAOjC,KAAU,EAAE;QACnBlB,MAAM,CAACS,WAAW,CAAC,CAAC,CAACsC,QAAQ,CAC3B,iBAAiB,EACjB7B,KAAK,CAACkC,OAAO,EACbnD,QAAQ,CAACiD,SACX,CAAC;QACD,MAAM,IAAIhD,SAAS,CAACC,UAAU,CAACgD,qBAAqB,EAAEjC,KAAK,CAACkC,OAAO,CAAC;MACtE;IACF,CAAC,MAAM;MACLpD,MAAM,CAACS,WAAW,CAAC,CAAC,CAACsC,QAAQ,CAC3B,iBAAiB,EACjB,mBAAmB,EACnB9C,QAAQ,CAACoD,QACX,CAAC;IACH;EACF;AACF;AAACC,oBAAA,GA/GoBhD,mBAAmB;AAAAE,eAAA,CAAnBF,mBAAmB","ignoreList":[]}
@@ -2,7 +2,10 @@ var _Logger;
2
2
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
+ import { CoralogixRum } from '@coralogix/react-native-sdk';
5
6
  import crashlytics from '@react-native-firebase/crashlytics';
7
+ import { CoralogixLogSeverity } from '@coralogix/react-native-sdk/src/types-external';
8
+ import SdkUtils from './SdkUtils';
6
9
  export let LOG_TYPE = /*#__PURE__*/function (LOG_TYPE) {
7
10
  LOG_TYPE["SDK_ERROR"] = "sdk_error";
8
11
  LOG_TYPE["SDK_WARNING"] = "sdk_warning";
@@ -33,6 +36,21 @@ class Logger {
33
36
  crashlytics().recordError(new Error(message), TAG);
34
37
  }
35
38
  }
39
+ async log(Tag, msg) {
40
+ try {
41
+ var _result$enableLogging, _result$enableLogging2;
42
+ let result = await SdkUtils.getRemoteConfig(0);
43
+ if (result !== null && result !== void 0 && (_result$enableLogging = result.enableLogging) !== null && _result$enableLogging !== void 0 && _result$enableLogging._value && (result === null || result === void 0 || (_result$enableLogging2 = result.enableLogging) === null || _result$enableLogging2 === void 0 ? void 0 : _result$enableLogging2._value) === "true") {
44
+ console.log("====================================");
45
+ console.log("Logging to Coralogix: ", Tag, msg);
46
+ console.log("====================================");
47
+ CoralogixRum.log(CoralogixLogSeverity.Info, Tag, msg);
48
+ }
49
+ } catch (error) {
50
+ this.logEvent("DispatchSDK:RemoteConfigError:", error.message, LOG_TYPE.SDK_ERROR);
51
+ return;
52
+ }
53
+ }
36
54
  static getInstance() {
37
55
  if (!Logger.instance) {
38
56
  Logger.instance = new Logger();
@@ -1 +1 @@
1
- {"version":3,"names":["crashlytics","LOG_TYPE","Logger","constructor","_defineProperty","setLogging","enabled","sdkConfig","enableLogs","setUserId","userID","then","catch","setAttributes","userId","userName","tenantId","tenantID","logEvent","TAG","message","logType","console","log","SDK_WARNING","SDK_ERROR","APP_ERROR","APP_WARNING","recordError","Error","getInstance","instance","_Logger"],"sources":["Logger.ts"],"sourcesContent":["import type { DispatchSDKConfig } from '../models/sdk';\nimport crashlytics from '@react-native-firebase/crashlytics';\n\nexport const enum LOG_TYPE {\n SDK_ERROR = 'sdk_error',\n SDK_WARNING = 'sdk_warning',\n SDK_INFO = 'sdk_info',\n SDK_DEBUG = 'sdk_debug',\n APP_ERROR = 'app_error',\n APP_WARNING = 'app_warning',\n APP_DEBUG = 'app_debug',\n APP_INFO = 'app_info',\n}\n\nclass Logger {\n private static instance: Logger;\n private enableLogs: boolean = false;\n\n setLogging(enabled: boolean, sdkConfig: DispatchSDKConfig) {\n this.enableLogs = enabled;\n crashlytics().setUserId(sdkConfig.userID).then().catch();\n crashlytics()\n .setAttributes({\n userId: sdkConfig.userID,\n userName: sdkConfig.userName,\n tenantId: sdkConfig.tenantID,\n })\n .then()\n .catch();\n }\n\n logEvent(TAG: string, message: string, logType: LOG_TYPE) {\n if (this.enableLogs) console.log(TAG, message);\n if (\n logType === LOG_TYPE.SDK_WARNING ||\n logType === LOG_TYPE.SDK_ERROR ||\n logType === LOG_TYPE.APP_ERROR ||\n logType === LOG_TYPE.APP_WARNING\n ) {\n crashlytics().recordError(new Error(message), TAG);\n }\n }\n\n\n public static getInstance(): Logger {\n if (!Logger.instance) {\n Logger.instance = new Logger();\n }\n return Logger.instance;\n }\n}\n\nexport default Logger;\n"],"mappings":";;;;AACA,OAAOA,WAAW,MAAM,oCAAoC;AAE5D,WAAkBC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAW1B,MAAMC,MAAM,CAAC;EAAAC,YAAA;IAAAC,eAAA,qBAEmB,KAAK;EAAA;EAEnCC,UAAUA,CAACC,OAAgB,EAAEC,SAA4B,EAAE;IACzD,IAAI,CAACC,UAAU,GAAGF,OAAO;IACzBN,WAAW,CAAC,CAAC,CAACS,SAAS,CAACF,SAAS,CAACG,MAAM,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACxDZ,WAAW,CAAC,CAAC,CACVa,aAAa,CAAC;MACbC,MAAM,EAAEP,SAAS,CAACG,MAAM;MACxBK,QAAQ,EAAER,SAAS,CAACQ,QAAQ;MAC5BC,QAAQ,EAAET,SAAS,CAACU;IACtB,CAAC,CAAC,CACDN,IAAI,CAAC,CAAC,CACNC,KAAK,CAAC,CAAC;EACZ;EAEAM,QAAQA,CAACC,GAAW,EAAEC,OAAe,EAAEC,OAAiB,EAAE;IACxD,IAAI,IAAI,CAACb,UAAU,EAAEc,OAAO,CAACC,GAAG,CAACJ,GAAG,EAAEC,OAAO,CAAC;IAC9C,IACEC,OAAO,KAAKpB,QAAQ,CAACuB,WAAW,IAChCH,OAAO,KAAKpB,QAAQ,CAACwB,SAAS,IAC9BJ,OAAO,KAAKpB,QAAQ,CAACyB,SAAS,IAC9BL,OAAO,KAAKpB,QAAQ,CAAC0B,WAAW,EAChC;MACA3B,WAAW,CAAC,CAAC,CAAC4B,WAAW,CAAC,IAAIC,KAAK,CAACT,OAAO,CAAC,EAAED,GAAG,CAAC;IACpD;EACF;EAGA,OAAcW,WAAWA,CAAA,EAAW;IAClC,IAAI,CAAC5B,MAAM,CAAC6B,QAAQ,EAAE;MACpB7B,MAAM,CAAC6B,QAAQ,GAAG,IAAI7B,MAAM,CAAC,CAAC;IAChC;IACA,OAAOA,MAAM,CAAC6B,QAAQ;EACxB;AACF;AAACC,OAAA,GApCK9B,MAAM;AAAAE,eAAA,CAANF,MAAM;AAsCZ,eAAeA,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["CoralogixRum","crashlytics","CoralogixLogSeverity","SdkUtils","LOG_TYPE","Logger","constructor","_defineProperty","setLogging","enabled","sdkConfig","enableLogs","setUserId","userID","then","catch","setAttributes","userId","userName","tenantId","tenantID","logEvent","TAG","message","logType","console","log","SDK_WARNING","SDK_ERROR","APP_ERROR","APP_WARNING","recordError","Error","Tag","msg","_result$enableLogging","_result$enableLogging2","result","getRemoteConfig","enableLogging","_value","Info","error","getInstance","instance","_Logger"],"sources":["Logger.ts"],"sourcesContent":["import { CoralogixRum } from '@coralogix/react-native-sdk';\nimport type { DispatchSDKConfig } from '../models/sdk';\nimport crashlytics from '@react-native-firebase/crashlytics';\nimport { CoralogixLogSeverity } from '@coralogix/react-native-sdk/src/types-external';\nimport SdkUtils from './SdkUtils';\n\nexport const enum LOG_TYPE {\n SDK_ERROR = 'sdk_error',\n SDK_WARNING = 'sdk_warning',\n SDK_INFO = 'sdk_info',\n SDK_DEBUG = 'sdk_debug',\n APP_ERROR = 'app_error',\n APP_WARNING = 'app_warning',\n APP_DEBUG = 'app_debug',\n APP_INFO = 'app_info',\n}\n\nclass Logger {\n private static instance: Logger;\n private enableLogs: boolean = false;\n\n setLogging(enabled: boolean, sdkConfig: DispatchSDKConfig) {\n this.enableLogs = enabled;\n crashlytics().setUserId(sdkConfig.userID).then().catch();\n crashlytics()\n .setAttributes({\n userId: sdkConfig.userID,\n userName: sdkConfig.userName,\n tenantId: sdkConfig.tenantID,\n })\n .then()\n .catch();\n }\n\n logEvent(TAG: string, message: string, logType: LOG_TYPE) {\n if (this.enableLogs) console.log(TAG, message);\n if (\n logType === LOG_TYPE.SDK_WARNING ||\n logType === LOG_TYPE.SDK_ERROR ||\n logType === LOG_TYPE.APP_ERROR ||\n logType === LOG_TYPE.APP_WARNING\n ) {\n crashlytics().recordError(new Error(message), TAG);\n }\n\n }\n\n async log(Tag: string, msg: string) {\n try {\n let result = await SdkUtils.getRemoteConfig(0);\n if (result?.enableLogging?._value && result?.enableLogging?._value === \"true\") {\n console.log(\"====================================\");\n console.log(\"Logging to Coralogix: \",Tag,msg);\n console.log(\"====================================\");\n CoralogixRum.log(CoralogixLogSeverity.Info, Tag, msg);\n }\n } catch (error:any) {\n this.logEvent(\"DispatchSDK:RemoteConfigError:\", error.message, LOG_TYPE.SDK_ERROR);\n return;\n }\n }\n\n public static getInstance(): Logger {\n if (!Logger.instance) {\n Logger.instance = new Logger();\n }\n return Logger.instance;\n }\n}\n\nexport default Logger;\n"],"mappings":"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","ignoreList":[]}
@@ -26,7 +26,10 @@ export default class SdkUtils {
26
26
  isMandatoryUpdate: 'false',
27
27
  isMandatoryUpdateiOS: 'false',
28
28
  toggleInAppUpdateiOS: 'false',
29
- toggleInAppUpdate: 'false'
29
+ toggleInAppUpdate: 'false',
30
+ enableLogging: 'true',
31
+ enableLoggingTenantIds: '',
32
+ enableLoggingUserIds: ''
30
33
  }).then(() => remoteConfig().fetchAndActivate()).then(fetchedRemotely => {
31
34
  let config = remoteConfig().getAll();
32
35
  if (fetchedRemotely) {
@@ -1 +1 @@
1
- {"version":3,"names":["remoteConfig","Logger","LOG_TYPE","FileSystem","NativeModules","Platform","Location","NetworkUtil","BaseError","ErrorCodes","PermissionModule","DispatchSdkUtils","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","then","fetchAndActivate","fetchedRemotely","config","getAll","getInstance","logEvent","SDK_INFO","catch","err","error","deleteApk","version","deleteAsync","cacheDirectory","openAPKFile","uri","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","OS","foregroundLocation","requestForegroundPermissions","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","requestWakeLockPermissions","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport PermissionModule from '../native/PermissionModule';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios') {\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n if (!(foregroundLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n return;\n }\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await PermissionModule.requestWakeLockPermissions();\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n // await Location.requestForegroundPermissionsAsync(); //permission code using expo module\n const bgLocation = await PermissionModule.requestBackgroundPermissions();\n // await Location.requestBackgroundPermissionsAsync(); //permission code using expo module\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["remoteConfig","Logger","LOG_TYPE","FileSystem","NativeModules","Platform","Location","NetworkUtil","BaseError","ErrorCodes","PermissionModule","DispatchSdkUtils","DispatchUtilsInterface","SdkUtils","getRemoteConfig","expiration","Promise","resolve","reject","fetch","setDefaults","cxRumDevApiKey","cxRumProdApiKey","isMandatoryUpdate","isMandatoryUpdateiOS","toggleInAppUpdateiOS","toggleInAppUpdate","enableLogging","enableLoggingTenantIds","enableLoggingUserIds","then","fetchAndActivate","fetchedRemotely","config","getAll","getInstance","logEvent","SDK_INFO","catch","err","error","deleteApk","version","deleteAsync","cacheDirectory","openAPKFile","uri","openAndInstallApk","openAppSettings","openSettings","message","SDK_ERROR","checkMandatory","OS","foregroundLocation","requestForegroundPermissions","LOCATION_OR_GPS_NOT_ENABLED","dateTimeCheck","isAutomaticDateTimeEnabled","SYSTEM_TIME_CHECK_FAILED","requestWakeLockPermissions","enableNetworkProviderAsync","locationServicesCheck","hasServicesEnabledAsync","bgLocation","requestBackgroundPermissions","internet","isAvailableAsync","INTERNET_NOT_ENABLED"],"sources":["SdkUtils.ts"],"sourcesContent":["import remoteConfig from '@react-native-firebase/remote-config';\nimport Logger, { LOG_TYPE } from './Logger';\nimport type { DownloadProgressData } from 'expo-file-system';\nimport * as FileSystem from 'expo-file-system';\nimport { NativeModules, Platform } from 'react-native';\nimport * as Location from 'expo-location';\nimport NetworkUtil from './NetworkUtil';\nimport { BaseError } from '../errors/BaseError';\nimport ErrorCodes from '../errors/ErrorCodes';\nimport PermissionModule from '../native/PermissionModule';\n\nconst { DispatchSdkUtils } = NativeModules;\n\ninterface DispatchUtilsInterface {\n openAndInstallApk(apkUri: String): Promise<boolean>;\n openSettings(): Promise<boolean>;\n showAndroidDialog(\n title: string,\n message: string,\n positiveText: string,\n negativeText: string | null,\n cancelable: boolean\n ): Promise<boolean>;\n isAutomaticDateTimeEnabled(): Promise<boolean>;\n}\n\nexport { DispatchSdkUtils as DispatchUtilsInterface };\n\nexport default class SdkUtils {\n /**\n * number of seconds to cache the firebase config\n * @param expiration\n */\n static async getRemoteConfig(expiration: number): Promise<any> {\n return new Promise(async (resolve, reject) => {\n try {\n await remoteConfig().fetch(expiration);\n remoteConfig()\n .setDefaults({\n cxRumDevApiKey: 'NA',\n cxRumProdApiKey: 'NA',\n isMandatoryUpdate: 'false',\n isMandatoryUpdateiOS: 'false',\n toggleInAppUpdateiOS: 'false',\n toggleInAppUpdate: 'false',\n enableLogging: 'true',\n enableLoggingTenantIds: '',\n enableLoggingUserIds: '',\n })\n .then(() => remoteConfig().fetchAndActivate())\n .then((fetchedRemotely) => {\n let config = remoteConfig().getAll();\n if (fetchedRemotely) {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'Configs were retrieved from the backend and activated.',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n } else {\n Logger.getInstance().logEvent(\n 'Remote Config',\n 'No configs were fetched from the backend, and the local configs were already activated',\n LOG_TYPE.SDK_INFO\n );\n resolve(config);\n }\n })\n .catch((err) => {\n reject(err);\n });\n } catch (error: any) {\n reject(error);\n }\n });\n }\n\n /**\n * Opens & Install an APK file\n * @param uri - source of apk file\n */\n public static async deleteApk(version: string) {\n await FileSystem.deleteAsync(FileSystem.cacheDirectory + `${version}.apk`);\n }\n\n public static async openAPKFile(uri: string) {\n return await (DispatchSdkUtils as DispatchUtilsInterface).openAndInstallApk(\n uri\n );\n }\n\n public static openAppSettings() {\n (DispatchSdkUtils as DispatchUtilsInterface)\n .openSettings()\n .then()\n .catch((error) => {\n Logger.getInstance().logEvent(\n 'Intent error',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n });\n }\n\n public static async checkMandatory() {\n if (Platform.OS === 'ios') {\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n if (!(foregroundLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n return;\n }\n const dateTimeCheck = await (\n DispatchSdkUtils as DispatchUtilsInterface\n ).isAutomaticDateTimeEnabled();\n if (!dateTimeCheck) {\n throw new BaseError(\n ErrorCodes.SYSTEM_TIME_CHECK_FAILED,\n 'Automatic date/time not enabled!'\n );\n }\n if (Platform.OS === 'android') {\n await PermissionModule.requestWakeLockPermissions();\n await Location.enableNetworkProviderAsync();\n let locationServicesCheck = await Location.hasServicesEnabledAsync();\n const foregroundLocation = await PermissionModule.requestForegroundPermissions();\n // await Location.requestForegroundPermissionsAsync(); //permission code using expo module\n const bgLocation = await PermissionModule.requestBackgroundPermissions();\n // await Location.requestBackgroundPermissionsAsync(); //permission code using expo module\n if (!(locationServicesCheck && foregroundLocation && bgLocation)) {\n throw new BaseError(\n ErrorCodes.LOCATION_OR_GPS_NOT_ENABLED,\n 'Location or GPS not enabled'\n );\n }\n }\n let internet = await NetworkUtil.isAvailableAsync();\n if (!internet)\n throw new BaseError(\n ErrorCodes.INTERNET_NOT_ENABLED,\n 'Internet is disabled! Please enable internet and try again '\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,3 +15,4 @@ export declare const DEFAULT_RETRY_CONFIG: {
15
15
  enableDelay: number;
16
16
  maxResends: number;
17
17
  };
18
+ export declare const TAG_VERIFY_OTP = "VerifyOTP";
@@ -14,6 +14,7 @@ declare class Logger {
14
14
  private enableLogs;
15
15
  setLogging(enabled: boolean, sdkConfig: DispatchSDKConfig): void;
16
16
  logEvent(TAG: string, message: string, logType: LOG_TYPE): void;
17
+ log(Tag: string, msg: string): Promise<void>;
17
18
  static getInstance(): Logger;
18
19
  }
19
20
  export default Logger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@os1-platform/dispatch-mobile",
3
- "version": "3.1.2",
3
+ "version": "3.1.4",
4
4
  "description": "Dispatch SDK React Native Package",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -167,6 +167,7 @@
167
167
  "react-native-vector-icons": "^9.0.0"
168
168
  },
169
169
  "dependencies": {
170
+ "@coralogix/react-native-sdk": "^1.0.15",
170
171
  "@os1-platform/platform-coreos-execution-engine-sdk": "1.1.1",
171
172
  "@rjsf/core": "^2.0.0",
172
173
  "apollo-link-timeout": "^4.0.0",
@@ -61,6 +61,7 @@ import {
61
61
  INVALID_OTP_LENGTH,
62
62
  INVALID_OTP_ONE_ATTEMPT_LEFT,
63
63
  OTP_SENT_SUCCESSFULLY,
64
+ TAG_VERIFY_OTP,
64
65
  UNABLE_TO_SEND_OTP,
65
66
  } from './constants';
66
67
 
@@ -89,6 +90,7 @@ import {
89
90
  SeverityLevelValue,
90
91
  } from '../../../analytics/sentry/SentrySdkConstants';
91
92
  import { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';
93
+ import Logger, { LOG_TYPE } from '../../../utils/Logger';
92
94
 
93
95
  const ValidateOTPET: FC<ValidateOTPInput> = (props) => {
94
96
  const { contacts, navigation } = props;
@@ -284,28 +286,47 @@ const ValidateOTPET: FC<ValidateOTPInput> = (props) => {
284
286
  },
285
287
  };
286
288
 
289
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:payloadForGenerateOTP : ${JSON.stringify(payload)}`);
290
+
287
291
  const response = await generateOTP(payload, { ...props, domain });
288
292
 
289
- if (!response?.status) {
290
- if (!response.status && response?.code === '101080001017') {
291
- setCurrentScreen(VALIDATE_OTP_SCREENS.OTP_VIEW);
292
- setLoading(false);
293
- setSnackBar({
294
- show: true,
295
- message: response?.data?.result?.message || UNABLE_TO_SEND_OTP,
296
- type: SnackBarType.OTP_FAILED,
297
- });
298
- } else {
299
- setLoading(false);
300
- setSnackBar({
301
- show: true,
302
- message: response?.data?.result?.message || ERROR_GENERATING_OTP,
303
- type: SnackBarType.OTP_FAILED,
304
- });
305
- }
293
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:responseForGenerateOTP : ${JSON.stringify(response)}`);
306
294
 
295
+ if (response?.status != undefined) {
296
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:response.status != undefined : ${JSON.stringify(response)}`);
297
+ if (!response?.status) {
298
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:response.status == false : ${JSON.stringify(response)}`);
299
+ if (response?.code === '101080001017') {
300
+ setCurrentScreen(VALIDATE_OTP_SCREENS.OTP_VIEW);
301
+ setLoading(false);
302
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:${UNABLE_TO_SEND_OTP}`);
303
+ setSnackBar({
304
+ show: true,
305
+ message: response?.data?.result?.message || UNABLE_TO_SEND_OTP,
306
+ type: SnackBarType.OTP_FAILED,
307
+ });
308
+ } else {
309
+ setLoading(false);
310
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:${ERROR_GENERATING_OTP}`);
311
+ setSnackBar({
312
+ show: true,
313
+ message: response?.data?.result?.message || ERROR_GENERATING_OTP,
314
+ type: SnackBarType.OTP_FAILED,
315
+ });
316
+ }
317
+ return;
318
+ }
319
+ }else{
320
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:response.status == undefined : ${JSON.stringify(response)}`);
321
+ setLoading(false);
322
+ setSnackBar({
323
+ show: true,
324
+ message: response?.data?.result?.message || ERROR_GENERATING_OTP,
325
+ type: SnackBarType.OTP_FAILED,
326
+ });
307
327
  return;
308
328
  }
329
+ Logger.getInstance().log(TAG_VERIFY_OTP, `handleContactListProceed:response.status == true : ${JSON.stringify(response)}`);
309
330
 
310
331
  const resendCountValue =
311
332
  Number(
@@ -322,9 +343,9 @@ const ValidateOTPET: FC<ValidateOTPInput> = (props) => {
322
343
  message: OTP_SENT_SUCCESSFULLY,
323
344
  type: SnackBarType.OTP_SUCCESS,
324
345
  });
325
- } catch (error) {
346
+ } catch (error: any) {
347
+ Logger.getInstance().log(TAG_VERIFY_OTP,`handleContactListProceed:catch : ${error.message}`)
326
348
  setLoading(false);
327
- console.error('Error in handleContactListProceed:', error);
328
349
  setSnackBar({
329
350
  show: true,
330
351
  message: ERROR_GENERATING_OTP,
@@ -29,3 +29,5 @@ export const DEFAULT_RETRY_CONFIG = {
29
29
  enableDelay: 60,
30
30
  maxResends: 5,
31
31
  };
32
+
33
+ export const TAG_VERIFY_OTP = 'VerifyOTP';
@@ -2,7 +2,7 @@
2
2
  import * as jsonLogic from 'json-logic-js';
3
3
  import Logger, { LOG_TYPE } from '../../../utils/Logger';
4
4
  import { createApiData, getAxiosApiResponse } from '../../../utils/ApiUtils';
5
- import { DEFAULT_RETRY_CONFIG } from './constants';
5
+ import { DEFAULT_RETRY_CONFIG, TAG_VERIFY_OTP } from './constants';
6
6
  import type {
7
7
  ResendOTPConfigType,
8
8
  EmailAndPhoneResponse,
@@ -56,8 +56,14 @@ export const generateOTP = async (
56
56
  isCustomConfig ? props.otpGeneration : undefined
57
57
  );
58
58
 
59
+ Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:apiData : ${JSON.stringify(apiData)}`);
60
+
61
+
59
62
  const apiResponse = await getAxiosApiResponse(apiData);
60
63
 
64
+ Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:apiResponse : ${JSON.stringify(apiResponse)}`);
65
+
66
+
61
67
  if (isCustomConfig && apiData.responseJsonLogic) {
62
68
  return jsonLogic.apply(
63
69
  <jsonLogic.RulesLogic>apiData.responseJsonLogic,
@@ -72,7 +78,10 @@ export const generateOTP = async (
72
78
  error.message,
73
79
  LOG_TYPE.SDK_ERROR
74
80
  );
75
- console.error('error: ', JSON.stringify(error));
81
+
82
+ Logger.getInstance().log(TAG_VERIFY_OTP, `generateOTP:catch : ${error.message}`);
83
+
84
+ console.error('error: ', error.message);
76
85
  return error?.response?.data ?? false;
77
86
  }
78
87
  };
@@ -94,8 +103,12 @@ export const verifyOTP = async (
94
103
  isCustomConfig ? props.validationApi : undefined
95
104
  );
96
105
 
106
+ Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:apiData : ${JSON.stringify(apiData)}`);
107
+
97
108
  const apiResponse = await getAxiosApiResponse(apiData);
98
109
 
110
+ Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:apiResponse : ${JSON.stringify(apiResponse)}`);
111
+
99
112
  if (isCustomConfig && apiData.responseJsonLogic) {
100
113
  return jsonLogic.apply(
101
114
  <jsonLogic.RulesLogic>apiData.responseJsonLogic,
@@ -110,7 +123,8 @@ export const verifyOTP = async (
110
123
  error.message,
111
124
  LOG_TYPE.SDK_ERROR
112
125
  );
113
- console.error('error: ', JSON.stringify(error));
126
+ console.error('error: ', error.message);
127
+ Logger.getInstance().log(TAG_VERIFY_OTP, `verifyOTP:catch : ${error.message}`);
114
128
  return error?.response?.data ?? false;
115
129
  }
116
130
  };
@@ -132,8 +146,13 @@ export const resendOTP = async (
132
146
  isCustomConfig ? props.resendApi : undefined
133
147
  );
134
148
 
149
+ Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:apiData : ${JSON.stringify(apiData)}`);
150
+
135
151
  const apiResponse = await getAxiosApiResponse(apiData);
136
152
 
153
+ Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:apiResponse : ${JSON.stringify(apiResponse)}`);
154
+
155
+
137
156
  if (isCustomConfig && apiData.responseJsonLogic) {
138
157
  return jsonLogic.apply(
139
158
  <jsonLogic.RulesLogic>apiData.responseJsonLogic,
@@ -141,6 +160,8 @@ export const resendOTP = async (
141
160
  );
142
161
  }
143
162
 
163
+
164
+
144
165
  return apiResponse.data;
145
166
  } catch (error: any) {
146
167
  Logger.getInstance().logEvent(
@@ -148,7 +169,8 @@ export const resendOTP = async (
148
169
  error.message,
149
170
  LOG_TYPE.SDK_ERROR
150
171
  );
151
- console.error('error: ', JSON.stringify(error));
172
+ Logger.getInstance().log(TAG_VERIFY_OTP, `resendOTP:catch : ${error.message}`);
173
+ console.error('error: ', error.message);
152
174
  return error?.response?.data ?? false;
153
175
  }
154
176
  };
@@ -105,7 +105,7 @@ export default class ReasonCodeContainer {
105
105
  } catch (error: any) {
106
106
  Logger.getInstance().logEvent(
107
107
  'fetchReasonCode',
108
- JSON.stringify(error),
108
+ error.message,
109
109
  LOG_TYPE.SDK_ERROR
110
110
  );
111
111
  throw new BaseError(ErrorCodes.REASON_CODE_API_ERROR, error.message);
@@ -1,5 +1,8 @@
1
+ import { CoralogixRum } from '@coralogix/react-native-sdk';
1
2
  import type { DispatchSDKConfig } from '../models/sdk';
2
3
  import crashlytics from '@react-native-firebase/crashlytics';
4
+ import { CoralogixLogSeverity } from '@coralogix/react-native-sdk/src/types-external';
5
+ import SdkUtils from './SdkUtils';
3
6
 
4
7
  export const enum LOG_TYPE {
5
8
  SDK_ERROR = 'sdk_error',
@@ -39,8 +42,23 @@ class Logger {
39
42
  ) {
40
43
  crashlytics().recordError(new Error(message), TAG);
41
44
  }
45
+
42
46
  }
43
47
 
48
+ async log(Tag: string, msg: string) {
49
+ try {
50
+ let result = await SdkUtils.getRemoteConfig(0);
51
+ if (result?.enableLogging?._value && result?.enableLogging?._value === "true") {
52
+ console.log("====================================");
53
+ console.log("Logging to Coralogix: ",Tag,msg);
54
+ console.log("====================================");
55
+ CoralogixRum.log(CoralogixLogSeverity.Info, Tag, msg);
56
+ }
57
+ } catch (error:any) {
58
+ this.logEvent("DispatchSDK:RemoteConfigError:", error.message, LOG_TYPE.SDK_ERROR);
59
+ return;
60
+ }
61
+ }
44
62
 
45
63
  public static getInstance(): Logger {
46
64
  if (!Logger.instance) {
@@ -43,6 +43,9 @@ export default class SdkUtils {
43
43
  isMandatoryUpdateiOS: 'false',
44
44
  toggleInAppUpdateiOS: 'false',
45
45
  toggleInAppUpdate: 'false',
46
+ enableLogging: 'true',
47
+ enableLoggingTenantIds: '',
48
+ enableLoggingUserIds: '',
46
49
  })
47
50
  .then(() => remoteConfig().fetchAndActivate())
48
51
  .then((fetchedRemotely) => {