package org.zstack.identity; import org.zstack.header.identity.AccountResourceRefInventory; import org.zstack.header.identity.Quota; import org.zstack.header.identity.SessionInventory; import org.zstack.header.message.APIMessage; import java.util.List; import java.util.Map; public interface AccountManager { void createAccountResourceRef(String accountUuid, String resourceUuid, Class<?> resourceClass); String getOwnerAccountUuidOfResource(String resourceUuid); boolean isResourceHavingAccountReference(Class entityClass); List<String> getResourceUuidsCanAccessByAccount(String accountUuid, Class resourceType); Map<Class, List<Quota>> getMessageQuotaMap(); List<Quota> getQuotas(); AccountResourceRefInventory changeResourceOwner(String resourceUuid, String newOwnerUuid); void checkApiMessagePermission(APIMessage msg); boolean isAdmin(SessionInventory session); }