diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-01-30 13:07:54 +0200 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-01-30 13:07:54 +0200 |
| commit | 498af41f38b14372bd2f5eb9a0add7af95c40168 (patch) | |
| tree | 31c00985399ee352c1a09f4d650f62696e117350 /src/DevHive.Services/Services/FeedService.cs | |
| parent | a8cc808396a24f0a5e4262d07e3edae1a4e5fc1d (diff) | |
| download | DevHive-498af41f38b14372bd2f5eb9a0add7af95c40168.tar DevHive-498af41f38b14372bd2f5eb9a0add7af95c40168.tar.gz DevHive-498af41f38b14372bd2f5eb9a0add7af95c40168.zip | |
Fixed GetUserPosts implementation
Diffstat (limited to 'src/DevHive.Services/Services/FeedService.cs')
| -rw-r--r-- | src/DevHive.Services/Services/FeedService.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/DevHive.Services/Services/FeedService.cs b/src/DevHive.Services/Services/FeedService.cs index 269471e..ceb5ebf 100644 --- a/src/DevHive.Services/Services/FeedService.cs +++ b/src/DevHive.Services/Services/FeedService.cs @@ -54,5 +54,29 @@ namespace DevHive.Services.Services return readPageServiceModel; } + + public async Task<ReadPageServiceModel> GetUserPage(GetPageServiceModel model) { + User user = null; + + 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<Post> posts = await this._feedRepository + .GetUsersPosts(user, model.FirstRequestIssued, model.PageNumber, model.PageSize); + + if (posts.Count <= 0) + throw new ArgumentException("User hasn't posted anything yet!"); + + ReadPageServiceModel readPageServiceModel = new(); + foreach (Post post in posts) + readPageServiceModel.Posts.Add(this._mapper.Map<ReadPostServiceModel>(post)); + + return readPageServiceModel; + } } } |
