# frozen_string_literal: true
class CustomWizard::SubmissionSerializer < ApplicationSerializer
  attributes :id,
             :fields,
             :submitted_at

  has_one :user, serializer: ::BasicUserSerializer, embed: :objects

  def include_user?
    object.user.present?
  end

  def fields
    @fields ||= begin
      result = {}

     object.wizard.template['steps'].each do |step|
       step['fields'].each do |field|
         if value = object.fields[field['id']]
           result[field['id']] = {
             value: value,
             type: field['type'],
             label: field['label']
           }
         end
       end
     end

     result
    end
  end
end