FEATURE: automatically sync "move to inbox" / "archive" state on messages

This commit is contained in:
Sam Saffron
2016-02-07 23:39:07 +11:00
parent d456150bb2
commit b0567f9c62
6 changed files with 48 additions and 12 deletions

View File

@@ -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

View File

@@ -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