mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' into 'master'
Add an open endpoint to get UI config See merge request entgra/carbon-device-mgt!493
This commit is contained in:
commit
e5a44db713
@ -1,83 +0,0 @@
|
||||
/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||
*
|
||||
* Entgra (Pvt) Ltd. 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 org.wso2.carbon.device.application.mgt.api.services;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import io.swagger.annotations.Extension;
|
||||
import io.swagger.annotations.ExtensionProperty;
|
||||
import io.swagger.annotations.Info;
|
||||
import io.swagger.annotations.SwaggerDefinition;
|
||||
import org.wso2.carbon.device.application.mgt.common.*;
|
||||
import org.wso2.carbon.device.application.mgt.common.ErrorResponse;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
* APIs to handle application management related tasks.
|
||||
*/
|
||||
@SwaggerDefinition(
|
||||
info = @Info(
|
||||
version = "1.0.0",
|
||||
title = "Application Management Config Retrieve Service",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = "name", value = "ApplicationManagementConfigRetrieveService"),
|
||||
@ExtensionProperty(name = "context", value = "/api/application-mgt/v1.0/config"),
|
||||
})
|
||||
}
|
||||
)
|
||||
)
|
||||
@Path("/config")
|
||||
@Api(value = "ApplicationDTO Management Common Service")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public interface ConfigRetrieveAPI {
|
||||
|
||||
@GET
|
||||
@Path("/ui-config")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "get application management UI configuration",
|
||||
notes = "This will get all UI configuration of application management"
|
||||
)
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
code = 200,
|
||||
message = "OK. \n Successfully got UI config.",
|
||||
response = ApplicationList.class),
|
||||
@ApiResponse(
|
||||
code = 404,
|
||||
message = "Not Found. There doesn't have an defined UI config." +
|
||||
"query."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Error occurred while getting the UI config.",
|
||||
response = ErrorResponse.class)
|
||||
})
|
||||
Response getUiConfig();
|
||||
}
|
||||
@ -1,56 +0,0 @@
|
||||
/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||
*
|
||||
* Entgra (Pvt) Ltd. 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 org.wso2.carbon.device.application.mgt.api.services.impl;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.application.mgt.api.services.ConfigRetrieveAPI;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.UIConfiguration;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.AppmDataHandler;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.APIUtil;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
* Implementation of ApplicationDTO Management related APIs.
|
||||
*/
|
||||
@Produces({"application/json"})
|
||||
@Path("/config")
|
||||
public class ConfigRetrieveAPIImpl implements ConfigRetrieveAPI {
|
||||
|
||||
private static Log log = LogFactory.getLog(ConfigRetrieveAPIImpl.class);
|
||||
|
||||
@GET
|
||||
@Override
|
||||
@Consumes("application/json")
|
||||
@Path("/ui-config")
|
||||
public Response getUiConfig() {
|
||||
AppmDataHandler dataHandler = APIUtil.getDataHandler();
|
||||
UIConfiguration uiConfiguration = dataHandler.getUIConfiguration();
|
||||
if (uiConfiguration == null){
|
||||
String msg = "UI configuration is not initiated.";
|
||||
log.error(msg);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(uiConfiguration).build();
|
||||
}
|
||||
}
|
||||
@ -25,7 +25,6 @@
|
||||
|
||||
<jaxrs:server id="applicationMgtCommonService" address="/">
|
||||
<jaxrs:serviceBeans>
|
||||
<ref bean="applicationMgtConfigService"/>
|
||||
<ref bean="applicationMgtArtifactService"/>
|
||||
<ref bean="swaggerResource"/>
|
||||
</jaxrs:serviceBeans>
|
||||
@ -53,7 +52,6 @@
|
||||
<bean id="swaggerWriter" class="io.swagger.jaxrs.listing.SwaggerSerializers" />
|
||||
<bean id="swaggerResource" class="io.swagger.jaxrs.listing.ApiListingResource" />
|
||||
|
||||
<bean id="applicationMgtConfigService" class="org.wso2.carbon.device.application.mgt.api.services.impl.ConfigRetrieveAPIImpl"/>
|
||||
<bean id="applicationMgtArtifactService" class="org.wso2.carbon.device.application.mgt.api.services.impl.ArtifactDownloadAPIImpl"/>
|
||||
<bean id="jsonProvider" class="org.wso2.carbon.device.application.mgt.addons.JSONMessageHandler"/>
|
||||
<bean id="multipartProvider" class="org.wso2.carbon.device.application.mgt.addons.MultipartCustomProvider"/>
|
||||
|
||||
@ -18,7 +18,6 @@
|
||||
package org.wso2.carbon.device.application.mgt.common.services;
|
||||
|
||||
import org.wso2.carbon.device.application.mgt.common.config.LifecycleState;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.UIConfiguration;
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.LifecycleManagementException;
|
||||
|
||||
@ -26,12 +25,6 @@ import java.io.InputStream;
|
||||
import java.util.Map;
|
||||
|
||||
public interface AppmDataHandler {
|
||||
/**
|
||||
* Get UI configuration which is defined in the app-manager.xml
|
||||
*
|
||||
* @return {@link UIConfiguration} UI configuration
|
||||
*/
|
||||
UIConfiguration getUIConfiguration();
|
||||
|
||||
Map<String, LifecycleState> getLifecycleConfiguration() throws LifecycleManagementException;
|
||||
|
||||
|
||||
@ -19,7 +19,6 @@ package org.wso2.carbon.device.application.mgt.core.config;
|
||||
|
||||
import org.wso2.carbon.device.application.mgt.common.config.MDMConfig;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.RatingConfiguration;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.UIConfiguration;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.LifecycleState;
|
||||
|
||||
import java.util.List;
|
||||
@ -39,8 +38,6 @@ public class Configuration {
|
||||
|
||||
private List<LifecycleState> lifecycleStates;
|
||||
|
||||
private UIConfiguration uiConfiguration;
|
||||
|
||||
private List<String> appCategories;
|
||||
|
||||
private RatingConfiguration ratingConfiguration;
|
||||
@ -76,15 +73,6 @@ public class Configuration {
|
||||
this.lifecycleStates = lifecycleStates;
|
||||
}
|
||||
|
||||
@XmlElement(name = "UIConfigs")
|
||||
public UIConfiguration getUiConfiguration() {
|
||||
return uiConfiguration;
|
||||
}
|
||||
|
||||
public void setUiConfiguration(UIConfiguration uiConfiguration) {
|
||||
this.uiConfiguration = uiConfiguration;
|
||||
}
|
||||
|
||||
@XmlElement(name = "RatingConfig")
|
||||
public RatingConfiguration getRatingConfiguration() { return ratingConfiguration; }
|
||||
|
||||
|
||||
@ -19,7 +19,6 @@ package org.wso2.carbon.device.application.mgt.core.impl;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.LifecycleState;
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationStorageManagementException;
|
||||
@ -27,7 +26,6 @@ import org.wso2.carbon.device.application.mgt.common.exception.LifecycleManageme
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.RequestValidatingException;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationStorageManager;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.AppmDataHandler;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.UIConfiguration;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.ApplicationReleaseDAO;
|
||||
import org.wso2.carbon.device.application.mgt.core.dao.common.ApplicationManagementDAOFactory;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.BadRequestException;
|
||||
@ -44,19 +42,12 @@ import java.util.Map;
|
||||
public class AppmDataHandlerImpl implements AppmDataHandler {
|
||||
|
||||
private static final Log log = LogFactory.getLog(AppmDataHandlerImpl.class);
|
||||
private UIConfiguration uiConfiguration;
|
||||
private LifecycleStateManager lifecycleStateManager;
|
||||
|
||||
public AppmDataHandlerImpl(UIConfiguration config) {
|
||||
this.uiConfiguration = config;
|
||||
public AppmDataHandlerImpl() {
|
||||
lifecycleStateManager = DataHolder.getInstance().getLifecycleStateManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UIConfiguration getUIConfiguration() {
|
||||
return this.uiConfiguration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, LifecycleState> getLifecycleConfiguration() throws LifecycleManagementException {
|
||||
return lifecycleStateManager.getLifecycleConfig();
|
||||
|
||||
@ -22,7 +22,6 @@ import org.apache.commons.logging.LogFactory;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.service.component.ComponentContext;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.LifecycleState;
|
||||
import org.wso2.carbon.device.application.mgt.common.config.UIConfiguration;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationStorageManager;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.AppmDataHandler;
|
||||
@ -108,9 +107,7 @@ public class ApplicationManagementServiceComponent {
|
||||
DataHolder.getInstance().setApplicationStorageManager(applicationStorageManager);
|
||||
bundleContext.registerService(ApplicationStorageManager.class.getName(), applicationStorageManager, null);
|
||||
|
||||
UIConfiguration uiConfiguration = ConfigurationManager.getInstance().
|
||||
getConfiguration().getUiConfiguration();
|
||||
AppmDataHandler configManager = new AppmDataHandlerImpl(uiConfiguration);
|
||||
AppmDataHandler configManager = new AppmDataHandlerImpl();
|
||||
DataHolder.getInstance().setConfigManager(configManager);
|
||||
bundleContext.registerService(AppmDataHandler.class.getName(), configManager, null);
|
||||
|
||||
|
||||
@ -132,47 +132,6 @@
|
||||
</LifecycleState>
|
||||
</LifecycleStates>
|
||||
|
||||
<UIConfigs>
|
||||
<EnableOAuth>true</EnableOAuth>
|
||||
<EnableSSO>false</EnableSSO>
|
||||
<AppRegistration>
|
||||
<Tags>
|
||||
<Tag>application_management</Tag>
|
||||
<Tag>device_management</Tag>
|
||||
<Tag>subscription_management</Tag>
|
||||
<Tag>review_management</Tag>
|
||||
</Tags>
|
||||
<AllowToAllDomains>true</AllowToAllDomains>
|
||||
</AppRegistration>
|
||||
<Scopes>
|
||||
<Scope>perm:app:review:view</Scope>
|
||||
<Scope>perm:app:review:update</Scope>
|
||||
<Scope>perm:app:publisher:view</Scope>
|
||||
<Scope>perm:app:publisher:update</Scope>
|
||||
<Scope>perm:app:store:view</Scope>
|
||||
<Scope>perm:app:subscription:install</Scope>
|
||||
<Scope>perm:app:subscription:uninstall</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
<Scope>perm:admin:app:review:view</Scope>
|
||||
<Scope>perm:admin:app:publisher:update</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
</Scopes>
|
||||
<SSOConfiguration>
|
||||
<Issuer>app-mgt</Issuer>
|
||||
</SSOConfiguration>
|
||||
<ErrorCallback>
|
||||
<BadRequest>/pages/error/client-errors/400</BadRequest>
|
||||
<Unauthorized>/pages/error/client-errors/401</Unauthorized>
|
||||
<Forbidden>/pages/error/client-errors/403</Forbidden>
|
||||
<NotFound>/pages/error/client-errors/404</NotFound>
|
||||
<MethodNotAllowed>/pages/error/client-errors/405</MethodNotAllowed>
|
||||
<NotAcceptable>/pages/error/client-errors/406</NotAcceptable>
|
||||
<UnsupportedMediaType>/pages/error/client-errors/415</UnsupportedMediaType>
|
||||
<InternalServerError>/pages/error/server-errors/500</InternalServerError>
|
||||
<DefaultPage>/pages/error/default</DefaultPage>
|
||||
</ErrorCallback>
|
||||
</UIConfigs>
|
||||
|
||||
<AppCategories>
|
||||
<Category>EMM</Category>
|
||||
<Category>IoT</Category>
|
||||
|
||||
@ -132,47 +132,6 @@
|
||||
</LifecycleState>
|
||||
</LifecycleStates>
|
||||
|
||||
<UIConfigs>
|
||||
<EnableOAuth>true</EnableOAuth>
|
||||
<EnableSSO>false</EnableSSO>
|
||||
<AppRegistration>
|
||||
<Tags>
|
||||
<Tag>application_management</Tag>
|
||||
<Tag>device_management</Tag>
|
||||
<Tag>subscription_management</Tag>
|
||||
<Tag>review_management</Tag>
|
||||
</Tags>
|
||||
<AllowToAllDomains>true</AllowToAllDomains>
|
||||
</AppRegistration>
|
||||
<Scopes>
|
||||
<Scope>perm:app:review:view</Scope>
|
||||
<Scope>perm:app:review:update</Scope>
|
||||
<Scope>perm:app:publisher:view</Scope>
|
||||
<Scope>perm:app:publisher:update</Scope>
|
||||
<Scope>perm:app:store:view</Scope>
|
||||
<Scope>perm:app:subscription:install</Scope>
|
||||
<Scope>perm:app:subscription:uninstall</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
<Scope>perm:admin:app:review:view</Scope>
|
||||
<Scope>perm:admin:app:publisher:update</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
</Scopes>
|
||||
<SSOConfiguration>
|
||||
<Issuer>app-mgt</Issuer>
|
||||
</SSOConfiguration>
|
||||
<ErrorCallback>
|
||||
<BadRequest>/pages/error/client-errors/400</BadRequest>
|
||||
<Unauthorized>/pages/error/client-errors/401</Unauthorized>
|
||||
<Forbidden>/pages/error/client-errors/403</Forbidden>
|
||||
<NotFound>/pages/error/client-errors/404</NotFound>
|
||||
<MethodNotAllowed>/pages/error/client-errors/405</MethodNotAllowed>
|
||||
<NotAcceptable>/pages/error/client-errors/406</NotAcceptable>
|
||||
<UnsupportedMediaType>/pages/error/client-errors/415</UnsupportedMediaType>
|
||||
<InternalServerError>/pages/error/server-errors/500</InternalServerError>
|
||||
<DefaultPage>/pages/error/default</DefaultPage>
|
||||
</ErrorCallback>
|
||||
</UIConfigs>
|
||||
|
||||
<AppCategories>
|
||||
<Category>EMM</Category>
|
||||
<Category>IoT</Category>
|
||||
|
||||
@ -192,4 +192,30 @@ public interface ConfigurationManagementService {
|
||||
required = true)
|
||||
PlatformConfiguration configuration);
|
||||
|
||||
@GET
|
||||
@Path("/ui-config")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "get application management UI configuration",
|
||||
notes = "This will get all UI configuration of application management"
|
||||
)
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
code = 200,
|
||||
message = "OK. \n Successfully got UI config."),
|
||||
@ApiResponse(
|
||||
code = 404,
|
||||
message = "Not Found. There doesn't have an defined UI config." +
|
||||
"query."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Error occurred while getting the UI config.",
|
||||
response = ErrorResponse.class)
|
||||
})
|
||||
Response getUiConfig();
|
||||
|
||||
}
|
||||
|
||||
@ -23,6 +23,8 @@ import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
|
||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
|
||||
import org.wso2.carbon.device.mgt.core.ui.config.UIConfiguration;
|
||||
import org.wso2.carbon.device.mgt.core.ui.config.UIConfigurationManager;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.api.ConfigurationManagementService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil;
|
||||
@ -31,6 +33,7 @@ import org.wso2.carbon.device.mgt.common.MDMAppConstants;
|
||||
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
||||
import org.wso2.carbon.policy.mgt.core.util.PolicyManagerUtil;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.HeaderParam;
|
||||
import javax.ws.rs.PUT;
|
||||
@ -91,4 +94,23 @@ public class ConfigurationServiceImpl implements ConfigurationManagementService
|
||||
}
|
||||
}
|
||||
|
||||
@GET
|
||||
@Override
|
||||
@Consumes("application/json")
|
||||
@Path("/ui-config")
|
||||
public Response getUiConfig() {
|
||||
UIConfigurationManager uiConfigurationManager = UIConfigurationManager.getInstance();
|
||||
if (uiConfigurationManager == null) {
|
||||
String msg = "IoTS UI configuration manager is not initialized.";
|
||||
log.error(msg);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
UIConfiguration uiConfiguration = uiConfigurationManager.getUIConfig();
|
||||
if (uiConfiguration == null) {
|
||||
String msg = "IoTS UI configuration is not defined.";
|
||||
log.error(msg);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(uiConfiguration).build();
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,7 +48,8 @@
|
||||
<context-param>
|
||||
<param-name>nonSecuredEndPoints</param-name>
|
||||
<param-value>
|
||||
/api/device-mgt/v1.0/users/validate
|
||||
/api/device-mgt/v1.0/users/validate,
|
||||
/api/device-mgt/v1.0/configuration/ui-config
|
||||
</param-value>
|
||||
</context-param>
|
||||
|
||||
|
||||
@ -27,6 +27,7 @@ public final class DeviceManagementConstants {
|
||||
public static final String DB_CHECK_QUERY = "SELECT * FROM DM_DEVICE";
|
||||
public static final String SECURE_VAULT_NS = "http://org.wso2.securevault/configuration";
|
||||
public static final String DEVICE_CONFIG_XML_NAME = "cdm-config.xml";
|
||||
public static final String UI_CONFIG_XML_NAME = "mdm-ui-config.xml";
|
||||
}
|
||||
|
||||
public static final class SecureValueProperties {
|
||||
|
||||
@ -18,9 +18,6 @@
|
||||
package org.wso2.carbon.device.mgt.core.config;
|
||||
|
||||
import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations;
|
||||
import org.wso2.carbon.device.mgt.core.config.policy.PolicyConfiguration;
|
||||
import org.wso2.carbon.device.mgt.core.config.task.TaskConfiguration;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
@ -66,6 +66,7 @@ import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceIm
|
||||
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
||||
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl;
|
||||
import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService;
|
||||
import org.wso2.carbon.device.mgt.core.ui.config.UIConfigurationManager;
|
||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagementSchemaInitializer;
|
||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||
import org.wso2.carbon.email.sender.core.service.EmailSenderService;
|
||||
@ -161,6 +162,7 @@ public class DeviceManagementServiceComponent {
|
||||
}
|
||||
/* Initializing Device Management Configuration */
|
||||
DeviceConfigurationManager.getInstance().initConfig();
|
||||
UIConfigurationManager.getInstance().initConfig();
|
||||
DeviceManagementConfig config =
|
||||
DeviceConfigurationManager.getInstance().getDeviceManagementConfig();
|
||||
|
||||
|
||||
@ -23,8 +23,6 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.Count;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.exceptions.BadRequestException;
|
||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
|
||||
@ -0,0 +1,47 @@
|
||||
/* Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||
*
|
||||
* Entgra (Pvt) Ltd. 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 org.wso2.carbon.device.mgt.core.ui.config;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import java.util.List;
|
||||
|
||||
public class AppRegistration {
|
||||
|
||||
private List<String> tags;
|
||||
private boolean isAllowToAllDomains;
|
||||
|
||||
@XmlElementWrapper(name = "Tags")
|
||||
@XmlElement(name = "Tag")
|
||||
public List<String> getTags() {
|
||||
return tags;
|
||||
}
|
||||
|
||||
public void setTags(List<String> tags) {
|
||||
this.tags = tags;
|
||||
}
|
||||
|
||||
@XmlElement(name = "AllowToAllDomains")
|
||||
public boolean isAllowToAllDomains() {
|
||||
return isAllowToAllDomains;
|
||||
}
|
||||
|
||||
public void setAllowToAllDomains(boolean allowToAllDomains) {
|
||||
isAllowToAllDomains = allowToAllDomains;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,11 +1,12 @@
|
||||
/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||
/*
|
||||
* Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved.
|
||||
*
|
||||
* Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
|
||||
* Entgra (pvt) Ltd. 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
|
||||
* 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
|
||||
@ -14,18 +15,22 @@
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.common.config;
|
||||
package org.wso2.carbon.device.mgt.core.ui.config;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Represents the Application Management Configuration.
|
||||
*/
|
||||
@XmlRootElement(name = "UIConfiguration")
|
||||
public class UIConfiguration {
|
||||
|
||||
private AppRegistration appRegistration;
|
||||
private List<String> scopes;
|
||||
private boolean isSsoEnable;
|
||||
private ErrorCallback errorCallback;
|
||||
|
||||
@XmlElement(name = "AppRegistration", required=true)
|
||||
public AppRegistration getAppRegistration() {
|
||||
@ -54,9 +59,4 @@ public class UIConfiguration {
|
||||
public void setSsoEnable(boolean ssoEnable) {
|
||||
isSsoEnable = ssoEnable;
|
||||
}
|
||||
|
||||
@XmlElement(name = "ErrorCallback", required=true)
|
||||
public ErrorCallback getErrorCallback() { return errorCallback; }
|
||||
|
||||
public void setErrorCallback(ErrorCallback errorCallback) { this.errorCallback = errorCallback; }
|
||||
}
|
||||
@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. 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 org.wso2.carbon.device.mgt.core.ui.config;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||
import org.wso2.carbon.utils.CarbonUtils;
|
||||
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.JAXBException;
|
||||
import javax.xml.bind.Unmarshaller;
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* Class responsible for the UI configuration initialization.
|
||||
*/
|
||||
public class UIConfigurationManager {
|
||||
|
||||
private static final Log log = LogFactory.getLog(UIConfigurationManager.class);
|
||||
private UIConfiguration currentUIConfiguration;
|
||||
private static UIConfigurationManager uiConfigurationManager;
|
||||
private static final String UI_CONFIG_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator
|
||||
+ DeviceManagementConstants.DataSourceProperties.UI_CONFIG_XML_NAME;
|
||||
|
||||
public static UIConfigurationManager getInstance() {
|
||||
if (uiConfigurationManager == null) {
|
||||
synchronized (UIConfigurationManager.class) {
|
||||
if (uiConfigurationManager == null) {
|
||||
uiConfigurationManager = new UIConfigurationManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return uiConfigurationManager;
|
||||
}
|
||||
|
||||
public synchronized void initConfig(String configLocation) throws DeviceManagementException {
|
||||
try {
|
||||
File uiConfig = new File(configLocation);
|
||||
Document doc = DeviceManagerUtil.convertToDocument(uiConfig);
|
||||
|
||||
/* Un-marshaling UI configuration */
|
||||
JAXBContext cdmContext = JAXBContext.newInstance(UIConfiguration.class);
|
||||
Unmarshaller unmarshaller = cdmContext.createUnmarshaller();
|
||||
this.currentUIConfiguration = (UIConfiguration) unmarshaller.unmarshal(doc);
|
||||
} catch (JAXBException e) {
|
||||
String msg = "Error occurred while initializing UI config";
|
||||
log.error(msg, e);
|
||||
throw new DeviceManagementException(msg, e);
|
||||
}
|
||||
}
|
||||
|
||||
public void initConfig() throws DeviceManagementException {
|
||||
this.initConfig(UI_CONFIG_PATH);
|
||||
}
|
||||
|
||||
public UIConfiguration getUIConfig() {
|
||||
return currentUIConfiguration;
|
||||
}
|
||||
}
|
||||
@ -57,7 +57,6 @@ import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
||||
import org.wso2.carbon.device.mgt.core.config.DeviceManagementConfig;
|
||||
import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.core.config.datasource.JNDILookupDefinition;
|
||||
import org.wso2.carbon.device.mgt.core.config.policy.PolicyConfiguration;
|
||||
import org.wso2.carbon.device.mgt.core.config.tenant.PlatformConfigurationManagementServiceImpl;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||
|
||||
@ -221,16 +221,16 @@ public class LoginHandler extends HttpServlet {
|
||||
* Define username and password static parameters.
|
||||
*/
|
||||
private static void validateLoginRequest(HttpServletRequest req) throws LoginException {
|
||||
String gatewayCarbonPort = System.getProperty("iot.gateway.carbon.https.port");
|
||||
if (HandlerConstants.HTTP_PROTOCOL.equals(req.getScheme())){
|
||||
gatewayCarbonPort = System.getProperty("iot.gateway.carbon.http.port");
|
||||
String gatewayCarbonPort = System.getProperty("iot.core.https.port");
|
||||
if (HandlerConstants.HTTP_PROTOCOL.equals(req.getScheme())) {
|
||||
gatewayCarbonPort = System.getProperty("iot.core.http.port");
|
||||
}
|
||||
username = req.getParameter("username");
|
||||
password = req.getParameter("password");
|
||||
gatewayUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty("iot.gateway.host")
|
||||
+ HandlerConstants.COLON + HandlerUtil.getGatewayPort(req.getScheme());
|
||||
uiConfigUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + req.getServerName() + HandlerConstants.COLON
|
||||
+ gatewayCarbonPort + HandlerConstants.UI_CONFIG_ENDPOINT;
|
||||
uiConfigUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty("iot.core.host")
|
||||
+ HandlerConstants.COLON + gatewayCarbonPort + HandlerConstants.UI_CONFIG_ENDPOINT;
|
||||
if (username == null || password == null) {
|
||||
String msg = "Invalid login request. Username or Password is not received for login request.";
|
||||
log.error(msg);
|
||||
|
||||
@ -21,7 +21,7 @@ package io.entgra.ui.request.interceptor.util;
|
||||
public class HandlerConstants {
|
||||
public static final String PUBLISHER_APPLICATION_NAME = "application-mgt-publisher";
|
||||
public static final String APP_REG_ENDPOINT = "/api-application-registration/register";
|
||||
public static final String UI_CONFIG_ENDPOINT = "/api/application-mgt/v1.0/config/ui-config";
|
||||
public static final String UI_CONFIG_ENDPOINT = "/api/device-mgt/v1.0/configuration/ui-config";
|
||||
public static final String TOKEN_ENDPOINT = "/token";
|
||||
public static final String INTROSPECT_ENDPOINT = "/oauth2/introspect";
|
||||
public static final String LOGIN_PAGE = "/login";
|
||||
|
||||
@ -132,151 +132,6 @@
|
||||
</LifecycleState>
|
||||
</LifecycleStates>
|
||||
|
||||
<UIConfigs>
|
||||
<EnableOAuth>true</EnableOAuth>
|
||||
<EnableSSO>false</EnableSSO>
|
||||
<AppRegistration>
|
||||
<Tags>
|
||||
<Tag>application_management</Tag>
|
||||
<Tag>device_management</Tag>
|
||||
<Tag>subscription_management</Tag>
|
||||
<Tag>review_management</Tag>
|
||||
</Tags>
|
||||
<AllowToAllDomains>true</AllowToAllDomains>
|
||||
</AppRegistration>
|
||||
<Scopes>
|
||||
<Scope>perm:app:review:view</Scope>
|
||||
<Scope>perm:app:review:update</Scope>
|
||||
<Scope>perm:app:publisher:view</Scope>
|
||||
<Scope>perm:app:publisher:update</Scope>
|
||||
<Scope>perm:app:store:view</Scope>
|
||||
<Scope>perm:app:subscription:install</Scope>
|
||||
<Scope>perm:app:subscription:uninstall</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
<Scope>perm:admin:app:review:view</Scope>
|
||||
<Scope>perm:admin:app:publisher:update</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
<Scope>perm:admin:app:subscription:view</Scope>
|
||||
<Scope>perm:device-types:types</Scope>
|
||||
<Scope>perm:enterprise:modify</Scope>
|
||||
<Scope>perm:enterprise:view</Scope>
|
||||
<Scope>perm:android-work:customer</Scope>
|
||||
<Scope>perm:android-work:admin</Scope>
|
||||
<Scope>perm:application-command:modify</Scope>
|
||||
<Scope>perm:sign-csr</Scope>
|
||||
<Scope>perm:admin:devices:view</Scope>
|
||||
<Scope>perm:admin:topics:view</Scope>
|
||||
<Scope>perm:roles:add</Scope>
|
||||
<Scope>perm:roles:add-users</Scope>
|
||||
<Scope>perm:roles:update</Scope>
|
||||
<Scope>perm:roles:permissions</Scope>
|
||||
<Scope>perm:roles:details</Scope>
|
||||
<Scope>perm:roles:view</Scope>
|
||||
<Scope>perm:roles:create-combined-role</Scope>
|
||||
<Scope>perm:roles:delete</Scope>
|
||||
<Scope>perm:dashboard:vulnerabilities</Scope>
|
||||
<Scope>perm:dashboard:non-compliant-count</Scope>
|
||||
<Scope>perm:dashboard:non-compliant</Scope>
|
||||
<Scope>perm:dashboard:by-groups</Scope>
|
||||
<Scope>perm:dashboard:device-counts</Scope>
|
||||
<Scope>perm:dashboard:feature-non-compliant</Scope>
|
||||
<Scope>perm:dashboard:count-overview</Scope>
|
||||
<Scope>perm:dashboard:filtered-count</Scope>
|
||||
<Scope>perm:dashboard:details</Scope>
|
||||
<Scope>perm:get-activity</Scope>
|
||||
<Scope>perm:devices:delete</Scope>
|
||||
<Scope>perm:devices:applications</Scope>
|
||||
<Scope>perm:devices:effective-policy</Scope>
|
||||
<Scope>perm:devices:compliance-data</Scope>
|
||||
<Scope>perm:devices:features</Scope>
|
||||
<Scope>perm:devices:operations</Scope>
|
||||
<Scope>perm:devices:search</Scope>
|
||||
<Scope>perm:devices:details</Scope>
|
||||
<Scope>perm:devices:update</Scope>
|
||||
<Scope>perm:devices:view</Scope>
|
||||
<Scope>perm:view-configuration</Scope>
|
||||
<Scope>perm:manage-configuration</Scope>
|
||||
<Scope>perm:policies:remove</Scope>
|
||||
<Scope>perm:policies:priorities</Scope>
|
||||
<Scope>perm:policies:deactivate</Scope>
|
||||
<Scope>perm:policies:get-policy-details</Scope>
|
||||
<Scope>perm:policies:manage</Scope>
|
||||
<Scope>perm:policies:activate</Scope>
|
||||
<Scope>perm:policies:update</Scope>
|
||||
<Scope>perm:policies:changes</Scope>
|
||||
<Scope>perm:policies:get-details</Scope>
|
||||
<Scope>perm:users:add</Scope>
|
||||
<Scope>perm:users:details</Scope>
|
||||
<Scope>perm:users:count</Scope>
|
||||
<Scope>perm:users:delete</Scope>
|
||||
<Scope>perm:users:roles</Scope>
|
||||
<Scope>perm:users:user-details</Scope>
|
||||
<Scope>perm:users:credentials</Scope>
|
||||
<Scope>perm:users:search</Scope>
|
||||
<Scope>perm:users:is-exist</Scope>
|
||||
<Scope>perm:users:update</Scope>
|
||||
<Scope>perm:users:send-invitation</Scope>
|
||||
<Scope>perm:admin-users:view</Scope>
|
||||
<Scope>perm:admin:devices:update-enrollment</Scope>
|
||||
<Scope>perm:groups:devices</Scope>
|
||||
<Scope>perm:groups:update</Scope>
|
||||
<Scope>perm:groups:add</Scope>
|
||||
<Scope>perm:groups:device</Scope>
|
||||
<Scope>perm:groups:devices-count</Scope>
|
||||
<Scope>perm:groups:remove</Scope>
|
||||
<Scope>perm:groups:groups</Scope>
|
||||
<Scope>perm:groups:groups-view</Scope>
|
||||
<Scope>perm:groups:share</Scope>
|
||||
<Scope>perm:groups:count</Scope>
|
||||
<Scope>perm:groups:roles</Scope>
|
||||
<Scope>perm:groups:devices-remove</Scope>
|
||||
<Scope>perm:groups:devices-add</Scope>
|
||||
<Scope>perm:groups:assign</Scope>
|
||||
<Scope>perm:device-types:configs</Scope>
|
||||
<Scope>perm:device-types:features</Scope>
|
||||
<Scope>perm:device-types:types</Scope>
|
||||
<Scope>perm:applications:install</Scope>
|
||||
<Scope>perm:applications:uninstall</Scope>
|
||||
<Scope>perm:admin-groups:count</Scope>
|
||||
<Scope>perm:admin-groups:view</Scope>
|
||||
<Scope>perm:notifications:mark-checked</Scope>
|
||||
<Scope>perm:notifications:view</Scope>
|
||||
<Scope>perm:admin:certificates:delete</Scope>
|
||||
<Scope>perm:admin:certificates:details</Scope>
|
||||
<Scope>perm:admin:certificates:view</Scope>
|
||||
<Scope>perm:admin:certificates:add</Scope>
|
||||
<Scope>perm:admin:certificates:verify</Scope>
|
||||
<Scope>perm:admin</Scope>
|
||||
<Scope>perm:devicetype:deployment</Scope>
|
||||
<Scope>perm:device-types:events</Scope>
|
||||
<Scope>perm:device-types:events:view</Scope>
|
||||
<Scope>perm:admin:device-type</Scope>
|
||||
<Scope>perm:admin:device-type:view</Scope>
|
||||
<Scope>perm:admin:device-type:configs</Scope>
|
||||
<Scope>perm:device:enroll</Scope>
|
||||
<Scope>perm:geo-service:analytics-view</Scope>
|
||||
<Scope>perm:geo-service:alerts-manage</Scope>
|
||||
<Scope>appm:read</Scope>
|
||||
<Scope>perm:devices:permanent-delete</Scope>
|
||||
<Scope>perm:android:manage-configuration</Scope>
|
||||
<Scope>perm:android:view-configuration</Scope>
|
||||
</Scopes>
|
||||
<SSOConfiguration>
|
||||
<Issuer>app-mgt</Issuer>
|
||||
</SSOConfiguration>
|
||||
<ErrorCallback>
|
||||
<BadRequest>/pages/error/client-errors/400</BadRequest>
|
||||
<Unauthorized>/pages/error/client-errors/401</Unauthorized>
|
||||
<Forbidden>/pages/error/client-errors/403</Forbidden>
|
||||
<NotFound>/pages/error/client-errors/404</NotFound>
|
||||
<MethodNotAllowed>/pages/error/client-errors/405</MethodNotAllowed>
|
||||
<NotAcceptable>/pages/error/client-errors/406</NotAcceptable>
|
||||
<UnsupportedMediaType>/pages/error/client-errors/415</UnsupportedMediaType>
|
||||
<InternalServerError>/pages/error/server-errors/500</InternalServerError>
|
||||
<DefaultPage>/pages/error/default</DefaultPage>
|
||||
</ErrorCallback>
|
||||
</UIConfigs>
|
||||
|
||||
<AppCategories>
|
||||
<Category>EMM</Category>
|
||||
<Category>IoT</Category>
|
||||
|
||||
@ -0,0 +1,153 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
~ Copyright (c) 2020, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved.
|
||||
~
|
||||
~ Entgra (pvt) Ltd. 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.
|
||||
-->
|
||||
|
||||
<UIConfiguration>
|
||||
<EnableOAuth>true</EnableOAuth>
|
||||
<EnableSSO>false</EnableSSO>
|
||||
<AppRegistration>
|
||||
<Tags>
|
||||
<Tag>application_management</Tag>
|
||||
<Tag>device_management</Tag>
|
||||
<Tag>subscription_management</Tag>
|
||||
<Tag>review_management</Tag>
|
||||
</Tags>
|
||||
<AllowToAllDomains>true</AllowToAllDomains>
|
||||
</AppRegistration>
|
||||
<Scopes>
|
||||
<Scope>perm:app:review:view</Scope>
|
||||
<Scope>perm:app:review:update</Scope>
|
||||
<Scope>perm:app:publisher:view</Scope>
|
||||
<Scope>perm:app:publisher:update</Scope>
|
||||
<Scope>perm:app:store:view</Scope>
|
||||
<Scope>perm:app:subscription:install</Scope>
|
||||
<Scope>perm:app:subscription:uninstall</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
<Scope>perm:admin:app:review:view</Scope>
|
||||
<Scope>perm:admin:app:publisher:update</Scope>
|
||||
<Scope>perm:admin:app:review:update</Scope>
|
||||
<Scope>perm:admin:app:subscription:view</Scope>
|
||||
<Scope>perm:device-types:types</Scope>
|
||||
<Scope>perm:enterprise:modify</Scope>
|
||||
<Scope>perm:enterprise:view</Scope>
|
||||
<Scope>perm:android-work:customer</Scope>
|
||||
<Scope>perm:android-work:admin</Scope>
|
||||
<Scope>perm:application-command:modify</Scope>
|
||||
<Scope>perm:sign-csr</Scope>
|
||||
<Scope>perm:admin:devices:view</Scope>
|
||||
<Scope>perm:admin:topics:view</Scope>
|
||||
<Scope>perm:roles:add</Scope>
|
||||
<Scope>perm:roles:add-users</Scope>
|
||||
<Scope>perm:roles:update</Scope>
|
||||
<Scope>perm:roles:permissions</Scope>
|
||||
<Scope>perm:roles:details</Scope>
|
||||
<Scope>perm:roles:view</Scope>
|
||||
<Scope>perm:roles:create-combined-role</Scope>
|
||||
<Scope>perm:roles:delete</Scope>
|
||||
<Scope>perm:dashboard:vulnerabilities</Scope>
|
||||
<Scope>perm:dashboard:non-compliant-count</Scope>
|
||||
<Scope>perm:dashboard:non-compliant</Scope>
|
||||
<Scope>perm:dashboard:by-groups</Scope>
|
||||
<Scope>perm:dashboard:device-counts</Scope>
|
||||
<Scope>perm:dashboard:feature-non-compliant</Scope>
|
||||
<Scope>perm:dashboard:count-overview</Scope>
|
||||
<Scope>perm:dashboard:filtered-count</Scope>
|
||||
<Scope>perm:dashboard:details</Scope>
|
||||
<Scope>perm:get-activity</Scope>
|
||||
<Scope>perm:devices:delete</Scope>
|
||||
<Scope>perm:devices:applications</Scope>
|
||||
<Scope>perm:devices:effective-policy</Scope>
|
||||
<Scope>perm:devices:compliance-data</Scope>
|
||||
<Scope>perm:devices:features</Scope>
|
||||
<Scope>perm:devices:operations</Scope>
|
||||
<Scope>perm:devices:search</Scope>
|
||||
<Scope>perm:devices:details</Scope>
|
||||
<Scope>perm:devices:update</Scope>
|
||||
<Scope>perm:devices:view</Scope>
|
||||
<Scope>perm:view-configuration</Scope>
|
||||
<Scope>perm:manage-configuration</Scope>
|
||||
<Scope>perm:policies:remove</Scope>
|
||||
<Scope>perm:policies:priorities</Scope>
|
||||
<Scope>perm:policies:deactivate</Scope>
|
||||
<Scope>perm:policies:get-policy-details</Scope>
|
||||
<Scope>perm:policies:manage</Scope>
|
||||
<Scope>perm:policies:activate</Scope>
|
||||
<Scope>perm:policies:update</Scope>
|
||||
<Scope>perm:policies:changes</Scope>
|
||||
<Scope>perm:policies:get-details</Scope>
|
||||
<Scope>perm:users:add</Scope>
|
||||
<Scope>perm:users:details</Scope>
|
||||
<Scope>perm:users:count</Scope>
|
||||
<Scope>perm:users:delete</Scope>
|
||||
<Scope>perm:users:roles</Scope>
|
||||
<Scope>perm:users:user-details</Scope>
|
||||
<Scope>perm:users:credentials</Scope>
|
||||
<Scope>perm:users:search</Scope>
|
||||
<Scope>perm:users:is-exist</Scope>
|
||||
<Scope>perm:users:update</Scope>
|
||||
<Scope>perm:users:send-invitation</Scope>
|
||||
<Scope>perm:admin-users:view</Scope>
|
||||
<Scope>perm:admin:devices:update-enrollment</Scope>
|
||||
<Scope>perm:groups:devices</Scope>
|
||||
<Scope>perm:groups:update</Scope>
|
||||
<Scope>perm:groups:add</Scope>
|
||||
<Scope>perm:groups:device</Scope>
|
||||
<Scope>perm:groups:devices-count</Scope>
|
||||
<Scope>perm:groups:remove</Scope>
|
||||
<Scope>perm:groups:groups</Scope>
|
||||
<Scope>perm:groups:groups-view</Scope>
|
||||
<Scope>perm:groups:share</Scope>
|
||||
<Scope>perm:groups:count</Scope>
|
||||
<Scope>perm:groups:roles</Scope>
|
||||
<Scope>perm:groups:devices-remove</Scope>
|
||||
<Scope>perm:groups:devices-add</Scope>
|
||||
<Scope>perm:groups:assign</Scope>
|
||||
<Scope>perm:device-types:configs</Scope>
|
||||
<Scope>perm:device-types:features</Scope>
|
||||
<Scope>perm:device-types:types</Scope>
|
||||
<Scope>perm:applications:install</Scope>
|
||||
<Scope>perm:applications:uninstall</Scope>
|
||||
<Scope>perm:admin-groups:count</Scope>
|
||||
<Scope>perm:admin-groups:view</Scope>
|
||||
<Scope>perm:notifications:mark-checked</Scope>
|
||||
<Scope>perm:notifications:view</Scope>
|
||||
<Scope>perm:admin:certificates:delete</Scope>
|
||||
<Scope>perm:admin:certificates:details</Scope>
|
||||
<Scope>perm:admin:certificates:view</Scope>
|
||||
<Scope>perm:admin:certificates:add</Scope>
|
||||
<Scope>perm:admin:certificates:verify</Scope>
|
||||
<Scope>perm:admin</Scope>
|
||||
<Scope>perm:devicetype:deployment</Scope>
|
||||
<Scope>perm:device-types:events</Scope>
|
||||
<Scope>perm:device-types:events:view</Scope>
|
||||
<Scope>perm:admin:device-type</Scope>
|
||||
<Scope>perm:admin:device-type:view</Scope>
|
||||
<Scope>perm:admin:device-type:configs</Scope>
|
||||
<Scope>perm:device:enroll</Scope>
|
||||
<Scope>perm:geo-service:analytics-view</Scope>
|
||||
<Scope>perm:geo-service:alerts-manage</Scope>
|
||||
<Scope>appm:read</Scope>
|
||||
<Scope>perm:devices:permanent-delete</Scope>
|
||||
<Scope>perm:android:manage-configuration</Scope>
|
||||
<Scope>perm:android:view-configuration</Scope>
|
||||
</Scopes>
|
||||
<SSOConfiguration>
|
||||
<Issuer>device-mgt</Issuer>
|
||||
</SSOConfiguration>
|
||||
</UIConfiguration>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
instructions.configure = \
|
||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.basics_${feature.version}/conf/cdm-config.xml,target:${installFolder}/../../conf/cdm-config.xml,overwrite:true);\
|
||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.basics_${feature.version}/conf/mdm-ui-config.xml,target:${installFolder}/../../conf/mdm-ui-config.xml,overwrite:true);\
|
||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.basics_${feature.version}/conf/license-config.xml,target:${installFolder}/../../conf/etc/license-config.xml,overwrite:true);\
|
||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.basics_${feature.version}/conf/remote-appmanager-config.xml,target:${installFolder}/../../conf/etc/remote-appmanager-config.xml,overwrite:true);\
|
||||
org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/org.wso2.carbon.device.mgt.basics_${feature.version}/dbscripts/cdm,target:${installFolder}/../../../dbscripts/cdm,overwrite:true);\
|
||||
|
||||
Loading…
Reference in New Issue
Block a user