diff options
Diffstat (limited to 'src/DevHive.Services')
| -rw-r--r-- | src/DevHive.Services/Services/FeedService.cs | 2 | ||||
| -rw-r--r-- | src/DevHive.Services/Services/UserService.cs | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/DevHive.Services/Services/FeedService.cs b/src/DevHive.Services/Services/FeedService.cs index 1bddac4..c17861d 100644 --- a/src/DevHive.Services/Services/FeedService.cs +++ b/src/DevHive.Services/Services/FeedService.cs @@ -38,7 +38,7 @@ namespace DevHive.Services.Services if (user == null) throw new ArgumentException("User doesn't exist!"); - List<User> friendsList = user.Friends.ToList(); + List<User> friendsList = user.Friends.Select(x => x.Friend).ToList(); if (friendsList.Count == 0) throw new ArgumentException("User has no friends to get feed from!"); diff --git a/src/DevHive.Services/Services/UserService.cs b/src/DevHive.Services/Services/UserService.cs index ec74b5f..ea53f1a 100644 --- a/src/DevHive.Services/Services/UserService.cs +++ b/src/DevHive.Services/Services/UserService.cs @@ -14,6 +14,7 @@ using DevHive.Services.Interfaces; using DevHive.Data.Interfaces.Repositories; using System.Linq; using DevHive.Common.Models.Misc; +using DevHive.Data.RelationModels; namespace DevHive.Services.Services { @@ -309,14 +310,21 @@ namespace DevHive.Services.Services user.Roles = roles; /* Fetch Friends and replace model's*/ - HashSet<User> friends = new(); + HashSet<UserFriends> friends = new(); int friendsCount = updateUserServiceModel.Friends.Count; for (int i = 0; i < friendsCount; i++) { User friend = await this._userRepository.GetByUsernameAsync(updateUserServiceModel.Friends.ElementAt(i).UserName) ?? throw new ArgumentException("Invalid friend's username!"); - friends.Add(friend); + UserFriends relation = new() + { + UserId = user.Id, + User = user, + FriendId = friend.Id, + Friend = friend + }; + friends.Add(relation); } user.Friends = friends; |
