public async Task <IActionResult> ObterPostagemAsync([FromQuery] ObterPostagemViewModel viewModel, CancellationToken cancellationToken)
        {
            ObterPostagemQuery query = _mapper.MapToObject <ObterPostagemViewModel, ObterPostagemQuery>(viewModel);

            ObterPostagemQueryResult result =
                await _serviceBus.SendMessageAsync <ObterPostagemQuery, ObterPostagemQueryResult>(query, cancellationToken);

            return(Ok(result));
        }
        public async Task <ObterPostagemQueryResult> ObterPostagemAsync(ObterPostagemQuery query)
        {
            Postagem postagem =
                await _dbSet
                .AsNoTracking()
                .Include(p => p.Avaliacoes)
                .Include(p => p.Comentarios)
                .Include(p => p.Compartilhamentos)
                .FirstOrDefaultAsync(p => p.Id == query.Id);

            return(postagem is null ? null : _mapper.MapToObject <Postagem, ObterPostagemQueryResult>(postagem));
        }