module LoginVerification extend ActiveSupport::Concern included do before_action :authenticate helper_method :current_company, :current_shop, :current_login_employee, :current_user, :get_cashier, :order_reservation, :bank_integration, :shop_detail end #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_company begin return Company.first rescue return nil end end def current_login_employee @emp ||= current_user end def current_user @current_user ||= Employee.find_by_token_session(session[:session_token]) if session[:session_token] end # Get current Cashiers def get_cashier @cashier ||= Employee.where("role = 'cashier' AND token_session <> ''") end #Shop Name in Navbor # def shop_detail # @shop ||= current_shop # end #check order reservation used def order_reservation order_reserve = Lookup.collection_of('order_reservation') status = false if !order_reserve.empty? order_reserve.each do |order| if order[0] == 'OrderReservation' if order[1] == '1' status = true end end end end return status end #check bank integration used def bank_integration bank_integration = Lookup.collection_of('bank_integration') status = false if !bank_integration.empty? bank_integration.each do |bank| if bank[0] == 'Bank Integration' if bank[1] == '1' status = true end end end end return status end protected # Authenticate the user with token based authentication def authenticate authenticate_session_token || render_unauthorized end def authenticate_session_token token = session[:session_token] puts "token #{token}" if (token) #@current_user = User.find_by(api_key: token) # Rails.logger.debug "token - " + token.to_s @user = Employee.authenticate_by_token(token) if @user return true #Maybe log - login? end end end def render_unauthorized redirect_to login_path end end