diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 37bc5da460a..4e86b306e3f 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -80,6 +80,7 @@ import com.cloud.user.AccountManager; import com.cloud.user.AccountVO; import com.cloud.user.User; import com.cloud.user.UserStatisticsVO; +import com.cloud.user.UserVO; import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.UserDao; import com.cloud.user.dao.UserStatisticsDao; @@ -190,7 +191,7 @@ public class ApiDBUtils { ///////////////////////////////////////////////////////////// // ManagementServer methods // ///////////////////////////////////////////////////////////// - + public static VMInstanceVO findVMInstanceById(long vmId) { return _ms.findVMInstanceById(vmId); } @@ -430,6 +431,10 @@ public class ApiDBUtils { public static VolumeVO findVolumeById(Long volumeId) { return _volumeDao.findByIdIncludingRemoved(volumeId); } + + public static List listUsersByAccount(long accountId) { + return _userDao.listByAccount(accountId); + } public static DataCenterVO findZoneById(Long zoneId) { return _zoneDao.findById(zoneId); diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index bd274c51ad7..a114e4e0924 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -142,6 +142,7 @@ import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.UserContext; import com.cloud.user.UserStatisticsVO; +import com.cloud.user.UserVO; import com.cloud.uservm.UserVm; import com.cloud.utils.Pair; import com.cloud.utils.net.NetUtils; @@ -309,6 +310,29 @@ public class ApiResponseHelper implements ResponseGenerator { accountResponse.setVmRunning(vmRunning); accountResponse.setObjectName("account"); + List usersForAccount = ApiDBUtils.listUsersByAccount(account.getAccountId()); + List userResponseList = new ArrayList(); + for(UserVO user : usersForAccount) { + UserResponse userResponse = new UserResponse(); + userResponse.setAccountName(account.getAccountName()); + userResponse.setAccountType(account.getType()); + userResponse.setApiKey(user.getApiKey()); + userResponse.setCreated(user.getCreated()); + userResponse.setDomainId(account.getDomainId()); + userResponse.setDomainName(ApiDBUtils.findDomainById(account.getDomainId()).getName()); + userResponse.setEmail(user.getEmail()); + userResponse.setFirstname(user.getFirstname()); + userResponse.setId(user.getId()); + userResponse.setSecretKey(user.getSecretKey()); + userResponse.setLastname(user.getLastname()); + userResponse.setState(user.getState().toString()); + userResponse.setTimezone(user.getTimezone()); + userResponse.setUsername(user.getUsername()); + + userResponseList.add(userResponse); + } + + accountResponse.setUsers(userResponseList); return accountResponse; }