diff options
Diffstat (limited to 'src/DevHive.Services')
| -rw-r--r-- | src/DevHive.Services/Models/Feed/GetPageServiceModel.cs | 2 | ||||
| -rw-r--r-- | src/DevHive.Services/Services/FeedService.cs | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/DevHive.Services/Models/Feed/GetPageServiceModel.cs b/src/DevHive.Services/Models/Feed/GetPageServiceModel.cs index 745039f..1f02486 100644 --- a/src/DevHive.Services/Models/Feed/GetPageServiceModel.cs +++ b/src/DevHive.Services/Models/Feed/GetPageServiceModel.cs @@ -6,6 +6,8 @@ namespace DevHive.Services.Models { public Guid UserId { get; set; } + public string Username { get; set; } + public int PageNumber { get; set; } public DateTime FirstRequestIssued { get; set; } diff --git a/src/DevHive.Services/Services/FeedService.cs b/src/DevHive.Services/Services/FeedService.cs index 5f2410d..1bddac4 100644 --- a/src/DevHive.Services/Services/FeedService.cs +++ b/src/DevHive.Services/Services/FeedService.cs @@ -26,7 +26,16 @@ namespace DevHive.Services.Services public async Task<ReadPageServiceModel> GetPage(GetPageServiceModel model) { - User user = await this._userRepository.GetByIdAsync(model.UserId) ?? + User user = null; + + if (model.UserId != Guid.Empty) + user = await this._userRepository.GetByIdAsync(model.UserId); + else if (!string.IsNullOrEmpty(model.Username)) + user = await this._userRepository.GetByUsernameAsync(model.Username); + else + throw new ArgumentException("Invalid given data!"); + + if (user == null) throw new ArgumentException("User doesn't exist!"); List<User> friendsList = user.Friends.ToList(); |
