react-native-authsignal 1.3.8 → 1.5.0-alpha1

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.
@@ -77,5 +77,5 @@ dependencies {
77
77
 
78
78
  implementation "androidx.browser:browser:1.2.0"
79
79
 
80
- implementation("com.authsignal:authsignal-android:2.2.12")
80
+ implementation("com.authsignal:authsignal-android:2.4.0-alpha4")
81
81
  }
@@ -14,7 +14,8 @@ class AuthsignalPackage : ReactPackage {
14
14
  AuthsignalPushModule(reactContext),
15
15
  AuthsignalDeviceModule(reactContext),
16
16
  AuthsignalSMSModule(reactContext),
17
- AuthsignalTOTPModule(reactContext)
17
+ AuthsignalTOTPModule(reactContext),
18
+ AuthsignalWhatsappModule(reactContext)
18
19
  )
19
20
  }
20
21
 
@@ -29,11 +29,11 @@ class AuthsignalPasskeyModule(private val reactContext: ReactApplicationContext)
29
29
  }
30
30
 
31
31
  @ReactMethod
32
- fun initialize(tenantID: String, baseURL: String, promise: Promise) {
32
+ fun initialize(tenantID: String, baseURL: String, deviceID: String?, promise: Promise) {
33
33
  val activity = reactContext.currentActivity
34
34
 
35
35
  if (activity != null) {
36
- authsignal = AuthsignalPasskey(tenantID, baseURL, activity)
36
+ authsignal = AuthsignalPasskey(tenantID, baseURL, activity, deviceID)
37
37
  }
38
38
 
39
39
  promise.resolve(null)
@@ -0,0 +1,98 @@
1
+ package com.authsignal.react
2
+
3
+ import android.util.Log
4
+ import com.authsignal.models.AuthsignalResponse
5
+ import com.authsignal.models.ChallengeResponse
6
+ import com.authsignal.models.EnrollResponse
7
+ import com.authsignal.models.VerifyResponse
8
+ import com.authsignal.whatsapp.AuthsignalWhatsapp
9
+ import com.facebook.react.bridge.Arguments
10
+ import com.facebook.react.bridge.Promise
11
+ import com.facebook.react.bridge.ReactApplicationContext
12
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
13
+ import com.facebook.react.bridge.ReactMethod
14
+ import kotlinx.coroutines.CoroutineScope
15
+ import kotlinx.coroutines.Dispatchers
16
+ import kotlinx.coroutines.SupervisorJob
17
+ import kotlinx.coroutines.launch
18
+ import java.util.function.Consumer
19
+
20
+ class AuthsignalWhatsappModule(private val reactContext: ReactApplicationContext) :
21
+ ReactContextBaseJavaModule(
22
+ reactContext
23
+ ) {
24
+ private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
25
+ private var authsignal: AuthsignalWhatsapp? = null
26
+ private val defaultError = "unexpected_error"
27
+
28
+ override fun getConstants(): Map<String, Any>? {
29
+ val constants: MutableMap<String, Any> = HashMap()
30
+ constants["bundleIdentifier"] = reactContext.applicationInfo.packageName
31
+ return constants
32
+ }
33
+
34
+ override fun getName(): String {
35
+ return "AuthsignalWhatsappModule"
36
+ }
37
+
38
+ @ReactMethod
39
+ fun initialize(tenantID: String, baseURL: String, promise: Promise) {
40
+ val currentActivity = reactContext.currentActivity
41
+
42
+ if (currentActivity != null) {
43
+ authsignal = AuthsignalWhatsapp(tenantID, baseURL)
44
+ }
45
+
46
+ promise.resolve(null)
47
+ }
48
+
49
+ @ReactMethod
50
+ fun challenge(promise: Promise) {
51
+ launch(promise) {
52
+ val response = it.challenge()
53
+
54
+ if (response.error != null) {
55
+ val errorCode = response.errorCode ?: defaultError
56
+
57
+ promise.reject(errorCode, response.error)
58
+ } else {
59
+ val challengeResponse = response.data
60
+ val map = Arguments.createMap()
61
+ map.putString("challengeId", challengeResponse!!.challengeId)
62
+ promise.resolve(map)
63
+ }
64
+ }
65
+ }
66
+
67
+ @ReactMethod
68
+ fun verify(code: String, promise: Promise) {
69
+ launch(promise) {
70
+ val response = it.verify(code)
71
+
72
+ if (response.error != null) {
73
+ val errorCode = response.errorCode ?: defaultError
74
+
75
+ promise.reject(errorCode, response.error)
76
+ } else {
77
+ val verifyResponse = response.data
78
+ val map = Arguments.createMap()
79
+ map.putBoolean("isVerified", verifyResponse!!.isVerified)
80
+ map.putString("token", verifyResponse.token)
81
+ map.putString("failureReason", verifyResponse.failureReason)
82
+ promise.resolve(map)
83
+ }
84
+ }
85
+ }
86
+
87
+ private fun launch(promise: Promise, fn: suspend (client: AuthsignalWhatsapp) -> Unit) {
88
+ coroutineScope.launch {
89
+ authsignal?.let {
90
+ fn(it)
91
+ } ?: run {
92
+ Log.w("init_error", "AuthsignalWhatsappModule is not initialized.")
93
+
94
+ promise.resolve(null)
95
+ }
96
+ }
97
+ }
98
+ }
@@ -35,6 +35,8 @@
35
35
  D8EC5CD72A4D1EE90085B442 /* Authsignal-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Authsignal-Bridging-Header.h"; sourceTree = "<group>"; };
36
36
  DDDCE5EE2DDD8E5B0095B3F2 /* AuthsignalDeviceModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AuthsignalDeviceModule.m; sourceTree = "<group>"; };
37
37
  DDDCE5EF2DDD8E5B0095B3F2 /* AuthsignalDeviceModule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthsignalDeviceModule.swift; sourceTree = "<group>"; };
38
+ DDDD1001AAAA1111BBBB2222 /* AuthsignalWhatsappModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AuthsignalWhatsappModule.m; sourceTree = "<group>"; };
39
+ DDDD1002AAAA1111BBBB2222 /* AuthsignalWhatsappModule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthsignalWhatsappModule.swift; sourceTree = "<group>"; };
38
40
  /* End PBXFileReference section */
39
41
 
40
42
  /* Begin PBXFrameworksBuildPhase section */
@@ -74,6 +76,8 @@
74
76
  D8EC5CD42A4D1EE00085B442 /* AuthsignalPushModule.swift */,
75
77
  DDDCE5EE2DDD8E5B0095B3F2 /* AuthsignalDeviceModule.m */,
76
78
  DDDCE5EF2DDD8E5B0095B3F2 /* AuthsignalDeviceModule.swift */,
79
+ DDDD1001AAAA1111BBBB2222 /* AuthsignalWhatsappModule.m */,
80
+ DDDD1002AAAA1111BBBB2222 /* AuthsignalWhatsappModule.swift */,
77
81
  134814211AA4EA7D00B7C361 /* Products */,
78
82
  );
79
83
  sourceTree = "<group>";
@@ -5,6 +5,7 @@
5
5
 
6
6
  RCT_EXTERN_METHOD(initialize:(NSString)tenantID
7
7
  withBaseURL:(NSString)baseURL
8
+ withDeviceID:(NSString)deviceID
8
9
  resolver:(RCTPromiseResolveBlock)resolve
9
10
  rejecter:(RCTPromiseRejectBlock)reject)
10
11
 
@@ -13,10 +13,11 @@ class AuthsignalPasskeyModule: NSObject {
13
13
  @objc func initialize(
14
14
  _ tenantID: NSString,
15
15
  withBaseURL baseURL: NSString,
16
+ withDeviceID deviceID: NSString?,
16
17
  resolver resolve: @escaping RCTPromiseResolveBlock,
17
18
  rejecter reject: @escaping RCTPromiseRejectBlock
18
19
  ) -> Void {
19
- self.authsignal = AuthsignalPasskey(tenantID: tenantID as String, baseURL: baseURL as String)
20
+ self.authsignal = AuthsignalPasskey(tenantID: tenantID as String, baseURL: baseURL as String, deviceID: deviceID as String?)
20
21
 
21
22
  resolve(nil)
22
23
  }
@@ -0,0 +1,18 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <Foundation/Foundation.h>
3
+
4
+ @interface RCT_EXTERN_MODULE(AuthsignalWhatsappModule, NSObject)
5
+
6
+ RCT_EXTERN_METHOD(initialize:(NSString)tenantID
7
+ withBaseURL:(NSString)baseURL
8
+ resolver:(RCTPromiseResolveBlock)resolve
9
+ rejecter:(RCTPromiseRejectBlock)reject)
10
+
11
+ RCT_EXTERN_METHOD(challenge:(RCTPromiseResolveBlock)resolve
12
+ rejecter:(RCTPromiseRejectBlock)reject)
13
+
14
+ RCT_EXTERN_METHOD(verify:(NSString)code
15
+ resolver:(RCTPromiseResolveBlock)resolve
16
+ rejecter:(RCTPromiseRejectBlock)reject)
17
+
18
+ @end
@@ -0,0 +1,76 @@
1
+ import Security
2
+ import Foundation
3
+ import Authsignal
4
+
5
+ @objc(AuthsignalWhatsappModule)
6
+ class AuthsignalWhatsappModule: NSObject {
7
+ var authsignal: AuthsignalWhatsapp?
8
+
9
+ @objc static func requiresMainQueueSetup() -> Bool {
10
+ return true
11
+ }
12
+
13
+ @objc func initialize(
14
+ _ tenantID: NSString,
15
+ withBaseURL baseURL: NSString,
16
+ resolver resolve: @escaping RCTPromiseResolveBlock,
17
+ rejecter reject: @escaping RCTPromiseRejectBlock
18
+ ) -> Void {
19
+ self.authsignal = AuthsignalWhatsapp(tenantID: tenantID as String, baseURL: baseURL as String)
20
+
21
+ resolve(nil)
22
+ }
23
+
24
+ @objc func challenge(
25
+ _ resolve: @escaping RCTPromiseResolveBlock,
26
+ rejecter reject: @escaping RCTPromiseRejectBlock
27
+ ) -> Void {
28
+ if (authsignal == nil) {
29
+ resolve(nil)
30
+ return
31
+ }
32
+
33
+ Task.init {
34
+ let response = await authsignal!.challenge()
35
+
36
+ if (response.error != nil) {
37
+ reject(response.errorCode ?? "unexpected_error", response.error, nil)
38
+ } else {
39
+ let challengeResponse: [String: String?] = [
40
+ "challengeId": response.data!.challengeId,
41
+ ]
42
+
43
+ resolve(challengeResponse)
44
+ }
45
+ }
46
+ }
47
+
48
+ @objc func verify(
49
+ _ code: NSString,
50
+ resolver resolve: @escaping RCTPromiseResolveBlock,
51
+ rejecter reject: @escaping RCTPromiseRejectBlock
52
+ ) -> Void {
53
+ if (authsignal == nil) {
54
+ resolve(nil)
55
+ return
56
+ }
57
+
58
+ let codeStr = code as String
59
+
60
+ Task.init {
61
+ let response = await authsignal!.verify(code: codeStr)
62
+
63
+ if (response.error != nil) {
64
+ reject(response.errorCode ?? "unexpected_error", response.error, nil)
65
+ } else {
66
+ let verifyResponse: [String: Any?] = [
67
+ "isVerified": response.data!.isVerified,
68
+ "token": response.data!.token,
69
+ "failureReason": response.data!.failureReason,
70
+ ]
71
+
72
+ resolve(verifyResponse)
73
+ }
74
+ }
75
+ }
76
+ }
@@ -24,6 +24,7 @@ var _push = require("./push");
24
24
  var _sms = require("./sms");
25
25
  var _totp = require("./totp");
26
26
  var _device = require("./device");
27
+ var _whatsapp = require("./whatsapp");
27
28
  var _types = require("./types");
28
29
  Object.keys(_types).forEach(function (key) {
29
30
  if (key === "default" || key === "__esModule") return;
@@ -47,6 +48,7 @@ class Authsignal {
47
48
  let {
48
49
  tenantID,
49
50
  baseURL = 'https://api.authsignal.com/v1',
51
+ deviceID,
50
52
  enableLogging = __DEV__
51
53
  } = _ref;
52
54
  _defineProperty(this, "tenantID", void 0);
@@ -58,15 +60,17 @@ class Authsignal {
58
60
  _defineProperty(this, "device", void 0);
59
61
  _defineProperty(this, "sms", void 0);
60
62
  _defineProperty(this, "totp", void 0);
63
+ _defineProperty(this, "whatsapp", void 0);
61
64
  this.tenantID = tenantID;
62
65
  this.baseURL = baseURL;
63
66
  this.enableLogging = enableLogging;
64
- this.email = new _email.AuthsignalEmail({
67
+ this.passkey = new _passkey.AuthsignalPasskey({
65
68
  tenantID,
66
69
  baseURL,
70
+ deviceID,
67
71
  enableLogging
68
72
  });
69
- this.passkey = new _passkey.AuthsignalPasskey({
73
+ this.email = new _email.AuthsignalEmail({
70
74
  tenantID,
71
75
  baseURL,
72
76
  enableLogging
@@ -91,6 +95,11 @@ class Authsignal {
91
95
  baseURL,
92
96
  enableLogging
93
97
  });
98
+ this.whatsapp = new _whatsapp.AuthsignalWhatsapp({
99
+ tenantID,
100
+ baseURL,
101
+ enableLogging
102
+ });
94
103
  }
95
104
  async setToken(token) {
96
105
  await AuthsignalModule.setToken(token);
@@ -1 +1 @@
1
- {"version":3,"names":["AuthsignalModule","NativeModules","Proxy","get","Error","LINKING_ERROR","Authsignal","constructor","tenantID","baseURL","enableLogging","__DEV__","email","AuthsignalEmail","passkey","AuthsignalPasskey","push","AuthsignalPush","device","AuthsignalDevice","sms","AuthsignalSms","totp","AuthsignalTotp","setToken","token","launch","url","Platform","OS","Promise","resolve","reject","callback","error"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAwB;AAGxB,MAAMA,gBAAgB,GAAGC,0BAAa,CAACD,gBAAgB,GACnDC,0BAAa,CAACD,gBAAgB,GAC9B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACC,oBAAa,CAAC;EAChC;AACF,CAAC,CACF;AAQE,MAAMC,UAAU,CAAC;EAYtBC,WAAW,OAIS;IAAA,IAJR;MACVC,QAAQ;MACRC,OAAO,GAAG,+BAA+B;MACzCC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,KAAK,GAAG,IAAIC,sBAAe,CAAC;MAAEL,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IACtE,IAAI,CAACI,OAAO,GAAG,IAAIC,0BAAiB,CAAC;MAAEP,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAC1E,IAAI,CAACM,IAAI,GAAG,IAAIC,oBAAc,CAAC;MAAET,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IACpE,IAAI,CAACQ,MAAM,GAAG,IAAIC,wBAAgB,CAAC;MAAEX,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IACxE,IAAI,CAACU,GAAG,GAAG,IAAIC,kBAAa,CAAC;MAAEb,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAClE,IAAI,CAACY,IAAI,GAAG,IAAIC,oBAAc,CAAC;MAAEf,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;EACtE;EAEA,MAAMc,QAAQ,CAACC,KAAa,EAAiB;IAC3C,MAAMzB,gBAAgB,CAACwB,QAAQ,CAACC,KAAK,CAAC;EACxC;EAEA,MAAMC,MAAM,CAACC,GAAW,EAA0B;IAChD,OAAO,MAAMD,MAAM,CAACC,GAAG,CAAC;EAC1B;AACF;AAAC;AAEM,SAASD,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO7B,gBAAgB,CAAC0B,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAET,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTM,OAAO,CAACN,KAAK,CAAC;QAChB,CAAC,MAAM,IAAIS,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDhC,gBAAgB,CAAC0B,MAAM,CAACC,GAAG,EAAEM,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"names":["AuthsignalModule","NativeModules","Proxy","get","Error","LINKING_ERROR","Authsignal","constructor","tenantID","baseURL","deviceID","enableLogging","__DEV__","passkey","AuthsignalPasskey","email","AuthsignalEmail","push","AuthsignalPush","device","AuthsignalDevice","sms","AuthsignalSms","totp","AuthsignalTotp","whatsapp","AuthsignalWhatsapp","setToken","token","launch","url","Platform","OS","Promise","resolve","reject","callback","error"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAwB;AAGxB,MAAMA,gBAAgB,GAAGC,0BAAa,CAACD,gBAAgB,GACnDC,0BAAa,CAACD,gBAAgB,GAC9B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACC,oBAAa,CAAC;EAChC;AACF,CAAC,CACF;AASE,MAAMC,UAAU,CAAC;EAatBC,WAAW,OAKS;IAAA,IALR;MACVC,QAAQ;MACRC,OAAO,GAAG,+BAA+B;MACzCC,QAAQ;MACRC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACJ,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,OAAO,GAAG,IAAIC,0BAAiB,CAAC;MACnCN,QAAQ;MACRC,OAAO;MACPC,QAAQ;MACRC;IACF,CAAC,CAAC;IAEF,IAAI,CAACI,KAAK,GAAG,IAAIC,sBAAe,CAAC;MAAER,QAAQ;MAAEC,OAAO;MAAEE;IAAc,CAAC,CAAC;IACtE,IAAI,CAACM,IAAI,GAAG,IAAIC,oBAAc,CAAC;MAAEV,QAAQ;MAAEC,OAAO;MAAEE;IAAc,CAAC,CAAC;IACpE,IAAI,CAACQ,MAAM,GAAG,IAAIC,wBAAgB,CAAC;MAAEZ,QAAQ;MAAEC,OAAO;MAAEE;IAAc,CAAC,CAAC;IACxE,IAAI,CAACU,GAAG,GAAG,IAAIC,kBAAa,CAAC;MAAEd,QAAQ;MAAEC,OAAO;MAAEE;IAAc,CAAC,CAAC;IAClE,IAAI,CAACY,IAAI,GAAG,IAAIC,oBAAc,CAAC;MAAEhB,QAAQ;MAAEC,OAAO;MAAEE;IAAc,CAAC,CAAC;IACpE,IAAI,CAACc,QAAQ,GAAG,IAAIC,4BAAkB,CAAC;MACrClB,QAAQ;MACRC,OAAO;MACPE;IACF,CAAC,CAAC;EACJ;EAEA,MAAMgB,QAAQ,CAACC,KAAa,EAAiB;IAC3C,MAAM5B,gBAAgB,CAAC2B,QAAQ,CAACC,KAAK,CAAC;EACxC;EAEA,MAAMC,MAAM,CAACC,GAAW,EAA0B;IAChD,OAAO,MAAMD,MAAM,CAACC,GAAG,CAAC;EAC1B;AACF;AAAC;AAEM,SAASD,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOhC,gBAAgB,CAAC6B,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAET,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTM,OAAO,CAACN,KAAK,CAAC;QAChB,CAAC,MAAM,IAAIS,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDnC,gBAAgB,CAAC6B,MAAM,CAACC,GAAG,EAAEM,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
@@ -19,13 +19,16 @@ class AuthsignalPasskey {
19
19
  let {
20
20
  tenantID,
21
21
  baseURL,
22
+ deviceID,
22
23
  enableLogging
23
24
  } = _ref;
24
25
  _defineProperty(this, "tenantID", void 0);
25
26
  _defineProperty(this, "baseURL", void 0);
27
+ _defineProperty(this, "deviceID", void 0);
26
28
  _defineProperty(this, "enableLogging", void 0);
27
29
  this.tenantID = tenantID;
28
30
  this.baseURL = baseURL;
31
+ this.deviceID = deviceID;
29
32
  this.enableLogging = enableLogging;
30
33
  }
31
34
  async signUp() {
@@ -97,7 +100,7 @@ class AuthsignalPasskey {
97
100
  if (initialized) {
98
101
  return;
99
102
  }
100
- await AuthsignalPasskeyModule.initialize(this.tenantID, this.baseURL);
103
+ await AuthsignalPasskeyModule.initialize(this.tenantID, this.baseURL, this.deviceID);
101
104
  initialized = true;
102
105
  }
103
106
  }
@@ -1 +1 @@
1
- {"version":3,"names":["initialized","autofillRequestPending","AuthsignalPasskeyModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","username","displayName","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","signIn","action","autofill","preferImmediatelyAvailableCredentials","Platform","OS","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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"}
1
+ {"version":3,"names":["initialized","autofillRequestPending","AuthsignalPasskeyModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPasskey","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","signIn","action","autofill","preferImmediatelyAvailableCredentials","Platform","OS","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AuthsignalWhatsapp = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _error = require("./error");
9
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
+ let initialized = false;
11
+ const AuthsignalWhatsappModule = _reactNative.NativeModules.AuthsignalWhatsappModule ? _reactNative.NativeModules.AuthsignalWhatsappModule : new Proxy({}, {
12
+ get() {
13
+ throw new Error(_error.LINKING_ERROR);
14
+ }
15
+ });
16
+ class AuthsignalWhatsapp {
17
+ constructor(_ref) {
18
+ let {
19
+ tenantID,
20
+ baseURL,
21
+ enableLogging
22
+ } = _ref;
23
+ _defineProperty(this, "tenantID", void 0);
24
+ _defineProperty(this, "baseURL", void 0);
25
+ _defineProperty(this, "enableLogging", void 0);
26
+ this.tenantID = tenantID;
27
+ this.baseURL = baseURL;
28
+ this.enableLogging = enableLogging;
29
+ }
30
+ async challenge() {
31
+ await this.ensureModuleIsInitialized();
32
+ try {
33
+ await AuthsignalWhatsappModule.challenge();
34
+ return {};
35
+ } catch (ex) {
36
+ return this.handleError(ex);
37
+ }
38
+ }
39
+ async verify(_ref2) {
40
+ let {
41
+ code
42
+ } = _ref2;
43
+ await this.ensureModuleIsInitialized();
44
+ try {
45
+ const data = await AuthsignalWhatsappModule.verify(code);
46
+ return {
47
+ data
48
+ };
49
+ } catch (ex) {
50
+ return this.handleError(ex);
51
+ }
52
+ }
53
+ async ensureModuleIsInitialized() {
54
+ if (initialized) {
55
+ return;
56
+ }
57
+ await AuthsignalWhatsappModule.initialize(this.tenantID, this.baseURL);
58
+ initialized = true;
59
+ }
60
+ handleError(ex) {
61
+ if (this.enableLogging) {
62
+ console.log(ex);
63
+ }
64
+ return (0, _error.handleErrorCodes)(ex);
65
+ }
66
+ }
67
+ exports.AuthsignalWhatsapp = AuthsignalWhatsapp;
68
+ //# sourceMappingURL=whatsapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["initialized","AuthsignalWhatsappModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalWhatsapp","constructor","tenantID","baseURL","enableLogging","challenge","ensureModuleIsInitialized","ex","handleError","verify","code","data","initialize","console","log","handleErrorCodes"],"sourceRoot":"../../src","sources":["whatsapp.ts"],"mappings":";;;;;;AAAA;AACA;AAA0D;AAS1D,IAAIA,WAAW,GAAG,KAAK;AAEvB,MAAMC,wBAAwB,GAAGC,0BAAa,CAACD,wBAAwB,GACnEC,0BAAa,CAACD,wBAAwB,GACtC,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACC,oBAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEE,MAAMC,kBAAkB,CAAC;EAK9BC,WAAW,OAAwD;IAAA,IAAvD;MAAEC,QAAQ;MAAEC,OAAO;MAAEC;IAA+B,CAAC;IAAA;IAAA;IAAA;IAC/D,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,SAAS,GAAsC;IACnD,MAAM,IAAI,CAACC,yBAAyB,EAAE;IAEtC,IAAI;MACF,MAAMZ,wBAAwB,CAACW,SAAS,EAAE;MAE1C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,OAAOE,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEA,MAAME,MAAM,QAEiD;IAAA,IAFhD;MACXC;IACW,CAAC;IACZ,MAAM,IAAI,CAACJ,yBAAyB,EAAE;IAEtC,IAAI;MACF,MAAMK,IAAI,GAAG,MAAMjB,wBAAwB,CAACe,MAAM,CAACC,IAAI,CAAC;MAExD,OAAO;QAAEC;MAAK,CAAC;IACjB,CAAC,CAAC,OAAOJ,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEA,MAAcD,yBAAyB,GAAG;IACxC,IAAIb,WAAW,EAAE;MACf;IACF;IAEA,MAAMC,wBAAwB,CAACkB,UAAU,CAAC,IAAI,CAACV,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAEtEV,WAAW,GAAG,IAAI;EACpB;EAEQe,WAAW,CAACD,EAAW,EAAE;IAC/B,IAAI,IAAI,CAACH,aAAa,EAAE;MACtBS,OAAO,CAACC,GAAG,CAACP,EAAE,CAAC;IACjB;IAEA,OAAO,IAAAQ,uBAAgB,EAACR,EAAE,CAAC;EAC7B;AACF;AAAC"}
@@ -7,6 +7,7 @@ import { AuthsignalPush } from './push';
7
7
  import { AuthsignalSms } from './sms';
8
8
  import { AuthsignalTotp } from './totp';
9
9
  import { AuthsignalDevice } from './device';
10
+ import { AuthsignalWhatsapp } from './whatsapp';
10
11
  export * from './types';
11
12
  export { ErrorCode } from './error';
12
13
  const AuthsignalModule = NativeModules.AuthsignalModule ? NativeModules.AuthsignalModule : new Proxy({}, {
@@ -19,6 +20,7 @@ export class Authsignal {
19
20
  let {
20
21
  tenantID,
21
22
  baseURL = 'https://api.authsignal.com/v1',
23
+ deviceID,
22
24
  enableLogging = __DEV__
23
25
  } = _ref;
24
26
  _defineProperty(this, "tenantID", void 0);
@@ -30,15 +32,17 @@ export class Authsignal {
30
32
  _defineProperty(this, "device", void 0);
31
33
  _defineProperty(this, "sms", void 0);
32
34
  _defineProperty(this, "totp", void 0);
35
+ _defineProperty(this, "whatsapp", void 0);
33
36
  this.tenantID = tenantID;
34
37
  this.baseURL = baseURL;
35
38
  this.enableLogging = enableLogging;
36
- this.email = new AuthsignalEmail({
39
+ this.passkey = new AuthsignalPasskey({
37
40
  tenantID,
38
41
  baseURL,
42
+ deviceID,
39
43
  enableLogging
40
44
  });
41
- this.passkey = new AuthsignalPasskey({
45
+ this.email = new AuthsignalEmail({
42
46
  tenantID,
43
47
  baseURL,
44
48
  enableLogging
@@ -63,6 +67,11 @@ export class Authsignal {
63
67
  baseURL,
64
68
  enableLogging
65
69
  });
70
+ this.whatsapp = new AuthsignalWhatsapp({
71
+ tenantID,
72
+ baseURL,
73
+ enableLogging
74
+ });
66
75
  }
67
76
  async setToken(token) {
68
77
  await AuthsignalModule.setToken(token);
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","AuthsignalEmail","AuthsignalPasskey","AuthsignalPush","AuthsignalSms","AuthsignalTotp","AuthsignalDevice","ErrorCode","AuthsignalModule","Proxy","get","Error","Authsignal","constructor","tenantID","baseURL","enableLogging","__DEV__","email","passkey","push","device","sms","totp","setToken","token","launch","url","OS","Promise","resolve","reject","callback","error"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,eAAe,QAAQ,SAAS;AACzC,SAASC,iBAAiB,QAAQ,WAAW;AAC7C,SAASC,cAAc,QAAQ,QAAQ;AACvC,SAASC,aAAa,QAAQ,OAAO;AACrC,SAASC,cAAc,QAAQ,QAAQ;AACvC,SAASC,gBAAgB,QAAQ,UAAU;AAE3C,cAAc,SAAS;AACvB,SAASC,SAAS,QAAQ,SAAS;AAEnC,MAAMC,gBAAgB,GAAGV,aAAa,CAACU,gBAAgB,GACnDV,aAAa,CAACU,gBAAgB,GAC9B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACX,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAQL,OAAO,MAAMY,UAAU,CAAC;EAYtBC,WAAW,OAIS;IAAA,IAJR;MACVC,QAAQ;MACRC,OAAO,GAAG,+BAA+B;MACzCC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,KAAK,GAAG,IAAIjB,eAAe,CAAC;MAAEa,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IACtE,IAAI,CAACG,OAAO,GAAG,IAAIjB,iBAAiB,CAAC;MAAEY,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAC1E,IAAI,CAACI,IAAI,GAAG,IAAIjB,cAAc,CAAC;MAAEW,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IACpE,IAAI,CAACK,MAAM,GAAG,IAAIf,gBAAgB,CAAC;MAAEQ,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IACxE,IAAI,CAACM,GAAG,GAAG,IAAIlB,aAAa,CAAC;MAAEU,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAClE,IAAI,CAACO,IAAI,GAAG,IAAIlB,cAAc,CAAC;MAAES,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;EACtE;EAEA,MAAMQ,QAAQ,CAACC,KAAa,EAAiB;IAC3C,MAAMjB,gBAAgB,CAACgB,QAAQ,CAACC,KAAK,CAAC;EACxC;EAEA,MAAMC,MAAM,CAACC,GAAW,EAA0B;IAChD,OAAO,MAAMD,MAAM,CAACC,GAAG,CAAC;EAC1B;AACF;AAEA,OAAO,SAASD,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAI5B,QAAQ,CAAC6B,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOpB,gBAAgB,CAACkB,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAER,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTK,OAAO,CAACL,KAAK,CAAC;QAChB,CAAC,MAAM,IAAIQ,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDvB,gBAAgB,CAACkB,MAAM,CAACC,GAAG,EAAEK,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","AuthsignalEmail","AuthsignalPasskey","AuthsignalPush","AuthsignalSms","AuthsignalTotp","AuthsignalDevice","AuthsignalWhatsapp","ErrorCode","AuthsignalModule","Proxy","get","Error","Authsignal","constructor","tenantID","baseURL","deviceID","enableLogging","__DEV__","passkey","email","push","device","sms","totp","whatsapp","setToken","token","launch","url","OS","Promise","resolve","reject","callback","error"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -13,13 +13,16 @@ export class AuthsignalPasskey {
13
13
  let {
14
14
  tenantID,
15
15
  baseURL,
16
+ deviceID,
16
17
  enableLogging
17
18
  } = _ref;
18
19
  _defineProperty(this, "tenantID", void 0);
19
20
  _defineProperty(this, "baseURL", void 0);
21
+ _defineProperty(this, "deviceID", void 0);
20
22
  _defineProperty(this, "enableLogging", void 0);
21
23
  this.tenantID = tenantID;
22
24
  this.baseURL = baseURL;
25
+ this.deviceID = deviceID;
23
26
  this.enableLogging = enableLogging;
24
27
  }
25
28
  async signUp() {
@@ -91,7 +94,7 @@ export class AuthsignalPasskey {
91
94
  if (initialized) {
92
95
  return;
93
96
  }
94
- await AuthsignalPasskeyModule.initialize(this.tenantID, this.baseURL);
97
+ await AuthsignalPasskeyModule.initialize(this.tenantID, this.baseURL, this.deviceID);
95
98
  initialized = true;
96
99
  }
97
100
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","handleErrorCodes","initialized","autofillRequestPending","AuthsignalPasskeyModule","Proxy","get","Error","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","username","displayName","ensureModuleIsInitialized","data","ex","console","log","signIn","action","autofill","preferImmediatelyAvailableCredentials","OS","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","handleErrorCodes","initialized","autofillRequestPending","AuthsignalPasskeyModule","Proxy","get","Error","AuthsignalPasskey","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ensureModuleIsInitialized","data","ex","console","log","signIn","action","autofill","preferImmediatelyAvailableCredentials","OS","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":";AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,SAAS;AA2BzD,IAAIC,WAAW,GAAG,KAAK;AACvB,IAAIC,sBAAsB,GAAG,KAAK;AAElC,MAAMC,uBAAuB,GAAGN,aAAa,CAACM,uBAAuB,GACjEN,aAAa,CAACM,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEL,OAAO,MAAMQ,iBAAiB,CAAC;EAM7BC,WAAW,OAAkE;IAAA,IAAjE;MAAEC,QAAQ;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAA+B,CAAC;IAAA;IAAA;IAAA;IAAA;IACzE,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,MAAM,GAI6D;IAAA,IAJ5D;MACXC,KAAK;MACLC,QAAQ;MACRC;IACkB,CAAC,uEAAG,CAAC,CAAC;IACxB,MAAM,IAAI,CAACC,yBAAyB,EAAE;IAEtC,IAAI;MACF,MAAMC,IAAI,GAAG,MAAMf,uBAAuB,CAACU,MAAM,CAC/CC,KAAK,EACLC,QAAQ,EACRC,WAAW,CACZ;MAED,OAAO;QAAEE;MAAK,CAAC;IACjB,CAAC,CAAC,OAAOC,EAAE,EAAE;MACX,IAAI,IAAI,CAACP,aAAa,EAAE;QACtBQ,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEA,OAAOnB,gBAAgB,CAACmB,EAAE,CAAC;IAC7B;EACF;EAEA,MAAMG,MAAM,GAK6D;IAAA,IAL5D;MACXC,MAAM;MACNT,KAAK;MACLU,QAAQ,GAAG,KAAK;MAChBC,qCAAqC,GAAG;IACtB,CAAC,uEAAG,CAAC,CAAC;IACxB,MAAM,IAAI,CAACR,yBAAyB,EAAE;IAEtC,IAAI;MACF,IAAIO,QAAQ,EAAE;QACZ,IAAItB,sBAAsB,EAAE;UAC1B,OAAO,CAAC,CAAC;QACX,CAAC,MAAM;UACLA,sBAAsB,GAAG,IAAI;QAC/B;MACF;MAEA,IAAIJ,QAAQ,CAAC4B,EAAE,KAAK,KAAK,EAAE;QACzB,MAAMR,IAAI,GAAG,MAAMf,uBAAuB,CAACmB,MAAM,CAC/CC,MAAM,EACNT,KAAK,EACLU,QAAQ,EACRC,qCAAqC,CACtC;QAEDvB,sBAAsB,GAAG,KAAK;QAE9B,OAAO;UAAEgB;QAAK,CAAC;MACjB,CAAC,MAAM;QACL,MAAMA,IAAI,GAAG,MAAMf,uBAAuB,CAACmB,MAAM,CAC/CC,MAAM,EACNT,KAAK,EACLW,qCAAqC,CACtC;QAEDvB,sBAAsB,GAAG,KAAK;QAE9B,OAAO;UAAEgB;QAAK,CAAC;MACjB;IACF,CAAC,CAAC,OAAOC,EAAE,EAAE;MACX,IAAI,IAAI,CAACP,aAAa,IAAI,CAACY,QAAQ,EAAE;QACnCJ,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEAjB,sBAAsB,GAAG,KAAK;MAE9B,OAAOF,gBAAgB,CAACmB,EAAE,CAAC;IAC7B;EACF;EAEAQ,MAAM,GAAG;IACP,IAAI7B,QAAQ,CAAC4B,EAAE,KAAK,KAAK,EAAE;MACzBvB,uBAAuB,CAACwB,MAAM,EAAE;IAClC;EACF;EAEA,MAAMC,mBAAmB,GAAqB;IAC5C,MAAM,IAAI,CAACX,yBAAyB,EAAE;IAEtC,OAAO,MAAMd,uBAAuB,CAACyB,mBAAmB,EAAE;EAC5D;EAEA,MAAcX,yBAAyB,GAAG;IACxC,IAAIhB,WAAW,EAAE;MACf;IACF;IAEA,MAAME,uBAAuB,CAAC0B,UAAU,CACtC,IAAI,CAACpB,QAAQ,EACb,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,QAAQ,CACd;IAEDV,WAAW,GAAG,IAAI;EACpB;AACF"}
@@ -0,0 +1,61 @@
1
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ import { NativeModules } from 'react-native';
3
+ import { handleErrorCodes, LINKING_ERROR } from './error';
4
+ let initialized = false;
5
+ const AuthsignalWhatsappModule = NativeModules.AuthsignalWhatsappModule ? NativeModules.AuthsignalWhatsappModule : new Proxy({}, {
6
+ get() {
7
+ throw new Error(LINKING_ERROR);
8
+ }
9
+ });
10
+ export class AuthsignalWhatsapp {
11
+ constructor(_ref) {
12
+ let {
13
+ tenantID,
14
+ baseURL,
15
+ enableLogging
16
+ } = _ref;
17
+ _defineProperty(this, "tenantID", void 0);
18
+ _defineProperty(this, "baseURL", void 0);
19
+ _defineProperty(this, "enableLogging", void 0);
20
+ this.tenantID = tenantID;
21
+ this.baseURL = baseURL;
22
+ this.enableLogging = enableLogging;
23
+ }
24
+ async challenge() {
25
+ await this.ensureModuleIsInitialized();
26
+ try {
27
+ await AuthsignalWhatsappModule.challenge();
28
+ return {};
29
+ } catch (ex) {
30
+ return this.handleError(ex);
31
+ }
32
+ }
33
+ async verify(_ref2) {
34
+ let {
35
+ code
36
+ } = _ref2;
37
+ await this.ensureModuleIsInitialized();
38
+ try {
39
+ const data = await AuthsignalWhatsappModule.verify(code);
40
+ return {
41
+ data
42
+ };
43
+ } catch (ex) {
44
+ return this.handleError(ex);
45
+ }
46
+ }
47
+ async ensureModuleIsInitialized() {
48
+ if (initialized) {
49
+ return;
50
+ }
51
+ await AuthsignalWhatsappModule.initialize(this.tenantID, this.baseURL);
52
+ initialized = true;
53
+ }
54
+ handleError(ex) {
55
+ if (this.enableLogging) {
56
+ console.log(ex);
57
+ }
58
+ return handleErrorCodes(ex);
59
+ }
60
+ }
61
+ //# sourceMappingURL=whatsapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","handleErrorCodes","LINKING_ERROR","initialized","AuthsignalWhatsappModule","Proxy","get","Error","AuthsignalWhatsapp","constructor","tenantID","baseURL","enableLogging","challenge","ensureModuleIsInitialized","ex","handleError","verify","code","data","initialize","console","log"],"sourceRoot":"../../src","sources":["whatsapp.ts"],"mappings":";AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,SAAS;AASzD,IAAIC,WAAW,GAAG,KAAK;AAEvB,MAAMC,wBAAwB,GAAGJ,aAAa,CAACI,wBAAwB,GACnEJ,aAAa,CAACI,wBAAwB,GACtC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACL,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEL,OAAO,MAAMM,kBAAkB,CAAC;EAK9BC,WAAW,OAAwD;IAAA,IAAvD;MAAEC,QAAQ;MAAEC,OAAO;MAAEC;IAA+B,CAAC;IAAA;IAAA;IAAA;IAC/D,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,SAAS,GAAsC;IACnD,MAAM,IAAI,CAACC,yBAAyB,EAAE;IAEtC,IAAI;MACF,MAAMV,wBAAwB,CAACS,SAAS,EAAE;MAE1C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,OAAOE,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEA,MAAME,MAAM,QAEiD;IAAA,IAFhD;MACXC;IACW,CAAC;IACZ,MAAM,IAAI,CAACJ,yBAAyB,EAAE;IAEtC,IAAI;MACF,MAAMK,IAAI,GAAG,MAAMf,wBAAwB,CAACa,MAAM,CAACC,IAAI,CAAC;MAExD,OAAO;QAAEC;MAAK,CAAC;IACjB,CAAC,CAAC,OAAOJ,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEA,MAAcD,yBAAyB,GAAG;IACxC,IAAIX,WAAW,EAAE;MACf;IACF;IAEA,MAAMC,wBAAwB,CAACgB,UAAU,CAAC,IAAI,CAACV,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAEtER,WAAW,GAAG,IAAI;EACpB;EAEQa,WAAW,CAACD,EAAW,EAAE;IAC/B,IAAI,IAAI,CAACH,aAAa,EAAE;MACtBS,OAAO,CAACC,GAAG,CAACP,EAAE,CAAC;IACjB;IAEA,OAAOd,gBAAgB,CAACc,EAAE,CAAC;EAC7B;AACF"}
@@ -4,11 +4,13 @@ import { AuthsignalPush } from './push';
4
4
  import { AuthsignalSms } from './sms';
5
5
  import { AuthsignalTotp } from './totp';
6
6
  import { AuthsignalDevice } from './device';
7
+ import { AuthsignalWhatsapp } from './whatsapp';
7
8
  export * from './types';
8
9
  export { ErrorCode } from './error';
9
10
  interface ConstructorArgs {
10
11
  tenantID: string;
11
12
  baseURL?: string;
13
+ deviceID?: string;
12
14
  enableLogging?: boolean;
13
15
  }
14
16
  export declare class Authsignal {
@@ -21,7 +23,8 @@ export declare class Authsignal {
21
23
  device: AuthsignalDevice;
22
24
  sms: AuthsignalSms;
23
25
  totp: AuthsignalTotp;
24
- constructor({ tenantID, baseURL, enableLogging, }: ConstructorArgs);
26
+ whatsapp: AuthsignalWhatsapp;
27
+ constructor({ tenantID, baseURL, deviceID, enableLogging, }: ConstructorArgs);
25
28
  setToken(token: string): Promise<void>;
26
29
  launch(url: string): Promise<string | null>;
27
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAapC,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IAEvB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;gBAET,EACV,QAAQ,EACR,OAAyC,EACzC,aAAuB,GACxB,EAAE,eAAe;IAaZ,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGlD;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAapC,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IAEvB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,kBAAkB,CAAC;gBAEjB,EACV,QAAQ,EACR,OAAyC,EACzC,QAAQ,EACR,aAAuB,GACxB,EAAE,eAAe;IAwBZ,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGlD;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB1D"}
@@ -2,6 +2,7 @@ import type { AuthsignalResponse, SignInResponse, SignUpResponse } from './types
2
2
  interface ConstructorArgs {
3
3
  tenantID: string;
4
4
  baseURL: string;
5
+ deviceID?: string;
5
6
  enableLogging: boolean;
6
7
  }
7
8
  interface PasskeySignUpInput {
@@ -18,8 +19,9 @@ interface PasskeySignInInput {
18
19
  export declare class AuthsignalPasskey {
19
20
  tenantID: string;
20
21
  baseURL: string;
22
+ deviceID?: string;
21
23
  enableLogging: boolean;
22
- constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
24
+ constructor({ tenantID, baseURL, deviceID, enableLogging }: ConstructorArgs);
23
25
  signUp({ token, username, displayName, }?: PasskeySignUpInput): Promise<AuthsignalResponse<SignUpResponse>>;
24
26
  signIn({ action, token, autofill, preferImmediatelyAvailableCredentials, }?: PasskeySignInInput): Promise<AuthsignalResponse<SignInResponse>>;
25
27
  cancel(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC,CAAC,EAAE,OAAO,CAAC;CACjD;AAgBD,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,eAAe;IAM3D,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAoBlE,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,qCAA4C,GAC7C,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IA6CxE,MAAM;IAMA,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;YAM/B,yBAAyB;CASxC"}
1
+ {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC,CAAC,EAAE,OAAO,CAAC;CACjD;AAgBD,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,eAAe;IAOrE,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAoBlE,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,qCAA4C,GAC7C,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IA6CxE,MAAM;IAMA,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;YAM/B,yBAAyB;CAaxC"}
@@ -0,0 +1,18 @@
1
+ import type { AuthsignalResponse, VerifyInput, VerifyResponse } from './types';
2
+ interface ConstructorArgs {
3
+ tenantID: string;
4
+ baseURL: string;
5
+ enableLogging: boolean;
6
+ }
7
+ export declare class AuthsignalWhatsapp {
8
+ tenantID: string;
9
+ baseURL: string;
10
+ enableLogging: boolean;
11
+ constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
12
+ challenge(): Promise<AuthsignalResponse<void>>;
13
+ verify({ code, }: VerifyInput): Promise<AuthsignalResponse<VerifyResponse>>;
14
+ private ensureModuleIsInitialized;
15
+ private handleError;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=whatsapp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../src/whatsapp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/E,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAeD,qBAAa,kBAAkB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,eAAe;IAM3D,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAY9C,MAAM,CAAC,EACX,IAAI,GACL,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAY9C,yBAAyB;IAUvC,OAAO,CAAC,WAAW;CAOpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-authsignal",
3
- "version": "1.3.8",
3
+ "version": "1.5.0-alpha1",
4
4
  "description": "The official Authsignal React Native library.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency 'Authsignal', '1.2.7'
20
+ s.dependency 'Authsignal', '1.4.0'
21
21
 
22
22
  # Don't install the dependencies when we run `pod install` in the old architecture.
23
23
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
package/src/index.tsx CHANGED
@@ -6,6 +6,7 @@ import { AuthsignalPush } from './push';
6
6
  import { AuthsignalSms } from './sms';
7
7
  import { AuthsignalTotp } from './totp';
8
8
  import { AuthsignalDevice } from './device';
9
+ import { AuthsignalWhatsapp } from './whatsapp';
9
10
 
10
11
  export * from './types';
11
12
  export { ErrorCode } from './error';
@@ -24,6 +25,7 @@ const AuthsignalModule = NativeModules.AuthsignalModule
24
25
  interface ConstructorArgs {
25
26
  tenantID: string;
26
27
  baseURL?: string;
28
+ deviceID?: string;
27
29
  enableLogging?: boolean;
28
30
  }
29
31
 
@@ -38,22 +40,35 @@ export class Authsignal {
38
40
  device: AuthsignalDevice;
39
41
  sms: AuthsignalSms;
40
42
  totp: AuthsignalTotp;
43
+ whatsapp: AuthsignalWhatsapp;
41
44
 
42
45
  constructor({
43
46
  tenantID,
44
47
  baseURL = 'https://api.authsignal.com/v1',
48
+ deviceID,
45
49
  enableLogging = __DEV__,
46
50
  }: ConstructorArgs) {
47
51
  this.tenantID = tenantID;
48
52
  this.baseURL = baseURL;
49
53
  this.enableLogging = enableLogging;
50
54
 
55
+ this.passkey = new AuthsignalPasskey({
56
+ tenantID,
57
+ baseURL,
58
+ deviceID,
59
+ enableLogging,
60
+ });
61
+
51
62
  this.email = new AuthsignalEmail({ tenantID, baseURL, enableLogging });
52
- this.passkey = new AuthsignalPasskey({ tenantID, baseURL, enableLogging });
53
63
  this.push = new AuthsignalPush({ tenantID, baseURL, enableLogging });
54
64
  this.device = new AuthsignalDevice({ tenantID, baseURL, enableLogging });
55
65
  this.sms = new AuthsignalSms({ tenantID, baseURL, enableLogging });
56
66
  this.totp = new AuthsignalTotp({ tenantID, baseURL, enableLogging });
67
+ this.whatsapp = new AuthsignalWhatsapp({
68
+ tenantID,
69
+ baseURL,
70
+ enableLogging,
71
+ });
57
72
  }
58
73
 
59
74
  async setToken(token: string): Promise<void> {
package/src/passkey.ts CHANGED
@@ -9,6 +9,7 @@ import type {
9
9
  interface ConstructorArgs {
10
10
  tenantID: string;
11
11
  baseURL: string;
12
+ deviceID?: string;
12
13
  enableLogging: boolean;
13
14
  }
14
15
 
@@ -42,11 +43,13 @@ const AuthsignalPasskeyModule = NativeModules.AuthsignalPasskeyModule
42
43
  export class AuthsignalPasskey {
43
44
  tenantID: string;
44
45
  baseURL: string;
46
+ deviceID?: string;
45
47
  enableLogging: boolean;
46
48
 
47
- constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs) {
49
+ constructor({ tenantID, baseURL, deviceID, enableLogging }: ConstructorArgs) {
48
50
  this.tenantID = tenantID;
49
51
  this.baseURL = baseURL;
52
+ this.deviceID = deviceID;
50
53
  this.enableLogging = enableLogging;
51
54
  }
52
55
 
@@ -141,7 +144,11 @@ export class AuthsignalPasskey {
141
144
  return;
142
145
  }
143
146
 
144
- await AuthsignalPasskeyModule.initialize(this.tenantID, this.baseURL);
147
+ await AuthsignalPasskeyModule.initialize(
148
+ this.tenantID,
149
+ this.baseURL,
150
+ this.deviceID
151
+ );
145
152
 
146
153
  initialized = true;
147
154
  }
@@ -0,0 +1,78 @@
1
+ import { NativeModules } from 'react-native';
2
+ import { handleErrorCodes, LINKING_ERROR } from './error';
3
+ import type { AuthsignalResponse, VerifyInput, VerifyResponse } from './types';
4
+
5
+ interface ConstructorArgs {
6
+ tenantID: string;
7
+ baseURL: string;
8
+ enableLogging: boolean;
9
+ }
10
+
11
+ let initialized = false;
12
+
13
+ const AuthsignalWhatsappModule = NativeModules.AuthsignalWhatsappModule
14
+ ? NativeModules.AuthsignalWhatsappModule
15
+ : new Proxy(
16
+ {},
17
+ {
18
+ get() {
19
+ throw new Error(LINKING_ERROR);
20
+ },
21
+ }
22
+ );
23
+
24
+ export class AuthsignalWhatsapp {
25
+ tenantID: string;
26
+ baseURL: string;
27
+ enableLogging: boolean;
28
+
29
+ constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs) {
30
+ this.tenantID = tenantID;
31
+ this.baseURL = baseURL;
32
+ this.enableLogging = enableLogging;
33
+ }
34
+
35
+ async challenge(): Promise<AuthsignalResponse<void>> {
36
+ await this.ensureModuleIsInitialized();
37
+
38
+ try {
39
+ await AuthsignalWhatsappModule.challenge();
40
+
41
+ return {};
42
+ } catch (ex) {
43
+ return this.handleError(ex);
44
+ }
45
+ }
46
+
47
+ async verify({
48
+ code,
49
+ }: VerifyInput): Promise<AuthsignalResponse<VerifyResponse>> {
50
+ await this.ensureModuleIsInitialized();
51
+
52
+ try {
53
+ const data = await AuthsignalWhatsappModule.verify(code);
54
+
55
+ return { data };
56
+ } catch (ex) {
57
+ return this.handleError(ex);
58
+ }
59
+ }
60
+
61
+ private async ensureModuleIsInitialized() {
62
+ if (initialized) {
63
+ return;
64
+ }
65
+
66
+ await AuthsignalWhatsappModule.initialize(this.tenantID, this.baseURL);
67
+
68
+ initialized = true;
69
+ }
70
+
71
+ private handleError(ex: unknown) {
72
+ if (this.enableLogging) {
73
+ console.log(ex);
74
+ }
75
+
76
+ return handleErrorCodes(ex);
77
+ }
78
+ }