40 lines
920 B
Ruby
40 lines
920 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Packages
|
|
class CreateEventService < BaseService
|
|
def execute
|
|
::Packages::Event.unique_counters_for(event_scope, event_name, originator_type).each do |event_name|
|
|
::Gitlab::UsageDataCounters::HLLRedisCounter.track_event(event_name, values: current_user.id)
|
|
end
|
|
|
|
::Packages::Event.counters_for(event_scope, event_name, originator_type).each do |event_name|
|
|
::Gitlab::UsageDataCounters::PackageEventCounter.count(event_name)
|
|
end
|
|
end
|
|
|
|
def originator_type
|
|
case current_user
|
|
when User
|
|
:user
|
|
when DeployToken
|
|
:deploy_token
|
|
else
|
|
:guest
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def event_scope
|
|
@event_scope ||= scope.is_a?(::Packages::Package) ? scope.package_type : scope
|
|
end
|
|
|
|
def scope
|
|
params[:scope]
|
|
end
|
|
|
|
def event_name
|
|
params[:event_name]
|
|
end
|
|
end
|
|
end
|