aidamanna/appetype

View on GitHub
app/controllers/oauth/create_token_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Oauth
  class CreateTokenController < ApplicationController
    authorize_resource class: CreateTokenController

    def call
      begin
        oauth_client = OauthClient.new
        Oauth::TokenCreator.new(oauth_client).call(current_user.id, temp_auth_code)
        flash[:success] = 'Appetype is authorized to use Typeform'
      rescue OauthClient::RetrieveTokenError => exception
        logger.error "[#{exception.class}] #{exception} \n#{exception.backtrace}"
        flash[:danger] = 'Error getting the oauth token to use Typeform.'
      rescue StandardError => exception
        logger.error "[#{exception.class}] #{exception} \n#{exception.backtrace}"
        flash[:danger] = 'Error getting the oauth token to use Typeform.'
      end
      redirect_to menus_path
    end

    private

    def temp_auth_code
      params.require(:code)
    end
  end
end