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 else8 # 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 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