mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Add custom email template for android
This commit is contained in:
parent
0c2465d03e
commit
a4841d87ba
@ -18,22 +18,20 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.services.android.services;
|
package org.wso2.carbon.mdm.services.android.services;
|
||||||
|
|
||||||
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.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.AuthorizationScope;
|
|
||||||
import io.swagger.annotations.Authorization;
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiParam;
|
import io.swagger.annotations.ApiParam;
|
||||||
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponse;
|
||||||
import io.swagger.annotations.ApiResponses;
|
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.ResponseHeader;
|
||||||
|
import io.swagger.annotations.SwaggerDefinition;
|
||||||
|
import io.swagger.annotations.Tag;
|
||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||||
import org.wso2.carbon.device.mgt.core.service.EmailMetaInfo;
|
|
||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.AndroidApplication;
|
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.bean.wrapper.AndroidDevice;
|
||||||
|
|
||||||
@ -41,7 +39,15 @@ import javax.validation.Valid;
|
|||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Pattern;
|
import javax.validation.constraints.Pattern;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
import javax.ws.rs.*;
|
import javax.ws.rs.Consumes;
|
||||||
|
import javax.ws.rs.DELETE;
|
||||||
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.HeaderParam;
|
||||||
|
import javax.ws.rs.POST;
|
||||||
|
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.MediaType;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -199,57 +205,6 @@ public interface DeviceManagementService {
|
|||||||
value = "Properties to update the device operations and their status.")
|
value = "Properties to update the device operations and their status.")
|
||||||
List<? extends Operation> resultOperations);
|
List<? extends Operation> resultOperations);
|
||||||
|
|
||||||
@POST
|
|
||||||
@Path("/invite")
|
|
||||||
@ApiOperation(
|
|
||||||
produces = MediaType.APPLICATION_JSON,
|
|
||||||
consumes = MediaType.APPLICATION_JSON,
|
|
||||||
httpMethod = "POST",
|
|
||||||
value = "Send enrollment invitation for android device",
|
|
||||||
tags = "Android Device Management",
|
|
||||||
authorizations = {
|
|
||||||
@Authorization(
|
|
||||||
value="permission",
|
|
||||||
scopes = { @AuthorizationScope(scope = "/device-mgt/devices/enroll/invite/android",
|
|
||||||
description = "Send device enrollment invitation") }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
@ApiResponses(value = {
|
|
||||||
@ApiResponse(
|
|
||||||
code = 201,
|
|
||||||
message = "Invited. \n Successfully sent invitations.",
|
|
||||||
responseHeaders = {
|
|
||||||
@ResponseHeader(
|
|
||||||
name = "Content-Type",
|
|
||||||
description = "Content type of the body"),
|
|
||||||
@ResponseHeader(
|
|
||||||
name = "ETag",
|
|
||||||
description = "Entity Tag of the response resource.\n" +
|
|
||||||
"Used by caches, or in conditional requests.")}),
|
|
||||||
@ApiResponse(
|
|
||||||
code = 303,
|
|
||||||
message = "See Other. \n The source can be retrieved from the URL specified in the location header.",
|
|
||||||
responseHeaders = {
|
|
||||||
@ResponseHeader(
|
|
||||||
name = "Content-Location",
|
|
||||||
description = "The Source URL of the document.")}),
|
|
||||||
@ApiResponse(
|
|
||||||
code = 400,
|
|
||||||
message = "Bad Request. \n Invalid request or validation error."),
|
|
||||||
@ApiResponse(
|
|
||||||
code = 415,
|
|
||||||
message = "Unsupported media type. \n The format of the requested entity was not supported.\n"),
|
|
||||||
@ApiResponse(
|
|
||||||
code = 500,
|
|
||||||
message = "Internal Server Error. \n " +
|
|
||||||
"Server error occurred while adding a new device.")
|
|
||||||
})
|
|
||||||
Response sendEnrollmentInvitation(@ApiParam(
|
|
||||||
name = "EmailConfig",
|
|
||||||
value = "The properties required to send device enrollment invitation.")
|
|
||||||
@Valid EmailMetaInfo metaInfo);
|
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
|
|||||||
@ -29,7 +29,6 @@ import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
|||||||
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
|
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.core.service.EmailMetaInfo;
|
|
||||||
import org.wso2.carbon.mdm.services.android.bean.ErrorResponse;
|
import org.wso2.carbon.mdm.services.android.bean.ErrorResponse;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.AndroidApplication;
|
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.bean.wrapper.AndroidDevice;
|
||||||
@ -173,24 +172,6 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
|||||||
return Response.status(Response.Status.CREATED).entity(pendingOperations).build();
|
return Response.status(Response.Status.CREATED).entity(pendingOperations).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
|
||||||
@Path("/invite")
|
|
||||||
@Override
|
|
||||||
public Response sendEnrollmentInvitation(EmailMetaInfo metaInfo) {
|
|
||||||
try {
|
|
||||||
AndroidAPIUtils.getDeviceManagementService()
|
|
||||||
.sendEnrolmentInvitation("android-enrollment-invitation", metaInfo);
|
|
||||||
Message responseMessage = new Message();
|
|
||||||
responseMessage.setResponseCode(Response.Status.OK.toString());
|
|
||||||
responseMessage.setResponseMessage("Enrollment invitations sent.");
|
|
||||||
return Response.status(Response.Status.OK).entity(responseMessage).build();
|
|
||||||
} catch (DeviceManagementException e) {
|
|
||||||
log.error(e.getMessage(), e);
|
|
||||||
throw new UnexpectedServerErrorException(
|
|
||||||
new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(e.getMessage()).build());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateOperations(String deviceId, List<? extends Operation> operations)
|
private void updateOperations(String deviceId, List<? extends Operation> operations)
|
||||||
throws OperationManagementException, PolicyComplianceException,
|
throws OperationManagementException, PolicyComplianceException,
|
||||||
ApplicationManagementException, NotificationManagementException, DeviceManagementException {
|
ApplicationManagementException, NotificationManagementException, DeviceManagementException {
|
||||||
|
|||||||
@ -18,19 +18,27 @@
|
|||||||
|
|
||||||
package org.wso2.carbon.mdm.services.android.util;
|
package org.wso2.carbon.mdm.services.android.util;
|
||||||
|
|
||||||
import com.google.gson.*;
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.JsonParser;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.analytics.api.AnalyticsDataAPI;
|
import org.wso2.carbon.analytics.api.AnalyticsDataAPI;
|
||||||
|
import org.wso2.carbon.analytics.api.AnalyticsDataAPIUtil;
|
||||||
import org.wso2.carbon.analytics.dataservice.commons.AnalyticsDataResponse;
|
import org.wso2.carbon.analytics.dataservice.commons.AnalyticsDataResponse;
|
||||||
import org.wso2.carbon.analytics.dataservice.commons.SearchResultEntry;
|
import org.wso2.carbon.analytics.dataservice.commons.SearchResultEntry;
|
||||||
import org.wso2.carbon.analytics.api.AnalyticsDataAPIUtil;
|
|
||||||
import org.wso2.carbon.analytics.datasource.commons.Record;
|
import org.wso2.carbon.analytics.datasource.commons.Record;
|
||||||
import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException;
|
import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException;
|
||||||
import org.wso2.carbon.context.CarbonContext;
|
import org.wso2.carbon.context.CarbonContext;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
|
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
|
||||||
import org.wso2.carbon.device.mgt.common.*;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
|
||||||
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.app.mgt.ApplicationManagementException;
|
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
||||||
|
|||||||
@ -34,12 +34,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
<div style="background-color: #ffffff; line-height: 170%; color: #666666; padding: 20px 25px;">
|
||||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px 20px;">
|
||||||
Hi $first-name,
|
Hi,
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||||
You have been invited to enrol your android device in WSO2 IoT Server.
|
You have been invited by $first-name to enrol your android device in WSO2 IoT Server.
|
||||||
Click <a href="$base-url-https/android-web-agent/enroll">here</a> to begin device enrolment from
|
Click <a href="$base-url-https/android-web-agent/enrollment">here</a> to begin device enrolment from
|
||||||
your Android device.</p>
|
your Android device.</p>
|
||||||
|
|
||||||
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
<p style="font-size: 1em; font-family: Arial, Helvetica; line-height: 170%; color: #666666; margin: 5px 0px;">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user