diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-03-15 23:12:48 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-03-15 23:12:48 +0100 |
commit | 6be7bde24378bcb034552248021ea2450bb10524 (patch) | |
tree | 99af4a2c5355dc7ad3fa39ed828332db24bda799 | |
parent | 7b58c1a694eed95e367cc8d078f91c390dffec4d (diff) |
Fix #525 - Add instance information API
-rw-r--r-- | app/controllers/api/v1/instances_controller.rb | 7 | ||||
-rw-r--r-- | app/controllers/api/v1/site_controller.rb | 8 | ||||
-rw-r--r-- | app/views/api/v1/instances/show.rabl | 6 | ||||
-rw-r--r-- | app/views/api/v1/site/index.rabl | 14 | ||||
-rw-r--r-- | config/routes.rb | 3 | ||||
-rw-r--r-- | docs/Using-the-API/API.md | 9 |
6 files changed, 19 insertions, 28 deletions
diff --git a/app/controllers/api/v1/instances_controller.rb b/app/controllers/api/v1/instances_controller.rb new file mode 100644 index 000000000..51d92838a --- /dev/null +++ b/app/controllers/api/v1/instances_controller.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class Api::V1::InstancesController < ApiController + respond_to :json + + def show; end +end diff --git a/app/controllers/api/v1/site_controller.rb b/app/controllers/api/v1/site_controller.rb deleted file mode 100644 index 64ca2dec1..000000000 --- a/app/controllers/api/v1/site_controller.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -class Api::V1::SiteController < ApiController - respond_to :json - - def index - end -end diff --git a/app/views/api/v1/instances/show.rabl b/app/views/api/v1/instances/show.rabl new file mode 100644 index 000000000..88eb08a9e --- /dev/null +++ b/app/views/api/v1/instances/show.rabl @@ -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 } diff --git a/app/views/api/v1/site/index.rabl b/app/views/api/v1/site/index.rabl deleted file mode 100644 index 09f78560b..000000000 --- a/app/views/api/v1/site/index.rabl +++ /dev/null @@ -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 diff --git a/config/routes.rb b/config/routes.rb index 1a2e3c19d..ac1d78d64 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -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 diff --git a/docs/Using-the-API/API.md b/docs/Using-the-API/API.md index 2c323d559..4db634a60 100644 --- a/docs/Using-the-API/API.md +++ b/docs/Using-the-API/API.md @@ -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 |