Class: Spree::Api::V2::Organizer::InviteGuestsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/api/v2/organizer/invite_guests_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#render_serialized_payload

Instance Method Details

#showObject



9
10
11
# File 'app/controllers/spree/api/v2/organizer/invite_guests_controller.rb', line 9

def show
  render_serialized_payload { serialize_resource(@invite_guest) }
end

#updateObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/spree/api/v2/organizer/invite_guests_controller.rb', line 13

def update
  return render_error(:revoked) if @invite_guest.revoked?
  return render_error(:closed) if @invite_guest.expired?
  return render_error(:fully_claimed) if @invite_guest.fully_claimed?

  guest = @line_item.guests.new(guest_params)

  if guest.save
    @invite_guest.update(claimed_status: :claimed) if @line_item.guests.count == @invite_guest.quantity
    render json: SpreeCmCommissioner::V2::Storefront::GuestSerializer.new(guest.reload).serializable_hash
  else
    render_error_payload(guest.errors.full_messages.to_sentence)
  end
end