unfollowUser function
Attempts to unfollow a user. If the operation succeeds, a success map is returned. If this fails, an error map is returned.
Implementation
Future<Map<String,dynamic>> unfollowUser(
String userName,
String server,
String apiToken,
String baseUrl,
String apiBase,
bool withReplies
) async {
String reqUrl = '$baseUrl$apiBase/following/delete';
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['i'] = apiToken;
payload['withReplies'] = withReplies;
payload['userId'] = userId;
Map<String,dynamic> followUserResp = await fetchJSON(
'POST',
headers,
payload,
reqUrl
);
return followUserResp;
}