Class: SpreeCmCommissioner::Order::Guests::Update

Inherits:
Object
  • Object
show all
Includes:
Spree::ServiceModule::Base
Defined in:
app/services/spree_cm_commissioner/order/guests/update.rb

Overview

Whitelists submitted guest params down to whatever KYC fields and dynamic fields are actually configured for the guest's line item, then delegates persistence to UpdateGuestService.

Expects params shaped as:

{ first_name: '...', ..., dynamic_fields: { '<dynamic_field_id>' => value_or_option_id_or_array_of_option_ids } }

Instance Method Summary collapse

Instance Method Details

#call(guest:, params:) ⇒ Object



13
14
15
16
17
18
# File 'app/services/spree_cm_commissioner/order/guests/update.rb', line 13

def call(guest:, params:)
  SpreeCmCommissioner::UpdateGuestService.new(guest, permitted_params(guest, params)).call
  success(guest: guest)
rescue ActiveRecord::RecordInvalid => e
  failure(guest, e.record.errors.full_messages.to_sentence)
end