@dashx/react-native 0.1.7 → 0.1.8-alpha
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/README.md +17 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.idea/libraries/Gradle__com_github_dashxhq_dashx_android_remove_account_type_SNAPSHOT_aar.xml +11 -0
- package/android/.idea/modules/android.iml +2 -2
- package/android/.idea/workspace.xml +1 -1
- package/android/README.md +19 -10
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/dashx/rn/sdk/DashXClientInterceptor.kt +2 -2
- package/android/src/main/java/com/dashx/rn/sdk/DashXModule.kt +0 -1
- package/ios/API.swift +8 -48
- package/ios/DashX.swift +0 -4
- package/ios/DashXClient.swift +2 -14
- package/ios/README.md +80 -0
- package/ios/schema.json +1 -65
- package/package.json +1 -1
- package/android/.idea/libraries/Gradle__com_github_dashxhq_dashx_android_set_uid_in_identify_SNAPSHOT_aar.xml +0 -11
package/README.md
CHANGED
|
@@ -176,3 +176,20 @@ You can generate identity token by using `POST` `/v1/generate_token` which accep
|
|
|
176
176
|
"key": "dashx_private_key"
|
|
177
177
|
}
|
|
178
178
|
```
|
|
179
|
+
|
|
180
|
+
## Development
|
|
181
|
+
|
|
182
|
+
### Setting up development environment
|
|
183
|
+
|
|
184
|
+
Please follow [these steps](https://github.com/dashxhq/dashx-js/tree/master/examples/react-native#setting-up-development-environment) to set-up development environment.
|
|
185
|
+
|
|
186
|
+
You'll also need Apollo CLI to generate files.
|
|
187
|
+
|
|
188
|
+
```sh
|
|
189
|
+
$ npm i -g apollo
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
For the next steps, please follow the guide for the respective platform:
|
|
193
|
+
|
|
194
|
+
- [Android](android/README.md)
|
|
195
|
+
- [iOS](ios/README.md)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<component name="libraryTable">
|
|
2
|
+
<library name="Gradle: com.github.dashxhq:dashx-android:remove-account-type-SNAPSHOT@aar">
|
|
3
|
+
<CLASSES>
|
|
4
|
+
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/76b937d546d84ce6bd672928463a0bc7/transformed/jars/classes.jar!/" />
|
|
5
|
+
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/76b937d546d84ce6bd672928463a0bc7/transformed/res" />
|
|
6
|
+
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/76b937d546d84ce6bd672928463a0bc7/transformed/AndroidManifest.xml" />
|
|
7
|
+
</CLASSES>
|
|
8
|
+
<JAVADOC />
|
|
9
|
+
<SOURCES />
|
|
10
|
+
</library>
|
|
11
|
+
</component>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
</compilerSettings>
|
|
16
16
|
<compilerArguments>
|
|
17
17
|
<option name="destination" value="$MODULE_DIR$/../../build/tmp/kotlin-classes/debug" />
|
|
18
|
-
<option name="classpath" value="$USER_HOME$/.gradle/caches/transforms-3/687762c3488d7068f922d7559d0352ae/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/ed153fc32d69f54e69d67568beef4de8/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/
|
|
18
|
+
<option name="classpath" value="$USER_HOME$/.gradle/caches/transforms-3/687762c3488d7068f922d7559d0352ae/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/ed153fc32d69f54e69d67568beef4de8/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/76b937d546d84ce6bd672928463a0bc7/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.5.20/636c5653641cd956de9aee5792155b07ea49825e/kotlin-stdlib-jdk8-1.5.20.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.5.20/218b60e1d446d1e0a18bc7aa8663634b136fbcc5/kotlin-stdlib-jdk7-1.5.20.jar:/Users/rajatsharma/.gradle/caches/transforms-3/177483a440069c5b6cad53ab7e518111/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/8f066311a9884d17675cb15cdff06e13/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp-urlconnection/3.12.1/f689d3657c3f1fdbde4877bcddc668491a4ad46f/okhttp-urlconnection-3.12.1.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/4.2.2/39b5a2a8c5fd14fbb7d64c6c606819e3ede5afd2/okhttp-4.2.2.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/2.9.0/dcc813b08ce5933f8bdfd1dfbab4ad4bd170e7a/okio-jvm-2.9.0.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.5.20/9de35cc611bcecec8edce1d56d8e659953806751/kotlin-stdlib-1.5.20.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.5.20/3d79dbd48bf605f4aac1e7028981a1953e245cbb/kotlin-stdlib-common-1.5.20.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.6/9180733b7df8542621dc12e21e87557e8c99b8cb/gson-2.8.6.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.facebook.infer.annotation/infer-annotation/0.11.2/f514ff4ca022a579d9cf7524846988b646ae4491/infer-annotation-0.11.2.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.facebook.yoga/proguard-annotations/1.14.1/3d015bb821875657ac8e4b808a223aae339defb2/proguard-annotations-1.14.1.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar:/Users/rajatsharma/.gradle/caches/transforms-3/959291eecabcda7a789aed9c14a90c7d/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/1915fcdbeb713d30bfb93461f84eac7a/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/dd38ac0bef99a782d40c6d4a462b6c5b/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/8d13dec206d2ec0234a5b4d1fd239fcd/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/56b82b6ee2abb6e25c2691c2f04687bd/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/360555e109ae48af2d51b9b099e489cf/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/4d169f1ce14446eb056475e208c3a32f/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/bae31c92cf673dac60cee7584add459c/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/9d063ad43e594329470c3f790225881e/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/c73d01dc04a2037a937976d293129a07/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/edff8ddad6c3a561c4ae0faa520e8c75/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/821d37995dfc9b0180fd8af5c66e0b03/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/5c4167782d90fd63cb758a199a60e1f3/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/e011d5c78e4e346d1d7e4049b30a1ab1/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/4c91e1f8d19448e814d79c329ff36c1f/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/56b4a762da31cca07522747a705d6c99/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/0daa2427dc273b771bc06885ba9823bd/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/87662bb24d2272039187a78a889ac859/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/7aa9e1354eb640bdb1fd317829e84f1d/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/9113b0dbe70635e1362e653f8a3b6943/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/3adedc4d83a450323bf3c871e06e485b/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/7f584406fdb90a66b5c3acc489e99b50/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/93d0061e939b8d6a1b654e90d11fa7e7/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/a737ddb2453f0c07da53d6364bd98173/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/d132d665c7d5394d63d257a814897445/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/59af423ce50060e4e248953d65a28805/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/af1fb21a2268bbe798cf34ceccf64986/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/76e8bc12474c4ab2d739338e12b30c06/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/54fb7712631cf48be52293ee2d9f6323/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/1ed9e0e04371f6023b7d32a0f4d6074e/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/10ff9a9c009d077ffb5f8664ff1f6a2d/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/64eb4be61821225b314385f964ad2448/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.0.0/42858b26cafdaa69b6149f45dfc2894007bc2c7a/collection-1.0.0.jar:/Users/rajatsharma/.gradle/caches/transforms-3/d44d6cd2597131efa6a4d4a4376441b0/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/7c0a4796d5ffdcf3f93e05dad5daa061/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/da917c37850b70b571b3df0482d86ac2/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/67760d3f4cd3928c2afbefb2da357f8b/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/6720b4212d7e540aca6e226af4e2f002/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/e602be699d44890c54ac76b76cecd421/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/637d37a99d3ef3bfdce44c1857856e45/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/4e728481d02a2a4db9a624d5ffbd31e1/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.0.0/e070ffae07452331bc5684734fce6831d531785c/lifecycle-common-2.0.0.jar:/Users/rajatsharma/.gradle/caches/transforms-3/4f4f9c5bac2a89c20be215977ca62851/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.0.0/bb21b9a11761451b51624ac428d1f1bb5deeac38/core-common-2.0.0.jar:/Users/rajatsharma/.gradle/caches/transforms-3/869ff86e20d8e69e438ac864254e3930/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.0.0/45599f2cd5965ac05a1488fa2a5c0cdd7c499ead/annotation-1.0.0.jar:/Users/rajatsharma/.gradle/caches/transforms-3/5a16e716a51b50bc95b2df66a7fb155a/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/4e947ce03cd1c91c918c58a14f768424/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/b47a5d6db95abe5ff4b4d4478460ac2b/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/69c04493beae44b23646ee1b5e9f86c8/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/ac7b746cc6c708daac4ee8ef8fb7be54/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/6603332a7bd22998f966983c097fdab8/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/d3b17993aa705a592673a5be89c72c86/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.facebook.soloader/nativeloader/0.8.0/50524ca901bccb0540204b8166abb23557809050/nativeloader-0.8.0.jar:/Users/rajatsharma/.gradle/caches/transforms-3/2fb3f04886dc0737c70ec3e69a836cbb/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/transforms-3/d1c327c433edc70e99167792c2a6111e/transformed/jars/classes.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.facebook.fbjni/fbjni-java-only/0.0.3/c4540aecb99b9ec380acef6c10bb6f700de8ac2c/fbjni-java-only-0.0.3.jar:/Users/rajatsharma/.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value-annotations/1.6.5/c3dad10377f0e2242c9a4b88e9704eaf79103679/auto-value-annotations-1.6.5.jar:/Users/rajatsharma/dashx-js/packages/react-native/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar:/Users/rajatsharma/Library/Android/sdk/platforms/android-30/android.jar" />
|
|
19
19
|
<option name="noStdlib" value="true" />
|
|
20
20
|
<option name="noReflect" value="true" />
|
|
21
21
|
<option name="moduleName" value="android_debug" />
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
<orderEntry type="library" name="Gradle: com.google.auto.value:auto-value-annotations:1.6.5" level="project" />
|
|
94
94
|
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-core:17.2.1@aar" level="project" />
|
|
95
95
|
<orderEntry type="library" name="Gradle: com.google.firebase:firebase-messaging:20.0.1@aar" level="project" />
|
|
96
|
-
<orderEntry type="library" name="Gradle: com.github.dashxhq:dashx-android:
|
|
96
|
+
<orderEntry type="library" name="Gradle: com.github.dashxhq:dashx-android:remove-account-type-SNAPSHOT@aar" level="project" />
|
|
97
97
|
<orderEntry type="library" name="Gradle: com.facebook.react:react-native:0.62.3@aar" level="project" />
|
|
98
98
|
<orderEntry type="library" name="Gradle: com.facebook.fresco:imagepipeline-okhttp3:2.0.0@aar" level="project" />
|
|
99
99
|
<orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.0.2@aar" level="project" />
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
|
62
62
|
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
|
63
63
|
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
|
64
|
-
<property name="memory.settings.postsync.last.time.stamp" value="
|
|
64
|
+
<property name="memory.settings.postsync.last.time.stamp" value="1637580899398" />
|
|
65
65
|
<property name="settings.editor.selected.configurable" value="preferences.editor" />
|
|
66
66
|
</component>
|
|
67
67
|
<component name="RecentsManager">
|
package/android/README.md
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
======
|
|
1
|
+
# Android Native Module
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
## Prerequisites
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
- NodeJS
|
|
6
|
+
- Android Studio
|
|
7
|
+
- Android SDK
|
|
8
|
+
|
|
9
|
+
## Development
|
|
10
|
+
|
|
11
|
+
- This native module uses DashX Android SDK to make API calls, so if you want to add any graphql requests add to [dashx-android](https://github.com/dashxhq/dashx-android).
|
|
12
|
+
|
|
13
|
+
- Make sure all the Node dependencies are installed:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
$ yarn
|
|
8
17
|
```
|
|
9
|
-
|
|
10
|
-
|
|
18
|
+
|
|
19
|
+
- To build this module:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
$ ./gradlew build
|
|
11
23
|
```
|
|
12
|
-
3. Delete the `maven` folder
|
|
13
|
-
4. Run `./gradlew installArchives`
|
|
14
|
-
5. Verify that latest set of generated files is in the maven folder with the correct version number
|
package/android/build.gradle
CHANGED
|
@@ -90,7 +90,7 @@ repositories {
|
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
dependencies {
|
|
93
|
-
implementation 'com.github.dashxhq:dashx-android:
|
|
93
|
+
implementation 'com.github.dashxhq:dashx-android:remove-account-type-SNAPSHOT'
|
|
94
94
|
//noinspection GradleDynamicVersion
|
|
95
95
|
implementation 'com.facebook.react:react-native:+' // From node_modules
|
|
96
96
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
@@ -14,9 +14,9 @@ class DashXClientInterceptor private constructor() {
|
|
|
14
14
|
var reactApplicationContext: ReactApplicationContext? = null
|
|
15
15
|
private val dashXNotificationFilter = "DASHX_PN_TYPE"
|
|
16
16
|
|
|
17
|
-
fun createDashXClient(reactApplicationContext: ReactApplicationContext, publicKey: String, baseURI: String?,
|
|
17
|
+
fun createDashXClient(reactApplicationContext: ReactApplicationContext, publicKey: String, baseURI: String?, targetEnvironment: String?, targetInstallation: String?) {
|
|
18
18
|
this.reactApplicationContext = reactApplicationContext
|
|
19
|
-
client = DashX(reactApplicationContext.applicationContext, publicKey!!, baseURI,
|
|
19
|
+
client = DashX(reactApplicationContext.applicationContext, publicKey!!, baseURI, targetEnvironment, targetInstallation)
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
fun getDashXClient(): com.dashx.sdk.DashXClient {
|
|
@@ -25,7 +25,6 @@ class DashXModule(private val reactContext: ReactApplicationContext) : ReactCont
|
|
|
25
25
|
reactContext,
|
|
26
26
|
options.getString("publicKey")!!,
|
|
27
27
|
options.getStringIfPresent("baseUri"),
|
|
28
|
-
options.getStringIfPresent("accountType"),
|
|
29
28
|
options.getStringIfPresent("targetEnvironment"),
|
|
30
29
|
options.getStringIfPresent("targetInstallation")
|
|
31
30
|
)
|
package/ios/API.swift
CHANGED
|
@@ -49,7 +49,6 @@ public enum DashXGql {
|
|
|
49
49
|
public var graphQLMap: GraphQLMap
|
|
50
50
|
|
|
51
51
|
/// - Parameters:
|
|
52
|
-
/// - accountType
|
|
53
52
|
/// - accountUid
|
|
54
53
|
/// - accountAnonymousUid
|
|
55
54
|
/// - itemId
|
|
@@ -57,17 +56,8 @@ public enum DashXGql {
|
|
|
57
56
|
/// - quantity
|
|
58
57
|
/// - reset
|
|
59
58
|
/// - custom
|
|
60
|
-
public init(
|
|
61
|
-
graphQLMap = ["
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
public var accountType: Swift.Optional<String?> {
|
|
65
|
-
get {
|
|
66
|
-
return graphQLMap["accountType"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
|
|
67
|
-
}
|
|
68
|
-
set {
|
|
69
|
-
graphQLMap.updateValue(newValue, forKey: "accountType")
|
|
70
|
-
}
|
|
59
|
+
public init(accountUid: Swift.Optional<String?> = nil, accountAnonymousUid: Swift.Optional<String?> = nil, itemId: UUID, pricingId: UUID, quantity: Decimal, reset: Bool, custom: Swift.Optional<JSON?> = nil) {
|
|
60
|
+
graphQLMap = ["accountUid": accountUid, "accountAnonymousUid": accountAnonymousUid, "itemId": itemId, "pricingId": pricingId, "quantity": quantity, "reset": reset, "custom": custom]
|
|
71
61
|
}
|
|
72
62
|
|
|
73
63
|
public var accountUid: Swift.Optional<String?> {
|
|
@@ -267,20 +257,10 @@ public enum DashXGql {
|
|
|
267
257
|
public var graphQLMap: GraphQLMap
|
|
268
258
|
|
|
269
259
|
/// - Parameters:
|
|
270
|
-
/// - accountType
|
|
271
260
|
/// - accountUid
|
|
272
261
|
/// - accountAnonymousUid
|
|
273
|
-
public init(
|
|
274
|
-
graphQLMap = ["
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
public var accountType: Swift.Optional<String?> {
|
|
278
|
-
get {
|
|
279
|
-
return graphQLMap["accountType"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
|
|
280
|
-
}
|
|
281
|
-
set {
|
|
282
|
-
graphQLMap.updateValue(newValue, forKey: "accountType")
|
|
283
|
-
}
|
|
262
|
+
public init(accountUid: Swift.Optional<String?> = nil, accountAnonymousUid: Swift.Optional<String?> = nil) {
|
|
263
|
+
graphQLMap = ["accountUid": accountUid, "accountAnonymousUid": accountAnonymousUid]
|
|
284
264
|
}
|
|
285
265
|
|
|
286
266
|
public var accountUid: Swift.Optional<String?> {
|
|
@@ -385,7 +365,6 @@ public enum DashXGql {
|
|
|
385
365
|
public var graphQLMap: GraphQLMap
|
|
386
366
|
|
|
387
367
|
/// - Parameters:
|
|
388
|
-
/// - accountType
|
|
389
368
|
/// - uid
|
|
390
369
|
/// - anonymousUid
|
|
391
370
|
/// - email
|
|
@@ -393,17 +372,8 @@ public enum DashXGql {
|
|
|
393
372
|
/// - name
|
|
394
373
|
/// - firstName
|
|
395
374
|
/// - lastName
|
|
396
|
-
public init(
|
|
397
|
-
graphQLMap = ["
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
public var accountType: Swift.Optional<String?> {
|
|
401
|
-
get {
|
|
402
|
-
return graphQLMap["accountType"] as? Swift.Optional<String?> ?? Swift.Optional<String?>.none
|
|
403
|
-
}
|
|
404
|
-
set {
|
|
405
|
-
graphQLMap.updateValue(newValue, forKey: "accountType")
|
|
406
|
-
}
|
|
375
|
+
public init(uid: Swift.Optional<String?> = nil, anonymousUid: Swift.Optional<String?> = nil, email: Swift.Optional<String?> = nil, phone: Swift.Optional<String?> = nil, name: Swift.Optional<String?> = nil, firstName: Swift.Optional<String?> = nil, lastName: Swift.Optional<String?> = nil) {
|
|
376
|
+
graphQLMap = ["uid": uid, "anonymousUid": anonymousUid, "email": email, "phone": phone, "name": name, "firstName": firstName, "lastName": lastName]
|
|
407
377
|
}
|
|
408
378
|
|
|
409
379
|
public var uid: Swift.Optional<String?> {
|
|
@@ -682,22 +652,12 @@ public enum DashXGql {
|
|
|
682
652
|
public var graphQLMap: GraphQLMap
|
|
683
653
|
|
|
684
654
|
/// - Parameters:
|
|
685
|
-
/// - accountType
|
|
686
655
|
/// - event
|
|
687
656
|
/// - accountUid
|
|
688
657
|
/// - accountAnonymousUid
|
|
689
658
|
/// - data
|
|
690
|
-
public init(
|
|
691
|
-
graphQLMap = ["
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
-
public var accountType: String {
|
|
695
|
-
get {
|
|
696
|
-
return graphQLMap["accountType"] as! String
|
|
697
|
-
}
|
|
698
|
-
set {
|
|
699
|
-
graphQLMap.updateValue(newValue, forKey: "accountType")
|
|
700
|
-
}
|
|
659
|
+
public init(event: String, accountUid: Swift.Optional<String?> = nil, accountAnonymousUid: Swift.Optional<String?> = nil, data: Swift.Optional<JSON?> = nil) {
|
|
660
|
+
graphQLMap = ["event": event, "accountUid": accountUid, "accountAnonymousUid": accountAnonymousUid, "data": data]
|
|
701
661
|
}
|
|
702
662
|
|
|
703
663
|
public var event: String {
|
package/ios/DashX.swift
CHANGED
|
@@ -23,10 +23,6 @@ class DashX: RCTEventEmitter {
|
|
|
23
23
|
func setup(_ options: NSDictionary?) {
|
|
24
24
|
ConfigInterceptor.shared.publicKey = options?.value(forKey: "publicKey") as? String
|
|
25
25
|
|
|
26
|
-
if let accountType = options?.value(forKey: "accountType") {
|
|
27
|
-
dashXClient.setAccountType(to: accountType as! String)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
26
|
DashXAppDelegate.swizzleDidReceiveRemoteNotification()
|
|
31
27
|
|
|
32
28
|
if let baseUri = options?.value(forKey: "baseUri") {
|
package/ios/DashXClient.swift
CHANGED
|
@@ -10,7 +10,6 @@ class DashXClient {
|
|
|
10
10
|
private var anonymousUid: String?
|
|
11
11
|
private var uid: String?
|
|
12
12
|
private var deviceToken: String?
|
|
13
|
-
private var accountType: String?
|
|
14
13
|
|
|
15
14
|
private init() {
|
|
16
15
|
generateAnonymousUid()
|
|
@@ -20,10 +19,6 @@ class DashXClient {
|
|
|
20
19
|
self.deviceToken = to
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
func setAccountType(to: String) {
|
|
24
|
-
self.accountType = to
|
|
25
|
-
}
|
|
26
|
-
|
|
27
22
|
func setTargetEnvironment(to: String) {
|
|
28
23
|
ConfigInterceptor.shared.targetEnvironment = to
|
|
29
24
|
}
|
|
@@ -64,7 +59,6 @@ class DashXClient {
|
|
|
64
59
|
self.uid = optionsDictionary?["uid"]
|
|
65
60
|
|
|
66
61
|
let identifyAccountInput = DashXGql.IdentifyAccountInput(
|
|
67
|
-
accountType: accountType,
|
|
68
62
|
uid: optionsDictionary?["uid"],
|
|
69
63
|
anonymousUid: anonymousUid,
|
|
70
64
|
email: optionsDictionary?["email"],
|
|
@@ -93,13 +87,7 @@ class DashXClient {
|
|
|
93
87
|
// MARK: -- track
|
|
94
88
|
|
|
95
89
|
func track(_ event: String, withData: NSDictionary?) {
|
|
96
|
-
if accountType == nil {
|
|
97
|
-
DashXLog.d(tag: #function, "AccountType not set skipping track()")
|
|
98
|
-
return
|
|
99
|
-
}
|
|
100
|
-
|
|
101
90
|
let trackEventInput = DashXGql.TrackEventInput(
|
|
102
|
-
accountType: accountType!,
|
|
103
91
|
event: event,
|
|
104
92
|
accountUid: uid,
|
|
105
93
|
accountAnonymousUid: anonymousUid,
|
|
@@ -249,7 +237,7 @@ class DashXClient {
|
|
|
249
237
|
_ reject: @escaping RCTPromiseRejectBlock
|
|
250
238
|
) {
|
|
251
239
|
let addItemToCartInput = DashXGql.AddItemToCartInput(
|
|
252
|
-
|
|
240
|
+
accountUid: self.uid, accountAnonymousUid: self.anonymousUid, itemId: itemId, pricingId: pricingId, quantity: quantity, reset: reset, custom: custom as? [String: JSONDecodable?]
|
|
253
241
|
)
|
|
254
242
|
|
|
255
243
|
DashXLog.d(tag: #function, "Calling addItemToCart with \(addItemToCartInput)")
|
|
@@ -274,7 +262,7 @@ class DashXClient {
|
|
|
274
262
|
_ reject: @escaping RCTPromiseRejectBlock
|
|
275
263
|
) {
|
|
276
264
|
let fetchCartInput = DashXGql.FetchCartInput(
|
|
277
|
-
|
|
265
|
+
accountUid: self.uid, accountAnonymousUid: self.anonymousUid
|
|
278
266
|
)
|
|
279
267
|
|
|
280
268
|
DashXLog.d(tag: #function, "Calling fetchCart with \(fetchCartInput)")
|
package/ios/README.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# iOS Native Module
|
|
2
|
+
|
|
3
|
+
## Development
|
|
4
|
+
|
|
5
|
+
### Obtaining Graphql schema and generating Graphql operation
|
|
6
|
+
|
|
7
|
+
- Make sure to install Apollo CLI via npm:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
$ npm i -g apollo
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
- In order to generate code, Apollo requires local copy of Graphql schema, to download that:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
$ apollo schema:download --endpoint="https://api.dashx.com/graphql" schema.json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This will save a `schama.json` file in your ios directory.
|
|
20
|
+
|
|
21
|
+
- Add Graphql request in `graphql` dir.
|
|
22
|
+
|
|
23
|
+
- Regenerate `API.swift` using:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
$ apollo client:codegen --target=swift --namespace=DashXGql --localSchemaFile=schema.json --includes="graphql/*.graphql" --passthroughCustomScalars API.swift
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
For example, if you want to generate code for `FetchContent`.
|
|
30
|
+
|
|
31
|
+
- Download schema
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
$ apollo schema:download --endpoint="https://api.dashx.com/graphql" schema.json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- Add request in `graphql` dir with following contents:
|
|
38
|
+
|
|
39
|
+
```graphql
|
|
40
|
+
query FetchContent($input: FetchContentInput!) {
|
|
41
|
+
fetchContent(input: $input)
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- Re-generate API.swift so it includes the `FetchContent` operation
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
$ apollo client:codegen --target=swift --namespace=DashXGql --localSchemaFile=schema.json --includes="graphql/*.graphql" --passthroughCustomScalars API.swift
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- Now you can use FetchContent operation like so:
|
|
52
|
+
|
|
53
|
+
```swift
|
|
54
|
+
let fetchContentInput = DashXGql.FetchContentInput( // Note the DashXGql namespace
|
|
55
|
+
contentType: contentType,
|
|
56
|
+
content: content,
|
|
57
|
+
preview: preview,
|
|
58
|
+
language: language,
|
|
59
|
+
fields: fields,
|
|
60
|
+
include: include,
|
|
61
|
+
exclude: exclude
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
DashXLog.d(tag: #function, "Calling fetchContent with \(fetchContentInput)")
|
|
65
|
+
|
|
66
|
+
let fetchContentQuery = DashXGql.FetchContentQuery(input: fetchContentInput)
|
|
67
|
+
|
|
68
|
+
Network.shared.apollo.fetch(query: fetchContentQuery, cachePolicy: .returnCacheDataElseFetch) { result in
|
|
69
|
+
switch result {
|
|
70
|
+
case .success(let graphQLResult):
|
|
71
|
+
DashXLog.d(tag: #function, "Sent fetchContent with \(String(describing: graphQLResult))")
|
|
72
|
+
let content = graphQLResult.data?.fetchContent
|
|
73
|
+
resolve(content)
|
|
74
|
+
case .failure(let error):
|
|
75
|
+
DashXLog.d(tag: #function, "Encountered an error during fetchContent(): \(error)")
|
|
76
|
+
reject("", error.localizedDescription, error)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
|
package/ios/schema.json
CHANGED
|
@@ -906,18 +906,6 @@
|
|
|
906
906
|
"specifiedByUrl": null,
|
|
907
907
|
"fields": null,
|
|
908
908
|
"inputFields": [
|
|
909
|
-
{
|
|
910
|
-
"name": "accountType",
|
|
911
|
-
"description": null,
|
|
912
|
-
"type": {
|
|
913
|
-
"kind": "SCALAR",
|
|
914
|
-
"name": "String",
|
|
915
|
-
"ofType": null
|
|
916
|
-
},
|
|
917
|
-
"defaultValue": null,
|
|
918
|
-
"isDeprecated": false,
|
|
919
|
-
"deprecationReason": null
|
|
920
|
-
},
|
|
921
909
|
{
|
|
922
910
|
"name": "accountUid",
|
|
923
911
|
"description": null,
|
|
@@ -1274,18 +1262,6 @@
|
|
|
1274
1262
|
"specifiedByUrl": null,
|
|
1275
1263
|
"fields": null,
|
|
1276
1264
|
"inputFields": [
|
|
1277
|
-
{
|
|
1278
|
-
"name": "accountType",
|
|
1279
|
-
"description": null,
|
|
1280
|
-
"type": {
|
|
1281
|
-
"kind": "SCALAR",
|
|
1282
|
-
"name": "String",
|
|
1283
|
-
"ofType": null
|
|
1284
|
-
},
|
|
1285
|
-
"defaultValue": null,
|
|
1286
|
-
"isDeprecated": false,
|
|
1287
|
-
"deprecationReason": null
|
|
1288
|
-
},
|
|
1289
1265
|
{
|
|
1290
1266
|
"name": "accountUid",
|
|
1291
1267
|
"description": null,
|
|
@@ -9296,18 +9272,6 @@
|
|
|
9296
9272
|
"specifiedByUrl": null,
|
|
9297
9273
|
"fields": null,
|
|
9298
9274
|
"inputFields": [
|
|
9299
|
-
{
|
|
9300
|
-
"name": "accountType",
|
|
9301
|
-
"description": null,
|
|
9302
|
-
"type": {
|
|
9303
|
-
"kind": "SCALAR",
|
|
9304
|
-
"name": "String",
|
|
9305
|
-
"ofType": null
|
|
9306
|
-
},
|
|
9307
|
-
"defaultValue": null,
|
|
9308
|
-
"isDeprecated": false,
|
|
9309
|
-
"deprecationReason": null
|
|
9310
|
-
},
|
|
9311
9275
|
{
|
|
9312
9276
|
"name": "accountUid",
|
|
9313
9277
|
"description": null,
|
|
@@ -11221,18 +11185,6 @@
|
|
|
11221
11185
|
"specifiedByUrl": null,
|
|
11222
11186
|
"fields": null,
|
|
11223
11187
|
"inputFields": [
|
|
11224
|
-
{
|
|
11225
|
-
"name": "accountType",
|
|
11226
|
-
"description": null,
|
|
11227
|
-
"type": {
|
|
11228
|
-
"kind": "SCALAR",
|
|
11229
|
-
"name": "String",
|
|
11230
|
-
"ofType": null
|
|
11231
|
-
},
|
|
11232
|
-
"defaultValue": null,
|
|
11233
|
-
"isDeprecated": false,
|
|
11234
|
-
"deprecationReason": null
|
|
11235
|
-
},
|
|
11236
11188
|
{
|
|
11237
11189
|
"name": "uid",
|
|
11238
11190
|
"description": null,
|
|
@@ -30464,22 +30416,6 @@
|
|
|
30464
30416
|
"specifiedByUrl": null,
|
|
30465
30417
|
"fields": null,
|
|
30466
30418
|
"inputFields": [
|
|
30467
|
-
{
|
|
30468
|
-
"name": "accountType",
|
|
30469
|
-
"description": null,
|
|
30470
|
-
"type": {
|
|
30471
|
-
"kind": "NON_NULL",
|
|
30472
|
-
"name": null,
|
|
30473
|
-
"ofType": {
|
|
30474
|
-
"kind": "SCALAR",
|
|
30475
|
-
"name": "String",
|
|
30476
|
-
"ofType": null
|
|
30477
|
-
}
|
|
30478
|
-
},
|
|
30479
|
-
"defaultValue": null,
|
|
30480
|
-
"isDeprecated": false,
|
|
30481
|
-
"deprecationReason": null
|
|
30482
|
-
},
|
|
30483
30419
|
{
|
|
30484
30420
|
"name": "event",
|
|
30485
30421
|
"description": null,
|
|
@@ -35645,4 +35581,4 @@
|
|
|
35645
35581
|
}
|
|
35646
35582
|
]
|
|
35647
35583
|
}
|
|
35648
|
-
}
|
|
35584
|
+
}
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<component name="libraryTable">
|
|
2
|
-
<library name="Gradle: com.github.dashxhq:dashx-android:set-uid-in-identify-SNAPSHOT@aar">
|
|
3
|
-
<CLASSES>
|
|
4
|
-
<root url="jar://$USER_HOME$/.gradle/caches/transforms-3/6a8d8b145f5b49fbfe7cbd54ced7360d/transformed/jars/classes.jar!/" />
|
|
5
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/6a8d8b145f5b49fbfe7cbd54ced7360d/transformed/res" />
|
|
6
|
-
<root url="file://$USER_HOME$/.gradle/caches/transforms-3/6a8d8b145f5b49fbfe7cbd54ced7360d/transformed/AndroidManifest.xml" />
|
|
7
|
-
</CLASSES>
|
|
8
|
-
<JAVADOC />
|
|
9
|
-
<SOURCES />
|
|
10
|
-
</library>
|
|
11
|
-
</component>
|