app/controllers/spree/api/users_controller.rb in solidus_api-1.0.7 vs app/controllers/spree/api/users_controller.rb in solidus_api-1.1.0.beta1

- old
+ new

@@ -1,56 +1,20 @@ -module Spree - module Api - class UsersController < Spree::Api::BaseController +class Spree::Api::UsersController < Spree::Api::ResourceController - 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 + private - def show - respond_with(user) - end + def user + @user + end - def new - end + def model_class + Spree.user_class + 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 user_params + permitted_resource_params + 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 + def permitted_resource_attributes + super | [bill_address_attributes: permitted_address_attributes, ship_address_attributes: permitted_address_attributes] end end