register method

  1. @override
Future<AuthResult<UserModel>> register(
  1. RegisterCredentials credentials
)
override

Implementation

@override
Future<AuthResult<UserModel>> register(RegisterCredentials credentials) async {
  try {
    final body = <String, dynamic>{
      'password': credentials.password,
      'displayName': credentials.displayName,
    };
    if (credentials.email != null) body['email'] = credentials.email;
    if (credentials.phoneNumber != null) body['phoneNumber'] = credentials.phoneNumber;

    final response = await _client.post(
      Uri.parse('$baseUrl/auth/register'),
      headers: _headers,
      body: jsonEncode(body),
    );
    return _handleResponse<UserModel>(response, UserModel.fromMap);
  } catch (e) {
    return AuthResult<UserModel>.failure(AuthException(e.toString(), code: 'network-error'));
  }
}