about summary refs log tree commit diff
path: root/config/routes.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-07 12:42:33 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-07 12:42:33 +0100
commitab6696e855b58cdb2b6264c9acb0397dd7384e25 (patch)
tree516e8c8f3a574e669d9f5b192655c54a7bcda38b /config/routes.rb
parent3824c588533f481011d2be19ff9476c001ffbee9 (diff)
Adding doorkeeper, adding a REST API
POST /api/statuses                  Params: status (text contents), in_reply_to_id (optional)
GET  /api/statuses/:id
POST /api/statuses/:id/reblog

GET  /api/accounts/:id
GET  /api/accounts/:id/following
GET  /api/accounts/:id/followers
POST /api/accounts/:id/follow
POST /api/accounts/:id/unfollow

POST /api/follows                  Params: uri (e.g. user@domain)

OAuth authentication is currently disabled, but the API can be used with HTTP Auth.
Diffstat (limited to 'config/routes.rb')
-rw-r--r--config/routes.rb37
1 files changed, 26 insertions, 11 deletions
diff --git a/config/routes.rb b/config/routes.rb
index 3167cbdeb..b34837711 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,4 +1,6 @@
 Rails.application.routes.draw do
+  use_doorkeeper
+
   get '.well-known/host-meta', to: 'xrd#host_meta', as: :host_meta
   get '.well-known/webfinger', to: 'xrd#webfinger', as: :webfinger
 
@@ -9,23 +11,36 @@ Rails.application.routes.draw do
   }
 
   resources :accounts, path: 'users', only: [:show], param: :username do
-    member do
-      post :follow
-      post :unfollow
-    end
-
-    resources :stream_entries, path: 'updates', only: [:show] do
-      member do
-        post :reblog
-        post :favourite
-      end
-    end
+    resources :stream_entries, path: 'updates', only: [:show]
   end
 
   namespace :api do
+    # PubSubHubbub
     resources :subscriptions, only: [:show]
     post '/subscriptions/:id', to: 'subscriptions#update'
+
+    # Salmon
     post '/salmon/:id', to: 'salmon#update', as: :salmon
+
+    # JSON / REST API
+    resources :statuses, only: [:create, :show] do
+      member do
+        post :reblog
+      end
+    end
+
+    resources :follows,  only: [:create]
+
+    resources :accounts, only: [:show] do
+      member do
+        get :statuses
+        get :followers
+        get :following
+
+        post :follow
+        post :unfollow
+      end
+    end
   end
 
   root 'home#index'