From c69c21b2fe8aaca47b27277e0686ef37602a4813 Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 19 Dec 2020 09:44:14 +0200 Subject: Friends insert validations --- src/DevHive.Services/Services/FriendsService.cs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/DevHive.Services') diff --git a/src/DevHive.Services/Services/FriendsService.cs b/src/DevHive.Services/Services/FriendsService.cs index 21a2aac..c0ec551 100644 --- a/src/DevHive.Services/Services/FriendsService.cs +++ b/src/DevHive.Services/Services/FriendsService.cs @@ -26,6 +26,9 @@ namespace DevHive.Services.Services User user = await this._friendsRepository.GetByIdAsync(userId); User friend = await this._friendsRepository.GetByIdAsync(friendId); + if (DoesUserHaveThisFriend(user, friend)) + throw new ArgumentException("Friend already exists in your friends list."); + return user != default(User) && friend != default(User) ? await this._friendsRepository.AddFriendAsync(user, friend) : throw new ArgumentException("Invalid user!"); @@ -49,10 +52,14 @@ namespace DevHive.Services.Services throw new ArgumentException("Invalid user!"); User user = await this._friendsRepository.GetByIdAsync(userId); + User friend = await this._friendsRepository.GetByIdAsync(friendId); if(!this.DoesUserHaveFriends(user)) throw new ArgumentException("User does not have any friends."); + if (!DoesUserHaveThisFriend(user, friend)) + throw new ArgumentException("This ain't your friend, amigo."); + return await this.RemoveFriend(user.Id, friendId); } -- cgit v1.2.3