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
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/controllers/spree/api/chatrace/guests_controller.rb', line 28 def serialize_resource(guest) order = guest.line_item.order { token: guest.token, first_name: guest.first_name, last_name: guest.last_name, dob: guest.dob, gender: guest.gender, age: guest.age, occupation: guest.occupation&.name || guest.other_occupation, entry_type: guest.entry_type, organization: guest.other_organization, expectation: guest.expectation, telegram_user_id: guest.preferred_telegram_user_id, telegram_user_verified_at: guest.preferred_telegram_user_verified_at, order_number: order.number, order_email: order.email, order_first_name: order.customer_address&.firstname, order_last_name: order.customer_address&.lastname, order_phone_number: order.intel_phone_number || order.customer_address&.phone, checked_in_at: guest.check_in&.confirmed_at, qr_data: guest.qr_data, order_qr_data: order.qr_data } 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 |
# 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 if guest.save render_serialized_payload { serialize_resource(guest) } else render_error_payload(guest.errors) end end |