0
0
Fork 0

Use likes and shares totalItems on status creations and updates (#32620)

This commit is contained in:
Jonny Saunders 2024-10-27 21:55:18 -07:00 committed by GitHub
parent 77cd16f4ee
commit 9074c1fac9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 326 additions and 14 deletions

View file

@ -303,12 +303,34 @@ class Status < ApplicationRecord
status_stat&.favourites_count || 0
end
# Reblogs count received from an external instance
def untrusted_reblogs_count
status_stat&.untrusted_reblogs_count unless local?
end
# Favourites count received from an external instance
def untrusted_favourites_count
status_stat&.untrusted_favourites_count unless local?
end
def increment_count!(key)
update_status_stat!(key => public_send(key) + 1)
if key == :favourites_count && !untrusted_favourites_count.nil?
update_status_stat!(favourites_count: favourites_count + 1, untrusted_favourites_count: untrusted_favourites_count + 1)
elsif key == :reblogs_count && !untrusted_reblogs_count.nil?
update_status_stat!(reblogs_count: reblogs_count + 1, untrusted_reblogs_count: untrusted_reblogs_count + 1)
else
update_status_stat!(key => public_send(key) + 1)
end
end
def decrement_count!(key)
update_status_stat!(key => [public_send(key) - 1, 0].max)
if key == :favourites_count && !untrusted_favourites_count.nil?
update_status_stat!(favourites_count: [favourites_count - 1, 0].max, untrusted_favourites_count: [untrusted_favourites_count - 1, 0].max)
elsif key == :reblogs_count && !untrusted_reblogs_count.nil?
update_status_stat!(reblogs_count: [reblogs_count - 1, 0].max, untrusted_reblogs_count: [untrusted_reblogs_count - 1, 0].max)
else
update_status_stat!(key => [public_send(key) - 1, 0].max)
end
end
def trendable?