diff options
| author | transtrike <transtrike@gmail.com> | 2021-01-29 14:26:28 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-01-29 14:26:28 +0200 |
| commit | 3a8ae9b81a9126dbbfc8391d74796056ffe2ccb3 (patch) | |
| tree | 40a85c28c3046d2b8ee572b0419bd2d608afaa05 | |
| parent | b8e7ec5c7925b0f62e9dc6efba28f1271f912801 (diff) | |
| download | DevHive-3a8ae9b81a9126dbbfc8391d74796056ffe2ccb3.tar DevHive-3a8ae9b81a9126dbbfc8391d74796056ffe2ccb3.tar.gz DevHive-3a8ae9b81a9126dbbfc8391d74796056ffe2ccb3.zip | |
GetUserPosts implemented
| -rw-r--r-- | src/DevHive.Services/Models/Feed/GetPageServiceModel.cs | 2 | ||||
| -rw-r--r-- | src/DevHive.Services/Services/FeedService.cs | 11 | ||||
| -rw-r--r-- | src/DevHive.Web/Controllers/FeedController.cs | 12 |
3 files changed, 24 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(); diff --git a/src/DevHive.Web/Controllers/FeedController.cs b/src/DevHive.Web/Controllers/FeedController.cs index 9d3693b..9157bec 100644 --- a/src/DevHive.Web/Controllers/FeedController.cs +++ b/src/DevHive.Web/Controllers/FeedController.cs @@ -34,5 +34,17 @@ namespace DevHive.Web.Controllers return new OkObjectResult(readPageWebModel); } + + [HttpGet] + public async Task<IActionResult> GetUserPost(string username, [FromBody] GetPageWebModel getPageWebModel) + { + GetPageServiceModel getPageServiceModel = this._mapper.Map<GetPageServiceModel>(getPageWebModel); + getPageServiceModel.Username = username; + + ReadPageServiceModel readPageServiceModel = await this._feedService.GetPage(getPageServiceModel); + ReadPageWebModel readPageWebModel = this._mapper.Map<ReadPageWebModel>(readPageServiceModel); + + return new OkObjectResult(readPageWebModel); + } } } |
