diff --git a/dmp-backend/core/src/main/java/eu/eudat/integrationevent/outbox/notification/NotificationIntegrationEventHandlerImpl.java b/dmp-backend/core/src/main/java/eu/eudat/integrationevent/outbox/notification/NotificationIntegrationEventHandlerImpl.java
index 775a37ae4..62a3fe4d9 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/integrationevent/outbox/notification/NotificationIntegrationEventHandlerImpl.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/integrationevent/outbox/notification/NotificationIntegrationEventHandlerImpl.java
@@ -70,7 +70,7 @@ public class NotificationIntegrationEventHandlerImpl implements NotificationInte
persist.setContactTypeHint(event.getContactTypeHint());
persist.setData(event.getData());
persist.setNotifyState(NotificationNotifyState.PENDING);
- persist.setNotifiedWith(NotificationContactType.EMAIL);
+ persist.setNotifiedWith(event.getContactTypeHint());
persist.setRetryCount(0);
persist.setTrackingState(NotificationTrackingState.UNDEFINED);
persist.setTrackingProcess(NotificationTrackingProcess.PENDING);
diff --git a/dmp-backend/notification-service/notification-web/src/main/java/gr/cite/notification/web/controllers/InAppNotificationController.java b/dmp-backend/notification-service/notification-web/src/main/java/gr/cite/notification/web/controllers/InAppNotificationController.java
index 95aab412c..9381ee048 100644
--- a/dmp-backend/notification-service/notification-web/src/main/java/gr/cite/notification/web/controllers/InAppNotificationController.java
+++ b/dmp-backend/notification-service/notification-web/src/main/java/gr/cite/notification/web/controllers/InAppNotificationController.java
@@ -39,7 +39,7 @@ import javax.transaction.Transactional;
import java.util.*;
@RestController
-@RequestMapping(path = "api/notification/inapp-notification")
+@RequestMapping(path = "api/inapp-notification")
public class InAppNotificationController {
private static final LoggerService logger = new LoggerService(LoggerFactory.getLogger(InAppNotificationController.class));
diff --git a/dmp-backend/notification-service/notification-web/src/main/resources/config/notification.yml b/dmp-backend/notification-service/notification-web/src/main/resources/config/notification.yml
index 5c5e91151..7ad90ce91 100644
--- a/dmp-backend/notification-service/notification-web/src/main/resources/config/notification.yml
+++ b/dmp-backend/notification-service/notification-web/src/main/resources/config/notification.yml
@@ -16,7 +16,7 @@ notification:
contacts: [ email ]
- #dmpInvitationExistingUser
type: 4904dea2-5079-46d3-83be-3a19c9ab45dc
- contacts: [ email ]
+ contacts: [ inapp, email ]
- #dpmModified
type: 4542262A-22F8-4BAA-9DB6-1C8E70AC1DBB
contacts: [ email ]
@@ -314,6 +314,30 @@ notification:
template-cache:
prefix: ${CACHE_DISAMBIGUATION:}
key-pattern: "{prefix}:Notification_Message_Email_Template:{key}:v0"
+ in-app:
+ flows:
+ - #dmpInvitationExistingUser
+ key: 4904dea2-5079-46d3-83be-3a19c9ab45dc
+ subject-path: classpath:notification_templates/dmpinvitationexistinguser/inapp/subject.{language}.txt
+ subject-field-options:
+ mandatory: [ ]
+ optional: [ ]
+ body-path: classpath:notification_templates/dmpinvitationexistinguser/inapp/body.{language}.html
+ body-field-options:
+ mandatory: [ "{dmpname}", "{dmprole}", "{reasonName}", "{installation-url}", "{id}" ]
+ optional:
+ - key: "{recipient}"
+ value:
+ formatting:
+ '[{dmpname}]': null
+ '[{dmprole}]': null
+ '[{reasonName}]': null
+ '[{recipient}]': null
+ priority-key: null
+ cipher-fields: [ ]
+ template-cache:
+ prefix: ${CACHE_DISAMBIGUATION:}
+ key-pattern: "{prefix}:Notification_Message_InApp_Template:{key}:v0"
override-cache:
template-cache:
prefix: ${CACHE_DISAMBIGUATION:}
diff --git a/dmp-backend/notification-service/notification-web/src/main/resources/config/permissions.yml b/dmp-backend/notification-service/notification-web/src/main/resources/config/permissions.yml
index 1bc742f5f..c7b20e4ca 100644
--- a/dmp-backend/notification-service/notification-web/src/main/resources/config/permissions.yml
+++ b/dmp-backend/notification-service/notification-web/src/main/resources/config/permissions.yml
@@ -75,15 +75,13 @@ permissions:
#Notification
BrowseNotification:
roles:
- - ic-sti-superuser
- - user
+ - Admin
clients: [ ]
allowAnonymous: true
allowAuthenticated: false
EditNotification:
roles:
- - ic-sti-superuser
- - user
+ - Admin
clients: [ ]
allowAnonymous: true
allowAuthenticated: false
diff --git a/dmp-backend/notification-service/notification-web/src/main/resources/notification_templates/dmpinvitationexistinguser/inapp/body.en.html b/dmp-backend/notification-service/notification-web/src/main/resources/notification_templates/dmpinvitationexistinguser/inapp/body.en.html
new file mode 100644
index 000000000..75a586097
--- /dev/null
+++ b/dmp-backend/notification-service/notification-web/src/main/resources/notification_templates/dmpinvitationexistinguser/inapp/body.en.html
@@ -0,0 +1,304 @@
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dear {recipient},
+ {reasonName} just add you to collaborate to Data Management plan {dmpname} with role {dmprole}.
+ Click the button to redirect to {dmpname}.
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/dmp-backend/notification-service/notification-web/src/main/resources/notification_templates/dmpinvitationexistinguser/inapp/subject.en.txt b/dmp-backend/notification-service/notification-web/src/main/resources/notification_templates/dmpinvitationexistinguser/inapp/subject.en.txt
new file mode 100644
index 000000000..2c36d1524
--- /dev/null
+++ b/dmp-backend/notification-service/notification-web/src/main/resources/notification_templates/dmpinvitationexistinguser/inapp/subject.en.txt
@@ -0,0 +1 @@
+ARGOS - Data Management Plan Invite
\ No newline at end of file
diff --git a/dmp-backend/notification-service/notification-web/target/classes/config/notification.yml b/dmp-backend/notification-service/notification-web/target/classes/config/notification.yml
index 5c5e91151..7ad90ce91 100644
--- a/dmp-backend/notification-service/notification-web/target/classes/config/notification.yml
+++ b/dmp-backend/notification-service/notification-web/target/classes/config/notification.yml
@@ -16,7 +16,7 @@ notification:
contacts: [ email ]
- #dmpInvitationExistingUser
type: 4904dea2-5079-46d3-83be-3a19c9ab45dc
- contacts: [ email ]
+ contacts: [ inapp, email ]
- #dpmModified
type: 4542262A-22F8-4BAA-9DB6-1C8E70AC1DBB
contacts: [ email ]
@@ -314,6 +314,30 @@ notification:
template-cache:
prefix: ${CACHE_DISAMBIGUATION:}
key-pattern: "{prefix}:Notification_Message_Email_Template:{key}:v0"
+ in-app:
+ flows:
+ - #dmpInvitationExistingUser
+ key: 4904dea2-5079-46d3-83be-3a19c9ab45dc
+ subject-path: classpath:notification_templates/dmpinvitationexistinguser/inapp/subject.{language}.txt
+ subject-field-options:
+ mandatory: [ ]
+ optional: [ ]
+ body-path: classpath:notification_templates/dmpinvitationexistinguser/inapp/body.{language}.html
+ body-field-options:
+ mandatory: [ "{dmpname}", "{dmprole}", "{reasonName}", "{installation-url}", "{id}" ]
+ optional:
+ - key: "{recipient}"
+ value:
+ formatting:
+ '[{dmpname}]': null
+ '[{dmprole}]': null
+ '[{reasonName}]': null
+ '[{recipient}]': null
+ priority-key: null
+ cipher-fields: [ ]
+ template-cache:
+ prefix: ${CACHE_DISAMBIGUATION:}
+ key-pattern: "{prefix}:Notification_Message_InApp_Template:{key}:v0"
override-cache:
template-cache:
prefix: ${CACHE_DISAMBIGUATION:}
diff --git a/dmp-backend/notification-service/notification-web/target/classes/config/permissions.yml b/dmp-backend/notification-service/notification-web/target/classes/config/permissions.yml
index 1bc742f5f..c7b20e4ca 100644
--- a/dmp-backend/notification-service/notification-web/target/classes/config/permissions.yml
+++ b/dmp-backend/notification-service/notification-web/target/classes/config/permissions.yml
@@ -75,15 +75,13 @@ permissions:
#Notification
BrowseNotification:
roles:
- - ic-sti-superuser
- - user
+ - Admin
clients: [ ]
allowAnonymous: true
allowAuthenticated: false
EditNotification:
roles:
- - ic-sti-superuser
- - user
+ - Admin
clients: [ ]
allowAnonymous: true
allowAuthenticated: false
diff --git a/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/data/InAppNotificationEntity.java b/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/data/InAppNotificationEntity.java
index ac42461f6..ad43ac87f 100644
--- a/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/data/InAppNotificationEntity.java
+++ b/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/data/InAppNotificationEntity.java
@@ -16,58 +16,57 @@ import java.util.UUID;
@Table(name = "\"ntf_InAppNotification\"")
public class InAppNotificationEntity extends TenantScopedBaseEntity {
public static class Field {
- public static final String ID = "id";
- public static final String USER_ID = "userId";
- public static final String IS_ACTIVE = "isActive";
- public static final String TYPE = "type";
- public static final String READ_TIME = "readTime";
- public static final String TRACKING_STATE = "trackingState";
- public static final String PRIORITY = "priority";
- public static final String SUBJECT = "subject";
- public static final String BODY = "body";
- public static final String EXTRA_DATA = "extraData";
- public static final String CREATED_AT = "createdAt";
- public static final String UPDATED_AT = "updatedAt";
+ public static final String _id = "id";
+ public static final String _userId = "userId";
+ public static final String _isActive = "isActive";
+ public static final String _type = "type";
+ public static final String _readTime = "readTime";
+ public static final String _trackingState = "trackingState";
+ public static final String _priority = "priority";
+ public static final String _subject = "subject";
+ public static final String _body = "body";
+ public static final String _extraData = "extraData";
+ public static final String _createdAt = "createdAt";
+ public static final String _updatedAt = "updatedAt";
}
@Id
- @Column(name = "id", columnDefinition = "uuid", nullable = false)
+ @Column(name = "\"id\"", columnDefinition = "uuid", nullable = false)
private UUID id;
-
- @Column(name = "user", columnDefinition = "uuid", nullable = false)
+ @Column(name = "\"user\"", columnDefinition = "uuid", nullable = false)
private UUID userId;
- @Column(name = "is_active", nullable = false)
+ @Column(name = "\"is_active\"", nullable = false)
@Convert(converter = IsActiveConverter.class)
private IsActive isActive;
- @Column(name = "type", columnDefinition = "uuid", nullable = false)
+ @Column(name = "\"type\"", columnDefinition = "uuid", nullable = false)
private UUID type;
- @Column(name = "read_time")
+ @Column(name = "\"read_time\"")
private Instant readTime;
- @Column(name = "tracking_state", nullable = false)
+ @Column(name = "\"tracking_state\"", nullable = false)
@Convert(converter = NotificationInAppTrackingConverter.class)
private NotificationInAppTracking trackingState;
- @Column(name = "priority", nullable = false)
+ @Column(name = "\"priority\"", nullable = false)
@Convert(converter = InAppNotificationPriorityConverter.class)
private InAppNotificationPriority priority;
- @Column(name = "subject")
+ @Column(name = "\"subject\"")
private String subject;
- @Column(name = "body")
+ @Column(name = "\"body\"")
private String body;
- @Column(name = "extra_data")
+ @Column(name = "\"extra_data\"")
private String extraData;
- @Column(name = "created_at", nullable = false)
+ @Column(name = "\"created_at\"", nullable = false)
private Instant createdAt;
- @Column(name = "updated_at", nullable = false)
+ @Column(name = "\"updated_at\"", nullable = false)
@Version
private Instant updatedAt;
diff --git a/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/query/InAppNotificationQuery.java b/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/query/InAppNotificationQuery.java
index 98472d2ed..a6a6ac86e 100644
--- a/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/query/InAppNotificationQuery.java
+++ b/dmp-backend/notification-service/notification/src/main/java/gr/cite/notification/query/InAppNotificationQuery.java
@@ -161,19 +161,19 @@ public class InAppNotificationQuery extends QueryBase