X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b92203411f6f6adaef1c2af62495830f13f4fa14..9bd3b2729a61f62ddbab10ac65fd9f7de837a10d:/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 84251db470..e6474aa4e0 100644 --- 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]) + # Get all login permissons (user uuid, login account, SSH key) for a + # single VM def logins - get_all_logins + render_logins_for VirtualMachine.where(uuid: @object.uuid) end + # Get all login permissons for all VMs def get_all_logins + render_logins_for VirtualMachine + end + + protected + + def render_logins_for vm_query @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 (?)',