add event data

This commit is contained in:
Pete Matsyburka
2024-08-21 18:09:27 +03:00
parent 37c9bf5741
commit d43f8f4dd8
2 changed files with 10 additions and 6 deletions
+3 -5
View File
@@ -23,11 +23,9 @@ module Submissions
serialized_submitters = submitters.map { |submitter| Submitters::SerializeForApi.call(submitter, params:) }
json = submission.as_json(
SERIALIZE_PARAMS.deep_merge(
include: { submission_events: { only: %i[id submitter_id event_type event_timestamp] } }
)
)
json = submission.as_json(SERIALIZE_PARAMS)
json['submission_events'] = Submitters::SerializeForApi.serialize_events(submission.submission_events)
if submitters.all?(&:completed_at?)
last_submitter = submitters.max_by(&:completed_at)
+7 -1
View File
@@ -29,6 +29,7 @@ module Submitters
additional_attrs['values'] = SerializeForWebhook.build_values_array(submitter)
additional_attrs['documents'] = SerializeForWebhook.build_documents_array(submitter) if with_documents
additional_attrs['preferences'] = submitter.preferences.except('default_values')
additional_attrs['submission_events'] = serialize_events(submitter.submission_events) if with_events
additional_attrs['role'] =
(submitter.submission.template_submitters ||
@@ -41,9 +42,14 @@ module Submitters
include_params = {}
include_params[:template] = { only: %i[id name created_at updated_at] } if with_template
include_params[:submission_events] = { only: %i[id submitter_id event_type event_timestamp] } if with_events
submitter.as_json(SERIALIZE_PARAMS.merge(include: include_params)).merge(additional_attrs)
end
def serialize_events(events)
events.map do |event|
event.as_json(only: %i[id submitter_id event_type event_timestamp]).merge('data' => event.data.slice('reason'))
end
end
end
end