]> cat aescling's git repositories - mastodon.git/commitdiff
Fix #525 - Add instance information API
authorEugen Rochko <eugen@zeonfederated.com>
Wed, 15 Mar 2017 22:12:48 +0000 (23:12 +0100)
committerEugen Rochko <eugen@zeonfederated.com>
Wed, 15 Mar 2017 22:12:48 +0000 (23:12 +0100)
app/controllers/api/v1/instances_controller.rb [new file with mode: 0644]
app/controllers/api/v1/site_controller.rb [deleted file]
app/views/api/v1/instances/show.rabl [new file with mode: 0644]
app/views/api/v1/site/index.rabl [deleted file]
config/routes.rb
docs/Using-the-API/API.md

diff --git a/app/controllers/api/v1/instances_controller.rb b/app/controllers/api/v1/instances_controller.rb
new file mode 100644 (file)
index 0000000..51d9283
--- /dev/null
@@ -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 (file)
index 64ca2de..0000000
+++ /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 (file)
index 0000000..88eb08a
--- /dev/null
@@ -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 (file)
index 09f7856..0000000
+++ /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
index 1a2e3c19d7dc4d26af4c08f9b7a24c02ab141021..ac1d78d6446b714040212edefaa4574d21bffd31 100644 (file)
@@ -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
index 2c323d559d80655b17998c7a086d8680aefa746d..4db634a60321f5d2d748c1e47833717c7168d8f3 100644 (file)
@@ -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