Eu também acho isso.
Mas Sam está convicto de que é uma coisa:
Não parece que existam emblemas para isso ainda.
Se você tiver critérios específicos de emblema para algum que gostaria de criar, deve abrir um tópico Data & reporting para cada um. ![]()
Eu acho que alguns exemplos poderiam ser do tipo:
obter 10 votos em uma resposta de votação de postagem
SELECT p.user_id, p.created_at AS granted_at, p.id AS post_id
FROM post_voting_votes pvv
JOIN posts p ON p.id = pvv.votable_id
WHERE pvv.direction = 'up'
AND p.post_number <> 1
AND (:backfill OR p.id IN (:post_ids))
GROUP BY p.user_id, p.id
HAVING COUNT(*) >=10
Ou um pouco mais sutil, onde você contabilizou os votos ‘para cima - para baixo’:
WITH vote_totals AS (
SELECT
p.user_id,
p.id AS post_id,
p.created_at AS granted_at,
(COUNT(*) FILTER (WHERE pvv.direction = 'up') - COUNT(*) FILTER (WHERE pvv.direction = 'down')) AS total
FROM post_voting_votes pvv
JOIN posts p ON p.id = pvv.votable_id
WHERE p.post_number <> 1
GROUP BY 1, 2
)
SELECT *
FROM vote_totals
WHERE total >= 10
AND (:backfill OR post_id IN (:post_ids))
Estes precisarão de mais testes para garantir que estão funcionando como pretendido. ![]()
Embora uma coisa a considerar é que o total é dinâmico, então um ‘10’ hoje pode se tornar um ‘5’ amanhã se mais votos negativos forem adicionados (para o segundo exemplo). E se o emblema for apenas baseado em votos positivos como o primeiro exemplo, então você pode ter obtido 10, mas a interface do usuário mostra apenas 5 quando os votos negativos são totalizados.