projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
closes #9684
[arvados.git]
/
services
/
api
/
app
/
controllers
/
arvados
/
v1
/
virtual_machines_controller.rb
diff --git
a/services/api/app/controllers/arvados/v1/virtual_machines_controller.rb
b/services/api/app/controllers/arvados/v1/virtual_machines_controller.rb
index 84251db470fff95bbbc23f27397263124464c9d3..e6474aa4e0328a6759039921b9962d627b0b374d 100644
(file)
--- a/
services/api/app/controllers/arvados/v1/virtual_machines_controller.rb
+++ b/
services/api/app/controllers/arvados/v1/virtual_machines_controller.rb
@@
-4,18
+4,22
@@
class Arvados::V1::VirtualMachinesController < ApplicationController
before_filter(:admin_required,
:only => [:logins, :get_all_logins])
before_filter(:admin_required,
:only => [:logins, :get_all_logins])
+ # Get all login permissons (user uuid, login account, SSH key) for a
+ # single VM
def logins
def logins
- get_all_logins
+ render_logins_for VirtualMachine.where(uuid: @object.uuid)
end
end
+ # Get all login permissons for all VMs
def get_all_logins
def get_all_logins
+ render_logins_for VirtualMachine
+ end
+
+ protected
+
+ def render_logins_for vm_query
@response = []
@response = []
- @vms = VirtualMachine.eager_load :login_permissions
- if @object
- @vms = @vms.where uuid: @object.uuid
- else
- @vms = @vms.all
- end
+ @vms = vm_query.eager_load :login_permissions
@users = {}
User.eager_load(:authorized_keys).
where('users.uuid in (?)',
@users = {}
User.eager_load(:authorized_keys).
where('users.uuid in (?)',