Adds site metadata access to the API
This commit is contained in:
		
							
								
								
									
										8
									
								
								app/controllers/api/v1/site_controller.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								app/controllers/api/v1/site_controller.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| # frozen_string_literal: true | ||||
|  | ||||
| class Api::V1::SiteController < ApiController | ||||
|   respond_to :json | ||||
|  | ||||
|   def index | ||||
|   end | ||||
| end | ||||
							
								
								
									
										14
									
								
								app/views/api/v1/site/index.rabl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								app/views/api/v1/site/index.rabl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| 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 | ||||
| @@ -129,6 +129,7 @@ Rails.application.routes.draw do | ||||
|       resources :blocks,     only: [:index] | ||||
|       resources :favourites, only: [:index] | ||||
|       resources :reports,    only: [:index, :create] | ||||
|       resources :site,       only: [:index] | ||||
|  | ||||
|       resources :follow_requests, only: [:index] do | ||||
|         member do | ||||
|   | ||||
| @@ -19,6 +19,7 @@ API overview | ||||
|   - Who reblogged/favourited a status | ||||
|   - Following/unfollowing accounts | ||||
|   - Blocking/unblocking accounts | ||||
|   - Getting site information | ||||
|   - Creating OAuth apps | ||||
| - [Entities](#entities) | ||||
|   - Status | ||||
| @@ -207,6 +208,13 @@ Returns the updated relationship to the user. | ||||
|  | ||||
| Returns the updated relationship to the user. | ||||
|  | ||||
| ### Getting site information | ||||
|  | ||||
| **GET /api/v1/site** | ||||
|  | ||||
| Returns an object containing the `title`, character limit (`max_chars`), and an object of `links` for the site. | ||||
| Does not require authentication. | ||||
|  | ||||
| ### OAuth apps | ||||
|  | ||||
| **POST /api/v1/apps** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user