public async Task <bool> DeleteBuddy([FromBody] BuddyLookup lookupData)
        {
            bool success = false;
            //check if buddy is added to list
            //if not, check for request
            //if not, throw exception
            var from_profile = (await profileRepository.Lookup(lookupData.SourceProfile)).First();
            var to_profile   = (await profileRepository.Lookup(lookupData.TargetProfile)).First();
            var items        = await buddyRepository.Lookup(lookupData);

            if (items.Count() <= 0)
            {
                if (buddyRepository.DeleteBuddyRequest(from_profile, to_profile) && (!lookupData.silent.HasValue || (lookupData.silent.HasValue && lookupData.silent.Value)))
                {
                    //TODO: check if offline... add to redis to resend when user logs in
                    await buddyRepository.Delete(lookupData); //delete just in case

                    success = true;
                }
                throw new ArgumentException();
            }

            if (success == false)
            {
                success = await buddyRepository.Delete(lookupData);
            }

            if (success)
            {
                buddyRepository.SendDeleteEvent(from_profile, to_profile);
            }
            return(success);
        }