diff --git a/PortBlog.API/Controllers/BlogController.cs b/PortBlog.API/Controllers/BlogController.cs index ed22016..4a35250 100644 --- a/PortBlog.API/Controllers/BlogController.cs +++ b/PortBlog.API/Controllers/BlogController.cs @@ -1,5 +1,6 @@ using Asp.Versioning; using AutoMapper; +using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Mvc; using PortBlog.API.Entities; using PortBlog.API.Models; @@ -122,5 +123,26 @@ namespace PortBlog.API.Controllers return Ok(post.Likes); } + + [HttpPost("UpdatePostCommentsCount")] + public async Task UpdatePostCommentsCount(string blogUrl, string postSlug, int commentsCount) + { + if (!await _blogRepository.PostExistsAsync(blogUrl, postSlug)) + { + _logger.LogInformation($"Post with id {postSlug} wasn't found when fetching post likes and views."); + return NotFound(); + } + + var post = await _blogRepository.GetPostAsync(blogUrl, postSlug); + + post.Comments = commentsCount; + + _blogRepository.UpdatePost(post); + + await _blogRepository.SaveChangesAsync(); + + return NoContent(); + } + } }