about summary refs log tree commit diff
path: root/app/views/api
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-03-30 15:06:59 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-03-30 15:06:59 +0200
commitde22c202f5e103f433926c763fc3ae179d5976ad (patch)
tree328a69859cf55572899d673ddc40fa598b23ac46 /app/views/api
parent333e44c3fc687b1f6215db99283536b293cf937f (diff)
Add counter caches for a large performance increase on API requests
Diffstat (limited to 'app/views/api')
-rw-r--r--app/views/api/v1/statuses/_show.rabl4
1 files changed, 2 insertions, 2 deletions
diff --git a/app/views/api/v1/statuses/_show.rabl b/app/views/api/v1/statuses/_show.rabl
index 059e0d13f..f384b6d14 100644
--- a/app/views/api/v1/statuses/_show.rabl
+++ b/app/views/api/v1/statuses/_show.rabl
@@ -3,8 +3,8 @@ attributes :id, :created_at, :in_reply_to_id, :in_reply_to_account_id, :sensitiv
 node(:uri)              { |status| TagManager.instance.uri_for(status) }
 node(:content)          { |status| Formatter.instance.format(status) }
 node(:url)              { |status| TagManager.instance.url_for(status) }
-node(:reblogs_count)    { |status| defined?(@reblogs_counts_map)    ? (@reblogs_counts_map[status.id]    || 0) : status.reblogs.count }
-node(:favourites_count) { |status| defined?(@favourites_counts_map) ? (@favourites_counts_map[status.id] || 0) : status.favourites.count }
+node(:reblogs_count)    { |status| defined?(@reblogs_counts_map)    ? (@reblogs_counts_map[status.id]    || 0) : (status.try(:reblogs_count) || status.reblogs.count) }
+node(:favourites_count) { |status| defined?(@favourites_counts_map) ? (@favourites_counts_map[status.id] || 0) : (status.try(:favourites_count) || status.favourites.count) }
 
 child :application do
   extends 'api/v1/apps/show'