Sha256: 7d4f8189bc049ce93cef5b5fdfd028de105a56d4aa9c376d878894b935ad4819

Contents?: true

Size: 1.41 KB

Versions: 28

Compression:

Stored size: 1.41 KB

Contents

module Spree
  module Api
    class UsersController < Spree::Api::BaseController

      def index
        @users = Spree.user_class.accessible_by(current_ability,:read).ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
        respond_with(@users)
      end

      def show
        respond_with(user)
      end

      def new
      end

      def create
        authorize! :create, Spree.user_class
        @user = Spree.user_class.new(user_params)
        if @user.save
          respond_with(@user, :status => 201, :default_template => :show)
        else
          invalid_resource!(@user)
        end
      end

      def update
        authorize! :update, user
        if user.update_attributes(user_params)
          respond_with(user, :status => 200, :default_template => :show)
        else
          invalid_resource!(user)
        end
      end

      def destroy
        authorize! :destroy, user
        user.destroy
        respond_with(user, :status => 204)
      end

      private

      def user
        @user ||= Spree.user_class.accessible_by(current_ability, :read).find(params[:id])
      end

      def user_params
        params.require(:user).permit(permitted_user_attributes |
                                       [bill_address_attributes: permitted_address_attributes,
                                        ship_address_attributes: permitted_address_attributes])
      end

    end
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
solidus_api-1.0.7 app/controllers/spree/api/users_controller.rb
spree_api-3.0.10 app/controllers/spree/api/users_controller.rb
spree_api-3.0.9 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.6 app/controllers/spree/api/users_controller.rb
spree_api-3.0.8 app/controllers/spree/api/users_controller.rb
spree_api-3.0.7 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.5 app/controllers/spree/api/users_controller.rb
spree_api-3.0.6.1 app/controllers/spree/api/users_controller.rb
spree_api-3.0.6 app/controllers/spree/api/users_controller.rb
spree_api-3.0.5 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.4 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.3 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.2 app/controllers/spree/api/users_controller.rb
spree_api-3.0.4 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.1 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.0 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.0.rc2 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.0.rc1 app/controllers/spree/api/users_controller.rb
spree_api-3.0.3 app/controllers/spree/api/users_controller.rb
solidus_api-1.0.0.pre3 app/controllers/spree/api/users_controller.rb