about summary refs log tree commit diff
path: root/app/models/status.rb
diff options
context:
space:
mode:
authorDavid Yip <yipdw@member.fsf.org>2018-04-14 03:50:31 -0500
committerDavid Yip <yipdw@member.fsf.org>2018-04-14 03:50:31 -0500
commitd66192f21c22dd79735a6c3ea6e2ed115b42e0d0 (patch)
treefec9f7eab346901c571c57023aa6231b0f855421 /app/models/status.rb
parent78aca92689cd896f4be34daeb1852f75abc57472 (diff)
parent95a892accdb6a081447117f49c66431dc7e032fb (diff)
Merge remote-tracking branch 'glitchsoc/master' into gs-master
  Conflicts:
 	db/schema.rb
Diffstat (limited to 'app/models/status.rb')
-rw-r--r--app/models/status.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/app/models/status.rb b/app/models/status.rb
index 9d66d4b21..5d309546f 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -46,6 +46,7 @@ class Status < ApplicationRecord
   belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, counter_cache: :reblogs_count, optional: true
 
   has_many :favourites, inverse_of: :status, dependent: :destroy
+  has_many :bookmarks, inverse_of: :status, dependent: :destroy
   has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblog, dependent: :destroy
   has_many :replies, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :thread
   has_many :mentions, dependent: :destroy
@@ -216,6 +217,10 @@ class Status < ApplicationRecord
       Favourite.select('status_id').where(status_id: status_ids).where(account_id: account_id).map { |f| [f.status_id, true] }.to_h
     end
 
+    def bookmarks_map(status_ids, account_id)
+      Bookmark.select('status_id').where(status_id: status_ids).where(account_id: account_id).map { |f| [f.status_id, true] }.to_h
+    end
+
     def reblogs_map(status_ids, account_id)
       select('reblog_of_id').where(reblog_of_id: status_ids).where(account_id: account_id).reorder(nil).map { |s| [s.reblog_of_id, true] }.to_h
     end