fix email tracking params

pull/349/head
Pete Matsyburka 1 year ago
parent 14418b93b1
commit 92da790e77

@ -8,7 +8,8 @@ module Api
def create
submitter = Submitter.find_by!(slug: params[:submitter_slug])
if params[:t] == SubmissionEvents.build_tracking_param(submitter, 'click_email')
if params[:t] == SubmissionEvents.build_tracking_param(submitter, 'click_email') ||
params[:t] == SubmissionEvents.build_tracking_param_legacy(submitter, 'click_email')
SubmissionEvents.create_with_tracking_data(submitter, 'click_email', request)
end

@ -20,9 +20,15 @@ module SubmissionEvents
module_function
def build_tracking_param_legacy(submitter, event_type = 'click_email')
Base64.urlsafe_encode64(
[submitter.slug, event_type].join(':')
).first(TRACKING_PARAM_LENGTH)
end
def build_tracking_param(submitter, event_type = 'click_email')
Base64.urlsafe_encode64(
[submitter.slug, event_type, Rails.application.secret_key_base].join(':')
Digest::SHA1.digest([submitter.slug, event_type, Rails.application.secret_key_base].join(':'))
).first(TRACKING_PARAM_LENGTH)
end

Loading…
Cancel
Save