Merge branch 'rest-api-improvements' of github.com:wso2/carbon-device-mgt-plugins into rest-api-improvements

revert-dabc3590
Chatura Dilan 9 years ago
commit 91003fdee1

@ -18,10 +18,7 @@
*/ */
package org.wso2.carbon.mdm.services.android.services; package org.wso2.carbon.mdm.services.android.services;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.*;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.app.mgt.Application;
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
@ -31,6 +28,8 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import java.util.List; import java.util.List;
@Api(value = "Android Device Management API",
description = "This carries all the resources related to Android device management functionalities")
@Path("/devices") @Path("/devices")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON)
@ -41,15 +40,18 @@ public interface DeviceManagementService {
@ApiOperation( @ApiOperation(
consumes = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,
httpMethod = "PUT", httpMethod = "PUT",
value = "Updating an ApplicationList", value = "Update the application list of a device"
notes = "Update application list in server side."
) )
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(code = 202, message = "Device information has modified successfully"), @ApiResponse(code = 200, message = "OK. \n " +
@ApiResponse(code = 500, message = "Error occurred while modifying the application list") "Application list of the device has successfully been updated"),
@ApiResponse(code = 204, message = "No Content. \n Application list of the device has not been updated"),
@ApiResponse(code = 500, message = "Internal Server Error. \n " +
"Sever error occurred while modifying the application list")
}) })
Response updateApplicationList(@ApiParam(name = "id", value = "deviceIdentifier") @PathParam("id") String id, Response updateApplicationList(@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id,
@ApiParam(name = "applications", value = "updatable applications") @ApiParam(name = "applications", value = "List of applications that need to be " +
"persisted against the device")
List<Application> applications); List<Application> applications);
@GET @GET
@ -58,14 +60,31 @@ public interface DeviceManagementService {
consumes = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,
produces = MediaType.APPLICATION_JSON, produces = MediaType.APPLICATION_JSON,
httpMethod = "PUT", httpMethod = "PUT",
value = "Getting Pending Android Device Operations", value = "Get the operation list pending for the device",
responseContainer = "List", responseContainer = "List",
notes = "The Android agent communicates with the server to get the operations that are queued up " + notes = "The Android agent communicates with the server to get the operations that are queued up " +
"at the server end for a given device using this REST API", "at the server end for a given device using via this particular resource",
response = Operation.class) response = Operation.class)
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(code = 200, message = "List of pending operations"), @ApiResponse(code = 200, message = "OK. \n List of pending operations of the device is returned",
@ApiResponse(code = 500, message = "Issue in retrieving operation management service instance") responseHeaders = {
@ResponseHeader(name = "Content-Type", description = "The content type of the body"),
@ResponseHeader(name = "ETag", description = "Entity Tag of the response resource.\n" +
"Used by caches, or in conditional requests."),
@ResponseHeader(name = "Last-Modified",
description = "Date and time the resource has been modified the last time.\n" +
"Used by caches, or in conditional requests.")}),
@ApiResponse(code = 303, message = "See Other. \n " +
"Source can be retrieved from the URL specified at the Location header.",
responseHeaders = {
@ResponseHeader(name = "Location", description = "The Source URL of the document.")}),
@ApiResponse(code = 304, message = "Not Modified. \n " +
"Empty body because the client already has the latest version of the requested resource."),
@ApiResponse(code = 400, message = "Bad Request. \n Invalid request or validation error."),
@ApiResponse(code = 404, message = "Not Found. \n Requested device not found."),
@ApiResponse(code = 406, message = "Not Acceptable. \n The requested media type is not supported."),
@ApiResponse(code = 500, message = "Internal Server Error. \n " +
"Server error occurred while retrieving the pending operation list of the device.")
}) })
Response getPendingOperations( Response getPendingOperations(
@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id, @ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id,
@ -76,15 +95,20 @@ public interface DeviceManagementService {
@ApiOperation( @ApiOperation(
consumes = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,
httpMethod = "POST", httpMethod = "POST",
value = "Registering an Android Device", value = "Register an Android Device",
notes = "When carrying out device registration via an Android device, you need to initially install" + notes = "When carrying out device registration via an Android device, you need to initially install" +
" an Android Agent on the device, before being able to register the device with WSO2 EMM. Instead," + " an Android Agent on the device, before being able to register the device with WSO2 EMM. Instead," +
" you can use this REST API to register an Android device with WSO2 EMM, without having to install" + " you can use this REST API to register an Android device with WSO2 EMM, without having to install" +
" an Android Agent on the respective device" " an Android Agent on the respective device"
) )
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(code = 200, message = "Device enrollment succeeded"), @ApiResponse(code = 201, message = "Created. \n Device has successfully been enrolled. Location header " +
@ApiResponse(code = 500, message = "Device enrollment failed"), "contains URL of newly enrolled device",
responseHeaders = {
@ResponseHeader(name = "Location", description = "URL of the device enrolled")}),
@ApiResponse(code = 400, message = "Bad Request. \n Invalid request or validation error."),
@ApiResponse(code = 500, message = "Internal Server Error. \n " +
"Server error occurred while enrolling the device."),
}) })
Response enrollDevice(@ApiParam(name = "device", value = "Device Information to be enroll") Device device); Response enrollDevice(@ApiParam(name = "device", value = "Device Information to be enroll") Device device);
@ -96,8 +120,17 @@ public interface DeviceManagementService {
notes = "Use this REST API to retrieve the registration status of an Android device" notes = "Use this REST API to retrieve the registration status of an Android device"
) )
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(code = 200, message = "Device has already enrolled"), @ApiResponse(code = 200, message = "Device has already enrolled",
@ApiResponse(code = 404, message = "Device not found") responseHeaders = {
@ResponseHeader(name = "Content-Type", description = "The content type of the body"),
@ResponseHeader(name = "ETag", description = "Entity Tag of the response resource.\n" +
"Used by caches, or in conditional requests."),
@ResponseHeader(name = "Last-Modified",
description = "Date and time the resource has been modified the last time.\n" +
"Used by caches, or in conditional requests.")}),
@ApiResponse(code = 404, message = "Not Found. \n Requested device not found."),
@ApiResponse(code = 500, message = "Internal Server Error. \n " +
"Server error occurred while retrieving the enrollment status of the device."),
}) })
Response isEnrolled(@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id); Response isEnrolled(@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id);
@ -109,8 +142,20 @@ public interface DeviceManagementService {
notes = "Use this REST API to update the registration details of an Android device" notes = "Use this REST API to update the registration details of an Android device"
) )
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(code = 200, message = "Device enrollment has updated successfully"), @ApiResponse(code = 200, message = "OK. \n Device enrollment has been updated successfully",
@ApiResponse(code = 404, message = "Device not found for enrollment") responseHeaders = {
@ResponseHeader(name = "Location", description = "The URL of the updated device."),
@ResponseHeader(name = "Content-Type", description = "The content type of the body"),
@ResponseHeader(name = "ETag", description = "Entity Tag of the response resource.\n" +
"Used by caches, or in conditional requests."),
@ResponseHeader(name = "Last-Modified",
description = "Date and time the resource has been modified the last time.\n" +
"Used by caches, or in conditional requests.")}),
@ApiResponse(code = 204, message = "No Content. \n Enrollment of the device has not been updated"),
@ApiResponse(code = 400, message = "Bad Request. \n Invalid request or validation error."),
@ApiResponse(code = 404, message = "Not Found. \n Resource to be deleted does not exist."),
@ApiResponse(code = 500, message = "Internal Server Error. \n " +
"Server error occurred while modifying the current enrollment of the device.")
}) })
Response modifyEnrollment(@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id, Response modifyEnrollment(@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id,
@ApiParam(name = "device", value = "Device information to be modify") Device device); @ApiParam(name = "device", value = "Device information to be modify") Device device);
@ -120,11 +165,13 @@ public interface DeviceManagementService {
@ApiOperation( @ApiOperation(
httpMethod = "DELETE", httpMethod = "DELETE",
value = "Un-registering an Android Device", value = "Un-registering an Android Device",
notes = "Use this REST API to unregister a specific Android device" notes = "Use this REST API to un-register a specific Android device"
) )
@ApiResponses(value = { @ApiResponses(value = {
@ApiResponse(code = 200, message = "Device has removed successfully"), @ApiResponse(code = 200, message = "OK. \n Device has successfully been dis-enrolled"),
@ApiResponse(code = 404, message = "Device not found") @ApiResponse(code = 404, message = "Not Found. \n Device requested to be dis-enrolled does not exist."),
@ApiResponse(code = 500, message = "Internal Server Error. \n " +
"Server error occurred while dis-enrolling the the device."),
}) })
Response disEnrollDevice(@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id); Response disEnrollDevice(@ApiParam(name = "id", value = "Device Identifier") @PathParam("id") String id);

Loading…
Cancel
Save