Class: Spree::Api::Chatrace::GuestsController
- Inherits:
-
BaseController
- Object
- V2::BaseController
- BaseController
- Spree::Api::Chatrace::GuestsController
- Defined in:
- app/controllers/spree/api/chatrace/guests_controller.rb
Instance Method Summary collapse
Methods inherited from BaseController
Instance Method Details
#scope ⇒ Object
5 6 7 |
# File 'app/controllers/spree/api/chatrace/guests_controller.rb', line 5 def scope SpreeCmCommissioner::Guest.complete end |
#serialize_resource(guest) ⇒ Object
30 31 32 33 34 |
# File 'app/controllers/spree/api/chatrace/guests_controller.rb', line 30 def serialize_resource(guest) guest_auto_payload(guest) .merge(default_payload(guest)) .merge(dynamic_field_key_value(guest)) end |
#show ⇒ Object
9 10 11 12 13 |
# File 'app/controllers/spree/api/chatrace/guests_controller.rb', line 9 def show guest = scope.find_by!(token: params[:id]) render_serialized_payload { serialize_resource(guest) } end |
#update ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/controllers/spree/api/chatrace/guests_controller.rb', line 15 def update guest = scope.find_by!(token: params[:id]) guest.preferred_telegram_user_id = params[:telegram_user_id] guest.preferred_telegram_user_verified_at = DateTime.current # save & generate_completion_steps which will mark status as completed. if guest.save && guest.line_item.generate_completion_steps render_serialized_payload { serialize_resource(guest) } else guest.errors.merge!(guest.line_item.errors) render_error_payload(guest.errors) end end |