Posso estar errado, mas parece que os dados retornados por um callback ‘post’ possuem category_slug, mas não category_id, enquanto os dados retornados por um callback ‘topic’ possuem category_id, mas não category_slug.
Se for esse o caso (e eu não estiver ignorando alguma configuração em algum lugar), seria bom que ambos os callbacks padronizassem o uso de category_id ou category_slug, ou então retornassem ambos.
Seria também excelente se ambos os tipos tivessem parent_category_id e parent_category_slug quando provenientes de um post ou tópico em uma subcategoria. Atualmente, ambos fornecem category_id, o que não indica se se trata de uma categoria ou subcategoria.
Existe alguma intenção de atualizar os webhooks para sempre incluir tanto o category_id quanto o category_slug, independentemente de o webhook ser para um ‘post’ ou um ‘tópico’?
As informações atuais do callback de ‘post’ são subótimas porque não há uma maneira confiável de determinar a qual categoria ele pertence… já que (se entendi corretamente) o category_slug não precisa ser único. Se você tiver algumas categorias diferentes, cada uma com três subcategorias com os mesmos slugs (porque precisa que a navegação da subcategoria tenha a mesma aparência para o usuário), não é possível saber em qual subcategoria o ‘post’ foi feito apenas pelo slug.
Não sou desenvolvedor Ruby, mas me pergunto se há um bug na classe post_serializer:
def include_category_id?
@add_title
end
Isso não deveria ser:
def include_category_id?
topic&.category_id.present?
end
Fiz um PR para mostrar essa alteração. Pode ser uma ideia maluca, mas pode ajudar a encontrar a verdadeira solução…