Class: AtomicAdmin::V1::UsersController
- Inherits:
-
AdminController
- Object
- ActionController::API
- AdminController
- AtomicAdmin::V1::UsersController
- Includes:
- Filtering
- Defined in:
- app/controllers/atomic_admin/v1/users_controller.rb
Instance Method Summary collapse
- #bulk_update ⇒ Object
- #do_update(user, params) ⇒ Object
- #index ⇒ Object
- #json_for(relation) ⇒ Object
- #show ⇒ Object
- #switch_tenants ⇒ Object
- #update ⇒ Object
Methods included from Filtering
Methods inherited from AdminController
Instance Method Details
#bulk_update ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'app/controllers/atomic_admin/v1/users_controller.rb', line 31 def bulk_update params[:users].each do |user_params| user = User.find(user_params[:id]) do_update(user, user_params) end render json: { success: true } end |
#do_update(user, params) ⇒ Object
40 41 42 |
# File 'app/controllers/atomic_admin/v1/users_controller.rb', line 40 def do_update(user, params) raise "Not implemented. This method should be implemented in a subclass of UsersController." end |
#index ⇒ Object
10 11 12 13 14 15 16 |
# File 'app/controllers/atomic_admin/v1/users_controller.rb', line 10 def index query = User.includes(:roles).where.not(lti_user_id: nil) users, = filter(query) render json: { users: json_for(users), meta: } end |
#json_for(relation) ⇒ Object
44 45 46 47 48 49 |
# File 'app/controllers/atomic_admin/v1/users_controller.rb', line 44 def json_for(relation) relation.as_json( include: :roles, only: [:id, :name, :lti_user_id, :lms_user_id] ) end |
#show ⇒ Object
18 19 20 21 |
# File 'app/controllers/atomic_admin/v1/users_controller.rb', line 18 def show @user = User.find(params[:id]) render json: { user: json_for(@user) } end |
#switch_tenants ⇒ Object
51 52 53 54 55 56 57 |
# File 'app/controllers/atomic_admin/v1/users_controller.rb', line 51 def switch_tenants(&) application_instance = ApplicationInstance.find( params[:application_instance_id] ) Apartment::Tenant.switch(application_instance.tenant, &) end |
#update ⇒ Object
23 24 25 26 27 28 29 |
# File 'app/controllers/atomic_admin/v1/users_controller.rb', line 23 def update @user = User.find(params[:id]) do_update(@user, params) render json: { user: json_for(@user) } end |