class RestPack::Web::Rack::User

Public Class Methods

new(app) click to toggle source
# File lib/restpack_web/rack/user.rb, line 6
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/restpack_web/rack/user.rb, line 10
def call(env)
  session = env["restpack.session"]
  user_id = session[:user_id]
  account_id = session[:account_id]

  if user_id && account_id
    response = Commands::Users::User::Get.run({
      id: user_id,
      application_id: env['restpack'][:application_id]
    })

    raise "Error getting user" unless response.success?
    env['restpack'][:user] = response.result[:users][0]

    response = Commands::Accounts::Account::Get.run({
      id: account_id,
      application_id: env['restpack'][:application_id]
    })
    raise "Error getting account" unless response.success?
    env['restpack'][:account] = response.result[:accounts][0]
  end

  @app.call(env)
end