package io.cattle.platform.iaas.api.auth.projects; import io.cattle.platform.api.action.ActionHandler; import io.cattle.platform.core.model.Account; import io.cattle.platform.iaas.api.auth.dao.AuthDao; import io.github.ibuildthecloud.gdapi.exception.ClientVisibleException; import io.github.ibuildthecloud.gdapi.request.ApiRequest; import io.github.ibuildthecloud.gdapi.util.ResponseCodes; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.inject.Inject; public class SetProjectMembersActionHandler implements ActionHandler { @Inject AuthDao authDao; @Inject ProjectMemberResourceManager projectMemberResourceManager; @SuppressWarnings("unchecked") @Override public Object perform(String name, Object obj, ApiRequest request) { Account project = (Account) obj; project = authDao.getAccountById(project.getId()); if (project == null) { throw new ClientVisibleException(ResponseCodes.NOT_FOUND); } LinkedHashMap<String, Object> reqObj = (LinkedHashMap<String, Object>) request.getRequestObject(); List<Map<String, String>> members = (List<Map<String, String>>) reqObj.get("members"); return projectMemberResourceManager.setMembers(project, members); } @Override public String getName() { return "account.setmembers"; } }