class Api::ApiController < ActionController::API
  include TokenVerification

  # before_action :lookup_domain
  helper_method :current_token, :current_login_employee, :get_cashier

  private
  #this is base api base controller to need to inherit.
  #all token authentication must be done here
  #response format must be set to JSON
  def current_token
    authenticate_with_http_token do |token, options|
      return token
    end
  end

  #  Get current Cashier
  def get_cashier
    @cashier = Employee.where("role = 'cashier' AND token_session <> ''")
  end

  def current_login_employee
    @employee = Employee.find_by_token_session(current_token)
  end

  # def lookup_domain  
  #   if request.subdomain.present? && request.subdomain != "www" 
  #     from = request.subdomain.downcase  + "." + request.domain.downcase    
  #     @license = cache_license(ENV["SX_PROVISION_URL"], from) # request.subdomain.downcase
  #     if (!@license.nil?)
  #       logger.info "Location - " + @license.dbhost     
  #       ActiveRecord::Base.establish_connection(website_connection(@license))    
  #       # authenticate_session_token    
  #       # logger.info "Connecting to - " + @license.subdomain + " - "+ @license.dbhost + "@" + @license.dbschema
  #     else
  #       # reconnect_default_db
  #       logger.info 'License is nil'
  #       # redirect_to root_url(:host => request.domain) + "store_error"
  #        render :json => [{ status: false, message: 'Invalid Access!'}]
  #     end                   
  #   end    
  # end

  # def website_connection(license)    
  #   default_connection.dup.update(:host => license.dbhost, :database => license.dbschema.to_s.downcase,
  #   :username => license.dbusername, :password => license.dbpassword)
  # end

  # def reconnect_default_db
  #   ActiveRecord::Base.establish_connection(Rails.env)
  # end

  # # Regular database.yml configuration hash
  # def default_connection
  #   @default_config ||= ActiveRecord::Base.connection.instance_variable_get("@config").dup
  # end

  # def cache_license(url, lookup)    
  #   @license = License.new(url, lookup)        

  #   if (@license.detail_with_local_cache(lookup) == true)
  #     return @license
  #   else
  #     return nil
  #   end
  # end
end
