Untitled
unknown
plain_text
a year ago
2.1 kB
6
Indexable
package com.trendmicro.serapis.admin.apiservice.api.emailnotification;
import javax.ws.rs.POST;
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;
import com.forescout.soarcore.model.EmailNotificationResponse;
import com.forescout.soarcore.model.SoarEmailRequest;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import com.trendmicro.serapis.apiservice.api.exceptions.EntityNotFoundException;
import com.trendmicro.serapis.apiservice.security.AdminSecureApi;
import com.trendmicro.serapis.apiservice.security.IdParam;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestBody;
@Path("/admin/accounts/{accountId}/emailnotifications")
@Produces({MediaType.TEXT_PLAIN})
@io.swagger.annotations.Api()
@Component
public class SoarEmailNotificationAdminApi {
private final SoarEmailNotificationAdminApiService delegate;
public SoarEmailNotificationAdminApi(SoarEmailNotificationAdminApiService delegate) {
this.delegate = delegate;
}
@POST
@Path("/send")
@Produces({MediaType.APPLICATION_JSON})
@AdminSecureApi(hasAccountIdParameter = true)
public Response publishNotification(@ApiParam(value = "Id of the account",
required = true) @PathParam("accountId") @IdParam String accountId,
@RequestBody SoarEmailRequest soarEmailRequest)
throws EntityNotFoundException {
try {
delegate.validateRecipients(soarEmailRequest.recipients());
EmailNotificationResponse emailNotificationResponse = delegate.sendEmailNotification(accountId,soarEmailRequest);
return Response.status(Response.Status.OK).entity(emailNotificationResponse).build();
} catch (Exception e) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("Error sending email: " + e.getMessage()).build();
}
}
}Editor is loading...
Leave a Comment