about summary refs log tree commit diff
path: root/app/lib
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2019-08-03 21:56:47 -0500
committermultiple creatures <dev@multiple-creature.party>2019-08-03 21:56:47 -0500
commitd69ee097dd07ff7f2ec7f9ad0b235ee993d42881 (patch)
tree77b2fd30ff91db4e7d3ceff7e7d6c9fc2422da05 /app/lib
parent4427480356fff8b31f90ca8d879c7fbda20cb5a6 (diff)
add `parent:bookmark`/`parent:bm` bangtag
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/bangtags.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/lib/bangtags.rb b/app/lib/bangtags.rb
index 9c5d0b3f3..b9427a1f6 100644
--- a/app/lib/bangtags.rb
+++ b/app/lib/bangtags.rb
@@ -379,6 +379,13 @@ class Bangtags
             @parent_status.reject_replies = true
             @parent_status.save
             Rails.cache.delete("statuses/#{@parent_status.id}")
+          when 'bookmark', 'bm'
+            Bookmark.find_or_create_by!(account: @account, status: @parent_status)
+            next if @parent_status.curated || !@parent_status.distributable?
+            next if @parent_status.reply? && @status.in_reply_to_account_id != @account.id
+            @parent_status.curated = true
+            @parent_status.save
+            FanOutOnWriteService.new.call(@parent_status)
           end
         when 'media'
           chunk = nil