forked from cybrespace/mastodon
		
	api/instances: Include the stats from the /about/more page (#4074)
To be able to pull some basic statistics from a Mastodon instance, include the user, status and connected domain counters in the `/api/v1/instance` response. Fixes #3570. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
This commit is contained in:
		
							parent
							
								
									61bfce5aa9
								
							
						
					
					
						commit
						2ebe4ff568
					
				
					 1 changed files with 15 additions and 1 deletions
				
			
		| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class REST::InstanceSerializer < ActiveModel::Serializer
 | 
					class REST::InstanceSerializer < ActiveModel::Serializer
 | 
				
			||||||
  attributes :uri, :title, :description, :email,
 | 
					  attributes :uri, :title, :description, :email,
 | 
				
			||||||
             :version, :urls
 | 
					             :version, :urls, :stats
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def uri
 | 
					  def uri
 | 
				
			||||||
    Rails.configuration.x.local_domain
 | 
					    Rails.configuration.x.local_domain
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,21 @@ class REST::InstanceSerializer < ActiveModel::Serializer
 | 
				
			||||||
    Mastodon::Version.to_s
 | 
					    Mastodon::Version.to_s
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def stats
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      user_count: instance_presenter.user_count,
 | 
				
			||||||
 | 
					      status_count: instance_presenter.status_count,
 | 
				
			||||||
 | 
					      domain_count: instance_presenter.domain_count,
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def urls
 | 
					  def urls
 | 
				
			||||||
    { streaming_api: Rails.configuration.x.streaming_api_base_url }
 | 
					    { streaming_api: Rails.configuration.x.streaming_api_base_url }
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def instance_presenter
 | 
				
			||||||
 | 
					    @instance_presenter ||= InstancePresenter.new
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue