Я хочу внести вклад в GitHub - discourse/discourse-assign: Plugin for assigning users to a topic · GitHub и добавить функцию снятия назначения с пользователя, когда тема помечается как решённая. Я настроил вебхук на webhook.site, чтобы отслеживать тестовую тему, помеченную как решённая, но в ответ приходит другой объект с другими заголовками по сравнению с темой, которая, например, закрыта.
В приведённом ниже примере, какое значение статуса темы следует искать, когда у темы есть решение?
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