diff --git a/app/services/analytics_events.rb b/app/services/analytics_events.rb index a5ad1b763cb..f7efaaf5ffa 100644 --- a/app/services/analytics_events.rb +++ b/app/services/analytics_events.rb @@ -521,10 +521,12 @@ def email_sent(action:, ses_message_id:, email_address_id:, **extra) # @param [Integer, nil] event_id events table id # @param [String, nil] event_type (see Event#event_type) # @param [String, nil] event_ip ip address for the event + # @param [String, nil] user_id UUID of the user # Tracks disavowed event def event_disavowal( success:, errors:, + user_id:, error_details: nil, event_created_at: nil, disavowed_device_last_used_at: nil, @@ -547,6 +549,7 @@ def event_disavowal( event_id:, event_type:, event_ip:, + user_id:, **extra, ) end @@ -561,10 +564,12 @@ def event_disavowal( # @param [Integer, nil] event_id events table id # @param [String, nil] event_type (see Event#event_type) # @param [String, nil] event_ip ip address for the event + # @param [String, nil] user_id UUID of the user # Event disavowal password reset was performed def event_disavowal_password_reset( success:, errors:, + user_id:, error_details: nil, event_created_at: nil, disavowed_device_last_used_at: nil, @@ -587,6 +592,7 @@ def event_disavowal_password_reset( event_id:, event_type:, event_ip:, + user_id:, **extra, ) end diff --git a/app/services/event_disavowal/build_disavowed_event_analytics_attributes.rb b/app/services/event_disavowal/build_disavowed_event_analytics_attributes.rb index a5d26252cfa..b5f0334f811 100644 --- a/app/services/event_disavowal/build_disavowed_event_analytics_attributes.rb +++ b/app/services/event_disavowal/build_disavowed_event_analytics_attributes.rb @@ -11,6 +11,7 @@ def self.call(event) event_type: event.event_type, event_created_at: event.created_at, event_ip: event.ip, + user_id: event.user&.uuid, disavowed_device_user_agent: device&.user_agent, disavowed_device_last_ip: device&.last_ip, disavowed_device_last_used_at: device&.last_used_at, diff --git a/spec/controllers/event_disavowal_controller_spec.rb b/spec/controllers/event_disavowal_controller_spec.rb index a291cda55c3..e1e6c8b337a 100644 --- a/spec/controllers/event_disavowal_controller_spec.rb +++ b/spec/controllers/event_disavowal_controller_spec.rb @@ -22,7 +22,7 @@ expect(@analytics).to have_logged_event( 'Event disavowal visited', - build_analytics_hash, + build_analytics_hash(user_id: event.user.uuid), ) end @@ -31,7 +31,7 @@ expect(@analytics).to have_logged_event( 'Event disavowal visited', - build_analytics_hash, + build_analytics_hash(user_id: event.user.uuid), ) expect(assigns(:forbidden_passwords)).to all(be_a(String)) end @@ -79,7 +79,7 @@ expect(@analytics).to have_logged_event( 'Event disavowal password reset', - build_analytics_hash, + build_analytics_hash(user_id: event.user.uuid), ) end end @@ -172,7 +172,7 @@ end end - def build_analytics_hash(success: true, errors: {}) + def build_analytics_hash(success: true, errors: {}, user_id: nil) hash_including( { event_created_at: event.created_at, @@ -184,6 +184,7 @@ def build_analytics_hash(success: true, errors: {}) event_ip: event.ip, disavowed_device_user_agent: event.device.user_agent, disavowed_device_last_ip: event.device.last_ip, + user_id: user_id, }.compact, ) end