Ignore:
Timestamp:
03/24/26 22:13:36 (3 months ago)
Author:
kikisrbinoska <srbinoskakristina07@…>
Branches:
main
Children:
7fbb91c
Parents:
acf690c
Message:

Fixed reading lists,comments and likes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ChapterX.API/Controllers/LikesController.cs

    racf690c r73b69b2  
    11using ChapterX.Application.Likes.Commands;
    22using ChapterX.Application.Likes.Queries;
     3using ChapterX.Domain.Repositories;
    34using MediatR;
    45using Microsoft.AspNetCore.Authorization;
     
    1314    {
    1415        private readonly IMediator _mediator;
     16        private readonly ILikesRepository _likesRepository;
    1517        private readonly ILogger<LikesController> _logger;
    1618
    17         public LikesController(IMediator mediator, ILogger<LikesController> logger)
     19        public LikesController(IMediator mediator, ILikesRepository likesRepository, ILogger<LikesController> logger)
    1820        {
    1921            _mediator = mediator;
     22            _likesRepository = likesRepository;
    2023            _logger = logger;
     24        }
     25
     26        [HttpGet("story/{storyId:int}")]
     27        [AllowAnonymous]
     28        public async Task<ActionResult> GetByStory(int storyId)
     29        {
     30            var likes = await _likesRepository.GetByStoryIdAsync(storyId);
     31            return Ok(new { count = likes.Count(), userIds = likes.Select(l => l.UserId).ToList() });
     32        }
     33
     34        [HttpDelete("user/{userId:int}/story/{storyId:int}")]
     35        [Authorize]
     36        public async Task<ActionResult> DeleteByUserAndStory(int userId, int storyId)
     37        {
     38            var deleted = await _likesRepository.DeleteByUserAndStoryAsync(userId, storyId);
     39            if (!deleted) return NotFound();
     40            return Ok();
    2141        }
    2242
     
    4363        public async Task<ActionResult> Add([FromBody] AddRequest request)
    4464        {
    45             _logger.LogInformation("Adding a new like for ChapterId: {ChapterId}", request.ChapterId);
     65            _logger.LogInformation("Adding a new like for StoryId: {StoryId}", request.StoryId);
     66            var exists = await _likesRepository.ExistsAsync(request.UserId, request.StoryId);
     67            if (exists) return Ok();
    4668            var response = await _mediator.Send(request);
    4769            return Ok(response);
Note: See TracChangeset for help on using the changeset viewer.