class FlimperNikita::Notifications::Send

Public Class Methods

new(source:, severity:, message:, jwt_token:) click to toggle source
# File lib/flimper_nikita/notifications/send.rb, line 7
def initialize(source:, severity:, message:, jwt_token:)
  @source = source
  @severity = severity
  @message = message
  @jwt_token = jwt_token
end

Public Instance Methods

issue!() click to toggle source
# File lib/flimper_nikita/notifications/send.rb, line 22
def issue!
  nikita_response = Faraday.new.post do |request|
    request.url(nikita_api_endpoint)
    request.headers['Content-Type'] = 'application/json'
    request.headers['Authorization'] = @jwt_token
    request.body = security_data
  end

  return unless nikita_response.success?
end
nikita_api_endpoint() click to toggle source
# File lib/flimper_nikita/notifications/send.rb, line 14
def nikita_api_endpoint
  "#{ENV.fetch('NIKITA_API_URL')}/notifications"
end
security_data() click to toggle source
# File lib/flimper_nikita/notifications/send.rb, line 18
def security_data
  { source: @source, severity: @severity, message: @message }.to_json
end