Module: SpreeCmCommissioner::WaitingRoomAuthorization

Extended by:
ActiveSupport::Concern
Defined in:
app/controllers/concerns/spree_cm_commissioner/waiting_room_authorization.rb

Instance Method Summary collapse

Instance Method Details

#ensure_waiting_room_session_tokenObject



9
10
11
12
13
14
15
16
17
# File 'app/controllers/concerns/spree_cm_commissioner/waiting_room_authorization.rb', line 9

def ensure_waiting_room_session_token
  return if ENV['WAITING_ROOM_DISABLED'] == 'yes'
  return if request_from_client?
  return unless required_waiting_room_session?

  return if SpreeCmCommissioner::WaitingRoomSession.active.exists?(token: params[:waiting_room_session_token])

  handle_waiting_room_session_token_error
end

#handle_waiting_room_session_token_errorObject



31
32
33
# File 'app/controllers/concerns/spree_cm_commissioner/waiting_room_authorization.rb', line 31

def handle_waiting_room_session_token_error
  render_error_payload(Spree.t(:invalid_session_token), 400)
end

#request_from_client?Boolean

temporary disable session check from any client server requests.

Returns:



27
28
29
# File 'app/controllers/concerns/spree_cm_commissioner/waiting_room_authorization.rb', line 27

def request_from_client?
  request.headers['X-Cm-Api-Client-Version'].present?
end

#required_waiting_room_session?Boolean

Returns:



19
20
21
22
23
24
# File 'app/controllers/concerns/spree_cm_commissioner/waiting_room_authorization.rb', line 19

def required_waiting_room_session?
  # temporary disable
  apis = []

  apis.any? { |prefix| request.path.start_with?(prefix) }
end