Class: Workarea::Api::Admin::UsersController

Inherits:
ApplicationController show all
Defined in:
app/controllers/workarea/api/admin/users_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#current_user, #sort_direction, #sort_field

Instance Method Details

#bulkObject



287
288
289
290
291
292
293
294
# File 'app/controllers/workarea/api/admin/users_controller.rb', line 287

def bulk
  @bulk = Api::Admin::BulkUpsert.create!(
    klass: User,
    data: params[:users].map(&:to_h)
  )

  head :no_content
end

#createObject



119
120
121
122
123
124
125
126
# File 'app/controllers/workarea/api/admin/users_controller.rb', line 119

def create
  @user = User.create!(params[:user])
  respond_with(
    { user: api_attributes_for(@user) },
    { status: :created,
    location: user_path(@user) }
  )
end

#destroyObject



254
255
256
257
# File 'app/controllers/workarea/api/admin/users_controller.rb', line 254

def destroy
  @user.destroy
  head :no_content
end

#indexObject



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'app/controllers/workarea/api/admin/users_controller.rb', line 102

def index
  criteria = User.all

  if params[:email].present?
    criteria = criteria.where(email: params[:email])
  end

  @users =
    criteria
    .by_updated_at(starts_at: params[:updated_at_starts_at], ends_at: params[:updated_at_ends_at])
    .by_created_at(starts_at: params[:created_at_starts_at], ends_at: params[:created_at_ends_at])
    .order_by(sort_field => sort_direction)
    .page(params[:page].presence || 1)

  respond_with users: @users.to_a.map { |u| api_attributes_for(u) }
end

#showObject



245
246
247
# File 'app/controllers/workarea/api/admin/users_controller.rb', line 245

def show
  respond_with user: api_attributes_for(@user)
end

#updateObject



249
250
251
252
# File 'app/controllers/workarea/api/admin/users_controller.rb', line 249

def update
  @user.update_attributes!(params[:user])
  respond_with user: api_attributes_for(@user)
end