mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge pull request #242 from madhawap/master
Added swagger annotations to the interfaces
This commit is contained in:
commit
97db3e42d6
@ -19,10 +19,18 @@
|
||||
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
|
||||
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 org.wso2.carbon.certificate.mgt.core.dto.CertificateResponse;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.EnrollmentCertificate;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
@ -43,8 +51,21 @@ public interface Certificate {
|
||||
*/
|
||||
@POST
|
||||
@Path("saveCertificate")
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "POST",
|
||||
value = "Adding an SSL Certificate",
|
||||
notes = "Add a new SSL certificate to the client end database",
|
||||
response = MediaType.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "Added successfully"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while saving the certificate")
|
||||
})
|
||||
Response saveCertificate(@HeaderParam("Accept") String acceptHeader,
|
||||
EnrollmentCertificate[] enrollmentCertificates);
|
||||
@ApiParam(name = "enrollmentCertificates", value = "certificate with serial, "
|
||||
+ "pem and tenant id", required = true) EnrollmentCertificate[]
|
||||
enrollmentCertificates);
|
||||
|
||||
/**
|
||||
* Get a certificate when the serial number is given.
|
||||
@ -54,7 +75,21 @@ public interface Certificate {
|
||||
*/
|
||||
@GET
|
||||
@Path("{serialNumber}")
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "GET",
|
||||
value = "Getting Details of an SSL Certificate",
|
||||
notes = "Get the client side SSL certificate details",
|
||||
response = CertificateResponse.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK"),
|
||||
@ApiResponse(code = 400, message = "Notification status updated successfully"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while converting PEM file to X509Certificate")
|
||||
})
|
||||
Response getCertificate(@HeaderParam("Accept") String acceptHeader,
|
||||
@ApiParam(name = "serialNumber", value = "Provide the serial number of the "
|
||||
+ "certificate that you wish to get the details of", required = true)
|
||||
@PathParam("serialNumber") String serialNumber);
|
||||
|
||||
/**
|
||||
@ -67,13 +102,46 @@ public interface Certificate {
|
||||
*/
|
||||
@GET
|
||||
@Path("paginate")
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "GET",
|
||||
value = "Getting the Certificate Details in a Paginated Manner",
|
||||
notes = "You will have many certificates used for mutual SSL. In a situation where you wish to "
|
||||
+ "view all the certificate details, it is not feasible to show all the details on one "
|
||||
+ "page therefore the details are paginated",
|
||||
response = PaginationResult.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK"),
|
||||
@ApiResponse(code = 400, message = "Invalid start index"),
|
||||
@ApiResponse(code = 400, message = "Invalid length value"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while fetching all certificates")
|
||||
})
|
||||
Response getAllCertificates(@HeaderParam("Accept") String acceptHeader,
|
||||
@QueryParam("start") int startIndex, @QueryParam("length") int length)
|
||||
throws MDMAPIException;
|
||||
@ApiParam(name = "start",
|
||||
value = "Provide the starting pagination index as the value", required = true)
|
||||
@QueryParam("start") int startIndex,
|
||||
@ApiParam(name = "length", value = "Provide how many certificate details you"
|
||||
+ " require from the starting pagination index as the value",
|
||||
required = true) @QueryParam("length") int length) throws MDMAPIException;
|
||||
|
||||
@DELETE
|
||||
@Path("{serialNumber}")
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "DELETE",
|
||||
value = "Deleting an SSL Certificate",
|
||||
notes = "Delete an SSL certificate that's on the client end",
|
||||
response = boolean.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK"),
|
||||
@ApiResponse(code = 400, message = "Invalid start index"),
|
||||
@ApiResponse(code = 500, message = "Error when deleting the certificate"
|
||||
) })
|
||||
Response removeCertificate(@HeaderParam("Accept") String acceptHeader,
|
||||
@PathParam("serialNumber") String serialNumber) throws MDMAPIException;
|
||||
@ApiParam(name = "serialNumber", value = "Provide the serial number of the "
|
||||
+ "certificate that you wish to delete", required = true)
|
||||
@PathParam("serialNumber") String serialNumber) throws MDMAPIException;
|
||||
|
||||
}
|
||||
|
||||
@ -19,9 +19,15 @@
|
||||
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
|
||||
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 org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
@ -35,12 +41,49 @@ import javax.ws.rs.core.Response;
|
||||
public interface Configuration {
|
||||
|
||||
@POST
|
||||
Response saveTenantConfiguration(TenantConfiguration configuration);
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "POST",
|
||||
value = "Configuring general platform settings",
|
||||
notes = "Configure the general platform settings using this REST API",
|
||||
response = ResponsePayload.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "Tenant configuration saved successfully"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while saving the tenant configuration")
|
||||
})
|
||||
Response saveTenantConfiguration(@ApiParam(name = "configuration", value = "The required properties to "
|
||||
+ "update the platform configurations the as the <JSON_PAYLOAD> value",
|
||||
required = true) TenantConfiguration configuration);
|
||||
|
||||
@GET
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "GET",
|
||||
value = "Getting General Platform Configurations",
|
||||
notes = "Get the general platform level configuration details using this REST API",
|
||||
response = TenantConfiguration.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the tenant configuration")
|
||||
})
|
||||
Response getConfiguration();
|
||||
|
||||
@PUT
|
||||
Response updateConfiguration(TenantConfiguration configuration);
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "PUT",
|
||||
value = "Updating General Platform Configurations",
|
||||
notes = "Update the notification frequency using this REST API",
|
||||
response = ResponsePayload.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "Tenant configuration updated successfully"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while updating the tenant configuration")
|
||||
})
|
||||
Response updateConfiguration(@ApiParam(name = "configuration", value = "The required properties to update"
|
||||
+ " the platform configurations the as the <JSON_PAYLOAD> value",
|
||||
required = true) TenantConfiguration configuration);
|
||||
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
|
||||
import io.swagger.annotations.*;
|
||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
@ -43,22 +44,37 @@ public interface Device {
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Returns the set of devices that matches a given device type, user, role, "
|
||||
+ "enrollment status, ownership type",
|
||||
notes = "Returns 500 if the operation fails",
|
||||
response = Device.class,
|
||||
value = "Returns device list",
|
||||
notes = "Returns the set of devices that matches a given device type, user, role, "
|
||||
+ "enrollment status, ownership type",
|
||||
response = org.wso2.carbon.device.mgt.common.Device.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = { @ApiResponse(code = 200, message = "List of Devices"),
|
||||
@ApiResponse(code = 500, message = "Server Error") })
|
||||
Response getAllDevices(
|
||||
@ApiParam(name = "type", value = "Provide the device type, such as ios, android or windows", required = true) @QueryParam("type") String type,
|
||||
@ApiParam(name = "user", value = "Get the details of the devices registered to a user by providing the user name", required = true) @QueryParam("user") String user,
|
||||
@ApiParam(name = "role", value = "Get the details of the devices registered to a specific role by providing the role name", required = true) @QueryParam("role") String role,
|
||||
@ApiParam(name = "status", value = "Provide the device status details, such as active or inactive", required = true) @QueryParam("status") EnrolmentInfo.Status status,
|
||||
@ApiParam(name = "start", value = "Provide the starting pagination index", required = true) @QueryParam("start") int startIdx,
|
||||
@ApiParam(name = "length", value = "Provide how many device details you require from the starting pagination index", required = true) @QueryParam("length") int length,
|
||||
@ApiParam(name = "device-name", value = "Provide the name of a registered device and receive the specified device details", required = true) @QueryParam("device-name") String deviceName,
|
||||
@ApiParam(name = "ownership", value = "Provide the device ownership type and receive the specific device details", required = true) @QueryParam("ownership") EnrolmentInfo.OwnerShip ownership);
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "List of Devices"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while fetching the device list")
|
||||
})
|
||||
Response getAllDevices(@ApiParam(name = "type", value = "Provide the device type, such as ios, android or"
|
||||
+ " windows", required = true) @QueryParam("type") String type,
|
||||
@ApiParam(name = "user", value = "Get the details of the devices registered to a "
|
||||
+ "user by providing the user name", required = true) @QueryParam("user")
|
||||
String user,
|
||||
@ApiParam(name = "role", value = "Get the details of the devices registered to a "
|
||||
+ "specific role by providing the role name", required = true)
|
||||
@QueryParam("role") String role,
|
||||
@ApiParam(name = "status", value = "Provide the device status details, such as "
|
||||
+ "active or inactive", required = true) @QueryParam("status")
|
||||
EnrolmentInfo.Status status,
|
||||
@ApiParam(name = "start", value = "Provide the starting pagination index",
|
||||
required = true) @QueryParam("start") int startIdx,
|
||||
@ApiParam(name = "length", value = "Provide how many device details you require "
|
||||
+ "from the starting pagination index", required = true)
|
||||
@QueryParam("length") int length,
|
||||
@ApiParam(name = "device-name", value = "Provide the name of a registered device "
|
||||
+ "and receive the specified device details", required = true)
|
||||
@QueryParam("device-name") String deviceName,
|
||||
@ApiParam(name = "ownership", value = "Provide the device ownership type and "
|
||||
+ "receive the specific device details", required = true)
|
||||
@QueryParam("ownership") EnrolmentInfo.OwnerShip ownership);
|
||||
|
||||
/**
|
||||
* Fetch device details for a given device type and device Id.
|
||||
@ -66,14 +82,6 @@ public interface Device {
|
||||
* @return Device wrapped inside Response
|
||||
*/
|
||||
@GET
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Fetch device details for a given device type and device Id",
|
||||
notes = "Returns 500 if the operation fails",
|
||||
response = Device.class)
|
||||
@ApiResponses(value = { @ApiResponse(code = 200, message = "Matching Device"),
|
||||
@ApiResponse(code = 500, message = "Server Error") })
|
||||
@Path("view")
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
Response getDevice(@QueryParam("type") String type, @QueryParam("id") String id);
|
||||
@ -104,14 +112,16 @@ public interface Device {
|
||||
* @return device count
|
||||
*/
|
||||
@GET
|
||||
@Path("count")
|
||||
@ApiOperation(
|
||||
httpMethod = "GET",
|
||||
value = "Returns the current device count",
|
||||
notes = "Returns 500 if the operation fails",
|
||||
value = "Getting the Device Count",
|
||||
notes = "Get the number of devices that are registered with WSO2 EMM.",
|
||||
response = Integer.class)
|
||||
@ApiResponses(value = { @ApiResponse(code = 200, message = "Device count"),
|
||||
@ApiResponse(code = 500, message = "Server Error") })
|
||||
@Path("count")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "Device count"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while fetching the device count")
|
||||
})
|
||||
Response getDeviceCount();
|
||||
|
||||
/**
|
||||
@ -123,8 +133,21 @@ public interface Device {
|
||||
*/
|
||||
@GET
|
||||
@Path("name/{name}/{tenantDomain}")
|
||||
Response getDevicesByName(@PathParam("name") String deviceName,
|
||||
@PathParam("tenantDomain") String tenantDomain);
|
||||
@ApiOperation(
|
||||
httpMethod = "GET",
|
||||
value = "Get the device details of a specific device via the REST API",
|
||||
notes = "Get the device details of a specific device",
|
||||
response = DeviceType.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "List of devices"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while fetching the devices list of device name")
|
||||
})
|
||||
Response getDevicesByName(@ApiParam(name = "name", value = "The name of the device or windows",
|
||||
required = true) @PathParam("name") String deviceName,
|
||||
@ApiParam(name = "tenantDomain", value = "Tenant domain name. The default "
|
||||
+ "tenant domain of WSO2 EMM is carbon.super", required = true)
|
||||
@PathParam("tenantDomain") String tenantDomain);
|
||||
|
||||
/**
|
||||
* Get the list of available device types.
|
||||
@ -133,6 +156,16 @@ public interface Device {
|
||||
*/
|
||||
@GET
|
||||
@Path("types")
|
||||
@ApiOperation(
|
||||
httpMethod = "GET",
|
||||
value = "Getting Details of the Devices Supported via WSO2 EMM",
|
||||
notes = "You are able to register Android, iOS and Windows devices with WSO2 EMM. This API will "
|
||||
+ "retrieve the device type details that can register with the EMM",
|
||||
response = DeviceType.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "List of devices based on the type"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while fetching the list of device types") })
|
||||
Response getDeviceTypes();
|
||||
|
||||
/**
|
||||
|
||||
@ -19,10 +19,18 @@
|
||||
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
|
||||
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 org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.UserCredentialWrapper;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
@ -34,10 +42,41 @@ public interface DeviceInformation {
|
||||
|
||||
@GET
|
||||
@Path("{type}/{id}")
|
||||
Response getDeviceInfo(@PathParam("type") String type, @PathParam("id") String id);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Get device information",
|
||||
notes = "This will return device information such as CPU usage, memory usage etc.",
|
||||
response = DeviceInfo.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = ""),
|
||||
@ApiResponse(code = 400, message = ""),
|
||||
@ApiResponse(code = 400, message = ""),
|
||||
@ApiResponse(code = 500, message = "Internal Server Error")
|
||||
})
|
||||
Response getDeviceInfo(@ApiParam(name = "type", value = "Provide the device type, such as ios, android "
|
||||
+ "or windows", required = true) @PathParam("type") String type,
|
||||
@ApiParam(name = "id", value = "Provide the device identifier", required = true)
|
||||
@PathParam("id") String id);
|
||||
|
||||
@GET
|
||||
@Path("location/{type}/{id}")
|
||||
Response getDeviceLocation(@PathParam("type") String type, @PathParam("id") String id);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Get the device location",
|
||||
notes = "This will return the device location including latitude and longitude as well the "
|
||||
+ "physical address",
|
||||
response = DeviceLocation.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = ""),
|
||||
@ApiResponse(code = 400, message = ""),
|
||||
@ApiResponse(code = 400, message = ""),
|
||||
@ApiResponse(code = 500, message = "Internal Server Error")
|
||||
})
|
||||
Response getDeviceLocation(@ApiParam(name = "type", value = "Provide the device type, such as ios, "
|
||||
+ "android or windows", required = true) @PathParam("type") String type,
|
||||
@ApiParam(name = "id", value = "Provide the device identifier",
|
||||
required = true) @PathParam("id") String id);
|
||||
|
||||
}
|
||||
|
||||
@ -19,7 +19,12 @@
|
||||
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
|
||||
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 org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
@ -28,6 +33,7 @@ import javax.ws.rs.PUT;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
@ -41,18 +47,72 @@ import javax.ws.rs.core.Response;
|
||||
public interface DeviceNotification {
|
||||
|
||||
@GET
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "GET",
|
||||
value = "Getting all Device Notification Details",
|
||||
notes = "Get the details of all notifications that were pushed to the device in WSO2 EMM using "
|
||||
+ "this REST API",
|
||||
response = Notification.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "List of Notifications"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the notification list")
|
||||
})
|
||||
Response getNotifications();
|
||||
|
||||
@GET
|
||||
@Path("{status}")
|
||||
Response getNotificationsByStatus(@PathParam("status") Notification.Status status);
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "GET",
|
||||
value = "Getting the Device Notifications Filtered by the Status",
|
||||
notes = "Get the details of all the unread notifications or the details of all the read "
|
||||
+ "notifications using this REST API",
|
||||
response = Notification.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "List of Notifications"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the notification list")
|
||||
})
|
||||
Response getNotificationsByStatus(@ApiParam(name = "status", value = "Provide the notification status as"
|
||||
+ " the value for {status}", required = true)
|
||||
@PathParam("status") Notification.Status status);
|
||||
|
||||
@PUT
|
||||
@Path("{id}/{status}")
|
||||
Response updateNotificationStatus(@PathParam("id") int id,
|
||||
@PathParam("status") Notification.Status status);
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "PUT",
|
||||
value = "Updating the Device Notification Status",
|
||||
notes = "When a user has read the the device notification the device notification status must "
|
||||
+ "change from NEW to CHECKED. Update the device notification status using this REST API",
|
||||
response = ResponsePayload.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "Notification status updated successfully"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while updating notification status")
|
||||
})
|
||||
Response updateNotificationStatus( @ApiParam(name = "id", value = "Provide the ID of the notification"
|
||||
+ " you wish you update", required = true) @PathParam("id") int id,
|
||||
@ApiParam(name = "status", value = "Provide the notification status as"
|
||||
+ " the value", required = true) @PathParam("status")
|
||||
Notification.Status status);
|
||||
|
||||
@POST
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "POST",
|
||||
value = "Sending a Device Notification",
|
||||
notes = "Notify users on device operation failures and other information using this REST API",
|
||||
response = ResponsePayload.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "NNotification has added successfully"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while updating notification status")
|
||||
})
|
||||
Response addNotification(Notification notification);
|
||||
|
||||
}
|
||||
|
||||
@ -19,9 +19,16 @@
|
||||
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
|
||||
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 org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper;
|
||||
import org.wso2.carbon.device.mgt.common.search.SearchContext;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
/**
|
||||
@ -32,5 +39,17 @@ import javax.ws.rs.core.Response;
|
||||
public interface DeviceSearch {
|
||||
|
||||
@GET
|
||||
Response getDeviceInfo(SearchContext searchContext);
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Advanced Search for Devices via the Console",
|
||||
notes = "Carry out an advanced search via the EMM console",
|
||||
response = DeviceWrapper.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while searching the device information")
|
||||
})
|
||||
Response getDeviceInfo(@ApiParam(name = "enrollmentCertificates", value = "List of search conditions",
|
||||
required = true) SearchContext searchContext);
|
||||
}
|
||||
|
||||
@ -19,6 +19,12 @@
|
||||
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||
|
||||
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 org.apache.axis2.databinding.types.soapencoding.Integer;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.UserCredentialWrapper;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.UserWrapper;
|
||||
|
||||
@ -44,29 +50,111 @@ public interface User {
|
||||
@POST
|
||||
@Consumes({ MediaType.APPLICATION_JSON})
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response addUser(UserWrapper userWrapper);
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "POST",
|
||||
value = "Adding a User via the REST API",
|
||||
notes = "Adds a new user to WSO2 EMM using this REST API")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 201, message = "Created"),
|
||||
@ApiResponse(code = 500, message = "Exception in trying to add user by username: 'username'")
|
||||
})
|
||||
Response addUser(@ApiParam(name = "userWrapper", value = "Includes the required properties to add a user"
|
||||
+ " as the <JSON_PAYLOAD> value", required = true) UserWrapper userWrapper);
|
||||
|
||||
@GET
|
||||
@Path("view")
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response getUser(@QueryParam("username") String username);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Getting Details of a User",
|
||||
notes = "If you wish to get the details of a specific user that is registered with WSO2 EMM,"
|
||||
+ " you can do so using the REST API",
|
||||
response = UserWrapper.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 201, message = "User information was retrieved successfully"),
|
||||
@ApiResponse(code = 400, message = "User by username: 'username' does not exist"),
|
||||
@ApiResponse(code = 500, message = "Exception in trying to retrieve user by username: 'username'")
|
||||
})
|
||||
Response getUser(@ApiParam(name = "username", value = "Provide the name of the user you wish to get the"
|
||||
+ " details of as the value", required = true)
|
||||
@QueryParam("username") String username);
|
||||
|
||||
@PUT
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response updateUser(UserWrapper userWrapper, @QueryParam("username") String username);
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
produces = MediaType.APPLICATION_JSON + ", " + MediaType.APPLICATION_XML,
|
||||
httpMethod = "PUT",
|
||||
value = "Updating Details of a User",
|
||||
notes = "There will be situations where you will want to update the user details. In such "
|
||||
+ "situation you can update the user details using this REST API")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "User by username: 'username' was successfully updated"),
|
||||
@ApiResponse(code = 409, message = "User by username: 'username' doesn't exists. Therefore, "
|
||||
+ "request made to update user was refused"),
|
||||
@ApiResponse(code = 500, message = "Exception in trying to update user by username: 'username'")
|
||||
})
|
||||
Response updateUser(@ApiParam(name = "userWrapper", value = "Provide the name of the user you wish to get"
|
||||
+ " the details of as the value", required = true) UserWrapper userWrapper,
|
||||
@ApiParam(name = "username", value = "Provide the name of the user you wish to get "
|
||||
+ "the details of as the value", required = true)
|
||||
@QueryParam("username") String username);
|
||||
|
||||
@DELETE
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response removeUser(@QueryParam("username") String username);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "DELETE",
|
||||
value = "Deleting a User",
|
||||
notes = "In a situation where an employee leaves the organization you will need to remove the"
|
||||
+ " user details from WSO2 EMM. In such situations you can use this REST API "
|
||||
+ "to remove a user",
|
||||
response = ResponsePayload.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "User by username: 'username' was successfully removed"),
|
||||
@ApiResponse(code = 400, message = "User by username: 'username' does not exist for removal"),
|
||||
@ApiResponse(code = 500, message = "Exception in trying to remove user by username: 'username'")
|
||||
})
|
||||
Response removeUser(@ApiParam(name = "username", value = "Provide the name of the user you wish to delete"
|
||||
+ " as the value for {username}", required = true)
|
||||
@QueryParam("username") String username);
|
||||
|
||||
@GET
|
||||
@Path("roles")
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response getRoles(@QueryParam("username") String username);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Getting the Role Details of a User",
|
||||
notes = "A user can be assigned to one or more role in WSO2 EMM. Using this REST API you are "
|
||||
+ "able to get the role/roles a user is assigned to",
|
||||
response = String.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "User roles obtained for user : 'username'"),
|
||||
@ApiResponse(code = 400, message = "User by username: 'username' does not exist for role retrieval"),
|
||||
@ApiResponse(code = 500, message = "Exception in trying to retrieve roles for user by username: 'username'")
|
||||
})
|
||||
Response getRoles(@ApiParam(name = "username", value = "Provide the user name of the user you wish to get"
|
||||
+ " the role details", required = true) @QueryParam("username") String username);
|
||||
|
||||
@GET
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Getting Details of Users",
|
||||
notes = "If you wish to get the details of all the user registered with WSO2 EMM, you can do so "
|
||||
+ "using the REST API",
|
||||
response = ResponsePayload.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 201, message = "All users were successfully retrieved"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the list of users")
|
||||
})
|
||||
Response getAllUsers();
|
||||
|
||||
@GET
|
||||
@ -76,41 +164,154 @@ public interface User {
|
||||
|
||||
@GET
|
||||
@Path("view-users")
|
||||
Response getAllUsersByUsername(@QueryParam("username") String userName);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Getting User Details by Searching via the User Name",
|
||||
notes = "You will have 100+ users registered with WSO2 EMM. If you wish to retrieve the user "
|
||||
+ "details of a specific user, and you only remember part of the user's username, "
|
||||
+ "you are able to retrieve the user details by giving a character or a few characters "
|
||||
+ "in the username",
|
||||
response = String.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "All users by username were successfully retrieved. Obtained"
|
||||
+ " user count: 'count'"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the list of users")
|
||||
})
|
||||
Response getAllUsersByUsername(@ApiParam(name = "username", value = "Provide any user detail of the user"
|
||||
+ " as the value for {username} to retrieve the user details, such "
|
||||
+ "as email address, first name or last name", required = true)
|
||||
@QueryParam("username") String userName);
|
||||
|
||||
@GET
|
||||
@Path("users-by-username")
|
||||
Response getAllUserNamesByUsername(@QueryParam("username") String userName);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Searching for a User Name",
|
||||
notes = "You will have 100+ users registered with WSO2 EMM. Therefore if you are unsure of the "
|
||||
+ "user name of a user and need to retrieve the details of a specific user, you can "
|
||||
+ "search for that user by giving a character or a few characters in the username. "
|
||||
+ "You will be given a list of users having the user name with the exact order of the "
|
||||
+ "characters you provided",
|
||||
response = String.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "All users by username were successfully retrieved. Obtained"
|
||||
+ " user count: 'count'"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the list of users")
|
||||
})
|
||||
Response getAllUserNamesByUsername(@ApiParam(name = "username", value = "Provide a character or a few "
|
||||
+ "character in the user name as the value for {username}",
|
||||
required = true) @QueryParam("username") String userName);
|
||||
|
||||
@POST
|
||||
@Path("email-invitation")
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response inviteExistingUsersToEnrollDevice(List<String> usernames);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "POST",
|
||||
value = "Sending Enrollment Invitations to Users",
|
||||
notes = "Send the users a mail inviting them to download the EMM mobile application on their "
|
||||
+ "devices using this REST API")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "Email invitation was successfully sent to user"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the list of users")
|
||||
})
|
||||
Response inviteExistingUsersToEnrollDevice(@ApiParam(name = "usernames", value = "List of the users to be"
|
||||
+ " invited as the <JSON_PAYLOAD>", required = true)
|
||||
List<String> usernames);
|
||||
|
||||
@GET
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
@Path("devices")
|
||||
Response getAllDeviceOfUser(@QueryParam("username") String username, @QueryParam("start") int startIdx,
|
||||
@QueryParam("length") int length);
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Getting Device Details of a User",
|
||||
notes = "If you wish to get the details of the devices enrolled by a specific user, you can do "
|
||||
+ "so using this REST API",
|
||||
response = org.wso2.carbon.device.mgt.common.Device.class,
|
||||
responseContainer = "List")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK"),
|
||||
@ApiResponse(code = 500, message = "Device management error")
|
||||
})
|
||||
Response getAllDeviceOfUser(@ApiParam(name = "username", value = "Provide the name of the user you wish "
|
||||
+ "to get the details", required = true) @QueryParam("username")
|
||||
String username,
|
||||
@ApiParam(name = "start", value = "Provide the starting pagination index",
|
||||
required = true) @QueryParam("start") int startIdx,
|
||||
@ApiParam(name = "length", value = "Provide how many device details you "
|
||||
+ "require from the starting pagination index", required = true)
|
||||
@QueryParam("length") int length);
|
||||
|
||||
@GET
|
||||
@Path("count")
|
||||
@Path("count")
|
||||
@ApiOperation(
|
||||
httpMethod = "GET",
|
||||
value = "Getting the User Count",
|
||||
notes = "Get the number of users in WSO2 EMM",
|
||||
response = Integer.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "OK"),
|
||||
@ApiResponse(code = 500, message = "Error occurred while retrieving the list of users that exist"
|
||||
+ " within the current tenant")
|
||||
})
|
||||
Response getUserCount();
|
||||
|
||||
@PUT
|
||||
@Path("{roleName}/users")
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
@Path("{roleName}/users")
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response updateRoles(@PathParam("username") String username, List<String> userList);
|
||||
|
||||
@POST
|
||||
@Path("change-password")
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response resetPassword(UserCredentialWrapper credentials);
|
||||
@Path("change-password")
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "POST",
|
||||
value = "Changing the User Password",
|
||||
notes = "A user is able to change the password to secure their EMM profile via this REST API",
|
||||
response = UserCredentialWrapper.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "UserImpl password by username: 'Username' was "
|
||||
+ "successfully changed"),
|
||||
@ApiResponse(code = 400, message = "Old password does not match"),
|
||||
@ApiResponse(code = 400, message = "Could not change the password of the user: 'Username'. The"
|
||||
+ " Character Encoding is not supported"),
|
||||
@ApiResponse(code = 500, message = "Internal Server Error")
|
||||
})
|
||||
Response resetPassword(@ApiParam(name = "credentials", value = "Include the required properties to change"
|
||||
+ " the user password as <JSON_PAYLOAD> value", required = true)
|
||||
UserCredentialWrapper credentials);
|
||||
|
||||
@POST
|
||||
@Path("reset-password")
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
Response resetPasswordByAdmin(UserCredentialWrapper credentials);
|
||||
@Path("reset-password")
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@Produces({MediaType.APPLICATION_JSON})
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "POST",
|
||||
value = "Resetting the User Password",
|
||||
notes = "In a situation where you need to block a user from accessing their EMM profile, "
|
||||
+ "the EMM administrator is able to reset the password. This will change the user's "
|
||||
+ "password and the user will not be able to able to login to the account as he/she is "
|
||||
+ "not aware of the new password.",
|
||||
response = UserCredentialWrapper.class)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "UserImpl password by username: 'Username' was "
|
||||
+ "successfully changed"),
|
||||
@ApiResponse(code = 400, message = "Old password does not match"),
|
||||
@ApiResponse(code = 400, message = "Could not change the password of the user: 'Username'. The"
|
||||
+ " Character Encoding is not supported"),
|
||||
@ApiResponse(code = 500, message = "Internal Server Error")
|
||||
})
|
||||
Response resetPasswordByAdmin(@ApiParam(name = "credentials", value = "Include the required properties "
|
||||
+ "to change a user password as <JSON_PAYLOAD> value",
|
||||
required = true) UserCredentialWrapper credentials);
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ import java.util.List;
|
||||
@SuppressWarnings("NonJaxWsWebServices")
|
||||
@Produces({"application/json", "application/xml"})
|
||||
@Consumes({ "application/json", "application/xml" })
|
||||
public class CertificateImpl implements Certificate{
|
||||
public class CertificateImpl implements Certificate {
|
||||
|
||||
private static Log log = LogFactory.getLog(OperationImpl.class);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user