|
|
|
@ -6,7 +6,14 @@ class AuthorizeFollowController < ApplicationController
|
|
|
|
|
before_action :authenticate_user!
|
|
|
|
|
|
|
|
|
|
def new
|
|
|
|
|
@account = FollowRemoteAccountService.new.call(params[:acct])
|
|
|
|
|
uri = Addressable::URI.parse(params[:acct])
|
|
|
|
|
|
|
|
|
|
if uri.path && %w(http https).include?(uri.scheme)
|
|
|
|
|
set_account_from_url
|
|
|
|
|
else
|
|
|
|
|
set_account_from_acct
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
render :error if @account.nil?
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -21,4 +28,14 @@ class AuthorizeFollowController < ApplicationController
|
|
|
|
|
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermitted
|
|
|
|
|
render :error
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
|
|
def set_account_from_url
|
|
|
|
|
@account = FetchRemoteAccountService.new.call(params[:acct])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def set_account_from_acct
|
|
|
|
|
@account = FollowRemoteAccountService.new.call(params[:acct])
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|