module Spree::Api::V2::Storefront::AccountControllerDecorator

Public Class Methods

prepended(base) click to toggle source
# File lib/controllers/api/spree/api/v2/storefront/account_controller_decorator.rb, line 6
def self.prepended(base)
  base.skip_before_action :require_spree_current_user, only: [:create]
end

Public Instance Methods

create() click to toggle source
# File lib/controllers/api/spree/api/v2/storefront/account_controller_decorator.rb, line 10
def create
  result = Spree::Account::Create.call(user_params: spree_user_params)

  render_payload(result)
end
update() click to toggle source
# File lib/controllers/api/spree/api/v2/storefront/account_controller_decorator.rb, line 16
def update
  result = Spree::Account::Update.call(user: spree_current_user, user_params: spree_user_params)

  render_payload(result)
end

Private Instance Methods

render_payload(result) click to toggle source
# File lib/controllers/api/spree/api/v2/storefront/account_controller_decorator.rb, line 24
def render_payload(result)
  if result.success?
    render_serialized_payload { serialize_resource(result.value) }
  else
    render_error_payload(result.error)
  end
end
spree_user_params() click to toggle source
# File lib/controllers/api/spree/api/v2/storefront/account_controller_decorator.rb, line 32
def spree_user_params
  params.require(:user).permit(Spree::PermittedAttributes.user_attributes)
end