diff options
Diffstat (limited to 'app/services/feature_flags/base_service.rb')
-rw-r--r-- | app/services/feature_flags/base_service.rb | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/app/services/feature_flags/base_service.rb b/app/services/feature_flags/base_service.rb index 59db1a5f12f..028906a0b43 100644 --- a/app/services/feature_flags/base_service.rb +++ b/app/services/feature_flags/base_service.rb @@ -7,42 +7,24 @@ module FeatureFlags AUDITABLE_ATTRIBUTES = %w(name description active).freeze def success(**args) - audit_event = args.fetch(:audit_event) { audit_event(args[:feature_flag]) } - save_audit_event(audit_event) sync_to_jira(args[:feature_flag]) + + audit_event(args[:feature_flag], args[:audit_context]) super end protected - def update_last_feature_flag_updated_at! - Operations::FeatureFlagsClient.update_last_feature_flag_updated_at!(project) - end - - def audit_event(feature_flag) - message = audit_message(feature_flag) + def audit_event(feature_flag, context = nil) + context ||= audit_context(feature_flag) - return if message.blank? + return if context[:message].blank? - details = - { - custom_message: message, - target_id: feature_flag.id, - target_type: feature_flag.class.name, - target_details: feature_flag.name - } - - ::AuditEventService.new( - current_user, - feature_flag.project, - details - ) + ::Gitlab::Audit::Auditor.audit(context) end - def save_audit_event(audit_event) - return unless audit_event - - audit_event.security_event + def update_last_feature_flag_updated_at! + Operations::FeatureFlagsClient.update_last_feature_flag_updated_at!(project) end def sync_to_jira(feature_flag) |