Sha256: 5ed9fbd404cced769860dc909771db45baa4c443efa5ec5b16478f45ba15e3d2

Contents?: true

Size: 1.5 KB

Versions: 12

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true

module Karafka
  module Web
    module Ui
      module Controllers
        # Errors displaying controller
        # It supports only scenarios with a single partition for errors
        # If you have high load of errors, consider going Pro
        class Errors < Base
          # Lists first page of the errors
          def index
            @watermark_offsets = Ui::Models::WatermarkOffsets.find(errors_topic, 0)
            previous_offset, @error_messages, next_offset, = current_page_data

            paginate(
              previous_offset,
              @params.current_offset,
              next_offset,
              @error_messages.map(&:offset)
            )

            respond
          end

          # @param offset [Integer] given error message offset
          def show(offset)
            @error_message = Models::Message.find(
              errors_topic,
              0,
              offset
            )

            respond
          end

          private

          # @return [Array] Array with requested messages as well as pagination details and other
          #   obtained metadata
          def current_page_data
            Models::Message.offset_page(
              errors_topic,
              0,
              @params.current_offset,
              @watermark_offsets
            )
          end

          # @return [String] errors topic
          def errors_topic
            ::Karafka::Web.config.topics.errors
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
karafka-web-0.7.10 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.9 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.8 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.7 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.6 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.5 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.4 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.3 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.2 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.1 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.7.0 lib/karafka/web/ui/controllers/errors.rb
karafka-web-0.6.2 lib/karafka/web/ui/controllers/errors.rb