Class: Ros::ApplicationController

Inherits:
ApplicationController
  • Object
show all
Includes:
JSONAPI::ActsAsResourceController, OpenApi::DSL
Defined in:
app/controllers/ros/application_controller.rb

Direct Known Subclasses

TenantsController

Instance Method Summary collapse

Instance Method Details

#authenticate_it!Object



12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/ros/application_controller.rb', line 12

def authenticate_it!
  return unless @current_user = request.env['warden'].authenticate!(:api_token)
  # set_jwt if request.env['HTTP_AUTHORIZATION'].starts_with?('Basic')
  response.set_header('AUTHORIZATION', "Bearer #{jwt}") if request.env['HTTP_AUTHORIZATION'].starts_with?('Basic')

  # render(status: :unauthorized, json: { errors: [{
  #   status: 401, code: 'unauthorized', title: 'Unauthorized'
  # }]})
  # throw(:abort) unless @current_user
end

#contextObject

Methods for Pundit



30
# File 'app/controllers/ros/application_controller.rb', line 30

def context; { user: current_user } end

#current_userObject



27
# File 'app/controllers/ros/application_controller.rb', line 27

def current_user;  @current_user end

#jwtObject

def set_jwt; response.set_header(‘AUTHORIZATION’, “Bearer ##jwt”) end



25
# File 'app/controllers/ros/application_controller.rb', line 25

def jwt; Jwt.encode(current_user.jwt_payload) end

#set_raven_contextObject



33
34
35
36
# File 'app/controllers/ros/application_controller.rb', line 33

def set_raven_context
  # Raven.user_context(id: session[:current_user_id]) # or anything else in session
  Raven.extra_context(params: params.to_unsafe_h, url: request.url, tenant: Apartment::Tenant.current)
end

#user_not_authorizedObject



31
# File 'app/controllers/ros/application_controller.rb', line 31

def user_not_authorized; head :forbidden end