about summary refs log tree commit diff
path: root/app/api
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-02-29 19:42:08 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-02-29 19:42:08 +0100
commit0e8f59c16fcb21301c736ecbc4424cb4c5388c42 (patch)
tree344ac1e0b2d165ba4fe3870f786e854710970ce1 /app/api
parent11ff92c9d7b27c2c9ed86f649aef8d956cc8b989 (diff)
Refactoring Grape API methods into normal controllers & other things
Diffstat (limited to 'app/api')
-rw-r--r--app/api/mastodon/api.rb8
-rw-r--r--app/api/mastodon/entities.rb54
-rw-r--r--app/api/mastodon/ostatus.rb62
-rw-r--r--app/api/mastodon/rest.rb44
4 files changed, 0 insertions, 168 deletions
diff --git a/app/api/mastodon/api.rb b/app/api/mastodon/api.rb
deleted file mode 100644
index 39469dc65..000000000
--- a/app/api/mastodon/api.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-module Mastodon
-  class API < Grape::API
-    rescue_from :all
-
-    mount Mastodon::Ostatus
-    mount Mastodon::Rest
-  end
-end
diff --git a/app/api/mastodon/entities.rb b/app/api/mastodon/entities.rb
deleted file mode 100644
index 1c0e768f8..000000000
--- a/app/api/mastodon/entities.rb
+++ /dev/null
@@ -1,54 +0,0 @@
-module Mastodon
-  module Entities
-    class Account < Grape::Entity
-      include ApplicationHelper
-
-      expose :id
-      expose :username
-
-      expose :domain do |account|
-        account.local? ? LOCAL_DOMAIN : account.domain
-      end
-
-      expose :display_name
-      expose :note
-
-      expose :url do |account|
-        account.local? ? profile_url(name: account.username) : account.url
-      end
-    end
-
-    class Status < Grape::Entity
-      include ApplicationHelper
-
-      format_with(:iso_timestamp) { |dt| dt.iso8601 }
-
-      expose :id
-
-      expose :uri do |status|
-        status.local? ? unique_tag(status.stream_entry.created_at, status.stream_entry.activity_id, status.stream_entry.activity_type) : status.uri
-      end
-
-      expose :url do |status|
-        status.local? ? status_url(name: status.account.username, id: status.id) : status.url
-      end
-
-      expose :text
-      expose :in_reply_to_id
-
-      expose :reblog_of_id
-      expose :reblog, using: Mastodon::Entities::Status
-
-      expose :account, using: Mastodon::Entities::Account
-
-      with_options(format_with: :iso_timestamp) do
-        expose :created_at
-        expose :updated_at
-      end
-    end
-
-    class StreamEntry < Grape::Entity
-      expose :activity, using: Mastodon::Entities::Status
-    end
-  end
-end
diff --git a/app/api/mastodon/ostatus.rb b/app/api/mastodon/ostatus.rb
deleted file mode 100644
index 4676bc429..000000000
--- a/app/api/mastodon/ostatus.rb
+++ /dev/null
@@ -1,62 +0,0 @@
-module Mastodon
-  class Ostatus < Grape::API
-    format :txt
-
-    before do
-      @account = Account.find(params[:id])
-    end
-
-    resource :subscriptions do
-      helpers do
-        include ApplicationHelper
-      end
-
-      desc 'Receive updates from an account'
-
-      params do
-        requires :id, type: String, desc: 'Account ID'
-      end
-
-      post ':id' do
-        body = request.body.read
-
-        if @account.subscription(subscription_url(@account)).verify(body, env['HTTP_X_HUB_SIGNATURE'])
-          ProcessFeedService.new.(body, @account)
-          status 201
-        else
-          status 202
-        end
-      end
-
-      desc 'Confirm PuSH subscription to an account'
-
-      params do
-        requires :id, type: String, desc: 'Account ID'
-        requires 'hub.topic', type: String, desc: 'Topic URL'
-        requires 'hub.verify_token', type: String, desc: 'Verification token'
-        requires 'hub.challenge', type: String, desc: 'Hub challenge'
-      end
-
-      get ':id' do
-        if @account.subscription(subscription_url(@account)).valid?(params['hub.topic'], params['hub.verify_token'])
-          params['hub.challenge']
-        else
-          error! :not_found, 404
-        end
-      end
-    end
-
-    resource :salmon do
-      desc 'Receive Salmon updates targeted to account'
-
-      params do
-        requires :id, type: String, desc: 'Account ID'
-      end
-
-      post ':id' do
-        ProcessInteractionService.new.(request.body.read, @account)
-        status 201
-      end
-    end
-  end
-end
diff --git a/app/api/mastodon/rest.rb b/app/api/mastodon/rest.rb
deleted file mode 100644
index eb5232165..000000000
--- a/app/api/mastodon/rest.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-module Mastodon
-  class Rest < Grape::API
-    version 'v1', using: :path
-    format :json
-
-    helpers do
-      def current_user
-        User.first
-      end
-    end
-
-    resource :timelines do
-      desc 'Return a public timeline'
-
-      get :public do
-        # todo
-      end
-
-      desc 'Return the home timeline of a logged in user'
-
-      get :home do
-        present current_user.timeline, with: Mastodon::Entities::StreamEntry
-      end
-
-      desc 'Return the notifications timeline of a logged in user'
-
-      get :notifications do
-        # todo
-      end
-    end
-
-    resource :accounts do
-      desc 'Return a user profile'
-
-      params do
-        requires :id, type: String, desc: 'Account ID'
-      end
-
-      get ':id' do
-        present Account.find(params[:id]), with: Mastodon::Entities::Account
-      end
-    end
-  end
-end