Add admin role when adding shared scopes

Certificate-identifire
Rajitha Kumara 1 year ago
parent 98954c9374
commit 3a63f948a0

@ -18,6 +18,9 @@
package io.entgra.device.mgt.core.apimgt.extension.rest.api.util;
import java.util.HashSet;
import java.util.Set;
/**
* This class represents the scope data.
*/
@ -53,7 +56,7 @@ public class ScopeUtils {
}
public void setRoles(String roles) {
this.roles = roles;
this.roles = removeDuplicatesFromRoleString(roles);
}
public String getDescription() {
@ -75,4 +78,13 @@ public class ScopeUtils {
"}";
return jsonString;
}
private static String removeDuplicatesFromRoleString(String roleString) {
String[] roles = roleString.split(",");
Set<String> roleSet = new HashSet<>();
for(String role : roles) {
roleSet.add(role.trim());
}
return String.join(",", roleSet);
}
}

@ -100,6 +100,7 @@ public class APIPublisherServiceImpl implements APIPublisherService {
public static final String SUBSCRIPTION_TO_CURRENT_TENANT = "CURRENT_TENANT";
public static final String API_GLOBAL_VISIBILITY = "PUBLIC";
public static final String API_PRIVATE_VISIBILITY = "PRIVATE";
private static final String ADMIN_ROLE_KEY = ",admin";
private static final Log log = LogFactory.getLog(APIPublisherServiceImpl.class);
@ -186,7 +187,7 @@ public class APIPublisherServiceImpl implements APIPublisherService {
scope.setName(apiScope.getName());
scope.setDescription(apiScope.getDescription());
scope.setKey(apiScope.getKey());
scope.setRoles(apiScope.getRoles());
scope.setRoles(apiScope.getRoles() + ADMIN_ROLE_KEY);
publisherRESTAPIServices.addNewSharedScope(apiApplicationKey, accessTokenInfo, scope);
}
}
@ -259,7 +260,7 @@ public class APIPublisherServiceImpl implements APIPublisherService {
scope.setName(apiScope.getName());
scope.setDescription(apiScope.getDescription());
scope.setKey(apiScope.getKey());
scope.setRoles(apiScope.getRoles());
scope.setRoles(apiScope.getRoles() + ADMIN_ROLE_KEY);
publisherRESTAPIServices.addNewSharedScope(apiApplicationKey, accessTokenInfo, scope);
}
@ -280,7 +281,7 @@ public class APIPublisherServiceImpl implements APIPublisherService {
scope.setName(apiScope.getName());
scope.setDescription(apiScope.getDescription());
scope.setKey(apiScope.getKey());
scope.setRoles(apiScope.getRoles());
scope.setRoles(apiScope.getRoles() + ADMIN_ROLE_KEY);
publisherRESTAPIServices.addNewSharedScope(apiApplicationKey, accessTokenInfo, scope);
}
}
@ -460,7 +461,7 @@ public class APIPublisherServiceImpl implements APIPublisherService {
scope.setName(scopeMapping.getName());
scope.setDescription(scopeMapping.getName());
scope.setKey(scopeMapping.getKey());
scope.setRoles(scopeMapping.getDefaultRoles());
scope.setRoles(scopeMapping.getDefaultRoles() + ADMIN_ROLE_KEY);
publisherRESTAPIServices.addNewSharedScope(apiApplicationKey, accessTokenInfo, scope);
}
} catch (BadRequestException | UnexpectedResponseException | APIServicesException e) {

@ -594,7 +594,7 @@ CREATE TABLE IF NOT EXISTS DM_METADATA (
METADATA_ID INT AUTO_INCREMENT NOT NULL,
DATA_TYPE VARCHAR(16) NOT NULL,
METADATA_KEY VARCHAR(128) NOT NULL,
METADATA_VALUE VARCHAR(20000) NOT NULL,
METADATA_VALUE VARCHAR(65535) NOT NULL,
TENANT_ID INTEGER NOT NULL,
PRIMARY KEY (METADATA_ID),
CONSTRAINT METADATA_KEY_TENANT_ID UNIQUE (METADATA_KEY, TENANT_ID)

@ -656,7 +656,7 @@ CREATE TABLE IF NOT EXISTS DM_METADATA (
METADATA_ID INTEGER NOT NULL AUTO_INCREMENT,
DATA_TYPE VARCHAR(16) NOT NULL,
METADATA_KEY VARCHAR(128) NOT NULL,
METADATA_VALUE VARCHAR(8000) NOT NULL,
METADATA_VALUE VARCHAR(65535) NOT NULL,
TENANT_ID INTEGER NOT NULL,
PRIMARY KEY (METADATA_ID),
UNIQUE KEY METADATA_KEY_TENANT_ID (METADATA_KEY,TENANT_ID)

Loading…
Cancel
Save