From e13450885bfa45bd1474e40654f75f9ba864475a Mon Sep 17 00:00:00 2001 From: Stephen Kraffmiller Date: Tue, 24 Nov 2020 13:17:29 -0500 Subject: [PATCH] #7263 add deactivate as an endpoint --- .../iq/dataverse/BannerMessageServiceBean.java | 8 ++++++++ .../edu/harvard/iq/dataverse/api/Admin.java | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/main/java/edu/harvard/iq/dataverse/BannerMessageServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/BannerMessageServiceBean.java index 51c8e45f86b..91b4128c545 100644 --- a/src/main/java/edu/harvard/iq/dataverse/BannerMessageServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/BannerMessageServiceBean.java @@ -51,6 +51,14 @@ public void save( BannerMessage message ) { public void deleteBannerMessage(Object pk) { BannerMessage message = em.find(BannerMessage.class, pk); + if (message != null) { + em.remove(message); + } + } + + public void deactivateBannerMessage(Object pk) { + BannerMessage message = em.find(BannerMessage.class, pk); + if (message != null) { message.setActive(false); em.merge(message); diff --git a/src/main/java/edu/harvard/iq/dataverse/api/Admin.java b/src/main/java/edu/harvard/iq/dataverse/api/Admin.java index c09066975e8..b52665a7747 100644 --- a/src/main/java/edu/harvard/iq/dataverse/api/Admin.java +++ b/src/main/java/edu/harvard/iq/dataverse/api/Admin.java @@ -1887,12 +1887,29 @@ public Response addBannerMessage(JsonObject jsonObject) throws WrappedResponse { @Path("/bannerMessage/{id}") public Response deleteBannerMessage(@PathParam("id") Long id) throws WrappedResponse { + BannerMessage message = em.find(BannerMessage.class, id); + if (message == null){ + return error(Response.Status.NOT_FOUND, "Message id = " + id + " not found."); + } bannerMessageService.deleteBannerMessage(id); return ok("Message id = " + id + " deleted."); } + @PUT + @Path("/bannerMessage/{id}/deactivate") + public Response deactivateBannerMessage(@PathParam("id") Long id) throws WrappedResponse { + BannerMessage message = em.find(BannerMessage.class, id); + if (message == null){ + return error(Response.Status.NOT_FOUND, "Message id = " + id + " not found."); + } + bannerMessageService.deactivateBannerMessage(id); + + return ok("Message id = " + id + " deactivated."); + + } + @GET @Path("/bannerMessage") public Response getBannerMessages(@PathParam("id") Long id) throws WrappedResponse {