public async Task <Result <SubredditDto> > Handle(AddSubredditCommand command, CancellationToken cancellationToken)
    {
        if (command == null)
        {
            throw new ArgumentNullException(nameof(command));
        }

        if (string.IsNullOrEmpty(command.Name))
        {
            throw new ArgumentNullException(nameof(command.Name));
        }

        var subreddit = _mapper.Map <Subreddit>(command);
        await _context.Subreddits.AddAsync(subreddit, cancellationToken);

        await _context.SaveChangesAsync(cancellationToken);

        var mappedSubreddit = _mapper.Map <SubredditDto>(subreddit);

        return(await Result <SubredditDto> .SuccessAsync(mappedSubreddit));
    }
 public async Task <IActionResult> Add(AddSubredditCommand command)
 {
     return(Ok(await Mediator.Send(command)));
 }