diff --git a/lib/src/resources/user_api_provider.dart b/lib/src/resources/user_api_provider.dart index 688fbfd..32fbe0c 100644 --- a/lib/src/resources/user_api_provider.dart +++ b/lib/src/resources/user_api_provider.dart @@ -30,8 +30,8 @@ class UserApiProvider { } Future registerUser( - String firstName, String lastName, String phoneNumber) async { - final response = await http.post("$baseUrlLogin/register", + String firstName, String lastName, String phoneNumber, String otp, String nonce) async { + final response = await http.post("$baseUrlLogin/register/$otp/$nonce", headers: { HttpHeaders.contentTypeHeader: "application/json", }, diff --git a/lib/src/services/register_manager.dart b/lib/src/services/register_manager.dart new file mode 100644 index 0000000..0e96a98 --- /dev/null +++ b/lib/src/services/register_manager.dart @@ -0,0 +1,23 @@ +import "dart:async"; +import "../resources/login_api_provider.dart"; +import "../resources/user_api_provider.dart"; + +class RegisterManager { + final loginApiProvider = LoginApiProvider(); + final userApiProvider = UserApiProvider(); + String nonce; + + // Throws error status code if it occurs + Future initAuthentication(String phoneNumber) async { + try { + final nonce = await loginApiProvider.initAuthentication(phoneNumber); + this.nonce = nonce; + } catch (e) { + throw e; + } + } + + Future registerUser(String firstName, String lastName, String phoneNumber, String otp) async { + await userApiProvider.registerUser(firstName, lastName, phoneNumber, otp, this.nonce); + } +}