mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: automatically sync "move to inbox" / "archive" state on messages
This commit is contained in:
@@ -1,6 +1,18 @@
|
||||
class GroupArchivedMessage < ActiveRecord::Base
|
||||
belongs_to :user
|
||||
belongs_to :topic
|
||||
|
||||
def self.move_to_inbox!(group_id, topic_id)
|
||||
GroupArchivedMessage.where(group_id: group_id, topic_id: topic_id).destroy_all
|
||||
MessageBus.publish("/topic/#{topic_id}", {type: "move_to_inbox"}, group_ids: [group_id])
|
||||
end
|
||||
|
||||
def self.archive!(group_id, topic_id)
|
||||
GroupArchivedMessage.where(group_id: group_id, topic_id: topic_id).destroy_all
|
||||
GroupArchivedMessage.create!(group_id: group_id, topic_id: topic_id)
|
||||
MessageBus.publish("/topic/#{topic_id}", {type: "archived"}, group_ids: [group_id])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# == Schema Information
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
class UserArchivedMessage < ActiveRecord::Base
|
||||
belongs_to :user
|
||||
belongs_to :topic
|
||||
|
||||
def self.move_to_inbox!(user_id, topic_id)
|
||||
UserArchivedMessage.where(user_id: user_id, topic_id: topic_id).destroy_all
|
||||
MessageBus.publish("/topic/#{topic_id}", {type: "move_to_inbox"}, user_ids: [user_id])
|
||||
end
|
||||
|
||||
def self.archive!(user_id, topic_id)
|
||||
UserArchivedMessage.where(user_id: user_id, topic_id: topic_id).destroy_all
|
||||
UserArchivedMessage.create!(user_id: user_id, topic_id: topic_id)
|
||||
MessageBus.publish("/topic/#{topic_id}", {type: "archived"}, user_ids: [user_id])
|
||||
end
|
||||
end
|
||||
|
||||
# == Schema Information
|
||||
|
||||
Reference in New Issue
Block a user