getUserFollowing function

Future<Map<String, dynamic>> getUserFollowing(
  1. String userName,
  2. String server,
  3. String baseUrl,
  4. String apiBase
)

Attempts to get a map of users a user is following. If this fails, an error map is returned.

Implementation

Future<Map<String,dynamic>> getUserFollowing(
  String userName,
  String server,
  String baseUrl,
  String apiBase
) async {
  String reqUrl = '$baseUrl$apiBase/users/following';
  Map<String,dynamic> targetUserResponse = await getUserInfo(
    userName,
    server,
    baseUrl,
    apiBase
  );
  String userId = '';
  if (targetUserResponse.containsKey('result')){
    Map<String,dynamic> targetUserInfo = targetUserResponse["result"];
    if (targetUserInfo.containsKey('id')){
      userId = targetUserInfo['id'];
    }
    else {
      Map<String,dynamic> errMap = new Map();
      errMap["error"] = "Could not retrieve user ID!";
      return errMap;
    }
  }
  else {
    Map<String,dynamic> errMap = new Map();
    errMap["error"] = "Error response received for retrieving user ID!";
    return errMap;
  }
  Map<String,dynamic> headers = new Map();
  headers['Content-Type'] = 'application/json';
  Map<String,dynamic> payload = new Map();
  payload['username'] = userName;
  payload['host'] = server;
  payload['userId'] = userId;
  Map<String,dynamic> usersFollowing = await fetchJSON(
    'POST',
    headers,
    payload,
    reqUrl
  );
  return usersFollowing;
}