Refactoring Grape API methods into normal controllers & other things
This commit is contained in:
parent
11ff92c9d7
commit
0e8f59c16f
63 changed files with 336 additions and 406 deletions
16
app/controllers/accounts_controller.rb
Normal file
16
app/controllers/accounts_controller.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
class AccountsController < ApplicationController
|
||||
before_action :set_account
|
||||
|
||||
def show
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.atom
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find_by!(username: params[:username], domain: nil)
|
||||
end
|
||||
end
|
14
app/controllers/api/salmon_controller.rb
Normal file
14
app/controllers/api/salmon_controller.rb
Normal file
|
@ -0,0 +1,14 @@
|
|||
class Api::SalmonController < ApplicationController
|
||||
before_action :set_account
|
||||
|
||||
def update
|
||||
ProcessInteractionService.new.(request.body.read, @account)
|
||||
render nothing: true, status: 201
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find(params[:id])
|
||||
end
|
||||
end
|
28
app/controllers/api/subscriptions_controller.rb
Normal file
28
app/controllers/api/subscriptions_controller.rb
Normal file
|
@ -0,0 +1,28 @@
|
|||
class Api::SubscriptionsController < ApplicationController
|
||||
before_action :set_account
|
||||
|
||||
def show
|
||||
if @account.subscription(api_subscription_url(@account.id)).valid?(params['hub.topic'], params['hub.verify_token'])
|
||||
render text: params['hub.challenge'], status: 200
|
||||
else
|
||||
render nothing: true, status: 404
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
body = request.body.read
|
||||
|
||||
if @account.subscription(api_subscription_url(@account.id)).verify(body, env['HTTP_X_HUB_SIGNATURE'])
|
||||
ProcessFeedService.new.(body, @account)
|
||||
render nothing: true, status: 201
|
||||
else
|
||||
render nothing: true, status: 202
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find(params[:id])
|
||||
end
|
||||
end
|
|
@ -1,18 +0,0 @@
|
|||
class AtomController < ApplicationController
|
||||
before_filter :set_format
|
||||
|
||||
def user_stream
|
||||
@account = Account.find_by!(id: params[:id], domain: nil)
|
||||
end
|
||||
|
||||
def entry
|
||||
@entry = StreamEntry.find(params[:id])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_format
|
||||
request.format = 'xml'
|
||||
response.headers['Content-Type'] = 'application/atom+xml'
|
||||
end
|
||||
end
|
|
@ -1,17 +0,0 @@
|
|||
class ProfileController < ApplicationController
|
||||
before_action :set_account
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def entry
|
||||
@entry = @account.stream_entries.find(params[:id])
|
||||
@type = @entry.activity_type.downcase
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find_by!(username: params[:name], domain: nil)
|
||||
end
|
||||
end
|
23
app/controllers/stream_entries_controller.rb
Normal file
23
app/controllers/stream_entries_controller.rb
Normal file
|
@ -0,0 +1,23 @@
|
|||
class StreamEntriesController < ApplicationController
|
||||
before_action :set_account
|
||||
before_action :set_stream_entry
|
||||
|
||||
def show
|
||||
@type = @stream_entry.activity_type.downcase
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.atom
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find_by!(username: params[:account_username], domain: nil)
|
||||
end
|
||||
|
||||
def set_stream_entry
|
||||
@stream_entry = @account.stream_entries.find(params[:id])
|
||||
end
|
||||
end
|
|
@ -9,6 +9,8 @@ class XrdController < ApplicationController
|
|||
@account = Account.find_by!(username: username_from_resource, domain: nil)
|
||||
@canonical_account_uri = "acct:#{@account.username}@#{LOCAL_DOMAIN}"
|
||||
@magic_key = pem_to_magic_key(@account.keypair.public_key)
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render nothing: true, status: 404
|
||||
end
|
||||
|
||||
private
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue