diff options
| author | transtrike <transtrike@gmail.com> | 2021-01-31 12:58:44 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-01-31 12:58:44 +0200 |
| commit | 979a86a14cd658b5346279901ac8bca667c373d3 (patch) | |
| tree | 9791cf02c0838a4d6392e3651f93eeed283acb57 /src/DevHive.Services/Services/FeedService.cs | |
| parent | 9d5f4628a3a75871b47ac6a9f9c0419748d9dfb8 (diff) | |
| parent | b8743cfdd0515e4d07ea5c926be1d9ade5340a91 (diff) | |
| download | DevHive-979a86a14cd658b5346279901ac8bca667c373d3.tar DevHive-979a86a14cd658b5346279901ac8bca667c373d3.tar.gz DevHive-979a86a14cd658b5346279901ac8bca667c373d3.zip | |
Username added to JWT; Promotion to Admin fixed
Diffstat (limited to 'src/DevHive.Services/Services/FeedService.cs')
| -rw-r--r-- | src/DevHive.Services/Services/FeedService.cs | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/DevHive.Services/Services/FeedService.cs b/src/DevHive.Services/Services/FeedService.cs index c17861d..37d653c 100644 --- a/src/DevHive.Services/Services/FeedService.cs +++ b/src/DevHive.Services/Services/FeedService.cs @@ -7,7 +7,7 @@ using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using DevHive.Services.Interfaces; using DevHive.Services.Models; -using DevHive.Services.Models.Post.Post; +using DevHive.Services.Models.Post; namespace DevHive.Services.Services { @@ -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; + } } } |
