92 lines
2.2 KiB
Ruby
Executable File
92 lines
2.2 KiB
Ruby
Executable File
module LoginVerification
|
|
extend ActiveSupport::Concern
|
|
included do
|
|
before_action :authenticate_session_token
|
|
helper_method :current_company, :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
|
|
@employee ||= 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]
|
|
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 root_path
|
|
end
|
|
end
|