diff --git a/app/controllers/api/submissions_controller.rb b/app/controllers/api/submissions_controller.rb index 64642a61..a83a1e5b 100644 --- a/app/controllers/api/submissions_controller.rb +++ b/app/controllers/api/submissions_controller.rb @@ -75,13 +75,7 @@ module Api end end - json = submissions.flat_map do |submission| - submission.submitters.map do |s| - Submitters::SerializeForApi.call(s, with_documents: false, with_urls: true, params:) - end - end - - render json: + render json: build_create_json(submissions) rescue Submitters::NormalizeValues::BaseError => e Rollbar.warning(e) if defined?(Rollbar) @@ -102,6 +96,18 @@ module Api private + def build_create_json(submissions) + json = submissions.flat_map do |submission| + submission.submitters.map do |s| + Submitters::SerializeForApi.call(s, with_documents: false, with_urls: true, params:) + end + end + + json = { submitters: json } if request.path.ends_with?('/init') + + json + end + def create_submissions(template, params) is_send_email = !params[:send_email].in?(['false', false]) diff --git a/config/routes.rb b/config/routes.rb index a91dd94b..438bd16e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -34,6 +34,7 @@ Rails.application.routes.draw do resources :submitters, only: %i[index show update] resources :submissions, only: %i[index show create destroy] do collection do + resources :init, only: %i[create], controller: 'submissions' resources :emails, only: %i[create], controller: 'submissions', as: :submissions_emails end end