From 37b2dff40d7e1395e3dc77bd7bb353e0181a37a6 Mon Sep 17 00:00:00 2001 From: TAMARA JERINIC Date: Mon, 28 Nov 2022 01:46:34 +0100 Subject: Dodato sortiranje objava na back-u i prikaz sortiranih objava na front-u. Izmenjen prikaz objave. --- Backend/Api/Api/Controllers/PostController.cs | 22 ++++++++++++++++ Backend/Api/Api/Interfaces/IPostService.cs | 6 +++++ Backend/Api/Api/Services/PostService.cs | 36 +++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) (limited to 'Backend/Api') diff --git a/Backend/Api/Api/Controllers/PostController.cs b/Backend/Api/Api/Controllers/PostController.cs index 3fe1b3f..4c6fbac 100644 --- a/Backend/Api/Api/Controllers/PostController.cs +++ b/Backend/Api/Api/Controllers/PostController.cs @@ -137,5 +137,27 @@ namespace Api.Controllers } return BadRequest(); } + + [HttpGet("posts/get10MostViewed")] + [Authorize(Roles = "User")] + public async Task>> Get10MostViewed() + { + return Ok(await _postService.Get10MostViewed()); + } + + [HttpGet("posts/get10Newest")] + [Authorize(Roles = "User")] + public async Task>> Get10Newest() + { + return Ok(await _postService.Get10Newest()); + } + + [HttpGet("posts/get10Best")] + [Authorize(Roles = "User")] + public async Task>> Get10Best() + { + return Ok(await _postService.Get10Best()); + } + } } diff --git a/Backend/Api/Api/Interfaces/IPostService.cs b/Backend/Api/Api/Interfaces/IPostService.cs index 12a5fe8..5b04dc3 100644 --- a/Backend/Api/Api/Interfaces/IPostService.cs +++ b/Backend/Api/Api/Interfaces/IPostService.cs @@ -19,5 +19,11 @@ namespace Api.Interfaces int DateEnumToDays(int filterdate); Task> GetUsersPosts(string id); Task> UserHistory(string userid); + + Task> Get10Best(); + + Task> Get10MostViewed(); + + Task> Get10Newest(); } } \ No newline at end of file diff --git a/Backend/Api/Api/Services/PostService.cs b/Backend/Api/Api/Services/PostService.cs index bdf150b..b75656e 100644 --- a/Backend/Api/Api/Services/PostService.cs +++ b/Backend/Api/Api/Services/PostService.cs @@ -368,5 +368,41 @@ namespace Api.Services } return tosend; } + + public async Task> Get10Best() + { + List posts = await _posts.Find(_ => true).ToListAsync(); + List temp = new List(); + foreach (var post in posts) + { + temp.Add(await postToPostSend(post)); + } + List best = temp.OrderByDescending(o => o.ratings).Take(10).ToList(); + return best; + } + + public async Task> Get10MostViewed() + { + List posts = await _posts.Find(_ => true).ToListAsync(); + List temp = new List(); + foreach (var post in posts) + { + temp.Add(await postToPostSend(post)); + } + List mostViewed = temp.OrderByDescending(o => o.views).Take(10).ToList(); + return mostViewed; + } + + public async Task> Get10Newest() + { + List posts = await _posts.Find(_ => true).ToListAsync(); + List temp = new List(); + foreach (var post in posts) + { + temp.Add(await postToPostSend(post)); + } + List newest = temp.OrderByDescending(o => o.createdAt).Take(10).ToList(); + return newest; + } } } -- cgit v1.2.3