From 46d9bb2c87b76e2dadb1064e01a51312d57f441f Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Mon, 12 May 2025 11:17:26 +0300 Subject: [PATCH] fix optimize query --- lib/submitters/serialize_for_api.rb | 9 +++++---- lib/submitters/serialize_for_webhook.rb | 6 ++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/submitters/serialize_for_api.rb b/lib/submitters/serialize_for_api.rb index 01f1246d..ee5046c1 100644 --- a/lib/submitters/serialize_for_api.rb +++ b/lib/submitters/serialize_for_api.rb @@ -27,6 +27,10 @@ module Submitters additional_attrs['fields'] = SerializeForWebhook.build_fields_array(submitter) end + if with_template + additional_attrs['template'] = submitter.submission.template.as_json(only: %i[id name created_at updated_at]) + end + additional_attrs['values'] = SerializeForWebhook.build_values_array(submitter) if with_values additional_attrs['documents'] = SerializeForWebhook.build_documents_array(submitter) if with_documents additional_attrs['preferences'] = submitter.preferences.except('default_values') @@ -41,10 +45,7 @@ module Submitters Rails.application.routes.url_helpers.submit_form_url(slug: submitter.slug, **Docuseal.default_url_options) end - include_params = {} - include_params[:template] = { only: %i[id name created_at updated_at] } if with_template - - submitter.as_json(SERIALIZE_PARAMS.merge(include: include_params)).merge(additional_attrs) + submitter.as_json(SERIALIZE_PARAMS).merge(additional_attrs) end def serialize_events(events) diff --git a/lib/submitters/serialize_for_webhook.rb b/lib/submitters/serialize_for_webhook.rb index f856a086..9e897ef3 100644 --- a/lib/submitters/serialize_for_webhook.rb +++ b/lib/submitters/serialize_for_webhook.rb @@ -34,8 +34,10 @@ module Submitters 'audit_log_url' => submitter.submission.audit_log_url, 'submission_url' => r.submissions_preview_url(submitter.submission.slug, **Docuseal.default_url_options), - 'template' => submitter.template.as_json(only: %i[id name external_id created_at updated_at], - methods: %i[folder_name]), + 'template' => submitter.submission.template.as_json( + only: %i[id name external_id created_at updated_at], + methods: %i[folder_name] + ), 'submission' => { **submitter.submission.slice(:id, :audit_log_url, :combined_document_url, :created_at), status: build_submission_status(submitter.submission),