diff options
Diffstat (limited to 'app/services/packages/create_event_service.rb')
-rw-r--r-- | app/services/packages/create_event_service.rb | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/app/services/packages/create_event_service.rb b/app/services/packages/create_event_service.rb index d009cba2812..8350ff993bf 100644 --- a/app/services/packages/create_event_service.rb +++ b/app/services/packages/create_event_service.rb @@ -3,18 +3,30 @@ module Packages class CreateEventService < BaseService def execute - event_scope = scope.is_a?(::Packages::Package) ? scope.package_type : scope - - ::Packages::Event.create!( - event_type: event_name, - originator: current_user&.id, - originator_type: originator_type, - event_scope: event_scope - ) + if Feature.enabled?(:collect_package_events_redis) && redis_event_name + ::Gitlab::UsageDataCounters::HLLRedisCounter.track_event(current_user.id, redis_event_name) + end + + if Feature.enabled?(:collect_package_events) + ::Packages::Event.create!( + event_type: event_name, + originator: current_user&.id, + originator_type: originator_type, + event_scope: event_scope + ) + end end private + def redis_event_name + @redis_event_name ||= ::Packages::Event.allowed_event_name(event_scope, event_name, originator_type) + end + + def event_scope + @event_scope ||= scope.is_a?(::Packages::Package) ? scope.package_type : scope + end + def scope params[:scope] end |