postNewUser method

  1. @override
Future<UserProfile> postNewUser(
  1. UserProfile user,
  2. String password
)
override

Implementation

@override
Future<UserProfile> postNewUser(UserProfile user, String password) async {
  try {
    final String body = json.encode({
      'user_fname': '${user.userFname}',
      'user_lname': '${user.userLname}',
      'user_email': '${user.userEmail}',
      'user_pwd': password,
      'user_phone': ''
    });

    return await dio
        .post(ApiEndpoints.USER, queryParameters: {'profile': 0}, data: body)
        .then((value) {
      if (value.data.containsKey('body')) {
        return UserProfile.fromJson(value.data['body']);
      }
      logger.debug(TAG, "Results not valid postNewUser", {
        'user_fname': '${user.userFname}',
        'user_lname': '${user.userLname}',
        'user_email': '${user.userEmail}'
      });
      throw 'Results not valid';
    });
  } on Exception catch (e) {
    throw HttpHelper.decodeErrorResponse(e,
        tag: TAG,
        logger: logger,
        defaultErrorMessage: 'Failed to register new user',
        meta: {
          'user_fname': '${user.userFname}',
          'user_lname': '${user.userLname}',
          'user_email': '${user.userEmail}'
        });
  }
}