Fix #525 - Add instance information API

master
Eugen Rochko 8 years ago
parent 7b58c1a694
commit 6be7bde243
  1. 7
      app/controllers/api/v1/instances_controller.rb
  2. 8
      app/controllers/api/v1/site_controller.rb
  3. 6
      app/views/api/v1/instances/show.rabl
  4. 14
      app/views/api/v1/site/index.rabl
  5. 3
      config/routes.rb
  6. 9
      docs/Using-the-API/API.md

@ -0,0 +1,7 @@
# frozen_string_literal: true
class Api::V1::InstancesController < ApiController
respond_to :json
def show; end
end

@ -1,8 +0,0 @@
# frozen_string_literal: true
class Api::V1::SiteController < ApiController
respond_to :json
def index
end
end

@ -0,0 +1,6 @@
object false
node(:uri) { Rails.configuration.x.local_domain }
node(:title) { Setting.site_title }
node(:description) { Setting.site_description }
node(:email) { Setting.site_contact_email }

@ -1,14 +0,0 @@
object false
node(:title) {Setting.site_title}
node(:max_chars) {500}
node(:links) do
{
t('about.learn_more') => url_for(about_more_url),
t('about.terms') => url_for(terms_url),
t('about.source_code') => "https://github.com/tootsuite/mastodon",
t('about.other_instances') => "https://github.com/tootsuite/mastodon/blob/master/docs/Using-Mastodon/List-of-Mastodon-instances.md",
}
end

@ -130,7 +130,8 @@ Rails.application.routes.draw do
resources :mutes, only: [:index]
resources :favourites, only: [:index]
resources :reports, only: [:index, :create]
resources :site, only: [:index]
resource :instance, only: [:show]
resources :follow_requests, only: [:index] do
member do

@ -19,7 +19,7 @@ API overview
- Who reblogged/favourited a status
- Following/unfollowing accounts
- Blocking/unblocking accounts
- Getting site information
- Getting instance information
- Creating OAuth apps
- [Entities](#entities)
- Status
@ -227,12 +227,11 @@ Returns the updated relationship to the user.
Returns the updated relationship to the user.
### Getting site information
### Getting instance information
**GET /api/v1/site**
**GET /api/v1/instance**
Returns an object containing the `title`, character limit (`max_chars`), and an object of `links` for the site.
Does not require authentication.
Returns an object containing the `title`, `description`, `email` and `uri` of the instance. Does not require authentication.
# Muting and unmuting users

Loading…
Cancel
Save