react-native-smallcase-gateway 1.0.2 → 1.1.0
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/CHANGELOG.md +7 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/smallcase/gateway/reactnative/SmallcaseGatewayModule.kt +24 -41
- package/ios/SmallcaseGateway.m +13 -0
- package/package.json +1 -1
- package/react-native-smallcase-gateway.podspec +1 -1
- package/src/SmallcaseGateway.js +11 -15
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.1.0](https://github.com/smallcase/react-native-smallcase-gateway/compare/v1.0.2...v1.1.0) (2022-04-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* transaction error response in onSuccess callback ([6d36aeb](https://github.com/smallcase/react-native-smallcase-gateway/commit/6d36aebc0af379d7d7782baa7e59bc3092654d76))
|
|
11
|
+
|
|
5
12
|
### [1.0.2](https://github.com/smallcase/react-native-smallcase-gateway/compare/v1.0.0...v1.0.2) (2022-04-04)
|
|
6
13
|
|
|
7
14
|
|
package/android/build.gradle
CHANGED
|
@@ -82,7 +82,7 @@ repositories {
|
|
|
82
82
|
dependencies {
|
|
83
83
|
//noinspection GradleDynamicVersion
|
|
84
84
|
implementation 'com.facebook.react:react-native:+' // From node_modules
|
|
85
|
-
implementation 'com.smallcase.gateway:sdk:3.
|
|
85
|
+
implementation 'com.smallcase.gateway:sdk:3.2.0'
|
|
86
86
|
implementation "androidx.core:core-ktx:1.3.1"
|
|
87
87
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
88
88
|
}
|
|
@@ -13,6 +13,7 @@ import com.smallcase.gateway.data.listeners.TransactionResponseListener
|
|
|
13
13
|
import com.smallcase.gateway.data.models.*
|
|
14
14
|
import com.smallcase.gateway.data.requests.InitRequest
|
|
15
15
|
import com.smallcase.gateway.portal.SmallcaseGatewaySdk
|
|
16
|
+
import com.smallcase.gateway.data.listeners.LeadGenResponseListener
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactContextBaseJavaModule(reactContext!!) {
|
|
@@ -32,7 +33,6 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
32
33
|
isAmoEnabled: Boolean,
|
|
33
34
|
preProvidedBrokers: ReadableArray,
|
|
34
35
|
promise: Promise) {
|
|
35
|
-
Log.d(TAG, "setConfigEnvironment: start")
|
|
36
36
|
|
|
37
37
|
try {
|
|
38
38
|
val brokerList = ArrayList<String>()
|
|
@@ -75,6 +75,12 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
75
75
|
SmallcaseGatewaySdk.setHybridSDKVersion(sdkVersion)
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
@ReactMethod
|
|
79
|
+
fun getSdkVersion(reactNativeSdkVersion: String, promise: Promise) {
|
|
80
|
+
val sdkString = "android:${SmallcaseGatewaySdk.getSdkVersion()},react-native:$reactNativeSdkVersion"
|
|
81
|
+
promise.resolve(sdkString)
|
|
82
|
+
}
|
|
83
|
+
|
|
78
84
|
@ReactMethod
|
|
79
85
|
fun init(sdkToken: String, promise: Promise) {
|
|
80
86
|
Log.d(TAG, "init: start")
|
|
@@ -84,7 +90,7 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
84
90
|
authRequest = initReq,
|
|
85
91
|
gatewayInitialisationListener = object : DataListener<InitialisationResponse> {
|
|
86
92
|
override fun onFailure(errorCode: Int, errorMessage: String) {
|
|
87
|
-
val err = createErrorJSON(errorCode, errorMessage)
|
|
93
|
+
val err = createErrorJSON(errorCode, errorMessage, null)
|
|
88
94
|
promise.reject("error", err)
|
|
89
95
|
}
|
|
90
96
|
|
|
@@ -116,21 +122,15 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
116
122
|
preProvidedBrokers = safeBrokerList,
|
|
117
123
|
transactionResponseListener = object : TransactionResponseListener {
|
|
118
124
|
override fun onSuccess(transactionResult: TransactionResult) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
val err = createErrorJSON(
|
|
124
|
-
transactionResult.errorCode,
|
|
125
|
-
transactionResult.error
|
|
126
|
-
)
|
|
127
|
-
promise.reject("error", err)
|
|
128
|
-
}
|
|
125
|
+
|
|
126
|
+
val res = resultToWritableMap(transactionResult)
|
|
127
|
+
promise.resolve(res)
|
|
128
|
+
|
|
129
129
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
override fun onError(errorCode: Int, errorMessage: String) {
|
|
133
|
-
val err = createErrorJSON(errorCode, errorMessage)
|
|
132
|
+
override fun onError(errorCode: Int, errorMessage: String, data: String?) {
|
|
133
|
+
val err = createErrorJSON(errorCode, errorMessage, data)
|
|
134
134
|
promise.reject("error", err)
|
|
135
135
|
}
|
|
136
136
|
})
|
|
@@ -145,7 +145,7 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
145
145
|
|
|
146
146
|
SmallcaseGatewaySdk.launchSmallPlug(currentActivity!!, SmallplugData(targetEndpoint, params), object : SmallPlugResponseListener {
|
|
147
147
|
override fun onFailure(errorCode: Int, errorMessage: String) {
|
|
148
|
-
val err = createErrorJSON(errorCode, errorMessage)
|
|
148
|
+
val err = createErrorJSON(errorCode, errorMessage, null)
|
|
149
149
|
|
|
150
150
|
promise.reject("error", err)
|
|
151
151
|
}
|
|
@@ -169,7 +169,7 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
override fun onFailure(errorCode: Int, errorMessage: String) {
|
|
172
|
-
val err = createErrorJSON(errorCode, errorMessage)
|
|
172
|
+
val err = createErrorJSON(errorCode, errorMessage, null)
|
|
173
173
|
promise.reject("error", err)
|
|
174
174
|
}
|
|
175
175
|
})
|
|
@@ -187,7 +187,7 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
override fun onLogoutFailed(errorCode: Int, error: String) {
|
|
190
|
-
val err = createErrorJSON(errorCode, error)
|
|
190
|
+
val err = createErrorJSON(errorCode, error, null)
|
|
191
191
|
promise.reject("error", err)
|
|
192
192
|
}
|
|
193
193
|
})
|
|
@@ -208,27 +208,13 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
208
208
|
|
|
209
209
|
@ReactMethod
|
|
210
210
|
fun triggerLeadGenWithStatus(userDetails: ReadableMap, promise: Promise) {
|
|
211
|
-
val activity = currentActivity
|
|
211
|
+
val activity = currentActivity
|
|
212
212
|
if (activity != null) {
|
|
213
|
-
SmallcaseGatewaySdk.triggerLeadGen(activity,readableMapToStrHashMap(userDetails), object : TransactionResponseListener {
|
|
214
|
-
override fun onSuccess(transactionResult: TransactionResult) {
|
|
215
|
-
if (transactionResult.success) {
|
|
216
|
-
val res = resultToWritableMap(transactionResult)
|
|
217
|
-
promise.resolve(res)
|
|
218
|
-
} else {
|
|
219
|
-
val err = createErrorJSON(
|
|
220
|
-
transactionResult.errorCode,
|
|
221
|
-
transactionResult.error
|
|
222
|
-
)
|
|
223
|
-
promise.reject("error", err)
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
213
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
promise.
|
|
214
|
+
SmallcaseGatewaySdk.triggerLeadGen(activity, readableMapToStrHashMap(userDetails), object: LeadGenResponseListener {
|
|
215
|
+
override fun onSuccess(leadResponse: String) {
|
|
216
|
+
promise.resolve(leadResponse)
|
|
230
217
|
}
|
|
231
|
-
|
|
232
218
|
})
|
|
233
219
|
}
|
|
234
220
|
}
|
|
@@ -263,15 +249,11 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
263
249
|
val writableMap: WritableMap = Arguments.createMap()
|
|
264
250
|
|
|
265
251
|
writableMap.putString("data", result.data)
|
|
266
|
-
writableMap.putBoolean("success", result.success)
|
|
267
|
-
writableMap.putString("error", result.error)
|
|
268
|
-
result.errorCode?.let {
|
|
269
|
-
writableMap.putInt("errorCode", it)
|
|
270
|
-
}
|
|
271
252
|
writableMap.putString("transaction", result.transaction.name)
|
|
272
253
|
return writableMap
|
|
273
254
|
}
|
|
274
255
|
|
|
256
|
+
|
|
275
257
|
private fun resultToWritableMap(result: SmallPlugResult): WritableMap {
|
|
276
258
|
val writableMap: WritableMap = Arguments.createMap()
|
|
277
259
|
|
|
@@ -281,11 +263,12 @@ class SmallcaseGatewayModule(reactContext: ReactApplicationContext?) : ReactCont
|
|
|
281
263
|
return writableMap
|
|
282
264
|
}
|
|
283
265
|
|
|
284
|
-
private fun createErrorJSON(errorCode: Int?, errorMessage: String?): WritableMap {
|
|
266
|
+
private fun createErrorJSON(errorCode: Int?, errorMessage: String?, data: String?): WritableMap {
|
|
285
267
|
val errObj = Arguments.createMap()
|
|
286
268
|
|
|
287
269
|
errorCode?.let { errObj.putInt("errorCode", it) }
|
|
288
270
|
errorMessage?.let { errObj.putString("errorMessage", it) }
|
|
271
|
+
data?.let { errObj.putString("data", it) }
|
|
289
272
|
|
|
290
273
|
return errObj
|
|
291
274
|
}
|
package/ios/SmallcaseGateway.m
CHANGED
|
@@ -13,6 +13,19 @@ RCT_REMAP_METHOD(setHybridSdkVersion, sdkVersion: (NSString *)sdkVersion) {
|
|
|
13
13
|
[SCGateway.shared setHybridSDKVersionWithVersion:sdkVersion];
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
RCT_REMAP_METHOD(getSdkVersion,
|
|
17
|
+
reactNativeSdkVersion: (NSString *)reactNativeSdkVersion
|
|
18
|
+
initWithResolver:(RCTPromiseResolveBlock)resolve
|
|
19
|
+
rejecter:(RCTPromiseRejectBlock)reject) {
|
|
20
|
+
|
|
21
|
+
NSString *nativeSdkString = [NSString stringWithFormat: @"ios:%@", [SCGateway.shared getSdkVersion]];
|
|
22
|
+
NSString *reactNativeSdkString = [NSString stringWithFormat: @",react-native:%@", reactNativeSdkVersion];
|
|
23
|
+
|
|
24
|
+
NSString *result = [nativeSdkString stringByAppendingString: reactNativeSdkString];
|
|
25
|
+
|
|
26
|
+
resolve(result);
|
|
27
|
+
}
|
|
28
|
+
|
|
16
29
|
RCT_REMAP_METHOD(setConfigEnvironment,
|
|
17
30
|
envName:(NSString *)envName
|
|
18
31
|
gateway:(NSString *)gateway
|
package/package.json
CHANGED
package/src/SmallcaseGateway.js
CHANGED
|
@@ -139,20 +139,6 @@ const triggerLeadGen = (userDetails, utmParams) => {
|
|
|
139
139
|
return SmallcaseGatewayNative.triggerLeadGen(safeParams, safeUtm);
|
|
140
140
|
};
|
|
141
141
|
|
|
142
|
-
// /**
|
|
143
|
-
// * triggers the lead gen flow
|
|
144
|
-
// *
|
|
145
|
-
// * @param {userDetails} [userDetails]
|
|
146
|
-
// * @param {Object} [utmParams]
|
|
147
|
-
// * * @returns {Promise}
|
|
148
|
-
// */
|
|
149
|
-
// const triggerLeadGen = async (userDetails, utmParams) => {
|
|
150
|
-
// const safeParams = safeObject(userDetails);
|
|
151
|
-
// const safeUtm = safeObject(utmParams);
|
|
152
|
-
|
|
153
|
-
// return SmallcaseGatewayNative.triggerLeadGen(safeParams, safeUtm)
|
|
154
|
-
// }
|
|
155
|
-
|
|
156
142
|
/**
|
|
157
143
|
* triggers the lead gen flow
|
|
158
144
|
*
|
|
@@ -176,6 +162,15 @@ const archiveSmallcase = async (iscid) => {
|
|
|
176
162
|
return SmallcaseGatewayNative.archiveSmallcase(safeIscid);
|
|
177
163
|
};
|
|
178
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Returns the native android/ios and react-native sdk version
|
|
167
|
+
* (internal-tracking)
|
|
168
|
+
* @returns {Promise}
|
|
169
|
+
*/
|
|
170
|
+
const getSdkVersion = async () => {
|
|
171
|
+
return SmallcaseGatewayNative.getSdkVersion(version);
|
|
172
|
+
}
|
|
173
|
+
|
|
179
174
|
const SmallcaseGateway = {
|
|
180
175
|
init,
|
|
181
176
|
logoutUser,
|
|
@@ -184,7 +179,8 @@ const SmallcaseGateway = {
|
|
|
184
179
|
archiveSmallcase,
|
|
185
180
|
triggerTransaction,
|
|
186
181
|
setConfigEnvironment,
|
|
187
|
-
launchSmallplug
|
|
182
|
+
launchSmallplug,
|
|
183
|
+
getSdkVersion
|
|
188
184
|
};
|
|
189
185
|
|
|
190
186
|
export default SmallcaseGateway;
|