Class: Karafka::Web::Ui::Models::VisibilityFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/karafka/web/ui/models/visibility_filter.rb

Overview

Allows for a granular control over what parts of messages are being displayed There are scenarios where payload or other parts of messages should not be presented because they may contain sensitive data. This API allows to manage that on a per message basis.

Instance Method Summary collapse

Instance Method Details

#download?(message) ⇒ Boolean

Should it be allowed to download this message raw payload

Parameters:

  • message (::Karafka::Messages::Message)

Returns:

  • (Boolean)

    true if downloads allowed



34
35
36
# File 'lib/karafka/web/ui/models/visibility_filter.rb', line 34

def download?(message)
  payload?(message)
end

#export?(message) ⇒ Boolean

Should it be allowed to download the deserialized and sanitized payload as JSON

Parameters:

  • message (::Karafka::Messages::Message)

Returns:

  • (Boolean)

    true if exports allowed



42
43
44
# File 'lib/karafka/web/ui/models/visibility_filter.rb', line 42

def export?(message)
  payload?(message)
end

#headers?(_message) ⇒ Boolean

Returns should message headers be visible.

Parameters:

  • _message (::Karafka::Messages::Message)

Returns:

  • (Boolean)

    should message headers be visible



20
21
22
# File 'lib/karafka/web/ui/models/visibility_filter.rb', line 20

def headers?(_message)
  true
end

#key?(_message) ⇒ Boolean

Returns should message key be visible.

Parameters:

  • _message (::Karafka::Messages::Message)

Returns:

  • (Boolean)

    should message key be visible



14
15
16
# File 'lib/karafka/web/ui/models/visibility_filter.rb', line 14

def key?(_message)
  true
end

#payload?(message) ⇒ Boolean

Returns should message payload be visible.

Parameters:

  • message (::Karafka::Messages::Message)

Returns:

  • (Boolean)

    should message payload be visible



26
27
28
# File 'lib/karafka/web/ui/models/visibility_filter.rb', line 26

def payload?(message)
  !message.headers.key?('encryption')
end