Temos um webhook no evento “user_logged_in”. O Payload contém a propriedade post_count para o usuário que acabou de fazer login. Embora o usuário tenha escrito 2 posts, o payload lê post_count: 0. Isso parece um bug para mim.
O receptor do webhook precisa dessa estatística do usuário para decidir como proceder.
Preciso me corrigir: a post_count não é sempre zero. Ao verificar com meu próprio usuário, a post_count era plausível (embora eu não saiba se é precisa ou não).
Mas há um usuário em nosso site, vamos chamá-lo de usuário nº 1234, para o qual o seguinte é válido:
SELECT * FROM posts WHERE user_id=1234 retorna duas entradas na tabela. Estas são as postagens que também estão listadas na página de atividade do perfil do usuário.
A carga útil do webhook, quando este usuário faz login ou logout, contém \"post_count\": 0.
Testei e a contagem de posts não é atualizada em tempo real.
Minha suposição é que existe um job do Sidekiq que cuida disso periodicamente, mas não sei qual.
Parece que não há um job específico relacionado do Sidekiq
Mas li que essa estatística é atualizada pelo menos uma vez por dia.
Talvez haja uma confusão entre “tópicos” e “posts”. Eu esperava que a criação de um novo tópico fosse apenas um tipo especial de post. A estrutura do banco de dados suporta isso.
Mas ao verificar as estatísticas do perfil do usuário, eles dizem algo como “2 tópicos criados, 0 posts criados”.
Então, talvez o “post_count” que recebo seja, na verdade, o número de respostas a tópicos em vez do número total de posts?
Por outro lado, há uma data “last_posted_at” que contém a data em que o último tópico foi criado. Então, pelo menos, há alguma inconsistência na nomenclatura aqui. Eu esperaria que o número “post_count” incluísse também os primeiros posts em novos tópicos.
De qualquer forma, seja este o comportamento pretendido ou não, não encontro um topic_count ou similar no JSON do usuário. Como descubro o número total de posts, incluindo novos tópicos?