react-native-okhi 1.2.20 → 1.2.21-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +2 -2
- package/android/local.properties +8 -0
- package/android/src/main/java/com/reactnativeokhi/OkhiModule.java +13 -18
- package/ios/Okhi.m +9 -4
- package/ios/Okhi.swift +34 -17
- package/lib/commonjs/OkCollect/OkHiLocationManager.js +37 -59
- package/lib/commonjs/OkCollect/OkHiLocationManager.js.map +1 -1
- package/lib/commonjs/OkCollect/Util.js +14 -7
- package/lib/commonjs/OkCollect/Util.js.map +1 -1
- package/lib/commonjs/OkCollect/app.json +1 -1
- package/lib/commonjs/OkCollect/types.js.map +1 -1
- package/lib/commonjs/OkCore/index.js +1 -1
- package/lib/commonjs/OkCore/index.js.map +1 -1
- package/lib/commonjs/OkCore/types.js.map +1 -1
- package/lib/commonjs/OkHiNativeModule/index.js.map +1 -1
- package/lib/commonjs/OkVerify/index.js +27 -27
- package/lib/commonjs/OkVerify/index.js.map +1 -1
- package/lib/module/OkCollect/OkHiLocationManager.js +37 -59
- package/lib/module/OkCollect/OkHiLocationManager.js.map +1 -1
- package/lib/module/OkCollect/Util.js +14 -7
- package/lib/module/OkCollect/Util.js.map +1 -1
- package/lib/module/OkCollect/app.json +1 -1
- package/lib/module/OkCollect/types.js.map +1 -1
- package/lib/module/OkCore/index.js +1 -1
- package/lib/module/OkCore/index.js.map +1 -1
- package/lib/module/OkCore/types.js.map +1 -1
- package/lib/module/OkHiNativeModule/index.js.map +1 -1
- package/lib/module/OkVerify/index.js +27 -27
- package/lib/module/OkVerify/index.js.map +1 -1
- package/lib/typescript/OkCollect/Util.d.ts +1 -1
- package/lib/typescript/OkCollect/types.d.ts +6 -4
- package/lib/typescript/OkCore/types.d.ts +11 -3
- package/lib/typescript/OkHiNativeModule/index.d.ts +1 -1
- package/lib/typescript/OkVerify/index.d.ts +4 -4
- package/package.json +1 -1
- package/react-native-okhi.podspec +1 -1
- package/src/OkCollect/OkHiLocationManager.tsx +52 -83
- package/src/OkCollect/Util.ts +13 -8
- package/src/OkCollect/app.json +1 -1
- package/src/OkCollect/types.ts +7 -4
- package/src/OkCore/index.ts +1 -1
- package/src/OkCore/types.ts +15 -3
- package/src/OkHiNativeModule/index.ts +3 -1
- package/src/OkVerify/index.ts +46 -54
- package/lib/commonjs/OkCore/OkHiAuth.js +0 -109
- package/lib/commonjs/OkCore/OkHiAuth.js.map +0 -1
- package/lib/module/OkCore/OkHiAuth.js +0 -102
- package/lib/module/OkCore/OkHiAuth.js.map +0 -1
- package/lib/typescript/OkCore/OkHiAuth.d.ts +0 -16
- package/src/OkCore/OkHiAuth.ts +0 -114
package/android/build.gradle
CHANGED
|
@@ -126,8 +126,8 @@ repositories {
|
|
|
126
126
|
dependencies {
|
|
127
127
|
//noinspection GradleDynamicVersion
|
|
128
128
|
implementation "com.facebook.react:react-native:+"
|
|
129
|
-
implementation 'io.okhi.android:core:1.7.
|
|
130
|
-
implementation 'io.okhi.android:okverify:1.9.
|
|
129
|
+
implementation 'io.okhi.android:core:1.7.31'
|
|
130
|
+
implementation 'io.okhi.android:okverify:1.9.66'
|
|
131
131
|
// From node_modules
|
|
132
132
|
}
|
|
133
133
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## This file must *NOT* be checked into Version Control Systems,
|
|
2
|
+
# as it contains information specific to your local configuration.
|
|
3
|
+
#
|
|
4
|
+
# Location of the SDK. This is only used by Gradle.
|
|
5
|
+
# For customization when using a Version Control System, please read the
|
|
6
|
+
# header note.
|
|
7
|
+
#Wed Dec 11 19:04:58 EAT 2024
|
|
8
|
+
sdk.dir=/Users/kiano/Library/Android/sdk
|
|
@@ -28,13 +28,14 @@ import java.util.ArrayList;
|
|
|
28
28
|
|
|
29
29
|
import io.okhi.android_core.OkHi;
|
|
30
30
|
import io.okhi.android_core.interfaces.OkHiRequestHandler;
|
|
31
|
+
import io.okhi.android_core.models.OkCollectSuccessResponse;
|
|
31
32
|
import io.okhi.android_core.models.OkHiAppContext;
|
|
32
33
|
import io.okhi.android_core.models.OkHiAuth;
|
|
33
34
|
import io.okhi.android_core.models.OkHiException;
|
|
34
35
|
import io.okhi.android_core.models.OkHiLocation;
|
|
35
36
|
import io.okhi.android_core.models.OkHiPermissionService;
|
|
37
|
+
import io.okhi.android_core.models.OkHiUsageType;
|
|
36
38
|
import io.okhi.android_core.models.OkHiUser;
|
|
37
|
-
import io.okhi.android_core.models.OkHiVerificationType;
|
|
38
39
|
import io.okhi.android_core.models.OkPreference;
|
|
39
40
|
import io.okhi.android_okverify.OkVerify;
|
|
40
41
|
import io.okhi.android_okverify.interfaces.OkVerifyCallback;
|
|
@@ -186,34 +187,28 @@ public class OkhiModule extends ReactContextBaseJavaModule {
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
|
|
189
|
-
private static ArrayList<String> processVerificationTypes(ReadableArray array) {
|
|
190
|
-
ArrayList<String> arrayList = new ArrayList<>();
|
|
191
|
-
for (int i = 0; i < array.size(); i++) {
|
|
192
|
-
arrayList.add(array.getString(i));
|
|
193
|
-
}
|
|
194
|
-
return arrayList;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
190
|
@ReactMethod
|
|
198
|
-
public void startAddressVerification(String phoneNumber, String locationId, Float lat, Float lon, ReadableArray
|
|
191
|
+
public void startAddressVerification(String token, String phoneNumber, String userId, String locationId, Float lat, Float lon, ReadableArray usageTypes, Promise promise) {
|
|
199
192
|
if (okVerify == null) {
|
|
200
193
|
promise.reject("unauthorized", "failed to initialise okhi");
|
|
201
194
|
return;
|
|
202
195
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
verificationTypesList[i] = verificationTypes.getString(i);
|
|
196
|
+
String[] usageTypeList = new String[usageTypes.size()];
|
|
197
|
+
for (int i = 0; i < usageTypes.size(); i++) {
|
|
198
|
+
usageTypeList[i] = usageTypes.getString(i);
|
|
207
199
|
}
|
|
208
|
-
if (
|
|
209
|
-
|
|
200
|
+
if (usageTypeList.length == 0) {
|
|
201
|
+
usageTypeList = new String[]{OkHiUsageType.digitalVerification.toString()};
|
|
210
202
|
}
|
|
211
|
-
OkHiLocation location = new OkHiLocation.Builder(locationId, lat, lon).
|
|
212
|
-
|
|
203
|
+
OkHiLocation location = new OkHiLocation.Builder(locationId, lat, lon).setUsageTypes(usageTypeList).build();
|
|
204
|
+
OkHiUser user = new OkHiUser.Builder(phoneNumber).withOkHiUserId(userId).withToken(token).build();
|
|
205
|
+
OkCollectSuccessResponse response = new OkCollectSuccessResponse(user, location);
|
|
206
|
+
okVerify.start(response, new OkVerifyCallback<String>() {
|
|
213
207
|
@Override
|
|
214
208
|
public void onSuccess(String result) {
|
|
215
209
|
promise.resolve(result);
|
|
216
210
|
}
|
|
211
|
+
|
|
217
212
|
@Override
|
|
218
213
|
public void onError(OkHiException e) {
|
|
219
214
|
promise.reject(e.getCode(), e.getMessage(), e);
|
package/ios/Okhi.m
CHANGED
|
@@ -31,10 +31,15 @@ RCT_EXTERN_METHOD(initializeIOS:(NSString *)branchId clientKey:(NSString *)clien
|
|
|
31
31
|
|
|
32
32
|
RCT_EXTERN_METHOD(initialize:(NSString *)configuration resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
33
33
|
|
|
34
|
-
RCT_EXTERN_METHOD(startAddressVerification:(NSString *)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
RCT_EXTERN_METHOD(startAddressVerification:(NSString *)token
|
|
35
|
+
phoneNumber:(NSString *)phoneNumber
|
|
36
|
+
userId:(NSString *)userId
|
|
37
|
+
locationId:(NSString *)locationId
|
|
38
|
+
lat:(double)lat
|
|
39
|
+
lon:(double)lon
|
|
40
|
+
usageTypes:(NSArray<NSString *> *)usageTypes
|
|
41
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
42
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
38
43
|
|
|
39
44
|
RCT_EXTERN_METHOD(stopAddressVerification:(NSString *)phoneNumber locationId:(NSString *)locationId resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
|
|
40
45
|
|
package/ios/Okhi.swift
CHANGED
|
@@ -83,27 +83,35 @@ class Okhi: RCTEventEmitter {
|
|
|
83
83
|
@objc func initializeIOS(_ branchId: String, clientKey: String, environment: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
84
84
|
self.initResolve = resolve
|
|
85
85
|
self.initReject = reject
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
86
|
+
let appDetails = getAppDetails()
|
|
87
|
+
let okHiAppContext = OkHiAppContext().withAppMeta(name: appDetails.name, version: appDetails.version, build: appDetails.version)
|
|
88
|
+
let okHiAuth = OkHiAuth(
|
|
89
|
+
branchId: branchId,
|
|
90
|
+
clientKey: clientKey,
|
|
91
|
+
environment: environment == "prod" ? .prod : .sandbox,
|
|
92
|
+
appContext: okHiAppContext
|
|
93
|
+
)
|
|
94
|
+
OkCollect.initialize(with: okHiAuth)
|
|
95
|
+
OkVerify.initialize(with: okHiAuth, launchOptions: nil)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@objc func startAddressVerification(_ token: String, phoneNumber: String, userId: String, locationId: String, lat: Double, lon: Double, usageTypes: [String], resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
96
99
|
self.resolve = resolve
|
|
97
100
|
self.reject = reject
|
|
98
|
-
var
|
|
99
|
-
for
|
|
100
|
-
if
|
|
101
|
-
|
|
102
|
-
} else if
|
|
103
|
-
|
|
101
|
+
var enumUsageTypes: [OkHiUsageType] = []
|
|
102
|
+
for usageType in usageTypes {
|
|
103
|
+
if usageType == OkHiUsageType.physicalVerification.rawValue {
|
|
104
|
+
enumUsageTypes.append(.physicalVerification)
|
|
105
|
+
} else if usageType == OkHiUsageType.digitalVerification.rawValue {
|
|
106
|
+
enumUsageTypes.append(.digitalVerification)
|
|
107
|
+
} else if usageType == OkHiUsageType.addressBook.rawValue {
|
|
108
|
+
enumUsageTypes.append(.addressBook)
|
|
104
109
|
}
|
|
105
110
|
}
|
|
106
|
-
|
|
111
|
+
let user = OkHiUser(phoneNumber: phoneNumber).with(token: token).with(okHiId: userId)
|
|
112
|
+
let location = OkHiLocation(identifier: locationId, lat: lat, lon: lon, usageTypes: enumUsageTypes)
|
|
113
|
+
let response = OkCollectSuccessResponse(user: user, location: location)
|
|
114
|
+
okVerify.startAddressVerification(response: response)
|
|
107
115
|
}
|
|
108
116
|
|
|
109
117
|
@objc func stopAddressVerification(_ phoneNumber: String, locationId: String, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
@@ -229,6 +237,15 @@ extension Okhi {
|
|
|
229
237
|
return CLLocationManager.authorizationStatus()
|
|
230
238
|
}
|
|
231
239
|
}
|
|
240
|
+
|
|
241
|
+
func getAppDetails() -> (name: String, version: String, build: String) {
|
|
242
|
+
let bundle = Bundle.main
|
|
243
|
+
let appName = bundle.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String ??
|
|
244
|
+
bundle.object(forInfoDictionaryKey: "CFBundleName") as? String ?? "Unknown App Name"
|
|
245
|
+
let version = bundle.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String ?? "Unknown Version"
|
|
246
|
+
let build = bundle.object(forInfoDictionaryKey: "CFBundleVersion") as? String ?? "Unknown Build"
|
|
247
|
+
return (name: appName, version: version, build: build)
|
|
248
|
+
}
|
|
232
249
|
}
|
|
233
250
|
|
|
234
251
|
// MARK: - OkVerify Delegates
|
|
@@ -10,7 +10,6 @@ var _reactNativeWebview = require("react-native-webview");
|
|
|
10
10
|
var _Spinner = require("./Spinner");
|
|
11
11
|
var _Util = require("./Util");
|
|
12
12
|
var _OkHiException = require("../OkCore/OkHiException");
|
|
13
|
-
var _OkHiAuth = require("../OkCore/OkHiAuth");
|
|
14
13
|
var _OkVerify = require("../OkVerify");
|
|
15
14
|
var _OkCore = require("../OkCore");
|
|
16
15
|
var _OkHiNativeModule = require("../OkHiNativeModule");
|
|
@@ -20,7 +19,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
20
19
|
* The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.
|
|
21
20
|
*/
|
|
22
21
|
const OkHiLocationManager = props => {
|
|
23
|
-
const [token, setToken] = (0, _react.useState)(null);
|
|
24
22
|
const [applicationConfiguration, setApplicationConfiguration] = (0, _react.useState)(null);
|
|
25
23
|
const [startPayload, setStartPaylaod] = (0, _react.useState)(null);
|
|
26
24
|
const defaultStyle = {
|
|
@@ -36,67 +34,40 @@ const OkHiLocationManager = props => {
|
|
|
36
34
|
onCloseRequest,
|
|
37
35
|
onError,
|
|
38
36
|
loader,
|
|
39
|
-
launch
|
|
40
|
-
config
|
|
37
|
+
launch
|
|
41
38
|
} = props;
|
|
42
39
|
const webViewRef = (0, _react.useRef)(null);
|
|
43
40
|
const startMessage = props.mode === 'create' ? 'start_app' : 'select_location';
|
|
44
41
|
const [ready, setReady] = (0, _react.useState)(false);
|
|
45
42
|
(0, _react.useEffect)(() => {
|
|
46
|
-
if (
|
|
47
|
-
(
|
|
48
|
-
if (!config && launch) {
|
|
49
|
-
onError(new _OkHiException.OkHiException({
|
|
50
|
-
code: _OkHiException.OkHiException.UNAUTHORIZED_CODE,
|
|
51
|
-
message: _OkHiException.OkHiException.UNAUTHORIZED_MESSAGE
|
|
52
|
-
}));
|
|
53
|
-
} else if (config) {
|
|
54
|
-
setApplicationConfiguration(config);
|
|
55
|
-
const auth = new _OkHiAuth.OkHiAuth();
|
|
56
|
-
auth.anonymousSignInWithPhoneNumber(user.phone, ['verify'], config).then(setToken).catch(onError);
|
|
57
|
-
}
|
|
58
|
-
}).catch(error => {
|
|
59
|
-
if (launch) {
|
|
60
|
-
onError(error);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}, [onError, user.phone, launch, applicationConfiguration, token]);
|
|
65
|
-
(0, _react.useEffect)(() => {
|
|
66
|
-
if (token !== null && applicationConfiguration !== null) {
|
|
67
|
-
// TODO: handle faliure
|
|
68
|
-
(0, _Util.generateStartDataPayload)(props, token, applicationConfiguration).then(startPayload => {
|
|
69
|
-
setStartPaylaod(startPayload);
|
|
70
|
-
if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version > 25) {
|
|
71
|
-
_OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
|
|
72
|
-
message: startMessage,
|
|
73
|
-
payload: startPayload,
|
|
74
|
-
url: (0, _Util.getFrameUrl)(applicationConfiguration)
|
|
75
|
-
})).catch(console.error);
|
|
76
|
-
}
|
|
77
|
-
}).catch(console.error);
|
|
43
|
+
if (launch) {
|
|
44
|
+
setReady(launch);
|
|
78
45
|
}
|
|
79
|
-
}, [
|
|
46
|
+
}, [launch]);
|
|
80
47
|
(0, _react.useEffect)(() => {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
message: 'Always location permission must be granted to launch OkCollect'
|
|
88
|
-
}));
|
|
89
|
-
} else {
|
|
90
|
-
setReady(true);
|
|
91
|
-
}
|
|
48
|
+
async function startOkHiLocationManager() {
|
|
49
|
+
const appConfiguration = await (0, _OkCore.getApplicationConfiguration)();
|
|
50
|
+
if (!appConfiguration) {
|
|
51
|
+
throw new _OkHiException.OkHiException({
|
|
52
|
+
code: _OkHiException.OkHiException.UNAUTHORIZED_CODE,
|
|
53
|
+
message: _OkHiException.OkHiException.UNAUTHORIZED_MESSAGE
|
|
92
54
|
});
|
|
93
|
-
} else {
|
|
94
|
-
setReady(true);
|
|
95
55
|
}
|
|
96
|
-
|
|
97
|
-
|
|
56
|
+
const startPayload = await (0, _Util.generateStartDataPayload)(props, appConfiguration);
|
|
57
|
+
setApplicationConfiguration(appConfiguration);
|
|
58
|
+
setStartPaylaod(startPayload);
|
|
59
|
+
if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version > 25) {
|
|
60
|
+
_OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
|
|
61
|
+
message: startMessage,
|
|
62
|
+
payload: startPayload,
|
|
63
|
+
url: (0, _Util.getFrameUrl)(appConfiguration)
|
|
64
|
+
})).catch(console.error);
|
|
65
|
+
}
|
|
98
66
|
}
|
|
99
|
-
|
|
67
|
+
if (launch) {
|
|
68
|
+
startOkHiLocationManager();
|
|
69
|
+
}
|
|
70
|
+
}, [launch, props, onError]);
|
|
100
71
|
const runWebViewCallback = value => {
|
|
101
72
|
if (webViewRef.current) {
|
|
102
73
|
const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === "function") { runOkHiLocationManagerCallback("${value}") } })()`;
|
|
@@ -197,9 +168,19 @@ const OkHiLocationManager = props => {
|
|
|
197
168
|
code: _OkHiException.OkHiException.BAD_REQUEST_CODE,
|
|
198
169
|
message: 'Missing location id from response'
|
|
199
170
|
}));
|
|
171
|
+
} else if (!createdUser.id) {
|
|
172
|
+
reject(new _OkHiException.OkHiException({
|
|
173
|
+
code: _OkHiException.OkHiException.BAD_REQUEST_CODE,
|
|
174
|
+
message: 'Missing user id from response'
|
|
175
|
+
}));
|
|
176
|
+
} else if (!createdUser.token) {
|
|
177
|
+
reject(new _OkHiException.OkHiException({
|
|
178
|
+
code: _OkHiException.OkHiException.UNAUTHORIZED_CODE,
|
|
179
|
+
message: _OkHiException.OkHiException.UNAUTHORIZED_MESSAGE
|
|
180
|
+
}));
|
|
200
181
|
} else {
|
|
201
|
-
const
|
|
202
|
-
(0, _OkVerify.start)(createdUser.phone, location.id, location.lat, location.lon,
|
|
182
|
+
const usageTypes = Array.isArray(location.usageTypes) ? location.usageTypes : ['digital_verification'];
|
|
183
|
+
(0, _OkVerify.start)(createdUser.token, createdUser.phone, createdUser.id, location.id, location.lat, location.lon, usageTypes).then(resolve).catch(reject);
|
|
203
184
|
}
|
|
204
185
|
});
|
|
205
186
|
}
|
|
@@ -231,10 +212,7 @@ const OkHiLocationManager = props => {
|
|
|
231
212
|
(_webViewRef$current = webViewRef.current) === null || _webViewRef$current === void 0 || _webViewRef$current.goBack();
|
|
232
213
|
};
|
|
233
214
|
const renderContent = () => {
|
|
234
|
-
if (
|
|
235
|
-
return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
|
|
236
|
-
}
|
|
237
|
-
if (startPayload === null) {
|
|
215
|
+
if (startPayload === null || applicationConfiguration == null) {
|
|
238
216
|
return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
|
|
239
217
|
}
|
|
240
218
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkHiAuth","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","handleOpenAppSettings","err","handleOnMessage","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","verificationTypes","Array","isArray","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n VerificationType,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n setReady(false); // auto close\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function () {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n const verificationTypes: VerificationType = Array.isArray(\n location.verificationTypes\n )\n ? location.verificationTypes\n : ['digital'];\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n verificationTypes\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OkHiLocationManager","props","applicationConfiguration","setApplicationConfiguration","useState","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","startOkHiLocationManager","appConfiguration","getApplicationConfiguration","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","catch","console","error","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","isBackgroundLocationPermissionGranted","result","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","handleOpenAppSettings","err","handleOnMessage","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","token","usageTypes","Array","isArray","sv","phone","lat","lon","then","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n UsageType,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch } = props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (launch) {\n setReady(launch);\n }\n }, [launch]);\n\n useEffect(() => {\n async function startOkHiLocationManager() {\n const appConfiguration = await getApplicationConfiguration();\n if (!appConfiguration) {\n throw new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n const startPayload = await generateStartDataPayload(\n props,\n appConfiguration\n );\n setApplicationConfiguration(appConfiguration);\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(appConfiguration),\n })\n ).catch(console.error);\n }\n }\n\n if (launch) {\n startOkHiLocationManager();\n }\n }, [launch, props, onError]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n setReady(false); // auto close\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function () {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else if (!createdUser.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing user id from response',\n })\n );\n } else if (!createdUser.token) {\n reject(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else {\n const usageTypes: UsageType = Array.isArray(location.usageTypes)\n ? location.usageTypes\n : ['digital_verification'];\n sv(\n createdUser.token,\n createdUser.phone,\n createdUser.id,\n location.id,\n location.lat,\n location.lon,\n usageTypes\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (startPayload === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,8 +19,8 @@ const fetchCurrentLocation = async () => {
|
|
|
19
19
|
/**
|
|
20
20
|
* @ignore
|
|
21
21
|
*/
|
|
22
|
-
const generateStartDataPayload = async (props,
|
|
23
|
-
var _props$theme, _props$theme2, _applicationConfigura, _applicationConfigura2, _applicationConfigura3, _props$config, _props$theme3, _props$config2, _props$config3, _props$config4, _props$config5, _props$config6, _props$config7, _props$
|
|
22
|
+
const generateStartDataPayload = async (props, applicationConfiguration) => {
|
|
23
|
+
var _props$theme, _props$theme2, _applicationConfigura, _applicationConfigura2, _applicationConfigura3, _props$config, _props$theme3, _props$config2, _props$config3, _props$config4, _props$config5, _props$config6, _props$config7, _props$location;
|
|
24
24
|
const payload = {};
|
|
25
25
|
const {
|
|
26
26
|
manufacturer,
|
|
@@ -43,10 +43,12 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
|
|
|
43
43
|
phone: props.user.phone,
|
|
44
44
|
firstName: props.user.firstName,
|
|
45
45
|
lastName: props.user.lastName,
|
|
46
|
-
email: props.user.email
|
|
46
|
+
email: props.user.email,
|
|
47
|
+
appUserId: props.user.appUserId
|
|
47
48
|
};
|
|
48
49
|
payload.auth = {
|
|
49
|
-
|
|
50
|
+
branchId: applicationConfiguration.credentials.branchId,
|
|
51
|
+
clientKey: applicationConfiguration.credentials.clientKey
|
|
50
52
|
};
|
|
51
53
|
payload.context = {
|
|
52
54
|
container: {
|
|
@@ -81,8 +83,8 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
|
|
|
81
83
|
work: typeof ((_props$config5 = props.config) === null || _props$config5 === void 0 || (_props$config5 = _props$config5.addressTypes) === null || _props$config5 === void 0 ? void 0 : _props$config5.work) === 'boolean' ? (_props$config6 = props.config) === null || _props$config6 === void 0 || (_props$config6 = _props$config6.addressTypes) === null || _props$config6 === void 0 ? void 0 : _props$config6.work : true
|
|
82
84
|
},
|
|
83
85
|
protectedApps: _reactNative.Platform.OS === 'android' && (await (0, _OkCore.canOpenProtectedAppsSettings)()),
|
|
84
|
-
permissionsOnboarding:
|
|
85
|
-
|
|
86
|
+
permissionsOnboarding: true,
|
|
87
|
+
usageTypes: ((_props$config7 = props.config) === null || _props$config7 === void 0 ? void 0 : _props$config7.usageTypes) || ['digital_verification']
|
|
86
88
|
};
|
|
87
89
|
if (_reactNative.Platform.OS === 'ios') {
|
|
88
90
|
const status = await _OkHiNativeModule.OkHiNativeModule.fetchIOSLocationPermissionStatus();
|
|
@@ -126,6 +128,11 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
|
|
|
126
128
|
message: _OkCore.OkHiException.UNAUTHORIZED_MESSAGE
|
|
127
129
|
});
|
|
128
130
|
}
|
|
131
|
+
if ((_props$location = props.location) !== null && _props$location !== void 0 && _props$location.id) {
|
|
132
|
+
payload.location = {
|
|
133
|
+
id: props.location.id
|
|
134
|
+
};
|
|
135
|
+
}
|
|
129
136
|
return payload;
|
|
130
137
|
};
|
|
131
138
|
|
|
@@ -209,7 +216,7 @@ const parseOkHiLocation = location => {
|
|
|
209
216
|
state: location === null || location === void 0 ? void 0 : location.state,
|
|
210
217
|
city: location === null || location === void 0 ? void 0 : location.city,
|
|
211
218
|
countryCode: location === null || location === void 0 ? void 0 : location.country_code,
|
|
212
|
-
|
|
219
|
+
usageTypes: location === null || location === void 0 ? void 0 : location.usage_types
|
|
213
220
|
};
|
|
214
221
|
};
|
|
215
222
|
exports.parseOkHiLocation = parseOkHiLocation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_OkCore","require","_app","_interopRequireDefault","_reactNative","_OkHiNativeModule","e","__esModule","default","fetchCurrentLocation","result","OkHiNativeModule","generateStartDataPayload","props","authToken","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","_props$config8","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","geofences","fetchRegisteredGeofences","locations","JSON","parse","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","auth","context","container","version","developer","library","manifest","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","Platform","OS","canOpenProtectedAppsSettings","permissionsOnboarding","verificationTypes","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","isLocationPermissionGranted","error","console","log","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","exports","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","id","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code","verification_types"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n const geofences = await OkHiNativeModule.fetchRegisteredGeofences();\n if (geofences) {\n payload.locations = JSON.parse(geofences);\n }\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding:\n typeof props.config?.permissionsOnboarding === 'boolean'\n ? props.config.permissionsOnboarding\n : true,\n verificationTypes: props.config?.verificationTypes || ['digital'],\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n verificationTypes: location?.verification_types,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_OkCore","require","_app","_interopRequireDefault","_reactNative","_OkHiNativeModule","e","__esModule","default","fetchCurrentLocation","result","OkHiNativeModule","generateStartDataPayload","props","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","_props$location","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","geofences","fetchRegisteredGeofences","locations","JSON","parse","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","appUserId","auth","branchId","credentials","clientKey","context","container","version","developer","library","manifest","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","Platform","OS","canOpenProtectedAppsSettings","permissionsOnboarding","usageTypes","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","isLocationPermissionGranted","error","console","log","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","id","exports","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code","usage_types"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n const geofences = await OkHiNativeModule.fetchRegisteredGeofences();\n if (geofences) {\n payload.locations = JSON.parse(geofences);\n }\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n appUserId: props.user.appUserId,\n };\n payload.auth = {\n branchId: applicationConfiguration.credentials.branchId,\n clientKey: applicationConfiguration.credentials.clientKey,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding: true,\n usageTypes: props.config?.usageTypes || ['digital_verification'],\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n\n if (props.location?.id) {\n payload.location = {\n id: props.location.id,\n };\n }\n\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n usageTypes: location?.usage_types,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewStyle } from 'react-native';\nimport type { OkHiException } from '../OkCore/OkHiException';\nimport type { OkHiUser, OkHiLocation,
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewStyle } from 'react-native';\nimport type { OkHiException } from '../OkCore/OkHiException';\nimport type { OkHiUser, OkHiLocation, UsageType } from '../OkCore/types';\n\n/**\n * The OkCollect Success Response object contains information about the newly created user and location once an address has been successfully created.\n * It can be used to extract information about the address and/or start address verification process.\n */\nexport interface OkCollectSuccessResponse {\n /**\n * The [OkHiUser](https://okhi.github.io/react-native-core/interfaces/okhiuser.html) object containing information about the newly created user.\n */\n user: OkHiUser;\n /**\n * The [OkHiLocation](https://okhi.github.io/react-native-core/interfaces/okhilocation.html) object containing information about the newly created user.\n */\n location: OkHiLocation;\n\n /**\n * Starts address verification\n */\n startVerification: () => Promise<string>;\n}\n\n/**\n * The OkHiLocationManager exposes props that you can use to customise it's functionality and appearance.\n */\nexport interface OkHiLocationManagerProps {\n /**\n * **Required:** A boolean flag that determines whether or not to show the Location Manager.\n */\n launch: boolean;\n /**\n * **Required:** A defined [OkHiUser](https://okhi.github.io/react-native-core/interfaces/okhiuser.html) object, with a mandatory \"phone\" key property.\n */\n user: OkHiUser;\n /**\n * **Optional:** A custom JSX.Element that'll be used as a loading indicator.\n */\n loader?: JSX.Element;\n /**\n * **Optional:** Used to customise the appearance of the Container that wraps the location manager.\n */\n style?: ViewStyle;\n /**\n * **Required:** A callback that'll be invoked with an {@link OkCollectSuccessResponse} once an accurate OkHi address has been successfully created.\n */\n onSuccess: (response: OkCollectSuccessResponse) => any;\n /**\n * **Required:** A callback that'll be invoked whenever an error occurs during the address creation process.\n */\n onError: (error: OkHiException) => any;\n /**\n * **Required:** A callback that'll be invoked whenever a user taps on the close button.\n */\n onCloseRequest: () => any;\n /**\n * **Optional:** An object that'll be used to customise the appearance of the Location Manager to better match your branding requirements.\n */\n theme?: {\n appBar?: {\n backgroundColor?: string;\n logo?: string;\n };\n colors?: {\n primary?: string;\n };\n };\n /**\n * **Optional:** An object that'll be used to customise the functionality of the Location Manager. This object dictates whether you want some features on or off.\n */\n config?: {\n streetView?: boolean;\n appBar?: {\n visible?: boolean;\n };\n addressTypes?: {\n home?: boolean;\n work?: boolean;\n };\n usageTypes?: UsageType;\n };\n\n /**\n * **Optional:** Enable a user to either select an existing address, or force to create a new one\n */\n mode?: 'create' | 'select';\n\n location?: {\n id: string;\n };\n}\n\n/**\n * @ignore\n */\nexport interface OkHiLocationManagerStartDataPayload {\n style?: {\n base?: {\n color?: string;\n logo?: string;\n name?: string;\n };\n };\n auth: {\n authToken: string;\n };\n context: {\n container?: {\n name?: string;\n version?: string;\n };\n developer: {\n name: string;\n };\n library: {\n name: string;\n version: string;\n };\n platform: {\n name: 'react-native';\n };\n };\n config?: {\n streetView?: boolean;\n appBar?: {\n color?: string;\n visible?: boolean;\n };\n usageTypes: UsageType;\n };\n user: OkHiUser;\n}\n\n/**\n * @ignore\n */\nexport type OkHiLocationManagerStartMessage = 'select_location' | 'start_app';\n\n/**\n * @ignore\n */\nexport interface OkHiLocationManagerResponse {\n message:\n | 'location_selected'\n | 'location_created'\n | 'location_updated'\n | 'exit_app'\n | 'request_enable_protected_apps'\n | 'fatal_exit'\n | 'request_location_permission';\n payload: any;\n}\n"],"mappings":"","ignoreList":[]}
|