Skip to content

Commit

Permalink
Merge pull request #7118 from DFE-Digital/remove-anonymisation-from-c…
Browse files Browse the repository at this point in the history
…ustom-events

Update DfE Analytics anonymised data API
  • Loading branch information
ddippolito authored Sep 26, 2024
2 parents eab1375 + 77f0cab commit b38d79a
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 29 deletions.
20 changes: 15 additions & 5 deletions app/controllers/authentication_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,13 @@ def trigger_jobseeker_sign_in_event(success_or_failure, errors = nil)
.with_response_details(response)
.with_user(current_jobseeker)
.with_data(
email_identifier: DfE::Analytics.anonymise(params.dig(:jobseeker, :email)),
success: success_or_failure == :success,
errors: errors,
data: {
success: success_or_failure == :success,
errors: errors,
},
hidden_data: {
email_identifier: params.dig(:jobseeker, :email),
},
)

DfE::Analytics::SendEvents.do([event])
Expand All @@ -45,7 +49,10 @@ def trigger_successful_publisher_sign_in_event(sign_in_type, publisher_oid = nil
.with_request_details(request)
.with_response_details(response)
.with_user(current_publisher)
.with_data(user_anonymised_publisher_id: DfE::Analytics.anonymise(publisher_oid), sign_in_type: sign_in_type)
.with_data(
data: { sign_in_type: sign_in_type },
hidden_data: { user_anonymised_publisher_id: publisher_oid },
)

DfE::Analytics::SendEvents.do([event])
end
Expand All @@ -56,7 +63,10 @@ def trigger_failed_dsi_sign_in_event(sign_in_type, oid = nil)
.with_request_details(request)
.with_response_details(response)
.with_user(current_user)
.with_data(user_anonymised_id: DfE::Analytics.anonymise(oid), sign_in_type: sign_in_type)
.with_data(
data: { sign_in_type: sign_in_type },
hidden_data: { user_anonymised_id: oid },
)

DfE::Analytics::SendEvents.do([event])
end
Expand Down
21 changes: 12 additions & 9 deletions app/controllers/subscriptions_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -140,17 +140,20 @@ def trigger_dfe_analytics_event(type, data)

def trigger_subscription_event(type, subscription)
event_data = {
autopopulated: session.delete(:subscription_autopopulated),
email_identifier: StringAnonymiser.new(subscription.email).to_s,
frequency: subscription.frequency,
recaptcha_score: subscription.recaptcha_score,
search_criteria: subscription.search_criteria,
subscription_identifier: subscription.id,
}
data: {
autopopulated: session.delete(:subscription_autopopulated),
frequency: subscription.frequency,
recaptcha_score: subscription.recaptcha_score,
search_criteria: subscription.search_criteria,
subscription_identifier: subscription.id,
},
hidden_data: {
email_identifier: subscription.email,
},

dfe_analytics_event_data = event_data.merge(email_identifier: DfE::Analytics.anonymise(subscription.email))
}

trigger_dfe_analytics_event(type, dfe_analytics_event_data)
trigger_dfe_analytics_event(type, event_data)
end

def email
Expand Down
24 changes: 13 additions & 11 deletions app/controllers/vacancies_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,19 @@ def set_headers

def trigger_search_performed_event
fail_safe do
polygon_id = DfE::Analytics.anonymise(@vacancies_search.polygon.id) if @vacancies_search.polygon

event_data = {
search_criteria: form.to_hash,
sort_by: form.sort.by,
page: params[:page] || 1,
total_count: @vacancies_search.total_count,
vacancies_on_page: @vacancies.map(&:id),
location_polygon_used: polygon_id,
landing_page: params[:landing_page_slug],
filters_set_from_keywords: form.filters_from_keyword.present?,
data: {
search_criteria: form.to_hash,
sort_by: form.sort.by,
page: params[:page] || 1,
total_count: @vacancies_search.total_count,
vacancies_on_page: @vacancies.map(&:id),
landing_page: params[:landing_page_slug],
filters_set_from_keywords: form.filters_from_keyword.present?,
},
event_hidden_data: {
location_polygon_used: @vacancies_search&.polygon&.id,
},
}

trigger_dfe_analytics_event(:search_performed, event_data)
Expand All @@ -73,7 +75,7 @@ def trigger_dfe_analytics_event(event_type, event_data)
.with_request_details(request)
.with_response_details(response)
.with_user(current_jobseeker)
.with_data(event_data)
.with_data(data: event_data)

DfE::Analytics::SendEvents.do([event])
end
Expand Down
14 changes: 10 additions & 4 deletions app/mailers/application_mailer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,20 @@ def dfe_analytics_custom_data
end

def dfe_analytics_event_data
dfe_analytics_base_data.merge(dfe_analytics_custom_data)
base_data = dfe_analytics_base_data
base_data[:data].merge!(dfe_analytics_custom_data)
base_data
end

def dfe_analytics_base_data
{
uid: uid,
notify_template: template,
email_identifier: DfE::Analytics.anonymise(to),
data: {
uid: uid,
notify_template: template,
},
hidden_data: {
email_identifier: to,
},
}
end
end

0 comments on commit b38d79a

Please sign in to comment.