From baa7a0af4e6a678c61c6924c07236037b5d42011 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 23 Apr 2024 08:19:52 +0200 Subject: [PATCH] [New] Added enabled flag to notifications --- .../policy/notifications/DefaultNotificationsPolicy.java | 7 ++++++- .../main/java/li/strolch/model/StrolchModelConstants.java | 1 + .../service/notifications/CreateNotificationService.java | 4 ++++ .../li/strolch/rest/endpoint/NotificationResource.java | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/agent/src/main/java/li/strolch/policy/notifications/DefaultNotificationsPolicy.java b/agent/src/main/java/li/strolch/policy/notifications/DefaultNotificationsPolicy.java index e18658c47..fe40ec740 100644 --- a/agent/src/main/java/li/strolch/policy/notifications/DefaultNotificationsPolicy.java +++ b/agent/src/main/java/li/strolch/policy/notifications/DefaultNotificationsPolicy.java @@ -28,7 +28,8 @@ public class DefaultNotificationsPolicy extends NotificationsPolicy { protected boolean isForUser(Resource notification) { if (!isActive(notification)) return false; - return isForAll(notification) || isForRole(notification) || isForGroup(notification); + return isEnabled(notification) && ( + isForAll(notification) || isForRole(notification) || isForGroup(notification)); } protected boolean isActive(Resource notification) { @@ -38,6 +39,10 @@ public class DefaultNotificationsPolicy extends NotificationsPolicy { .contains(ZonedDateTime.now()); } + protected boolean isEnabled(Resource notification) { + return notification.getBoolean(BAG_VISIBILITY, PARAM_ENABLED); + } + protected boolean isForAll(Resource notification) { return notification.getBoolean(BAG_VISIBILITY, PARAM_FOR_ALL); } diff --git a/model/src/main/java/li/strolch/model/StrolchModelConstants.java b/model/src/main/java/li/strolch/model/StrolchModelConstants.java index 07e80371d..8a893bdbc 100644 --- a/model/src/main/java/li/strolch/model/StrolchModelConstants.java +++ b/model/src/main/java/li/strolch/model/StrolchModelConstants.java @@ -104,6 +104,7 @@ public class StrolchModelConstants { public static final String PARAM_START_DATE = "startDate"; public static final String PARAM_MODE = "mode"; public static final String PARAM_GROUP = "group"; + public static final String PARAM_ENABLED = "enabled"; public static final String PARAM_VISIBLE_FROM = "visibleFrom"; public static final String PARAM_VISIBLE_TO = "visibleTo"; public static final String PARAM_TITLE = "title"; diff --git a/service/src/main/java/li/strolch/service/notifications/CreateNotificationService.java b/service/src/main/java/li/strolch/service/notifications/CreateNotificationService.java index 6e19416fd..36791ca76 100644 --- a/service/src/main/java/li/strolch/service/notifications/CreateNotificationService.java +++ b/service/src/main/java/li/strolch/service/notifications/CreateNotificationService.java @@ -58,6 +58,8 @@ public class CreateNotificationService extends AbstractService