aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/DevHive.Services/Models/Feed/GetPageServiceModel.cs2
-rw-r--r--src/DevHive.Services/Services/FeedService.cs11
-rw-r--r--src/DevHive.Web/Controllers/FeedController.cs12
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);
+ }
}
}