Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
class Api::V1::Accounts::Twitter::AuthorizationsController < Api::V1::Accounts::BaseController
|
||||
include TwitterConcern
|
||||
|
||||
before_action :check_authorization
|
||||
|
||||
def create
|
||||
@response = twitter_client.request_oauth_token(url: twitter_callback_url)
|
||||
if @response.status == '200'
|
||||
::Redis::Alfred.setex(oauth_token, Current.account.id)
|
||||
render json: { success: true, url: oauth_authorize_endpoint(oauth_token) }
|
||||
else
|
||||
render json: { success: false }, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def oauth_token
|
||||
parsed_body['oauth_token']
|
||||
end
|
||||
|
||||
def oauth_authorize_endpoint(oauth_token)
|
||||
"#{twitter_api_base_url}/oauth/authorize?oauth_token=#{oauth_token}"
|
||||
end
|
||||
|
||||
def check_authorization
|
||||
raise Pundit::NotAuthorizedError unless Current.account_user.administrator?
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user