Sha256: 43f4b87d833e2430938763dde1e456012bfb801c22d32cf3805733a114b4c2b7

Contents?: true

Size: 1.42 KB

Versions: 3

Compression:

Stored size: 1.42 KB

Contents

require_dependency "red_base/application_controller"

module RedBase
  class API::V1::UsersController < APIController

    def index
      @users = User.joins(:group).all
      authorize! :read, @users
      respond_with(@users)
    end

    def show
      @user = User.find(params[:id])
      authorize! :read, @user
    end

    def destroy
      ids = params[:id].split(",")
      @users = User.where(:id => ids)
      authorize! :destory, @groups
      @users.destroy_all
    end

    def update
      group = Group.find(params[:group])
      @user = User.find(params[:id])
      authorize! :update, @user
      user_fields = {
                     first_name: params[:first_name],
                     last_name: params[:last_name],
                     email: params[:email],
                     group: group,
                   }
      if params[:password]
        user_fields["password"] =  params[:password]
      end
      @user.update(user_fields)
    end

    def create
      authorize! :create, RedBase::User
      group = Group.find(params[:group])
      if group
        @user = User.create!({
                               first_name: params[:first_name],
                               last_name: params[:last_name],
                               email: params[:email],
                               password: params[:password],
                               group: group,
                             })
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
red_base-0.6.0 app/controllers/red_base/api/v1/users_controller.rb
red_base-0.5.1 app/controllers/red_base/api/v1/users_controller.rb
red_base-0.5.0 app/controllers/red_base/api/v1/users_controller.rb