byte[] DeleteFriendship(Dictionary<string, object> request)
{
FriendInfo friend = new FriendInfo (request);
string secret = string.Empty;
if (request.ContainsKey ("SECRET"))
secret = request["SECRET"].ToString ();
if (secret == string.Empty)
return FailureResult ();
List<FriendInfo> finfos = m_FriendsService.GetFriends(friend.PrincipalID);
foreach (FriendInfo finfo in finfos)
{
// We check the secret here
if (finfo.Friend.StartsWith (friend.Friend) && finfo.Friend.EndsWith (secret))
{
MainConsole.Instance.DebugFormat ("[HGFRIENDS HANDLER]: Delete friendship {0} {1}", friend.PrincipalID, friend.Friend);
m_FriendsService.Delete (friend.PrincipalID, finfo.Friend);
m_FriendsService.Delete (UUID.Parse(finfo.Friend), friend.PrincipalID.ToString());
return SuccessResult ();
}
}
return FailureResult ();
}