@forstaglobal/react-native-mobilesdk 3.9.2-beta.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/LICENSE +13 -0
- package/README.md +158 -0
- package/android/build.gradle +110 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/mobilesdk/MobileSdkModule.kt +283 -0
- package/android/src/main/java/com/mobilesdk/MobileSdkPackage.kt +17 -0
- package/android/src/main/java/com/mobilesdk/module/MobileBridge.kt +15 -0
- package/android/src/main/java/com/mobilesdk/module/TriggerCallback.kt +60 -0
- package/ios/MobileSdk-Bridging-Header.h +2 -0
- package/ios/MobileSdk.mm +118 -0
- package/ios/MobileSdk.swift +257 -0
- package/ios/Mobilesdk.xcodeproj/project.pbxproj +351 -0
- package/ios/Mobilesdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
- package/ios/Mobilesdk.xcworkspace/contents.xcworkspacedata +10 -0
- package/ios/Mobilesdk.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/Module/Exts.swift +16 -0
- package/ios/Module/MobileTriggerCallback.swift +49 -0
- package/ios/Module/SdkEmitter.mm +5 -0
- package/ios/Module/SdkEmitter.swift +26 -0
- package/ios/Podfile +7 -0
- package/ios/Podfile.lock +16 -0
- package/lib/commonjs/index.js +161 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/models/models.js +2 -0
- package/lib/commonjs/models/models.js.map +1 -0
- package/lib/commonjs/program/triggerCallback.js +38 -0
- package/lib/commonjs/program/triggerCallback.js.map +1 -0
- package/lib/commonjs/views/surveyWebView.js +60 -0
- package/lib/commonjs/views/surveyWebView.js.map +1 -0
- package/lib/module/index.js +116 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/models/models.js +2 -0
- package/lib/module/models/models.js.map +1 -0
- package/lib/module/program/triggerCallback.js +31 -0
- package/lib/module/program/triggerCallback.js.map +1 -0
- package/lib/module/views/surveyWebView.js +50 -0
- package/lib/module/views/surveyWebView.js.map +1 -0
- package/lib/typescript/index.d.ts +39 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/models/models.d.ts +15 -0
- package/lib/typescript/models/models.d.ts.map +1 -0
- package/lib/typescript/program/triggerCallback.d.ts +20 -0
- package/lib/typescript/program/triggerCallback.d.ts.map +1 -0
- package/lib/typescript/views/surveyWebView.d.ts +17 -0
- package/lib/typescript/views/surveyWebView.d.ts.map +1 -0
- package/package.json +137 -0
- package/react-native-mobilesdk.podspec +43 -0
- package/src/index.tsx +202 -0
- package/src/models/models.ts +16 -0
- package/src/program/triggerCallback.ts +51 -0
- package/src/views/surveyWebView.tsx +69 -0
package/ios/MobileSdk.mm
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
#import <React/RCTBridgeModule.h>
|
|
2
|
+
|
|
3
|
+
@interface RCT_EXTERN_MODULE(MobileSdk, NSObject)
|
|
4
|
+
|
|
5
|
+
RCT_EXTERN_METHOD(injectWebView)
|
|
6
|
+
|
|
7
|
+
// Confirmit
|
|
8
|
+
RCT_EXTERN_METHOD(initSdk)
|
|
9
|
+
|
|
10
|
+
RCT_EXTERN_METHOD(enableLog:(BOOL)eanble)
|
|
11
|
+
|
|
12
|
+
// program
|
|
13
|
+
RCT_EXTERN_METHOD(triggerDownload:(NSString)serverId
|
|
14
|
+
withProgramKey:(NSString)programKey
|
|
15
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
16
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
17
|
+
|
|
18
|
+
RCT_EXTERN_METHOD(deleteProgram:(NSString)serverId
|
|
19
|
+
withProgramKey:(NSString)programKey
|
|
20
|
+
withDeleteCustomData:(BOOL)deleteCustomData
|
|
21
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
22
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
23
|
+
|
|
24
|
+
RCT_EXTERN_METHOD(deleteAll:(BOOL)deleteCustomData
|
|
25
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
26
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
27
|
+
|
|
28
|
+
RCT_EXTERN_METHOD(setCallback:(NSString)serverId
|
|
29
|
+
withProgramKey:(NSString)programKey)
|
|
30
|
+
|
|
31
|
+
RCT_EXTERN_METHOD(removeCallback:(NSString)serverId
|
|
32
|
+
withProgramKey:(NSString)programKey)
|
|
33
|
+
|
|
34
|
+
RCT_EXTERN_METHOD(notifyEvent:(NSString)event)
|
|
35
|
+
|
|
36
|
+
RCT_EXTERN_METHOD(notifyAppForeground:(NSDictionary)data)
|
|
37
|
+
|
|
38
|
+
RCT_EXTERN_METHOD(notifyEventWithData:(NSString)event
|
|
39
|
+
withData:(NSDictionary)data)
|
|
40
|
+
|
|
41
|
+
// servers
|
|
42
|
+
RCT_EXTERN_METHOD(getUs:(RCTPromiseResolveBlock)resolve
|
|
43
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
44
|
+
|
|
45
|
+
RCT_EXTERN_METHOD(getUk:(RCTPromiseResolveBlock)resolve
|
|
46
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
47
|
+
|
|
48
|
+
RCT_EXTERN_METHOD(getAustralia:(RCTPromiseResolveBlock)resolve
|
|
49
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
50
|
+
|
|
51
|
+
RCT_EXTERN_METHOD(getCanada:(RCTPromiseResolveBlock)resolve
|
|
52
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
53
|
+
|
|
54
|
+
RCT_EXTERN_METHOD(getGermany:(RCTPromiseResolveBlock)resolve
|
|
55
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
56
|
+
|
|
57
|
+
RCT_EXTERN_METHOD(getHxPlatform:(RCTPromiseResolveBlock)resolve
|
|
58
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
59
|
+
|
|
60
|
+
RCT_EXTERN_METHOD(getHxAustralia:(RCTPromiseResolveBlock)resolve
|
|
61
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
62
|
+
|
|
63
|
+
RCT_EXTERN_METHOD(configureUs:(NSString)clientId
|
|
64
|
+
withClientSecret:(NSString)clientSecret
|
|
65
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
66
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
67
|
+
|
|
68
|
+
RCT_EXTERN_METHOD(configureUk:(NSString)clientId
|
|
69
|
+
withClientSecret:(NSString)clientSecret
|
|
70
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
71
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
72
|
+
|
|
73
|
+
RCT_EXTERN_METHOD(configureAustralia:(NSString)clientId
|
|
74
|
+
withClientSecret:(NSString)clientSecret
|
|
75
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
76
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
77
|
+
|
|
78
|
+
RCT_EXTERN_METHOD(configureCanada:(NSString)clientId
|
|
79
|
+
withClientSecret:(NSString)clientSecret
|
|
80
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
81
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
82
|
+
|
|
83
|
+
RCT_EXTERN_METHOD(configureGermany:(NSString)clientId
|
|
84
|
+
withClientSecret:(NSString)clientSecret
|
|
85
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
86
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
87
|
+
|
|
88
|
+
RCT_EXTERN_METHOD(configureHxPlatform:(NSString)clientId
|
|
89
|
+
withClientSecret:(NSString)clientSecret
|
|
90
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
91
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
92
|
+
|
|
93
|
+
RCT_EXTERN_METHOD(configureHxAustralia:(NSString)clientId
|
|
94
|
+
withClientSecret:(NSString)clientSecret
|
|
95
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
96
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
97
|
+
|
|
98
|
+
RCT_EXTERN_METHOD(configureServer:(NSString)name
|
|
99
|
+
withHost:(NSString)host
|
|
100
|
+
withClientId:(NSString)clientId
|
|
101
|
+
withClientSecret:(NSString)clientSecret
|
|
102
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
103
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
104
|
+
|
|
105
|
+
RCT_EXTERN_METHOD(getServer:(NSString)serverId
|
|
106
|
+
withResolver:(RCTPromiseResolveBlock)resolve
|
|
107
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
108
|
+
|
|
109
|
+
RCT_EXTERN_METHOD(getServers:(RCTPromiseResolveBlock)resolve
|
|
110
|
+
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
+ (BOOL)requiresMainQueueSetup
|
|
114
|
+
{
|
|
115
|
+
return NO;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@end
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import ConfirmitMobileSDK
|
|
2
|
+
import Foundation
|
|
3
|
+
|
|
4
|
+
@objc(MobileSdk)
|
|
5
|
+
class MobileSdk: NSObject {
|
|
6
|
+
@objc(injectWebView)
|
|
7
|
+
func injectWebView() {
|
|
8
|
+
// placeholder so it is identical to Android
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Confirmit
|
|
12
|
+
@objc(initSdk)
|
|
13
|
+
func initSdk() {
|
|
14
|
+
ConfirmitSDK.Setup().configure()
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@objc(enableLog:)
|
|
18
|
+
func enableLog(enable: Bool) {
|
|
19
|
+
ConfirmitSDK.enableLog(enable: true)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Trigger
|
|
23
|
+
@objc(triggerDownload:withProgramKey:withResolver:withRejecter:)
|
|
24
|
+
func triggerDownload(serverId: String, programKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
25
|
+
TriggerSDK.download(serverId: serverId, programKey: programKey) { result, error in
|
|
26
|
+
if result {
|
|
27
|
+
resolve(result)
|
|
28
|
+
} else {
|
|
29
|
+
reject("trigger", "failed to download program", error)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@objc(deleteProgram:withProgramKey:withDeleteCustomData:withResolver:withRejecter:)
|
|
35
|
+
func deleteProgram(serverId: String, programKey: String, deleteCustomData: Bool, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
36
|
+
do {
|
|
37
|
+
try TriggerSDK.deleteProgram(serverId: serverId, programKey: programKey, deleteCustomData: deleteCustomData)
|
|
38
|
+
} catch {
|
|
39
|
+
reject("trigger", "failed to delete program \(programKey)", error)
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@objc(deleteAll:withResolver:withRejecter:)
|
|
44
|
+
func deleteAll(deleteCustomData: Bool, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
45
|
+
do {
|
|
46
|
+
try TriggerSDK.deleteAll(deleteCustomData: deleteCustomData)
|
|
47
|
+
} catch {
|
|
48
|
+
reject("trigger", "failed to delete all programs", error)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@objc(setCallback:withProgramKey:)
|
|
53
|
+
func setCallback(serverId: String, programKey: String) {
|
|
54
|
+
TriggerSDK.setCallback(serverId: serverId, programKey: programKey, callback: MobileTriggerCallback(serverId: serverId, programKey: programKey))
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@objc(removeCallback:withProgramKey:)
|
|
58
|
+
func removeCallback(serverId: String, programKey: String) {
|
|
59
|
+
TriggerSDK.removeCallback(serverId: serverId, programKey: programKey)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@objc(notifyEventWithData:withData:)
|
|
63
|
+
func notifyEventWithData(event: String, data: NSDictionary) {
|
|
64
|
+
DispatchQueue.main.async {
|
|
65
|
+
TriggerSDK.notifyEvent(event: event, data: data.swiftDictionary)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@objc(notifyEvent:)
|
|
70
|
+
func notifyEvent(event: String) {
|
|
71
|
+
DispatchQueue.main.async {
|
|
72
|
+
TriggerSDK.notifyEvent(event: event)
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@objc(notifyAppForeground:)
|
|
77
|
+
func notifyAppForeground(data: NSDictionary) {
|
|
78
|
+
TriggerSDK.notifyAppForeground(data: data.swiftDictionary)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Servers
|
|
82
|
+
@objc(getUs:withRejecter:)
|
|
83
|
+
func getUs(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
84
|
+
guard let server = ConfirmitServer.us else {
|
|
85
|
+
reject("server", "US is not configured", nil)
|
|
86
|
+
return
|
|
87
|
+
}
|
|
88
|
+
resolve(transformServer(server: server))
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@objc(getUk:withRejecter:)
|
|
92
|
+
func getUk(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
93
|
+
guard let server = ConfirmitServer.uk else {
|
|
94
|
+
reject("server", "UK is not configured", nil)
|
|
95
|
+
return
|
|
96
|
+
}
|
|
97
|
+
resolve(transformServer(server: server))
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@objc(getAustralia:withRejecter:)
|
|
101
|
+
func getAustralia(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
102
|
+
guard let server = ConfirmitServer.australia else {
|
|
103
|
+
reject("server", "Australia is not configured", nil)
|
|
104
|
+
return
|
|
105
|
+
}
|
|
106
|
+
resolve(transformServer(server: server))
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@objc(getCanada:withRejecter:)
|
|
110
|
+
func getCanada(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
111
|
+
guard let server = ConfirmitServer.canada else {
|
|
112
|
+
reject("server", "Canada is not configured", nil)
|
|
113
|
+
return
|
|
114
|
+
}
|
|
115
|
+
resolve(transformServer(server: server))
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@objc(getGermany:withRejecter:)
|
|
119
|
+
func getGermany(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
120
|
+
guard let server = ConfirmitServer.germany else {
|
|
121
|
+
reject("server", "Germany is not configured", nil)
|
|
122
|
+
return
|
|
123
|
+
}
|
|
124
|
+
resolve(transformServer(server: server))
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
@objc(getHxPlatform:withRejecter:)
|
|
128
|
+
func getHxPlatform(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
129
|
+
guard let server = ConfirmitServer.hxPlatform else {
|
|
130
|
+
reject("server", "HX Platform is not configured", nil)
|
|
131
|
+
return
|
|
132
|
+
}
|
|
133
|
+
resolve(transformServer(server: server))
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@objc(getHxAustralia:withRejecter:)
|
|
137
|
+
func getHxAustralia(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
138
|
+
guard let server = ConfirmitServer.hxAustralia else {
|
|
139
|
+
reject("server", "HX Australia is not configured", nil)
|
|
140
|
+
return
|
|
141
|
+
}
|
|
142
|
+
resolve(transformServer(server: server))
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@objc(configureUs:withClientSecret:withResolver:withRejecter:)
|
|
146
|
+
func configureUs(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
147
|
+
do {
|
|
148
|
+
try ConfirmitServer.configureUS(clientId: clientId, clientSecret: clientSecret)
|
|
149
|
+
resolve(nil)
|
|
150
|
+
} catch {
|
|
151
|
+
reject("server", "Failed to configure US", error)
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@objc(configureUk:withClientSecret:withResolver:withRejecter:)
|
|
156
|
+
func configureUk(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
157
|
+
do {
|
|
158
|
+
try ConfirmitServer.configureUK(clientId: clientId, clientSecret: clientSecret)
|
|
159
|
+
resolve(nil)
|
|
160
|
+
} catch {
|
|
161
|
+
reject("server", "Failed to configure UK", error)
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@objc(configureAustralia:withClientSecret:withResolver:withRejecter:)
|
|
166
|
+
func configureAustralia(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
167
|
+
do {
|
|
168
|
+
try ConfirmitServer.configureAustralia(clientId: clientId, clientSecret: clientSecret)
|
|
169
|
+
resolve(nil)
|
|
170
|
+
} catch {
|
|
171
|
+
reject("server", "Failed to configure Australia", error)
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
@objc(configureCanada:withClientSecret:withResolver:withRejecter:)
|
|
176
|
+
func configureCanada(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
177
|
+
do {
|
|
178
|
+
try ConfirmitServer.configureCanada(clientId: clientId, clientSecret: clientSecret)
|
|
179
|
+
resolve(nil)
|
|
180
|
+
} catch {
|
|
181
|
+
reject("server", "Failed to configure Canada", error)
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
@objc(configureGermany:withClientSecret:withResolver:withRejecter:)
|
|
186
|
+
func configureGermany(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
187
|
+
do {
|
|
188
|
+
try ConfirmitServer.configureGermany(clientId: clientId, clientSecret: clientSecret)
|
|
189
|
+
resolve(nil)
|
|
190
|
+
} catch {
|
|
191
|
+
reject("server", "Failed to configure Germany", error)
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
@objc(configureHxPlatform:withClientSecret:withResolver:withRejecter:)
|
|
196
|
+
func configureHxPlatform(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
197
|
+
do {
|
|
198
|
+
try ConfirmitServer.configureHxPlatform(clientId: clientId, clientSecret: clientSecret)
|
|
199
|
+
resolve(nil)
|
|
200
|
+
} catch {
|
|
201
|
+
reject("server", "Failed to configure Hx Platform", error)
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@objc(configureHxAustralia:withClientSecret:withResolver:withRejecter:)
|
|
206
|
+
func configureHxAustralia(clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
207
|
+
do {
|
|
208
|
+
try ConfirmitServer.configureHxAustralia(clientId: clientId, clientSecret: clientSecret)
|
|
209
|
+
resolve(nil)
|
|
210
|
+
} catch {
|
|
211
|
+
reject("server", "Failed to configure Hx Australia", error)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@objc(configureServer:withHost:withClientId:withClientSecret:withResolver:withRejecter:)
|
|
216
|
+
func configureServer(name: String, host: String, clientId: String, clientSecret: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
217
|
+
do {
|
|
218
|
+
let server = try ConfirmitServer.configure(name: name, host: host, clientId: clientId, clientSecret: clientSecret)
|
|
219
|
+
resolve(transformServer(server: server))
|
|
220
|
+
} catch {
|
|
221
|
+
reject("server", "failed to configure srvers", error)
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
@objc(getServer:withResolver:withRejecter:)
|
|
226
|
+
func getServer(serverId: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
227
|
+
do {
|
|
228
|
+
if let server = try ConfirmitServer.getServer(serverId: serverId) {
|
|
229
|
+
resolve(transformServer(server: server))
|
|
230
|
+
}
|
|
231
|
+
} catch {
|
|
232
|
+
reject("server", "failed to get servers", error)
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
@objc(getServers:withRejecter:)
|
|
237
|
+
func getServers(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
238
|
+
do {
|
|
239
|
+
let servers = try ConfirmitServer.getServers()
|
|
240
|
+
var result: [[String: String]] = []
|
|
241
|
+
for server in servers {
|
|
242
|
+
result.append(transformServer(server: server))
|
|
243
|
+
}
|
|
244
|
+
resolve(result)
|
|
245
|
+
} catch {
|
|
246
|
+
reject("server", "failed to get servers", error)
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
private func transformServer(server: Server) -> [String: String] {
|
|
251
|
+
return [
|
|
252
|
+
"host": server.host,
|
|
253
|
+
"name": server.name,
|
|
254
|
+
"serverId": server.serverId
|
|
255
|
+
]
|
|
256
|
+
}
|
|
257
|
+
}
|