@bigbinary/neeto-commons-rn 1.0.86 → 1.0.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/app_version.js +1 -0
- package/components/AppVersion.js +1 -1
- package/config/axios/index.js +1 -0
- package/config/axios/paramsSerializer.js +1 -0
- package/hooks/query/useAppVersionApi.js +1 -0
- package/package.json +4 -1
- package/utils/apiHelpers.js +1 -0
- package/api/appVersion.js +0 -1
- package/config/axios.js +0 -1
- package/hooks/query/useAppVersion.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _axios=_interopRequireDefault(require("axios"));var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _store=require("../store");var _apiHelpers=require("../utils/apiHelpers");var fetch=function fetch(){var appName=_store.Store.getState().auth.appName;var environment=_reactNativeConfig.default.ENVIRONMENT==="staging"?"net":"com";return _axios.default.get((0,_apiHelpers.appVersionsUrl)({appName:appName,environment:environment}));};var appVersionApi={fetch:fetch};var _default=exports.default=appVersionApi;
|
package/components/AppVersion.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.AppVersion=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _reactNative=require("react-native");var _neetouiRn=require("@bigbinary/neetoui-rn");var _compareVersions=require("compare-versions");var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _reactNativeDeviceInfo=require("react-native-device-info");var _localization=require("../contexts/localization");var _asyncStore=require("../helpers/asyncStore");var
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.AppVersion=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _reactNative=require("react-native");var _neetouiRn=require("@bigbinary/neetoui-rn");var _compareVersions=require("compare-versions");var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _reactNativeDeviceInfo=require("react-native-device-info");var _localization=require("../contexts/localization");var _asyncStore=require("../helpers/asyncStore");var _useAppVersionApi=require("../hooks/query/useAppVersionApi");var _store=require("../store");var AppVersion=exports.AppVersion=function AppVersion(){var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isMajorUpdate=_useState2[0],setIsMajorUpdate=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isMinorUpdate=_useState4[0],setIsMinorUpdate=_useState4[1];var _useLocalization=(0,_localization.useLocalization)(),strings=_useLocalization.strings;var appName=_store.Store.getState().auth.appName;var _useFetchAppVersionAp=(0,_useAppVersionApi.useFetchAppVersionApi)(),_useFetchAppVersionAp2=_useFetchAppVersionAp.data,data=_useFetchAppVersionAp2===void 0?{}:_useFetchAppVersionAp2,refetch=_useFetchAppVersionAp.refetch;var handleAppUpdate=function(){var _ref=(0,_asyncToGenerator2.default)(function*(){try{setIsMinorUpdate(false);setIsMajorUpdate(false);var url=_reactNative.Platform.select({ios:"https://apps.apple.com/us/app/appname/"+_reactNativeConfig.default.IOS_APP_ID,android:"http://play.google.com/store/apps/details?id="+_reactNativeConfig.default.BUNDLE_IDENTIFIER}).toLowerCase();yield _reactNative.Linking.openURL(url);}catch(error){console.log(error.message);}});return function handleAppUpdate(){return _ref.apply(this,arguments);};}();var compareVersions=function compareVersions(){if(_reactNative.Platform.OS==="android"){var androidMinimumSupportedVersion=data.android_minimum_supported_version,androidCurrentVersion=data.android_current_version;if(androidMinimumSupportedVersion&&androidCurrentVersion){if((0,_compareVersions.compare)((0,_reactNativeDeviceInfo.getVersion)(),androidMinimumSupportedVersion,"<")){setIsMajorUpdate(true);}else if((0,_compareVersions.compare)((0,_reactNativeDeviceInfo.getVersion)(),androidCurrentVersion,"<")){setIsMinorUpdate(true);}}}else{var iOSMinimumSupportedVersion=data.ios_minimum_supported_version,iOSCurrentVersion=data.ios_current_version;if(iOSMinimumSupportedVersion&&iOSCurrentVersion){if((0,_compareVersions.compare)((0,_reactNativeDeviceInfo.getVersion)(),iOSMinimumSupportedVersion,"<")){setIsMajorUpdate(true);}else if((0,_compareVersions.compare)((0,_reactNativeDeviceInfo.getVersion)(),iOSCurrentVersion,"<")){setIsMinorUpdate(true);}}}};var showAlert=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(){var androidCurrentVersion=data.android_current_version,iOSCurrentVersion=data.ios_current_version;var version=_reactNative.Platform.select({ios:iOSCurrentVersion,android:androidCurrentVersion});var buttons=[{label:strings.commons.buttons.update,onPress:handleAppUpdate}];if(isMinorUpdate){buttons.push({label:strings.commons.alertMessage.mayBeLater,onPress:function(){var _onPress=(0,_asyncToGenerator2.default)(function*(){yield(0,_asyncStore.setItem)("appVersion",version);});function onPress(){return _onPress.apply(this,arguments);}return onPress;}()});var currentVersion=yield(0,_asyncStore.getItem)("appVersion");if(currentVersion===version)return null;}return _neetouiRn.Alert.show({buttons:buttons,description:strings.formatString(strings.commons.alertMessage.updateAvailableDescription,appName),isCancelable:!isMajorUpdate,title:strings.commons.alertMessage.updateAvailable});});return function showAlert(){return _ref2.apply(this,arguments);};}();(0,_react.useEffect)(function(){if(data){compareVersions();}},[data]);(0,_react.useEffect)(function(){if(isMinorUpdate||isMajorUpdate){showAlert();}},[isMinorUpdate,isMajorUpdate]);(0,_react.useEffect)(function(){var subscription=_reactNative.AppState.addEventListener("change",function(state){if(state==="active"){refetch();}});return function(){return subscription.remove();};},[]);return null;};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.rootUrlCreator=exports.configureAxiosHeaders=exports.configureAxios=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _reactNative=require("react-native");var _neetouiRn=require("@bigbinary/neetoui-rn");var _axios=_interopRequireDefault(require("axios"));var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _reactNativeDeviceInfo=_interopRequireDefault(require("react-native-device-info"));var _bugsnag=require("../bugsnag");var _constants=require("../../constants");var _keychain=require("../../helpers/keychain");var _auth=require("../../slices/auth");var _asyncStore=require("../../helpers/asyncStore");var _store=require("../../store");var _paramsSerializer=_interopRequireDefault(require("./paramsSerializer"));_axios.default.defaults.headers.common={accept:"application/json"};var rootUrlCreator=exports.rootUrlCreator=function rootUrlCreator(_ref){var subdomain=_ref.subdomain;return"http"+(_reactNativeConfig.default.IS_DEV?"":"s")+"://"+subdomain+_reactNativeConfig.default.URL_SUFFIX;};var handleSuccessResponse=function handleSuccessResponse(response){return response;};var handleErrorRequest=function handleErrorRequest(error){return console.error(error);};var handleErrorResponse=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(error){var _error$response,_error$response2,_error$response3,_error$response3$data,_error$response4,_error$response4$data;if(((_error$response=error.response)==null?void 0:_error$response.status)===404){(0,_bugsnag.bugsnagErrorHandler)(error,"axiosErrorHandler");}if(((_error$response2=error.response)==null?void 0:_error$response2.status)===401){var _error$response$data;_neetouiRn.Toast.show({type:"error",text2:_store.Store.getState().auth.name?"Your session has expired. Please log in again.":(_error$response$data=error.response.data)==null?void 0:_error$response$data.error});(0,_asyncStore.removeItem)(_constants.STORAGE_KEYS.DEVICE_TOKEN);yield(0,_keychain.removeSecureValue)("userAuth");_store.Store.dispatch((0,_auth.logoutUserAction)());}else if((_error$response3=error.response)!=null&&(_error$response3$data=_error$response3.data)!=null&&_error$response3$data.errors){error.response.data.errors.map(function(error){_neetouiRn.Toast.show({type:"error",text2:error});});}else if(typeof((_error$response4=error.response)==null?void 0:(_error$response4$data=_error$response4.data)==null?void 0:_error$response4$data.error)==="object"){var _Object$values,_error$response5,_error$response5$data;_neetouiRn.Toast.show({type:"error",text2:((_Object$values=Object.values((_error$response5=error.response)==null?void 0:(_error$response5$data=_error$response5.data)==null?void 0:_error$response5$data.error))==null?void 0:_Object$values[0])||"Something went wrong"});}else{var _error$response6,_error$response6$data;_neetouiRn.Toast.show({type:"error",text2:((_error$response6=error.response)==null?void 0:(_error$response6$data=_error$response6.data)==null?void 0:_error$response6$data.error)||error.message});}return Promise.reject(error);});return function handleErrorResponse(_x){return _ref2.apply(this,arguments);};}();var registerResponseIntercept=function registerResponseIntercept(){_axios.default.interceptors.response.use(handleSuccessResponse,handleErrorResponse);};var registerRequestIntercept=function registerRequestIntercept(){_axios.default.interceptors.request.use(function(){var _ref3=(0,_asyncToGenerator2.default)(function*(request){var _store$auth;var config=yield configureAxiosHeaders(request);var store=_store.Store.getState();var subdomain=(store==null?void 0:(_store$auth=store.auth)==null?void 0:_store$auth.subdomain)||"app";config.baseURL=rootUrlCreator({subdomain:subdomain});return config;});return function(_x2){return _ref3.apply(this,arguments);};}(),handleErrorRequest);};var configureAxiosHeaders=exports.configureAxiosHeaders=function(){var _ref4=(0,_asyncToGenerator2.default)(function*(request){var authValue=yield(0,_keychain.getSecureValue)("userAuth");var userAuthData=authValue&&JSON.parse(authValue);if(userAuthData){request.headers["x-auth-token"]=userAuthData.authToken;request.headers["x-auth-email"]=userAuthData.email;request.headers["x-client-version"]=_reactNativeDeviceInfo.default.getVersion();request.headers["x-client-name"]=_reactNative.Platform.OS+" "+_reactNativeConfig.default.APP_DISPLAY_NAME;}return request;});return function configureAxiosHeaders(_x3){return _ref4.apply(this,arguments);};}();var configureAxios=exports.configureAxios=function configureAxios(){registerResponseIntercept();registerRequestIntercept();(0,_paramsSerializer.default)();};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _axios=_interopRequireDefault(require("axios"));var _qs=_interopRequireDefault(require("qs"));var setParamsSerializer=function setParamsSerializer(){_axios.default.defaults.paramsSerializer=function(params){return _qs.default.stringify(params,{arrayFormat:"brackets"});};};var _default=exports.default=setParamsSerializer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useFetchAppVersionApi=void 0;var _reactQuery=require("react-query");var _app_version=_interopRequireDefault(require("../../api/app_version"));var _queryKeys=require("./queryKeys");var useFetchAppVersionApi=exports.useFetchAppVersionApi=function useFetchAppVersionApi(){return(0,_reactQuery.useQuery)(_queryKeys.queryKeys.APP_VERSION,_app_version.default.fetch,{select:function select(_ref){var data=_ref.data;return data;}});};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-rn",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.88",
|
|
4
4
|
"main": ".",
|
|
5
5
|
"files": [
|
|
6
6
|
"api",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"slices",
|
|
19
19
|
"screens",
|
|
20
20
|
"assets",
|
|
21
|
+
"utils",
|
|
21
22
|
"index.d.ts"
|
|
22
23
|
],
|
|
23
24
|
"husky": {
|
|
@@ -58,9 +59,11 @@
|
|
|
58
59
|
"@reduxjs/toolkit": "^1.7.1",
|
|
59
60
|
"@shopify/flash-list": "^1.4.0",
|
|
60
61
|
"compare-versions": "^6.0.0-rc.1",
|
|
62
|
+
"del-cli": "^5.1.0",
|
|
61
63
|
"formik": "^2.2.9",
|
|
62
64
|
"immutable": "^4.2.2",
|
|
63
65
|
"memoize-one": "^6.0.0",
|
|
66
|
+
"qs": "^6.11.2",
|
|
64
67
|
"ramda": "^0.28.0",
|
|
65
68
|
"react-content-loader": "^6.1.0",
|
|
66
69
|
"react-native-background-timer": "^2.4.1",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.appVersionsUrl=void 0;var appVersionsUrl=exports.appVersionsUrl=function appVersionsUrl(_ref){var appName=_ref.appName,environment=_ref.environment;return"https://api."+appName+"."+environment+"/app_versions";};
|
package/api/appVersion.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.checkAppVersionAPI=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _axios=_interopRequireDefault(require("axios"));var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _store=require("../store");var checkAppVersionAPI=exports.checkAppVersionAPI=function(){var _ref=(0,_asyncToGenerator2.default)(function*(){var appName=_store.Store.getState().auth.appName;return yield _axios.default.get("https://app."+appName+"."+(_reactNativeConfig.default.ENVIRONMENT==="staging"?"net":"com")+"/app_versions");});return function checkAppVersionAPI(){return _ref.apply(this,arguments);};}();
|
package/config/axios.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.rootUrlCreator=exports.configureAxiosHeaders=exports.configureAxios=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _reactNative=require("react-native");var _neetouiRn=require("@bigbinary/neetoui-rn");var _axios=_interopRequireDefault(require("axios"));var _reactNativeConfig=_interopRequireDefault(require("react-native-config"));var _reactNativeDeviceInfo=_interopRequireDefault(require("react-native-device-info"));var _bugsnag=require("./bugsnag");var _constants=require("../constants");var _keychain=require("../helpers/keychain");var _auth=require("../slices/auth");var _asyncStore=require("../helpers/asyncStore");var _store=require("../store");_axios.default.defaults.headers.common={accept:"application/json"};var rootUrlCreator=exports.rootUrlCreator=function rootUrlCreator(_ref){var subdomain=_ref.subdomain;return"http"+(_reactNativeConfig.default.IS_DEV?"":"s")+"://"+subdomain+_reactNativeConfig.default.URL_SUFFIX;};var handleSuccessResponse=function handleSuccessResponse(response){return response;};var handleErrorRequest=function handleErrorRequest(error){return console.error(error);};var handleErrorResponse=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(error){var _error$response,_error$response2,_error$response3,_error$response3$data,_error$response4,_error$response4$data;if(((_error$response=error.response)==null?void 0:_error$response.status)===404){(0,_bugsnag.bugsnagErrorHandler)(error,"axiosErrorHandler");}if(((_error$response2=error.response)==null?void 0:_error$response2.status)===401){var _error$response$data;_neetouiRn.Toast.show({type:"error",text2:_store.Store.getState().auth.name?"Your session has expired. Please log in again.":(_error$response$data=error.response.data)==null?void 0:_error$response$data.error});(0,_asyncStore.removeItem)(_constants.STORAGE_KEYS.DEVICE_TOKEN);yield(0,_keychain.removeSecureValue)("userAuth");_store.Store.dispatch((0,_auth.logoutUserAction)());}else if((_error$response3=error.response)!=null&&(_error$response3$data=_error$response3.data)!=null&&_error$response3$data.errors){error.response.data.errors.map(function(error){_neetouiRn.Toast.show({type:"error",text2:error});});}else if(typeof((_error$response4=error.response)==null?void 0:(_error$response4$data=_error$response4.data)==null?void 0:_error$response4$data.error)==="object"){var _Object$values,_error$response5,_error$response5$data;_neetouiRn.Toast.show({type:"error",text2:((_Object$values=Object.values((_error$response5=error.response)==null?void 0:(_error$response5$data=_error$response5.data)==null?void 0:_error$response5$data.error))==null?void 0:_Object$values[0])||"Something went wrong"});}else{var _error$response6,_error$response6$data;_neetouiRn.Toast.show({type:"error",text2:((_error$response6=error.response)==null?void 0:(_error$response6$data=_error$response6.data)==null?void 0:_error$response6$data.error)||error.message});}return Promise.reject(error);});return function handleErrorResponse(_x){return _ref2.apply(this,arguments);};}();var registerResponseIntercept=function registerResponseIntercept(){_axios.default.interceptors.response.use(handleSuccessResponse,handleErrorResponse);};var registerRequestIntercept=function registerRequestIntercept(){_axios.default.interceptors.request.use(function(){var _ref3=(0,_asyncToGenerator2.default)(function*(request){var _store$auth;var config=yield configureAxiosHeaders(request);var store=_store.Store.getState();var subdomain=(store==null?void 0:(_store$auth=store.auth)==null?void 0:_store$auth.subdomain)||"app";config.baseURL=rootUrlCreator({subdomain:subdomain});return config;});return function(_x2){return _ref3.apply(this,arguments);};}(),handleErrorRequest);};var configureAxiosHeaders=exports.configureAxiosHeaders=function(){var _ref4=(0,_asyncToGenerator2.default)(function*(request){var authValue=yield(0,_keychain.getSecureValue)("userAuth");var userAuthData=authValue&&JSON.parse(authValue);if(userAuthData){request.headers["x-auth-token"]=userAuthData.authToken;request.headers["x-auth-email"]=userAuthData.email;request.headers["x-client-version"]=_reactNativeDeviceInfo.default.getVersion();request.headers["x-client-name"]=_reactNative.Platform.OS+" "+_reactNativeConfig.default.APP_DISPLAY_NAME;}return request;});return function configureAxiosHeaders(_x3){return _ref4.apply(this,arguments);};}();var configureAxios=exports.configureAxios=function configureAxios(){registerResponseIntercept();registerRequestIntercept();};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.useAppVersion=void 0;var _reactQuery=require("react-query");var _appVersion=require("../../api/appVersion");var _queryKeys=require("./queryKeys");var useAppVersion=exports.useAppVersion=function useAppVersion(){return{useFetchAppVersion:function useFetchAppVersion(){return(0,_reactQuery.useQuery)([_queryKeys.queryKeys.APP_VERSION],_appVersion.checkAppVersionAPI,{select:function select(_ref){var data=_ref.data;return data;}});}};};
|