aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Services
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2020-12-19 09:44:14 +0200
committertranstrike <transtrike@gmail.com>2020-12-19 09:44:14 +0200
commitc69c21b2fe8aaca47b27277e0686ef37602a4813 (patch)
treede565062ef62c0f4502b54811f9d1e81336db07d /src/DevHive.Services
parent0b7db1681290c6177538900064fa05bb5ef34916 (diff)
downloadDevHive-c69c21b2fe8aaca47b27277e0686ef37602a4813.tar
DevHive-c69c21b2fe8aaca47b27277e0686ef37602a4813.tar.gz
DevHive-c69c21b2fe8aaca47b27277e0686ef37602a4813.zip
Friends insert validations
Diffstat (limited to 'src/DevHive.Services')
-rw-r--r--src/DevHive.Services/Services/FriendsService.cs7
1 files changed, 7 insertions, 0 deletions
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);
}