mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
* cli changes to update user/account, list by apikeyaccess, domain level setting * UI changes for updating user/account and searchfilter in listview * make the api parameters and setting accessible only to root admin * revert changes to ui/package-lock.json * minor changes to description strings * UT for ApiServer and AccountManagerImpl classes * fix pre-commit failure * Added a constant for the string System * UT for searchForUsers and searchForAccounts * Fix marvin test error * Update schema to use idempotent add column * Fix `updateTemplatePermission` when the UI is set to a language other than English (#9766) * Fix updateTemplatePermission UI in non-english language * Improve fix --------- Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br> * Added user name uuid to logging * Add events when api key access is changed via api or config setting * fix the userid for api key access update event * Fix ut failure after event logging * Convert drop down to radio-button in edit user and account * Add ApiKeyAccess status in User InfoCard for Users if Api key is generated * Return apiKeyAccess in user and account response only for Root Admin * fixed noredist build failure * Show apikeyaccess on the left panel in the user view for root admins as well * don't show divider if apiKeyAccess is not shown to user * Fix events generated to set Username, Account and Domain of the caller correctly * cli changes to update user/account, list by apikeyaccess, domain level setting * UI changes for updating user/account and searchfilter in listview * make the api parameters and setting accessible only to root admin * revert changes to ui/package-lock.json * minor changes to description strings * UT for ApiServer and AccountManagerImpl classes * fix pre-commit failure * Added a constant for the string System * UT for searchForUsers and searchForAccounts * Fix marvin test error * Update schema to use idempotent add column * Added user name uuid to logging * Add events when api key access is changed via api or config setting * fix the userid for api key access update event * Fix ut failure after event logging * Convert drop down to radio-button in edit user and account * Add ApiKeyAccess status in User InfoCard for Users if Api key is generated * Return apiKeyAccess in user and account response only for Root Admin * fixed noredist build failure * Show apikeyaccess on the left panel in the user view for root admins as well * don't show divider if apiKeyAccess is not shown to user * Fix events generated to set Username, Account and Domain of the caller correctly * Added DB upgrade path from 42000 to 42010 --------- Co-authored-by: Daan Hoogland <daan@onecht.net> Co-authored-by: Lucas Martins <56271185+lucas-a-martins@users.noreply.github.com> Co-authored-by: Lucas Martins <lucas.martins@scclouds.com.br>
101 lines
2.8 KiB
Java
101 lines
2.8 KiB
Java
// Licensed to the Apache Software Foundation (ASF) under one
|
|
// or more contributor license agreements. See the NOTICE file
|
|
// distributed with this work for additional information
|
|
// regarding copyright ownership. The ASF licenses this file
|
|
// to you under the Apache License, Version 2.0 (the
|
|
// "License"); you may not use this file except in compliance
|
|
// with the License. You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing,
|
|
// software distributed under the License is distributed on an
|
|
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
// KIND, either express or implied. See the License for the
|
|
// specific language governing permissions and limitations
|
|
// under the License.
|
|
package com.cloud.user;
|
|
|
|
import org.apache.cloudstack.acl.ControlledEntity;
|
|
import org.apache.cloudstack.api.Identity;
|
|
import org.apache.cloudstack.api.InternalIdentity;
|
|
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
public interface Account extends ControlledEntity, InternalIdentity, Identity {
|
|
|
|
/**
|
|
* Account states.
|
|
* */
|
|
enum State {
|
|
DISABLED, ENABLED, LOCKED, REMOVED;
|
|
|
|
/**
|
|
* The toString method was overridden to maintain consistency in the DB, as the GenericDaoBase uses toString in the enum value to make the sql statements
|
|
* and previously the enum was in lowercase.
|
|
* */
|
|
@Override
|
|
public String toString(){
|
|
return super.toString().toLowerCase();
|
|
}
|
|
|
|
/**
|
|
* This method was created to maintain backwards compatibility to the DB schema. Unfortunately we can't override the valueOf method.
|
|
* */
|
|
public static State getValueOf(String name){
|
|
return State.valueOf(name.toUpperCase());
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Account types.
|
|
* */
|
|
enum Type {
|
|
NORMAL, ADMIN, DOMAIN_ADMIN, RESOURCE_DOMAIN_ADMIN, READ_ONLY_ADMIN, PROJECT, UNKNOWN;
|
|
|
|
private static Map<Integer,Type> ACCOUNT_TYPE_MAP = new HashMap<>();
|
|
|
|
static {
|
|
for (Type t: Type.values()) {
|
|
ACCOUNT_TYPE_MAP.put(t.ordinal(),t);
|
|
}
|
|
ACCOUNT_TYPE_MAP.remove(6);
|
|
}
|
|
|
|
public static Type getFromValue(Integer type){
|
|
return ACCOUNT_TYPE_MAP.get(type);
|
|
}
|
|
}
|
|
|
|
public static final long ACCOUNT_ID_SYSTEM = 1;
|
|
|
|
public String getAccountName();
|
|
|
|
public Type getType();
|
|
|
|
public Long getRoleId();
|
|
|
|
public State getState();
|
|
|
|
public Date getCreated();
|
|
|
|
public Date getRemoved();
|
|
|
|
public String getNetworkDomain();
|
|
|
|
public Long getDefaultZoneId();
|
|
|
|
@Override
|
|
public String getUuid();
|
|
|
|
boolean isDefault();
|
|
|
|
public void setApiKeyAccess(Boolean apiKeyAccess);
|
|
|
|
public Boolean getApiKeyAccess();
|
|
|
|
}
|