Estou querendo contribuir para GitHub - discourse/discourse-assign: Plugin for assigning users to a topic e gostaria de adicionar o recurso de desassociar um usuário quando um tópico é marcado com uma solução. Configurei um webhook com webhook.site para observar um tópico de teste marcado com uma solução, mas a resposta é um objeto diferente com cabeçalhos diferentes de um tópico que é, digamos, fechado.
No exemplo abaixo, qual deve ser o status do tópico a ser procurado quando um tópico tem uma solução?
on(:topic_status_updated) do |topic, status, enabled|
if SiteSetting.unassign_on_close && (status == "closed" || status == "autoclosed") && enabled &&
Assignment.exists?(topic_id: topic.id, active: true)
assigner = ::Assigner.new(topic, Discourse.system_user)
assigner.unassign(silent: true, deactivate: true)
topic
.posts
.joins(:assignment)
.find_each do |post|
assigner = ::Assigner.new(post, Discourse.system_user)
assigner.unassign(silent: true, deactivate: true)
end
MessageBus.publish("/topic/#{topic.id}", reload_topic: true, refresh_stream: true)
end
end