From 6ad6bbbdc0f91b3c9674019e716ec63227c6e491 Mon Sep 17 00:00:00 2001 From: Milan Perera Date: Thu, 8 Dec 2016 20:41:44 +0530 Subject: [PATCH 1/8] Commiting permission-scope mapping improvements --- .../service/impl/AndroidSenseService.java | 10 +++++----- .../mgt/iot/arduino/service/impl/ArduinoService.java | 8 ++++---- .../raspberrypi/service/impl/RaspberryPiService.java | 6 +++--- .../service/impl/VirtualFireAlarmService.java | 6 +++--- .../api/services/DeviceManagementAdminService.java | 12 ++++++------ .../windows/api/services/authbst/BSTProvider.java | 3 +-- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java index 2c60c0b4df..6a215bf7c5 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java @@ -54,7 +54,7 @@ public interface AndroidSenseService { */ @Path("device/{deviceId}/words") @POST - @Scope(key = "device:android-sense:enroll", name = "", description = "") + //@Scope(key = "device:android-sense:enroll", name = "", description = "") Response sendKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("keywords") String keywords); /** @@ -65,12 +65,12 @@ public interface AndroidSenseService { */ @Path("device/{deviceId}/words/threshold") @POST - @Scope(key = "device:android-sense:enroll", name = "", description = "") + //@Scope(key = "device:android-sense:enroll", name = "", description = "") Response sendThreshold(@PathParam("deviceId") String deviceId, @QueryParam("threshold") String threshold); @Path("device/{deviceId}/words") @DELETE - @Scope(key = "device:android-sense:enroll", name = "", description = "") + //@Scope(key = "device:android-sense:enroll", name = "", description = "") Response removeKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("words") String words); /** @@ -79,7 +79,7 @@ public interface AndroidSenseService { @Path("stats/{deviceId}/sensors/{sensorName}") @GET @Consumes("application/json") - @Scope(key = "device:android-sense:enroll", name = "", description = "") + //@Scope(key = "device:android-sense:enroll", name = "", description = "") @Produces("application/json") Response getAndroidSenseDeviceStats(@PathParam("deviceId") String deviceId, @PathParam("sensorName") String sensor, @QueryParam("from") long from, @QueryParam("to") long to); @@ -89,7 +89,7 @@ public interface AndroidSenseService { */ @Path("device/{device_id}/register") @POST - @Scope(key = "device:android-sense:enroll", name = "", description = "") + //@Scope(key = "device:android-sense:enroll", name = "", description = "") Response register(@PathParam("device_id") String deviceId, @QueryParam("deviceName") String deviceName); } diff --git a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java index cd0ef710b5..1dd0500134 100644 --- a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java @@ -48,12 +48,12 @@ public interface ArduinoService { @Path("device/{deviceId}/bulb") @POST - @Scope(key = "device:arduino:enroll", name = "", description = "") + //@Scope(key = "device:arduino:enroll", name = "", description = "") Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); @Path("device/{deviceId}/controls") @GET - @Scope(key = "device:arduino:enroll", name = "", description = "") + //@Scope(key = "device:arduino:enroll", name = "", description = "") Response readControls(@PathParam("deviceId") String deviceId); /** @@ -63,7 +63,7 @@ public interface ArduinoService { @GET @Consumes("application/json") @Produces("application/json") - @Scope(key = "device:arduino:enroll", name = "", description = "") + //@Scope(key = "device:arduino:enroll", name = "", description = "") Response getArduinoTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @QueryParam("to") long to); @@ -73,7 +73,7 @@ public interface ArduinoService { @Path("device/download") @GET @Produces("application/octet-stream") - @Scope(key = "device:arduino:enroll", name = "", description = "") + //@Scope(key = "device:arduino:enroll", name = "", description = "") Response downloadSketch(@QueryParam("deviceName") String customDeviceName); } diff --git a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java index 812c584394..816f3e6b9a 100644 --- a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java @@ -48,7 +48,7 @@ public interface RaspberryPiService { @Path("device/{deviceId}/bulb") @POST - @Scope(key = "device:raspberrypi:enroll", name = "", description = "") + //@Scope(key = "device:raspberrypi:enroll", name = "", description = "") Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); /** @@ -58,7 +58,7 @@ public interface RaspberryPiService { @GET @Consumes("application/json") @Produces("application/json") - @Scope(key = "device:raspberrypi:enroll", name = "", description = "") + //@Scope(key = "device:raspberrypi:enroll", name = "", description = "") Response getRaspberryPiTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @QueryParam("to") long to); @@ -68,7 +68,7 @@ public interface RaspberryPiService { @Path("device/download") @GET @Produces(MediaType.APPLICATION_JSON) - @Scope(key = "device:raspberrypi:enroll", name = "", description = "") + //@Scope(key = "device:raspberrypi:enroll", name = "", description = "") Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketch_type") String sketchType); } diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java index 75db835b7b..62be0f612f 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java @@ -63,7 +63,7 @@ public interface VirtualFireAlarmService { */ @POST @Path("device/{deviceId}/buzz") - @Scope(key = "device:firealarm:enroll", name = "", description = "") + //@Scope(key = "device:firealarm:enroll", name = "", description = "") Response switchBuzzer(@PathParam("deviceId") String deviceId, @FormParam("state") String state); @@ -72,7 +72,7 @@ public interface VirtualFireAlarmService { */ @Path("device/stats/{deviceId}") @GET - @Scope(key = "device:firealarm:enroll", name = "", description = "") + //@Scope(key = "device:firealarm:enroll", name = "", description = "") @Consumes("application/json") @Produces("application/json") Response getVirtualFirealarmStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @@ -81,7 +81,7 @@ public interface VirtualFireAlarmService { @Path("device/download") @GET @Produces("application/zip") - @Scope(key = "device:firealarm:enroll", name = "", description = "") + //@Scope(key = "device:firealarm:enroll", name = "", description = "") Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketchType") String sketchType); } diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java index 5e325938c5..ad2dc20080 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java @@ -24,7 +24,6 @@ import io.swagger.annotations.ExtensionProperty; import io.swagger.annotations.Extension; import io.swagger.annotations.Tag; import io.swagger.annotations.Api; -import org.wso2.carbon.apimgt.annotations.api.Permission; import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException; import javax.jws.WebService; @@ -68,31 +67,32 @@ public interface DeviceManagementAdminService { @POST @Path("/lock-devices") - @Permission(name = "Lock Device", permission = "/device-mgt/devices/owning-device/operations/windows/lock") + //@Permission(name = "Lock Device", permission = "/device-mgt/devices/owning-device/operations/windows/lock") Response lock(@HeaderParam("Accept") String headerParam, List deviceIds) throws WindowsDeviceEnrolmentException; @POST @Path("/disenroll-devices") - @Permission(name = "Disenroll Device", permission = "/device-mgt/devices/disenroll/windows") + //@Permission(name = "Disenroll Device", permission = "/device-mgt/devices/disenroll/windows") Response disenroll(@HeaderParam("Accept") String headerParam, List deviceIds) throws WindowsDeviceEnrolmentException; @POST @Path("/wipe-devices") - @Permission(name = "Wipe Device", permission = "/device-mgt/devices/owning-device/operations/windows/wipe") + //@Permission(name = "Wipe Device", permission = "/device-mgt/devices/owning-device/operations/windows/wipe") Response wipe(@HeaderParam("Accept") String headerParam, List deviceIds) throws WindowsDeviceEnrolmentException; @POST @Path("/ring-devices") - @Permission(name = "Ring Device", permission = "/device-mgt/devices/owning-device/operations/windows/ring") + //@Permission(name = "Ring Device", permission = "/device-mgt/devices/owning-device/operations/windows/ring") Response ring(@HeaderParam("Accept") String headerParam, List deviceIds) throws WindowsDeviceEnrolmentException; @POST @Path("/lock-reset-devices") - @Permission(name = "Lock-Reset Device", permission = "/device-mgt/devices/owning-device/operations/windows/lock-reset") + //@Permission(name = "Lock-Reset Device", permission = + // "/device-mgt/devices/owning-device/operations/windows/lock-reset") Response lockReset(@HeaderParam("Accept") String acceptHeader, List deviceIds) throws WindowsDeviceEnrolmentException; } diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java index 220d0e02da..e0736e3fcf 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java @@ -18,7 +18,6 @@ package org.wso2.carbon.device.mgt.mobile.windows.api.services.authbst; -import org.wso2.carbon.apimgt.annotations.api.Permission; import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException; import org.wso2.carbon.device.mgt.mobile.windows.api.services.authbst.beans.Credentials; @@ -37,6 +36,6 @@ public interface BSTProvider { @POST @Consumes(MediaType.APPLICATION_JSON) @Path("/authentication") - @Permission(name = "Enroll Device", permission = "/device-mgt/devices/enroll/windows") + // @Permission(name = "Enroll Device", permission = "/device-mgt/devices/enroll/windows") Response getBST(Credentials credentials) throws WindowsDeviceEnrolmentException; } From 4dfc49474c4bddc5c0ca516c92bebc51884ba63e Mon Sep 17 00:00:00 2001 From: Milan Perera Date: Wed, 14 Dec 2016 08:53:28 +0530 Subject: [PATCH 2/8] Upgraded APIM and Identity OAuth module --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index f6181f3235..2b7ff94dc0 100644 --- a/pom.xml +++ b/pom.xml @@ -1267,7 +1267,7 @@ 5.2.2 - 5.1.3 + 5.1.1 5.1.1 [5.2.2, 6.0.0) @@ -1281,7 +1281,7 @@ 4.6.5 - 6.0.5 + 6.0.6-SNAPSHOT 3.0.4.wso2v1 From 8a384a6664ff5c7863a2cb955cecc442845197a2 Mon Sep 17 00:00:00 2001 From: Milan Perera Date: Thu, 5 Jan 2017 11:21:51 +0530 Subject: [PATCH 3/8] Updated to APIM latest snapshot version --- pom.xml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index fccb532f9f..b7464fb6b3 100644 --- a/pom.xml +++ b/pom.xml @@ -1266,14 +1266,8 @@ 4.7.2 - - - - - - 5.6.89 - 5.2.33 + 5.3.1 [5.2.0, 6.0.0) @@ -1286,10 +1280,7 @@ 4.7.0 - - - - 6.1.2 + 6.1.30-SNAPSHOT 3.0.4.wso2v1 From 1b56ebb831324e0433684c125f086b003e733920 Mon Sep 17 00:00:00 2001 From: Madawa Soysa Date: Fri, 16 Dec 2016 15:08:05 +0530 Subject: [PATCH 4/8] Improving scope annotations in android plugin --- .../pom.xml | 5 + .../DeviceManagementAdminService.java | 441 +++++++++++------- .../services/DeviceManagementService.java | 93 ++-- .../DeviceTypeConfigurationService.java | 57 ++- .../services/EventReceiverService.java | 35 +- .../android/util/AndroidConstants.java | 1 + 6 files changed, 370 insertions(+), 262 deletions(-) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/pom.xml b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/pom.xml index 017ff5400c..c2ea041777 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/pom.xml +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/pom.xml @@ -143,6 +143,11 @@ org.wso2.carbon.device.mgt.common provided + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.annotations + provided + org.wso2.carbon.devicemgt org.wso2.carbon.device.mgt.core diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java index e24f6fbfad..d752a30779 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java @@ -24,15 +24,16 @@ import io.swagger.annotations.ExtensionProperty; import io.swagger.annotations.Extension; import io.swagger.annotations.Tag; import io.swagger.annotations.Api; -import io.swagger.annotations.AuthorizationScope; -import io.swagger.annotations.Authorization; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import io.swagger.annotations.ResponseHeader; +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.operation.mgt.Activity; import org.wso2.carbon.mdm.services.android.bean.wrapper.*; +import org.wso2.carbon.mdm.services.android.util.AndroidConstants; import javax.validation.Valid; import javax.ws.rs.Consumes; @@ -64,6 +65,160 @@ import java.util.List; @Api(value = "Android Device Management Administrative Service", description = "Device management related admin APIs.") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) +@Scopes( + scopes = { + @Scope( + name = "Lock Device", + description = "Hard lock own device", + key = "cdmf:android:lock-devices", + permissions = {"/device-mgt/devices/owning-device/operations/android/lock"} + ), + @Scope( + name = "Unlock Device", + description = "Unlock permanently locked device", + key = "cdmf:android:unlock-devices", + permissions = {"/device-mgt/devices/owning-device/operations/android/unlock"} + ), + @Scope( + name = "Get Location", + description = "Request device location coordinates", + key = "cdmf:android:location", + permissions = {"/device-mgt/devices/owning-device/operations/android/location"} + ), + @Scope( + name = "Clear Password", + description = "Clear the password on Android devices", + key = "cdmf:android:clear-password", + permissions = {"/device-mgt/devices/owning-device/operations/android/clear-password"} + ), + @Scope( + name = "Control Camera", + description = "Enabling or Disabling the Camera on Android Devices", + key = "cdmf:android:control-camera", + permissions = {"/device-mgt/devices/owning-device/operations/android/camera"} + ), + @Scope( + name = "Get Info", + description = "Requesting device information from Android Devices", + key = "cdmf:android:info", + permissions = {"/device-mgt/devices/owning-device/operations/android/info"} + ), + @Scope( + name = "Get Logs", + description = "Requesting Logcat Details from Android Devices", + key = "cdmf:android:logcat", + permissions = {"/device-mgt/devices/owning-device/operations/android/logcat"} + ), + @Scope( + name = "Enterprise Wipe", + description = "Enterprise Wiping Android Devices", + key = "cdmf:android:enterprise-wipe", + permissions = {"/device-mgt/devices/owning-device/operations/android/enterprise-wipe"} + ), + @Scope( + name = "Factory Reset", + description = "Factory Resetting Android Devices", + key = "cdmf:android:wipe", + permissions = {"/device-mgt/devices/owning-device/operations/android/wipe"} + ), + @Scope( + name = "Get Installed Applications", + description = "Get list of installed applications", + key = "cdmf:android:applications", + permissions = {"/device-mgt/devices/owning-device/operations/android/applications"} + ), + @Scope( + name = "Ring Device", + description = "Ring Android devices", + key = "cdmf:android:ring", + permissions = {"/device-mgt/devices/owning-device/operations/android/ring"} + ), + @Scope( + name = "Reboot Device", + description = "Reboot Android devices", + key = "cdmf:android:reboot", + permissions = {"/device-mgt/devices/owning-device/operations/android/reboot"} + ), + @Scope( + name = "Mute Device", + description = "Mute Android devices", + key = "cdmf:android:mute", + permissions = {"/device-mgt/devices/owning-device/operations/android/mute"} + ), + @Scope( + name = "Install Applications", + description = "Installing an Application on Android Devices", + key = "cdmf:android:install-application", + permissions = {"/device-mgt/devices/owning-device/operations/android/install-app"} + ), + @Scope( + name = "Update Applications", + description = "Updating an Application on Android Devices", + key = "cdmf:android:update-application", + permissions = {"/device-mgt/devices/owning-device/operations/android/update-app"} + ), + @Scope( + name = "Uninstall Applications", + description = "Uninstalling an Application on Android Devices", + key = "cdmf:android:uninstall-application", + permissions = {"/device-mgt/devices/owning-device/operations/android/uninstall-app"} + ), + @Scope( + name = "Blacklist Applications", + description = "Blacklisting applications on Android Devices", + key = "cdmf:android:blacklist-applications", + permissions = {"/device-mgt/devices/owning-device/operations/android/blacklist-app"} + ), + @Scope( + name = "Upgrade Firmware", + description = "Upgrading Firmware of Android Devices", + key = "cdmf:android:upgrade-firmware", + permissions = {"/device-mgt/devices/owning-device/operations/android/upgrade"} + ), + @Scope( + name = "Configure VPN", + description = "Configure VPN on Android Device", + key = "cdmf:android:configure-vpn", + permissions = {"/device-mgt/devices/owning-device/operations/android/vpn"} + ), + @Scope( + name = "Send Notification", + description = "Sending a notification to Android Device", + key = "cdmf:android:send-notification", + permissions = {"/device-mgt/devices/owning-device/operations/android/send-notification"} + ), + @Scope( + name = "Configure Wi-Fi", + description = "Configure Wi-Fi on Android Device", + key = "cdmf:android:configure-wifi", + permissions = {"/device-mgt/devices/owning-device/operations/android/wifi"} + ), + @Scope( + name = "Encrypt Storage", + description = "Encrypting storage on Android Device", + key = "cdmf:android:encrypt-storage", + permissions = {"/device-mgt/devices/owning-device/operations/android/encrypt"} + ), + @Scope( + name = "Change Password", + description = "Changing the lock code of an Android Device", + key = "cdmf:android:change-lock-code", + permissions = {"/device-mgt/devices/owning-device/operations/android/change-lock-code"} + ), + @Scope( + name = "Password Policy", + description = "Set password policy of an Android Device", + key = "cdmf:android:set-password-policy", + permissions = {"/device-mgt/devices/owning-device/operations/android/password-policy"} + ), + @Scope( + name = "Add Web clip", + description = "Setting a Web Clip on Android Devices", + key = "cdmf:android:set-webclip", + permissions = {"/device-mgt/devices/owning-device/operations/android/webclip"} + ) + } +) public interface DeviceManagementAdminService { @POST @@ -76,13 +231,10 @@ public interface DeviceManagementAdminService { "permanently locks the device or screen locking an Android device.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/lock", - description = "Lock Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:lock-devices") + }) } ) @ApiResponses(value = { @@ -142,13 +294,10 @@ public interface DeviceManagementAdminService { notes = "Unlock devices that were locked permanently using the hard lock operation. Devices that are hard locked can only be unlocked by the EMM administrator.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/unlock", - description = "Unlock Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:unlock-devices") + }) } ) @ApiResponses(value = { @@ -208,13 +357,10 @@ public interface DeviceManagementAdminService { "Example: In situations where you have lost your device and need to find out where it is, you can use this REST API to get the location of the device.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/location", - description = "Get Device Location") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:location") + }) } ) @ApiResponses(value = { @@ -270,13 +416,10 @@ public interface DeviceManagementAdminService { notes = "Clear the password on Android devices", response = Activity.class, tags = "Android Device Management Administrative Service.", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/clear-password", - description = "Clear Password of Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:clear-password") + }) } ) @ApiResponses(value = { @@ -331,13 +474,11 @@ public interface DeviceManagementAdminService { notes = "Enable or disable the camera on Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/owning-device/operations/android/camera", description = "Manage Camera") } - ) - } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:control-camera") + }) + } ) @ApiResponses(value = { @ApiResponse( code = 201, @@ -398,13 +539,10 @@ public interface DeviceManagementAdminService { "the list of operations that needs to be executed on the device", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/info", - description = "Get Device Information") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:info") + }) } ) @ApiResponses(value = { @@ -464,13 +602,10 @@ public interface DeviceManagementAdminService { "the list of operations that needs to be executed on the device.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/logcat", - description = "Get Logs") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:logcat") + }) } ) @ApiResponses(value = { @@ -529,13 +664,10 @@ public interface DeviceManagementAdminService { "personal data intact. You are able to enterprise wipe Android devices using this REST API.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/enterprise-wipe", - description = "Enterprise Wipe") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enterprise-wipe") + }) } ) @ApiResponses(value = { @@ -592,13 +724,10 @@ public interface DeviceManagementAdminService { "to restore them back to the original system.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/wipe", - description = "Factory Reset") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:wipe") + }) } ) @ApiResponses(value = { @@ -659,13 +788,10 @@ public interface DeviceManagementAdminService { "on the device.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/applications", - description = "Get Installed Application") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:applications") + }) } ) @ApiResponses(value = { @@ -722,13 +848,10 @@ public interface DeviceManagementAdminService { notes = "Ring Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/ring", - description = "Ring Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:ring") + }) } ) @ApiResponses(value = { @@ -785,13 +908,10 @@ public interface DeviceManagementAdminService { notes = "Reboot or restart your Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/reboot", - description = "Reboot Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:reboot") + }) } ) @ApiResponses(value = { @@ -840,6 +960,7 @@ public interface DeviceManagementAdminService { List deviceIDs); @POST + @Path("/mute") @ApiOperation( consumes = MediaType.APPLICATION_JSON, httpMethod = "POST", @@ -847,13 +968,10 @@ public interface DeviceManagementAdminService { notes = "Mute or enable a silent profile for Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/mute", - description = "Mute Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:mute") + }) } ) @ApiResponses(value = { @@ -894,7 +1012,6 @@ public interface DeviceManagementAdminService { message = "Internal Server Error. \n " + "Server error occurred while adding a new device mute operation.") }) - @Path("/mute") Response muteDevice( @ApiParam( name = "deviceIDs", @@ -913,13 +1030,10 @@ public interface DeviceManagementAdminService { " the application installation will happen in silent mode, else the device user's consent will be required.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/install-app", - description = "Install Applications") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:install-application") + }) } ) @ApiResponses(value = { @@ -981,13 +1095,10 @@ public interface DeviceManagementAdminService { "mode, else the device user's consent is required.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/update-app", - description = "Update installed applications") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:update-application") + }) } ) @ApiResponses(value = { @@ -1046,13 +1157,10 @@ public interface DeviceManagementAdminService { notes = "Uninstall an application from Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/uninstall-app", - description = "Uninstall Applications") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:uninstall-application") + }) } ) @ApiResponses(value = { @@ -1115,13 +1223,10 @@ public interface DeviceManagementAdminService { "COPE devices. Applications can be blacklisted via the application restriction policy too.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/blacklist-app", - description = "Blacklist Applications") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:blacklist-applications") + }) } ) @ApiResponses(value = { @@ -1176,17 +1281,14 @@ public interface DeviceManagementAdminService { consumes = MediaType.APPLICATION_JSON, produces = MediaType.APPLICATION_JSON, httpMethod = "POST", - value = "UUpgrading Firmware of Android Devices", + value = "Upgrading Firmware of Android Devices", notes = "Upgrade the firmware of Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/upgrade", - description = "Upgrade Firmware") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:upgrade-firmware") + }) } ) @ApiResponses(value = { @@ -1247,13 +1349,10 @@ public interface DeviceManagementAdminService { notes = "Configure VPN on Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/vpn", - description = "Add VPN") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:configure-vpn") + }) } ) @ApiResponses(value = { @@ -1310,13 +1409,10 @@ public interface DeviceManagementAdminService { notes = "Send a notification or message to Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/send-notification", - description = "Send Notifications") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:send-notification") + }) } ) @ApiResponses(value = { @@ -1374,13 +1470,10 @@ public interface DeviceManagementAdminService { notes = "Configure Wi-Fi on Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/wifi", - description = "Add Wifi Configuration") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:configure-wifi") + }) } ) @ApiResponses(value = { @@ -1439,13 +1532,10 @@ public interface DeviceManagementAdminService { notes = "Encrypt the data stored on Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/encrypt", - description = "Encrypt Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:encrypt-storage") + }) } ) @ApiResponses(value = { @@ -1504,13 +1594,10 @@ public interface DeviceManagementAdminService { notes = "Change the lock code on Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/change-lock-code", - description = "Change Password of Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:change-lock-code") + }) } ) @ApiResponses(value = { @@ -1569,13 +1656,10 @@ public interface DeviceManagementAdminService { notes = "Set a password policy on Android devices.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/password-policy", - description = "Set Password Policy") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:set-password-policy") + }) } ) @ApiResponses(value = { @@ -1624,7 +1708,7 @@ public interface DeviceManagementAdminService { PasswordPolicyBeanWrapper passwordPolicyBeanWrapper); @POST - @Path("set-webclip") + @Path("/set-webclip") @ApiOperation( consumes = MediaType.APPLICATION_JSON, httpMethod = "POST", @@ -1632,13 +1716,10 @@ public interface DeviceManagementAdminService { notes = "Set a web clip on Android devices. A web clip is used to add a bookmark to a web application.", response = Activity.class, tags = "Android Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/android/webclip", - description = "Add Webclips") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:set-webclip") + }) } ) @ApiResponses(value = { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java index 4bf71b564a..777c9582bc 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java @@ -18,22 +18,14 @@ */ package org.wso2.carbon.mdm.services.android.services; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; -import io.swagger.annotations.Authorization; -import io.swagger.annotations.AuthorizationScope; -import io.swagger.annotations.Extension; -import io.swagger.annotations.ExtensionProperty; -import io.swagger.annotations.Info; -import io.swagger.annotations.ResponseHeader; -import io.swagger.annotations.SwaggerDefinition; -import io.swagger.annotations.Tag; +import io.swagger.annotations.*; + +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.mdm.services.android.bean.wrapper.AndroidApplication; import org.wso2.carbon.mdm.services.android.bean.wrapper.AndroidDevice; +import org.wso2.carbon.mdm.services.android.util.AndroidConstants; import javax.validation.Valid; import javax.validation.constraints.NotNull; @@ -72,6 +64,22 @@ import java.util.List; @Path("/devices") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) +@Scopes( + scopes = { + @Scope( + name = "Enroll Device", + description = "Register an Android device", + key = "cdmf:android:enroll", + permissions = {"/device-mgt/devices/enroll/android"} + ), + @Scope( + name = "Un-enroll Device", + description = "Unregister an Android device", + key = "cdmf:android:disenroll", + permissions = {"/device-mgt/devices/disenroll/android"} + ) + } +) public interface DeviceManagementService { @PUT @@ -83,12 +91,10 @@ public interface DeviceManagementService { value = "Updating the Application Details on Android Devices", notes = "Update the details of the applications that are installed on Android devices.", tags = "Android Device Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Enroll Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses(value = { @@ -150,12 +156,10 @@ public interface DeviceManagementService { "The server then updates the status of the operations that were carried out on the device.", response = Operation.class, tags = "Android Device Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Enroll Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses(value = { @@ -216,12 +220,10 @@ public interface DeviceManagementService { " you can use this REST API to register an Android device with WSO2 EMM, without having to install" + " an Android Agent. This API can be mainly used to test the device enrollment process.", tags = "Android Device Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Enroll Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses(value = { @@ -273,12 +275,10 @@ public interface DeviceManagementService { value = "Getting the Registration Status of an Android Device", notes = "Use this REST API to retrieve the registration status of an Android device.", tags = "Android Device Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Enroll Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses(value = { @@ -328,12 +328,10 @@ public interface DeviceManagementService { value = "Updating the Registration Details of an Android Device", notes = "Use this REST API to update the registration details of an Android device.", tags = "Android Device Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Enroll Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses( @@ -386,11 +384,10 @@ public interface DeviceManagementService { value = "Unregistering an Android Device", notes = "Use this REST API to unregister an Android device.", tags = "Android Device Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/disenroll/android", description = "Disenroll Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:disenroll") + }) } ) @ApiResponses(value = { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java index 3eab30e353..09a731df4d 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java @@ -24,16 +24,17 @@ import io.swagger.annotations.ExtensionProperty; import io.swagger.annotations.Extension; import io.swagger.annotations.Tag; import io.swagger.annotations.Api; -import io.swagger.annotations.AuthorizationScope; -import io.swagger.annotations.Authorization; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import io.swagger.annotations.ResponseHeader; +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; import org.wso2.carbon.mdm.services.android.bean.AndroidPlatformConfiguration; import org.wso2.carbon.mdm.services.android.exception.AndroidAgentException; +import org.wso2.carbon.mdm.services.android.util.AndroidConstants; import javax.validation.Valid; import javax.ws.rs.*; @@ -61,6 +62,28 @@ import javax.ws.rs.core.Response; @Path("/configuration") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) +@Scopes( + scopes = { + @Scope( + name = "Enroll Device", + description = "Register an Android device", + key = "cdmf:android:enroll", + permissions = {"/device-mgt/devices/enroll/android"} + ), + @Scope( + name = "View Configurations", + description = "Getting Android Platform Configurations", + key = "cdmf:android:view-configuration", + permissions = {"/device-mgt/platform-configurations/view"} + ), + @Scope( + name = "Manage Configurations", + description = "Updating Android Platform Configurations", + key = "cdmf:android:manage-configuration", + permissions = {"/device-mgt/platform-configurations/manage"} + ) + } +) public interface DeviceTypeConfigurationService { @GET @@ -71,12 +94,10 @@ public interface DeviceTypeConfigurationService { notes = "Get the Android platform configuration details using this REST API.", response = PlatformConfiguration.class, tags = "Android Configuration Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/platform-configurations/view", - description = "View Configurations") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:view-configuration") + }) } ) @ApiResponses(value = { @@ -127,12 +148,10 @@ public interface DeviceTypeConfigurationService { value = "Updating Android Platform Configurations", notes = "Update the Android platform configurations using this REST API.", tags = "Android Configuration Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/platform-configurations/manage", - description = "Manage Configurations") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:manage-configuration") + }) } ) @ApiResponses(value = { @@ -184,12 +203,10 @@ public interface DeviceTypeConfigurationService { "registration process.", response = String.class, tags = "Android Configuration Management", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Enroll Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses(value = { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java index 744655768d..89e8dd44c9 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java @@ -24,15 +24,16 @@ import io.swagger.annotations.ExtensionProperty; import io.swagger.annotations.Extension; import io.swagger.annotations.Tag; import io.swagger.annotations.Api; -import io.swagger.annotations.AuthorizationScope; -import io.swagger.annotations.Authorization; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import io.swagger.annotations.ResponseHeader; +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.mdm.services.android.bean.DeviceState; import org.wso2.carbon.mdm.services.android.bean.wrapper.EventBeanWrapper; +import org.wso2.carbon.mdm.services.android.util.AndroidConstants; import javax.validation.Valid; import javax.validation.constraints.Size; @@ -61,6 +62,16 @@ import javax.ws.rs.core.Response; @Path("/events") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) +@Scopes( + scopes = { + @Scope( + name = "Enroll Device", + description = "Register an Android device", + key = "cdmf:android:enroll", + permissions = {"/device-mgt/devices/enroll/android"} + ) + } +) public interface EventReceiverService { @POST @@ -72,12 +83,10 @@ public interface EventReceiverService { value = "Publishing Events", notes = "Publish events received by the WSO2 EMM Android client to the WSO2 Data Analytics Server (DAS) using this API.", tags = "Event Receiver", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Publish Events to DAS") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses( @@ -137,12 +146,10 @@ public interface EventReceiverService { response = DeviceState.class, responseContainer = "List", tags = "Event Receiver", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/android", - description = "Publish Events to DAS") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + }) } ) @ApiResponses( diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/util/AndroidConstants.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/util/AndroidConstants.java index 62ed8afe05..c1e09b4c06 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/util/AndroidConstants.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/util/AndroidConstants.java @@ -26,6 +26,7 @@ public final class AndroidConstants { public static final String DEVICE_TYPE_ANDROID = "android"; public static final String HEADER_CONTENT_TYPE = "Content-Type"; public static final String APPLICATION_JSON = "application/json"; + public static final String SCOPE = "scope"; public final class DeviceProperties { private DeviceProperties() { From 855162c028054d551b87d6aeae8ba71487f0e6eb Mon Sep 17 00:00:00 2001 From: Madawa Soysa Date: Sat, 17 Dec 2016 19:56:42 +0530 Subject: [PATCH 5/8] Improving scope annotations in windows plugin --- .../api/operations/util/Constants.java | 2 + .../api/services/ConfigurationMgtService.java | 59 +++++++---- .../DeviceManagementAdminService.java | 99 ++++++++++++------- .../api/services/authbst/BSTProvider.java | 25 +++-- 4 files changed, 120 insertions(+), 65 deletions(-) diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/operations/util/Constants.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/operations/util/Constants.java index b68bca44c3..b20f31baa6 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/operations/util/Constants.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/operations/util/Constants.java @@ -79,6 +79,8 @@ public class Constants { public static final String META_FORMAT_INT = "int"; public static final String META_FORMAT_CHARACTER = "chr"; + public static final String SCOPE = "scope"; + /** * SynclML service related constants. */ diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java index 1796a637cb..5b69ba25d7 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java @@ -32,9 +32,12 @@ import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import io.swagger.annotations.ResponseHeader; +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsConfigurationException; import org.wso2.carbon.device.mgt.mobile.windows.api.common.util.Message; +import org.wso2.carbon.device.mgt.mobile.windows.api.operations.util.Constants; import javax.jws.WebService; import javax.ws.rs.*; @@ -66,8 +69,30 @@ import javax.ws.rs.core.Response; description = "This carries all the resources related to Windows configurations management functionalities") @WebService @Path("/configuration") -@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) -@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) +@Produces({"application/json", "application/xml"}) +@Consumes({"application/json", "application/xml"}) +@Scopes( + scopes = { + @Scope( + name = "Enroll Device", + description = "Register an Windows device", + key = "cdmf:windows:enroll", + permissions = {"/device-mgt/devices/enroll/windows"} + ), + @Scope( + name = "View Configurations", + description = "Getting Windows Platform Configurations", + key = "cdmf:windows:view-configuration", + permissions = {"/device-mgt/platform-configurations/view"} + ), + @Scope( + name = "Manage Configurations", + description = "Updating Windows Platform Configurations", + key = "cdmf:windows:manage-configuration", + permissions = {"/device-mgt/platform-configurations/manage"} + ) + } +) public interface ConfigurationMgtService { @GET @@ -78,12 +103,10 @@ public interface ConfigurationMgtService { notes = "Get the Windows platform configuration details using this REST API.", response = PlatformConfiguration.class, tags = "Windows Configuration Management", - authorizations = { - @Authorization( - value = "permission", - scopes = {@AuthorizationScope(scope = "/device-mgt/platform-configurations/view", - description = "View Configurations")} - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:view-configuration") + }) } ) @ApiResponses(value = { @@ -139,12 +162,10 @@ public interface ConfigurationMgtService { value = "Updating Windows Platform Configurations", notes = "Update the Windows platform configurations using this REST API.", tags = "Windows Configuration Management", - authorizations = { - @Authorization( - value = "permission", - scopes = {@AuthorizationScope(scope = "/device-mgt/configurations/manage", - description = "Manage Configurations")} - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:manage-configuration") + }) } ) @ApiResponses(value = { @@ -197,12 +218,10 @@ public interface ConfigurationMgtService { "registration process.", response = String.class, tags = "Windows Configuration Management", - authorizations = { - @Authorization( - value = "permission", - scopes = {@AuthorizationScope(scope = "/device-mgt/devices/enroll/windows", - description = "Enroll Device")} - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:enroll") + }) } ) @ApiResponses(value = { diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java index c56d270c76..c054f821f8 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java @@ -19,8 +19,12 @@ package org.wso2.carbon.device.mgt.mobile.windows.api.services; import io.swagger.annotations.*; + +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.operation.mgt.Activity; import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException; +import org.wso2.carbon.device.mgt.mobile.windows.api.operations.util.Constants; import javax.jws.WebService; import javax.ws.rs.Consumes; @@ -57,9 +61,43 @@ import java.util.List; @Api(value = "Windows Device Management Administrative Service", description = "Device management related admin APIs.") @WebService -@Path("/operation/admin/devices") -@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) -@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) +@Path("/admin/devices") +@Consumes(MediaType.APPLICATION_JSON) +@Produces(MediaType.APPLICATION_JSON) +@Scopes( + scopes = { + @Scope( + name = "Lock Device", + description = "Adding a Device Lock on Windows devices.", + key = "cdmf:windows:lock-devices", + permissions = {"/device-mgt/devices/owning-device/operations/windows/lock"} + ), + @Scope( + name = "Un-enroll Device", + description = "Unregister an Windows device", + key = "cdmf:windows:disenroll", + permissions = {"/device-mgt/devices/disenroll/windows"} + ), + @Scope( + name = "Factory Reset", + description = "Factory Resetting Windows Devices", + key = "cdmf:windows:wipe", + permissions = {"/device-mgt/devices/owning-device/operations/windows/wipe"} + ), + @Scope( + name = "Ring Device", + description = "Ring Windows devices", + key = "cdmf:windows:ring", + permissions = {"/device-mgt/devices/owning-device/operations/windows/ring"} + ), + @Scope( + name = "Lock Reset", + description = "Lock reset on Windows devices", + key = "cdmf:windows:lock-reset", + permissions = {"/device-mgt/devices/owning-device/operations/windows/lock-reset"} + ) + } +) public interface DeviceManagementAdminService { @POST @@ -71,13 +109,10 @@ public interface DeviceManagementAdminService { notes = "Using this API you have the option of Device Windows device.", response = Activity.class, tags = "Windows Device Management Administrative Service", - authorizations = { - @Authorization( - value = "permission", - scopes = {@AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/windows/lock", - description = "Lock Device")} - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:lock-devices") + }) } ) @ApiResponses(value = { @@ -133,13 +168,10 @@ public interface DeviceManagementAdminService { notes = "Dis-enroll on Android devices", response = Activity.class, tags = "Windows Device Management Administrative Service.", - authorizations = { - @Authorization( - value = "permission", - scopes = {@AuthorizationScope( - scope = "/device-mgt/devices/disenroll/windows", - description = "Dis-enroll the windows devices ")} - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:disenroll") + }) } ) @ApiResponses(value = { @@ -197,13 +229,10 @@ public interface DeviceManagementAdminService { "to restore them back to the original system.", response = Activity.class, tags = "Windows Device Management Administrative Service", - authorizations = { - @Authorization( - value = "permission", - scopes = {@AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/windows/wipe", - description = "DeviceWipe")} - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:wipe") + }) } ) @ApiResponses(value = { @@ -258,13 +287,10 @@ public interface DeviceManagementAdminService { notes = "Ring Windows devices.", response = Activity.class, tags = "Windows Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/windows/ring", - description = "Ring Device") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:ring") + }) } ) @ApiResponses(value = { @@ -320,13 +346,10 @@ public interface DeviceManagementAdminService { notes = "Lock reset on Windows devices.Its use to reset the device pass code", response = Activity.class, tags = "Windows Device Management Administrative Service", - authorizations = { - @Authorization( - value="permission", - scopes = { @AuthorizationScope( - scope = "/device-mgt/devices/owning-device/operations/windows/lock-reset", - description = "Lock reset") } - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:lock-reset") + }) } ) @ApiResponses(value = { diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java index b3272d703e..5b55a8ed07 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java @@ -19,7 +19,11 @@ package org.wso2.carbon.device.mgt.mobile.windows.api.services.authbst; import io.swagger.annotations.*; + +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException; +import org.wso2.carbon.device.mgt.mobile.windows.api.operations.util.Constants; import org.wso2.carbon.device.mgt.mobile.windows.api.services.authbst.beans.Credentials; import javax.jws.WebService; @@ -56,6 +60,16 @@ import javax.ws.rs.core.Response; @Path("/bst") @Produces({"application/json", "application/xml"}) @Consumes({"application/json", "application/xml"}) +@Scopes( + scopes = { + @Scope( + name = "Enroll Device", + description = "Register Windows device", + key = "cdmf:windows:enroll", + permissions = {"/device-mgt/devices/enroll/windows"} + ) + } +) public interface BSTProvider { @POST @@ -68,13 +82,10 @@ public interface BSTProvider { value = "Getting Binary security token.", notes = "Using this API to fetch Binary security token to call window enrollment and policy endpoints.", tags = "BST Provider", - authorizations = { - @Authorization( - value = "permission", - scopes = {@AuthorizationScope(scope = "/device-mgt/devices/enroll/windows", - description = "Getting Binary security token for Windows enrollment " + - "and policy endpoints.")} - ) + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:enroll") + }) } ) @ApiResponses( From d2d912fb6d9cda42fdf65f66db86f1199a1abf83 Mon Sep 17 00:00:00 2001 From: Milan Perera Date: Fri, 6 Jan 2017 10:10:45 +0530 Subject: [PATCH 6/8] Refactored scopes strings --- .../pom.xml | 4 + .../service/impl/AndroidSenseService.java | 89 ++++++++++++++-- .../impl/constants/AndroidSenseConstants.java | 2 + .../pom.xml | 4 + .../arduino/service/impl/ArduinoService.java | 77 ++++++++++++-- .../impl/constants/ArduinoConstants.java | 2 + .../pom.xml | 6 +- .../service/impl/RaspberryPiService.java | 60 +++++++++-- .../impl/constants/RaspberrypiConstants.java | 2 + .../pom.xml | 6 +- .../service/impl/VirtualFireAlarmService.java | 62 +++++++++-- .../DeviceManagementAdminService.java | 100 +++++++++--------- .../services/DeviceManagementService.java | 16 +-- .../DeviceTypeConfigurationService.java | 12 +-- .../services/EventReceiverService.java | 6 +- .../pom.xml | 9 ++ .../api/services/ConfigurationMgtService.java | 12 +-- .../DeviceManagementAdminService.java | 20 ++-- .../api/services/authbst/BSTProvider.java | 4 +- 19 files changed, 370 insertions(+), 123 deletions(-) diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml index 1cf3ce06ad..4a4a2f845c 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/pom.xml @@ -153,6 +153,10 @@ org.wso2.carbon.device.mgt.extensions provided + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.annotations + diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java index 6a215bf7c5..dab39be0a7 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java @@ -19,14 +19,13 @@ package org.wso2.carbon.device.mgt.iot.androidsense.service.impl; -import io.swagger.annotations.SwaggerDefinition; -import io.swagger.annotations.Info; -import io.swagger.annotations.ExtensionProperty; -import io.swagger.annotations.Extension; -import io.swagger.annotations.Tag; +import io.swagger.annotations.*; import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; +import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.constants.AndroidSenseConstants; import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @SwaggerDefinition( @@ -44,6 +43,16 @@ import javax.ws.rs.core.Response; @Tag(name = "android_sense", description = "") } ) +@Scopes( + scopes = { + @Scope( + name = "Enroll device", + description = "", + key = "perm:android-sense:enroll", + permissions = {"/device-mgt/devices/enroll/android-sense"} + ) + } +) public interface AndroidSenseService { /** @@ -54,7 +63,19 @@ public interface AndroidSenseService { */ @Path("device/{deviceId}/words") @POST - //@Scope(key = "device:android-sense:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Send the key words to the device", + notes = "", + response = Response.class, + tags = "android_sense", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidSenseConstants.SCOPE, value = "perm:android-sense:enroll") + }) + } + ) Response sendKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("keywords") String keywords); /** @@ -65,12 +86,36 @@ public interface AndroidSenseService { */ @Path("device/{deviceId}/words/threshold") @POST - //@Scope(key = "device:android-sense:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Send threshold value to the device", + notes = "", + response = Response.class, + tags = "android_sense", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidSenseConstants.SCOPE, value = "perm:android-sense:enroll") + }) + } + ) Response sendThreshold(@PathParam("deviceId") String deviceId, @QueryParam("threshold") String threshold); @Path("device/{deviceId}/words") @DELETE - //@Scope(key = "device:android-sense:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "DELETE", + value = "Remove key words from the device", + notes = "", + response = Response.class, + tags = "android_sense", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidSenseConstants.SCOPE, value = "perm:android-sense:enroll") + }) + } + ) Response removeKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("words") String words); /** @@ -79,8 +124,20 @@ public interface AndroidSenseService { @Path("stats/{deviceId}/sensors/{sensorName}") @GET @Consumes("application/json") - //@Scope(key = "device:android-sense:enroll", name = "", description = "") @Produces("application/json") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Retrieve Sensor data for the device type", + notes = "", + response = Response.class, + tags = "android_sense", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidSenseConstants.SCOPE, value = "perm:android-sense:enroll") + }) + } + ) Response getAndroidSenseDeviceStats(@PathParam("deviceId") String deviceId, @PathParam("sensorName") String sensor, @QueryParam("from") long from, @QueryParam("to") long to); @@ -89,7 +146,19 @@ public interface AndroidSenseService { */ @Path("device/{device_id}/register") @POST - //@Scope(key = "device:android-sense:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Enroll device", + notes = "", + response = Response.class, + tags = "android_sense", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = AndroidSenseConstants.SCOPE, value = "perm:android-sense:enroll") + }) + } + ) Response register(@PathParam("device_id") String deviceId, @QueryParam("deviceName") String deviceName); } diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java index e1419844c7..68678d0006 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java @@ -42,4 +42,6 @@ public class AndroidSenseConstants { public static final String CONFIG_TYPE = "general"; public static final String DEFAULT_ENDPOINT = "tcp://localhost:1886"; + public static final String SCOPE = "scope"; + } diff --git a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml index 55154f46a7..9b2465e218 100644 --- a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/pom.xml @@ -141,6 +141,10 @@ org.wso2.carbon.analytics.api provided + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.annotations + diff --git a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java index 1dd0500134..3ed382479a 100644 --- a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java @@ -18,15 +18,14 @@ package org.wso2.carbon.device.mgt.iot.arduino.service.impl; -import io.swagger.annotations.SwaggerDefinition; -import io.swagger.annotations.Info; -import io.swagger.annotations.ExtensionProperty; -import io.swagger.annotations.Extension; -import io.swagger.annotations.Tag; +import io.swagger.annotations.*; import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; +import org.wso2.carbon.device.mgt.iot.arduino.service.impl.constants.ArduinoConstants; import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @SwaggerDefinition( @@ -44,26 +43,72 @@ import javax.ws.rs.core.Response; @Tag(name = "arduino", description = "") } ) +@Scopes( + scopes = { + @Scope( + name = "Enroll device", + description = "", + key = "perm:arduino:enroll", + permissions = {"/device-mgt/devices/enroll/arduino"} + ) + } +) public interface ArduinoService { @Path("device/{deviceId}/bulb") @POST - //@Scope(key = "device:arduino:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Switch bulb", + notes = "", + response = Response.class, + tags = "arduino", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = ArduinoConstants.SCOPE, value = "perm:arduino:enroll") + }) + } + ) Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); @Path("device/{deviceId}/controls") @GET - //@Scope(key = "device:arduino:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Read controls", + notes = "", + response = Response.class, + tags = "arduino", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = ArduinoConstants.SCOPE, value = "perm:arduino:enroll") + }) + } + ) Response readControls(@PathParam("deviceId") String deviceId); /** - * Retreive Sensor data for the device type + * Retrieve Sensor data for the device type */ @Path("device/stats/{deviceId}") @GET @Consumes("application/json") @Produces("application/json") - //@Scope(key = "device:arduino:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Retrieve Sensor data for the device type", + notes = "", + response = Response.class, + tags = "arduino", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = ArduinoConstants.SCOPE, value = "perm:arduino:enroll") + }) + } + ) Response getArduinoTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @QueryParam("to") long to); @@ -73,7 +118,19 @@ public interface ArduinoService { @Path("device/download") @GET @Produces("application/octet-stream") - //@Scope(key = "device:arduino:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Download device agent", + notes = "", + response = Response.class, + tags = "arduino", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = ArduinoConstants.SCOPE, value = "perm:arduino:enroll") + }) + } + ) Response downloadSketch(@QueryParam("deviceName") String customDeviceName); } diff --git a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java index ebf84d9ea9..4f3a042c9a 100644 --- a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java @@ -27,4 +27,6 @@ public class ArduinoConstants { public static final String APIM_APPLICATION_TOKEN_VALIDITY_PERIOD = "3600"; + public static final String SCOPE = "scope"; + } diff --git a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml index 8df74b2f26..ddae87c220 100644 --- a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/pom.xml @@ -121,7 +121,11 @@ org.wso2.carbon.device.mgt.extensions provided - + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.annotations + + diff --git a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java index 816f3e6b9a..1f227e630e 100644 --- a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java @@ -18,12 +18,10 @@ package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl; -import io.swagger.annotations.SwaggerDefinition; -import io.swagger.annotations.Info; -import io.swagger.annotations.ExtensionProperty; -import io.swagger.annotations.Extension; -import io.swagger.annotations.Tag; +import io.swagger.annotations.*; import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; +import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.constants.RaspberrypiConstants; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; @@ -44,11 +42,33 @@ import javax.ws.rs.core.Response; @Tag(name = "raspberrypi", description = "") } ) +@Scopes( + scopes = { + @Scope( + name = "Enroll device", + description = "", + key = "perm:raspberrypi:enroll", + permissions = {"/device-mgt/devices/enroll/raspberrypi"} + ) + } +) public interface RaspberryPiService { @Path("device/{deviceId}/bulb") @POST - //@Scope(key = "device:raspberrypi:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Switch bulb", + notes = "", + response = Response.class, + tags = "raspberrypi", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = RaspberrypiConstants.SCOPE, value = "perm:raspberrypi:enroll") + }) + } + ) Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); /** @@ -58,7 +78,19 @@ public interface RaspberryPiService { @GET @Consumes("application/json") @Produces("application/json") - //@Scope(key = "device:raspberrypi:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Retreive Sensor data for the device type", + notes = "", + response = Response.class, + tags = "raspberrypi", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = RaspberrypiConstants.SCOPE, value = "perm:raspberrypi:enroll") + }) + } + ) Response getRaspberryPiTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @QueryParam("to") long to); @@ -68,7 +100,19 @@ public interface RaspberryPiService { @Path("device/download") @GET @Produces(MediaType.APPLICATION_JSON) - //@Scope(key = "device:raspberrypi:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Download the agent.", + notes = "", + response = Response.class, + tags = "raspberrypi", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = RaspberrypiConstants.SCOPE, value = "perm:raspberrypi:enroll") + }) + } + ) Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketch_type") String sketchType); } diff --git a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java index 168cb7d6d3..00919d6f6b 100644 --- a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java @@ -33,4 +33,6 @@ public class RaspberrypiConstants { public static final String APIM_APPLICATION_TOKEN_VALIDITY_PERIOD = "3600"; + public static final String SCOPE = "scope"; + } diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml index 59ccc4a793..6c9cc0636a 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/pom.xml @@ -240,7 +240,11 @@ org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin provided - + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.annotations + + diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java index 62be0f612f..6585280f0e 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java @@ -18,14 +18,12 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl; -import io.swagger.annotations.SwaggerDefinition; -import io.swagger.annotations.Info; -import io.swagger.annotations.ExtensionProperty; -import io.swagger.annotations.Extension; -import io.swagger.annotations.Tag; +import io.swagger.annotations.*; import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; /** @@ -50,8 +48,20 @@ import javax.ws.rs.core.Response; @Tag(name = "virtual_firealarm", description = "") } ) +@Scopes( + scopes = { + @Scope( + name = "Enroll device", + description = "", + key = "perm:firealarm:enroll", + permissions = {"/device-mgt/devices/enroll/firealarm"} + ) + } +) public interface VirtualFireAlarmService { + String SCOPE = "scope"; + /** * This is an API called/used from within the Server(Front-End) or by a device Owner. It sends a control command to * the VirtualFirealarm device to switch `ON` or `OFF` its buzzer. The method also takes in the protocol to be used @@ -63,7 +73,19 @@ public interface VirtualFireAlarmService { */ @POST @Path("device/{deviceId}/buzz") - //@Scope(key = "device:firealarm:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Switch Buzzer", + notes = "", + response = Response.class, + tags = "virtual_firealarm", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll") + }) + } + ) Response switchBuzzer(@PathParam("deviceId") String deviceId, @FormParam("state") String state); @@ -72,7 +94,19 @@ public interface VirtualFireAlarmService { */ @Path("device/stats/{deviceId}") @GET - //@Scope(key = "device:firealarm:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Retrieve Sensor data for the device type", + notes = "", + response = Response.class, + tags = "virtual_firealarm", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll") + }) + } + ) @Consumes("application/json") @Produces("application/json") Response getVirtualFirealarmStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @@ -81,7 +115,19 @@ public interface VirtualFireAlarmService { @Path("device/download") @GET @Produces("application/zip") - //@Scope(key = "device:firealarm:enroll", name = "", description = "") + @ApiOperation( + consumes = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Download agent", + notes = "", + response = Response.class, + tags = "virtual_firealarm", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll") + }) + } + ) Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketchType") String sketchType); } diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java index d752a30779..9094a28a25 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementAdminService.java @@ -70,151 +70,151 @@ import java.util.List; @Scope( name = "Lock Device", description = "Hard lock own device", - key = "cdmf:android:lock-devices", + key = "perm:android:lock-devices", permissions = {"/device-mgt/devices/owning-device/operations/android/lock"} ), @Scope( name = "Unlock Device", description = "Unlock permanently locked device", - key = "cdmf:android:unlock-devices", + key = "perm:android:unlock-devices", permissions = {"/device-mgt/devices/owning-device/operations/android/unlock"} ), @Scope( name = "Get Location", description = "Request device location coordinates", - key = "cdmf:android:location", + key = "perm:android:location", permissions = {"/device-mgt/devices/owning-device/operations/android/location"} ), @Scope( name = "Clear Password", description = "Clear the password on Android devices", - key = "cdmf:android:clear-password", + key = "perm:android:clear-password", permissions = {"/device-mgt/devices/owning-device/operations/android/clear-password"} ), @Scope( name = "Control Camera", description = "Enabling or Disabling the Camera on Android Devices", - key = "cdmf:android:control-camera", + key = "perm:android:control-camera", permissions = {"/device-mgt/devices/owning-device/operations/android/camera"} ), @Scope( name = "Get Info", description = "Requesting device information from Android Devices", - key = "cdmf:android:info", + key = "perm:android:info", permissions = {"/device-mgt/devices/owning-device/operations/android/info"} ), @Scope( name = "Get Logs", description = "Requesting Logcat Details from Android Devices", - key = "cdmf:android:logcat", + key = "perm:android:logcat", permissions = {"/device-mgt/devices/owning-device/operations/android/logcat"} ), @Scope( name = "Enterprise Wipe", description = "Enterprise Wiping Android Devices", - key = "cdmf:android:enterprise-wipe", + key = "perm:android:enterprise-wipe", permissions = {"/device-mgt/devices/owning-device/operations/android/enterprise-wipe"} ), @Scope( name = "Factory Reset", description = "Factory Resetting Android Devices", - key = "cdmf:android:wipe", + key = "perm:android:wipe", permissions = {"/device-mgt/devices/owning-device/operations/android/wipe"} ), @Scope( name = "Get Installed Applications", description = "Get list of installed applications", - key = "cdmf:android:applications", + key = "perm:android:applications", permissions = {"/device-mgt/devices/owning-device/operations/android/applications"} ), @Scope( name = "Ring Device", description = "Ring Android devices", - key = "cdmf:android:ring", + key = "perm:android:ring", permissions = {"/device-mgt/devices/owning-device/operations/android/ring"} ), @Scope( name = "Reboot Device", description = "Reboot Android devices", - key = "cdmf:android:reboot", + key = "perm:android:reboot", permissions = {"/device-mgt/devices/owning-device/operations/android/reboot"} ), @Scope( name = "Mute Device", description = "Mute Android devices", - key = "cdmf:android:mute", + key = "perm:android:mute", permissions = {"/device-mgt/devices/owning-device/operations/android/mute"} ), @Scope( name = "Install Applications", description = "Installing an Application on Android Devices", - key = "cdmf:android:install-application", + key = "perm:android:install-application", permissions = {"/device-mgt/devices/owning-device/operations/android/install-app"} ), @Scope( name = "Update Applications", description = "Updating an Application on Android Devices", - key = "cdmf:android:update-application", + key = "perm:android:update-application", permissions = {"/device-mgt/devices/owning-device/operations/android/update-app"} ), @Scope( name = "Uninstall Applications", description = "Uninstalling an Application on Android Devices", - key = "cdmf:android:uninstall-application", + key = "perm:android:uninstall-application", permissions = {"/device-mgt/devices/owning-device/operations/android/uninstall-app"} ), @Scope( name = "Blacklist Applications", description = "Blacklisting applications on Android Devices", - key = "cdmf:android:blacklist-applications", + key = "perm:android:blacklist-applications", permissions = {"/device-mgt/devices/owning-device/operations/android/blacklist-app"} ), @Scope( name = "Upgrade Firmware", description = "Upgrading Firmware of Android Devices", - key = "cdmf:android:upgrade-firmware", + key = "perm:android:upgrade-firmware", permissions = {"/device-mgt/devices/owning-device/operations/android/upgrade"} ), @Scope( name = "Configure VPN", description = "Configure VPN on Android Device", - key = "cdmf:android:configure-vpn", + key = "perm:android:configure-vpn", permissions = {"/device-mgt/devices/owning-device/operations/android/vpn"} ), @Scope( name = "Send Notification", description = "Sending a notification to Android Device", - key = "cdmf:android:send-notification", + key = "perm:android:send-notification", permissions = {"/device-mgt/devices/owning-device/operations/android/send-notification"} ), @Scope( name = "Configure Wi-Fi", description = "Configure Wi-Fi on Android Device", - key = "cdmf:android:configure-wifi", + key = "perm:android:configure-wifi", permissions = {"/device-mgt/devices/owning-device/operations/android/wifi"} ), @Scope( name = "Encrypt Storage", description = "Encrypting storage on Android Device", - key = "cdmf:android:encrypt-storage", + key = "perm:android:encrypt-storage", permissions = {"/device-mgt/devices/owning-device/operations/android/encrypt"} ), @Scope( name = "Change Password", description = "Changing the lock code of an Android Device", - key = "cdmf:android:change-lock-code", + key = "perm:android:change-lock-code", permissions = {"/device-mgt/devices/owning-device/operations/android/change-lock-code"} ), @Scope( name = "Password Policy", description = "Set password policy of an Android Device", - key = "cdmf:android:set-password-policy", + key = "perm:android:set-password-policy", permissions = {"/device-mgt/devices/owning-device/operations/android/password-policy"} ), @Scope( name = "Add Web clip", description = "Setting a Web Clip on Android Devices", - key = "cdmf:android:set-webclip", + key = "perm:android:set-webclip", permissions = {"/device-mgt/devices/owning-device/operations/android/webclip"} ) } @@ -233,7 +233,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:lock-devices") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:lock-devices") }) } ) @@ -296,7 +296,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:unlock-devices") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:unlock-devices") }) } ) @@ -359,7 +359,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:location") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:location") }) } ) @@ -418,7 +418,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service.", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:clear-password") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:clear-password") }) } ) @@ -476,7 +476,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:control-camera") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:control-camera") }) } ) @ApiResponses(value = { @@ -541,7 +541,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:info") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:info") }) } ) @@ -604,7 +604,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:logcat") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:logcat") }) } ) @@ -666,7 +666,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enterprise-wipe") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enterprise-wipe") }) } ) @@ -726,7 +726,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:wipe") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:wipe") }) } ) @@ -790,7 +790,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:applications") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:applications") }) } ) @@ -850,7 +850,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:ring") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:ring") }) } ) @@ -910,7 +910,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:reboot") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:reboot") }) } ) @@ -970,7 +970,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:mute") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:mute") }) } ) @@ -1032,7 +1032,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:install-application") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:install-application") }) } ) @@ -1097,7 +1097,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:update-application") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:update-application") }) } ) @@ -1159,7 +1159,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:uninstall-application") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:uninstall-application") }) } ) @@ -1225,7 +1225,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:blacklist-applications") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:blacklist-applications") }) } ) @@ -1287,7 +1287,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:upgrade-firmware") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:upgrade-firmware") }) } ) @@ -1351,7 +1351,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:configure-vpn") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:configure-vpn") }) } ) @@ -1411,7 +1411,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:send-notification") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:send-notification") }) } ) @@ -1472,7 +1472,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:configure-wifi") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:configure-wifi") }) } ) @@ -1534,7 +1534,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:encrypt-storage") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:encrypt-storage") }) } ) @@ -1596,7 +1596,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:change-lock-code") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:change-lock-code") }) } ) @@ -1658,7 +1658,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:set-password-policy") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:set-password-policy") }) } ) @@ -1718,7 +1718,7 @@ public interface DeviceManagementAdminService { tags = "Android Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:set-webclip") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:set-webclip") }) } ) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java index 777c9582bc..62194a1481 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceManagementService.java @@ -69,13 +69,13 @@ import java.util.List; @Scope( name = "Enroll Device", description = "Register an Android device", - key = "cdmf:android:enroll", + key = "perm:android:enroll", permissions = {"/device-mgt/devices/enroll/android"} ), @Scope( name = "Un-enroll Device", description = "Unregister an Android device", - key = "cdmf:android:disenroll", + key = "perm:android:disenroll", permissions = {"/device-mgt/devices/disenroll/android"} ) } @@ -93,7 +93,7 @@ public interface DeviceManagementService { tags = "Android Device Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) @@ -158,7 +158,7 @@ public interface DeviceManagementService { tags = "Android Device Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) @@ -222,7 +222,7 @@ public interface DeviceManagementService { tags = "Android Device Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) @@ -277,7 +277,7 @@ public interface DeviceManagementService { tags = "Android Device Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) @@ -330,7 +330,7 @@ public interface DeviceManagementService { tags = "Android Device Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) @@ -386,7 +386,7 @@ public interface DeviceManagementService { tags = "Android Device Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:disenroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:disenroll") }) } ) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java index 09a731df4d..de9ccb1808 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/DeviceTypeConfigurationService.java @@ -67,19 +67,19 @@ import javax.ws.rs.core.Response; @Scope( name = "Enroll Device", description = "Register an Android device", - key = "cdmf:android:enroll", + key = "perm:android:enroll", permissions = {"/device-mgt/devices/enroll/android"} ), @Scope( name = "View Configurations", description = "Getting Android Platform Configurations", - key = "cdmf:android:view-configuration", + key = "perm:android:view-configuration", permissions = {"/device-mgt/platform-configurations/view"} ), @Scope( name = "Manage Configurations", description = "Updating Android Platform Configurations", - key = "cdmf:android:manage-configuration", + key = "perm:android:manage-configuration", permissions = {"/device-mgt/platform-configurations/manage"} ) } @@ -96,7 +96,7 @@ public interface DeviceTypeConfigurationService { tags = "Android Configuration Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:view-configuration") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:view-configuration") }) } ) @@ -150,7 +150,7 @@ public interface DeviceTypeConfigurationService { tags = "Android Configuration Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:manage-configuration") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:manage-configuration") }) } ) @@ -205,7 +205,7 @@ public interface DeviceTypeConfigurationService { tags = "Android Configuration Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java index 89e8dd44c9..d24b7afa73 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/EventReceiverService.java @@ -67,7 +67,7 @@ import javax.ws.rs.core.Response; @Scope( name = "Enroll Device", description = "Register an Android device", - key = "cdmf:android:enroll", + key = "perm:android:enroll", permissions = {"/device-mgt/devices/enroll/android"} ) } @@ -85,7 +85,7 @@ public interface EventReceiverService { tags = "Event Receiver", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) @@ -148,7 +148,7 @@ public interface EventReceiverService { tags = "Event Receiver", extensions = { @Extension(properties = { - @ExtensionProperty(name = AndroidConstants.SCOPE, value = "cdmf:android:enroll") + @ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") }) } ) diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml index 53533a75c6..e0ba6a441a 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml @@ -372,5 +372,14 @@ + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.annotations + + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.annotations + 2.0.3-SNAPSHOT + diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java index 5b69ba25d7..8bb90b1958 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/ConfigurationMgtService.java @@ -76,19 +76,19 @@ import javax.ws.rs.core.Response; @Scope( name = "Enroll Device", description = "Register an Windows device", - key = "cdmf:windows:enroll", + key = "perm:windows:enroll", permissions = {"/device-mgt/devices/enroll/windows"} ), @Scope( name = "View Configurations", description = "Getting Windows Platform Configurations", - key = "cdmf:windows:view-configuration", + key = "perm:windows:view-configuration", permissions = {"/device-mgt/platform-configurations/view"} ), @Scope( name = "Manage Configurations", description = "Updating Windows Platform Configurations", - key = "cdmf:windows:manage-configuration", + key = "perm:windows:manage-configuration", permissions = {"/device-mgt/platform-configurations/manage"} ) } @@ -105,7 +105,7 @@ public interface ConfigurationMgtService { tags = "Windows Configuration Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:view-configuration") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:view-configuration") }) } ) @@ -164,7 +164,7 @@ public interface ConfigurationMgtService { tags = "Windows Configuration Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:manage-configuration") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:manage-configuration") }) } ) @@ -220,7 +220,7 @@ public interface ConfigurationMgtService { tags = "Windows Configuration Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:enroll") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:enroll") }) } ) diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java index c054f821f8..288378dd92 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/DeviceManagementAdminService.java @@ -69,31 +69,31 @@ import java.util.List; @Scope( name = "Lock Device", description = "Adding a Device Lock on Windows devices.", - key = "cdmf:windows:lock-devices", + key = "perm:windows:lock-devices", permissions = {"/device-mgt/devices/owning-device/operations/windows/lock"} ), @Scope( name = "Un-enroll Device", description = "Unregister an Windows device", - key = "cdmf:windows:disenroll", + key = "perm:windows:disenroll", permissions = {"/device-mgt/devices/disenroll/windows"} ), @Scope( name = "Factory Reset", description = "Factory Resetting Windows Devices", - key = "cdmf:windows:wipe", + key = "perm:windows:wipe", permissions = {"/device-mgt/devices/owning-device/operations/windows/wipe"} ), @Scope( name = "Ring Device", description = "Ring Windows devices", - key = "cdmf:windows:ring", + key = "perm:windows:ring", permissions = {"/device-mgt/devices/owning-device/operations/windows/ring"} ), @Scope( name = "Lock Reset", description = "Lock reset on Windows devices", - key = "cdmf:windows:lock-reset", + key = "perm:windows:lock-reset", permissions = {"/device-mgt/devices/owning-device/operations/windows/lock-reset"} ) } @@ -111,7 +111,7 @@ public interface DeviceManagementAdminService { tags = "Windows Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:lock-devices") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:lock-devices") }) } ) @@ -170,7 +170,7 @@ public interface DeviceManagementAdminService { tags = "Windows Device Management Administrative Service.", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:disenroll") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:disenroll") }) } ) @@ -231,7 +231,7 @@ public interface DeviceManagementAdminService { tags = "Windows Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:wipe") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:wipe") }) } ) @@ -289,7 +289,7 @@ public interface DeviceManagementAdminService { tags = "Windows Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:ring") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:ring") }) } ) @@ -348,7 +348,7 @@ public interface DeviceManagementAdminService { tags = "Windows Device Management Administrative Service", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:lock-reset") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:lock-reset") }) } ) diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java index 5b55a8ed07..7926260f22 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/src/main/java/org/wso2/carbon/device/mgt/mobile/windows/api/services/authbst/BSTProvider.java @@ -65,7 +65,7 @@ import javax.ws.rs.core.Response; @Scope( name = "Enroll Device", description = "Register Windows device", - key = "cdmf:windows:enroll", + key = "perm:windows:enroll", permissions = {"/device-mgt/devices/enroll/windows"} ) } @@ -84,7 +84,7 @@ public interface BSTProvider { tags = "BST Provider", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "cdmf:windows:enroll") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:windows:enroll") }) } ) From 68e7a0bf268dcaa76fde466e784771c5c9acd6f1 Mon Sep 17 00:00:00 2001 From: Milan Perera Date: Fri, 6 Jan 2017 16:49:19 +0530 Subject: [PATCH 7/8] Updated APIM version --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b7464fb6b3..4dc0057f03 100644 --- a/pom.xml +++ b/pom.xml @@ -1217,7 +1217,7 @@ 1.7 - 4.4.10 + 4.4.11 [4.4.0, 4.5.0) 1.5.4 @@ -1280,7 +1280,7 @@ 4.7.0 - 6.1.30-SNAPSHOT + 6.1.35 3.0.4.wso2v1 From 55a7cee60e0e152c0a1d251ebeb0f7bbb4336882 Mon Sep 17 00:00:00 2001 From: Rasika Perera Date: Fri, 6 Jan 2017 19:04:52 +0530 Subject: [PATCH 8/8] Removed unneccessary pom import --- .../pom.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml index e0ba6a441a..53533a75c6 100644 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.api/pom.xml @@ -372,14 +372,5 @@ - - org.wso2.carbon.devicemgt - org.wso2.carbon.apimgt.annotations - - - org.wso2.carbon.devicemgt - org.wso2.carbon.apimgt.annotations - 2.0.3-SNAPSHOT -