Sha256: ae5c9ee20cf90d0ed8ec5135f854a06ddb0ea7e06d5cf4d2960c001cef08a66c

Contents?: true

Size: 821 Bytes

Versions: 4

Compression:

Stored size: 821 Bytes

Contents

module Workarea
  module Api
    module Storefront
      module UserActivity
        extend ActiveSupport::Concern

        def user_activity
          @user_activity ||= Recommendation::UserActivity.find_or_initialize_by(
            id: current_user_activity_id
          )
        end

        def current_user_activity_id
          if authentication?
            current_user.id
          else
            params[:session_id]
          end
        end

        def assert_current_user_activity_id
          if current_user_activity_id.blank?
            render(
              json: {
                problem: t('workarea.api.storefront.recent_views.missing_id')
              },
              status: :unprocessable_entity
            )

            return false
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
workarea-api-4.4.7 storefront/app/controllers/workarea/api/storefront/user_activity.rb
workarea-api-storefront-4.4.7 app/controllers/workarea/api/storefront/user_activity.rb
workarea-api-4.4.6 storefront/app/controllers/workarea/api/storefront/user_activity.rb
workarea-api-storefront-4.4.6 app/controllers/workarea/api/storefront/user_activity.rb