12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'app/controllers/spree/api/v2/storefront/account/guest_dynamic_fields_controller.rb', line 12
def update_dynamic_field
return render_error_payload('Invalid phase') unless ALLOWED_PHASES.include?(params[:phase])
return render_error_payload('No dynamic fields provided') if dynamic_fields_params.blank?
result = SpreeCmCommissioner::Guests::Update.call(
guest: @guest,
guest_params: {
guest_dynamic_fields_attributes: dynamic_fields_params.map { |f| { dynamic_field_id: f[:id], value: f[:value] } }
}
)
if result.success?
render_serialized_payload { serialize_guest(result.value[:guest]) }
else
render_error_payload(result.error)
end
end
|