source: ChapterX.Application/Likes/Commands/DeleteHandler.cs@ a8f4a2d

main
Last change on this file since a8f4a2d was 877c13c, checked in by kikisrbinoska <srbinoskakristina07@…>, 4 months ago

Added files

  • Property mode set to 100644
File size: 961 bytes
Line 
1using ChapterX.Domain.Repositories;
2using MediatR;
3using Microsoft.Extensions.Logging;
4
5namespace ChapterX.Application.Likes.Commands
6{
7 public class DeleteHandler : IRequestHandler<DeleteRequest, DeleteResponse>
8 {
9 private readonly ILikesRepository _likesRepository;
10 private readonly ILogger<DeleteHandler> _logger;
11
12 public DeleteHandler(ILikesRepository likesRepository, ILogger<DeleteHandler> logger)
13 {
14 _likesRepository = likesRepository;
15 _logger = logger;
16 }
17
18 public async Task<DeleteResponse> Handle(DeleteRequest request, CancellationToken cancellationToken)
19 {
20 var like = await _likesRepository.GetByIdAsync(request.Id, cancellationToken);
21 if (like is null)
22 return new DeleteResponse(false);
23
24 await _likesRepository.DeleteAsync(like, cancellationToken);
25
26 return new DeleteResponse(true);
27 }
28 }
29}
Note: See TracBrowser for help on using the repository browser.