Sha256: a30eca2869408eb930b6abeb53d6e399343c078ef15cb6e780f44734d96e1b7c

Contents?: true

Size: 1.88 KB

Versions: 12

Compression:

Stored size: 1.88 KB

Contents

# Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
# frozen_string_literal: true

require 'contrast/components/logger'
require 'contrast/agent/reporting/reporting_events/application_reporting_event'
require 'contrast/agent/reporting/reporting_events/application_defend_activity'
require 'contrast/agent/reporting/reporting_events/application_inventory_activity'

module Contrast
  module Agent
    module Reporting
      # This is the new ApplicationActivity class which will include all the needed information for the new reporting
      # system to report
      class ApplicationActivity < Contrast::Agent::Reporting::ApplicationReportingEvent
        class << self
          # @param app_activity_dtm [Contrast::Api::Dtm::Activity]
          # @return [Contrast::Agent::Reporting::ApplicationActivity]
          def convert app_activity_dtm
            app_activity = new
            app_activity.attach_data(app_activity_dtm)
            app_activity
          end
        end

        def initialize
          @event_method = :PUT
          @event_type = :application_activity
          @event_endpoint = Contrast::Agent::Reporting::Endpoints.application_activity
          super
        end

        def file_name
          'activity-application'
        end

        def to_controlled_hash
          hsh = { lastUpdate: since_last_update }
          hsh[:defend] = @defend&.to_controlled_hash if @defend
          hsh[:inventory] = @inventory&.to_controlled_hash if @inventory
          hsh
        end

        # @param activity_dtm [Contrast::Api::Dtm::ApplicationActivity]
        def attach_data activity_dtm
          @defend = Contrast::Agent::Reporting::ApplicationDefendActivity.convert(activity_dtm)
          @inventory = Contrast::Agent::Reporting::ApplicationInventoryActivity.convert(activity_dtm)
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
contrast-agent-6.6.4 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.6.3 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.6.2 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.6.1 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.6.0 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.5.1 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.5.0 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.4.0 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.3.0 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.2.0 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.1.2 lib/contrast/agent/reporting/reporting_events/application_activity.rb
contrast-agent-6.1.1 lib/contrast/agent/reporting/reporting_events/application_activity.rb