Skip to content

Commit

Permalink
Added: Fetch human readable bridgehead for emails
Browse files Browse the repository at this point in the history
  • Loading branch information
djuarezgf committed Nov 29, 2024
1 parent e119637 commit 7aeb18a
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,3 +164,4 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- Combine first and last name in name
- Replace email context variables in email subject
- Default and Default var in html tags
- Fetch human readable bridgehead for emails
12 changes: 10 additions & 2 deletions src/main/java/de/samply/email/EmailKeyValues.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package de.samply.email;

import de.samply.app.ProjectManagerConst;
import de.samply.bridgehead.BridgeheadConfiguration;
import de.samply.db.model.Project;
import de.samply.db.model.ProjectBridgehead;
import de.samply.db.model.ProjectBridgeheadUser;
Expand All @@ -26,17 +27,20 @@ public class EmailKeyValues {
private final ProjectBridgeheadRepository projectBridgeheadRepository;
private final ProjectRepository projectRepository;
private final UserRepository userRepository;
private final BridgeheadConfiguration bridgeheadConfiguration;


public EmailKeyValues(FrontendService frontendService,
EmailContext emailContext,
ProjectBridgeheadRepository projectBridgeheadRepository,
ProjectRepository projectRepository,
UserRepository userRepository) {
UserRepository userRepository,
BridgeheadConfiguration bridgeheadConfiguration) {
this.frontendService = frontendService;
this.projectBridgeheadRepository = projectBridgeheadRepository;
this.projectRepository = projectRepository;
this.userRepository = userRepository;
this.bridgeheadConfiguration = bridgeheadConfiguration;
keyValues.putAll(emailContext.getContext());
}

Expand Down Expand Up @@ -113,10 +117,14 @@ public EmailKeyValues add(ProjectBridgehead projectBridgehead) {
}

public EmailKeyValues addBridgehead(String bridgehead) {
addKeyValue(ProjectManagerConst.EMAIL_CONTEXT_BRIDGEHEAD, bridgehead);
addKeyValue(ProjectManagerConst.EMAIL_CONTEXT_BRIDGEHEAD, fetchBridgeheadHumanReadable(bridgehead));
return this;
}

private String fetchBridgeheadHumanReadable(String bridgehead) {
Optional<String> humanReadable = bridgeheadConfiguration.getHumanReadable(bridgehead);
return humanReadable.isPresent() ? humanReadable.get() : null;
}

public EmailKeyValues add(Project project) {
if (project != null) {
Expand Down
9 changes: 7 additions & 2 deletions src/main/java/de/samply/email/EmailKeyValuesFactory.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.samply.email;

import de.samply.bridgehead.BridgeheadConfiguration;
import de.samply.db.repository.ProjectBridgeheadRepository;
import de.samply.db.repository.ProjectRepository;
import de.samply.db.repository.UserRepository;
Expand All @@ -14,21 +15,25 @@ public class EmailKeyValuesFactory {
private final ProjectBridgeheadRepository projectBridgeheadRepository;
private final ProjectRepository projectRepository;
private final UserRepository userRepository;
private final BridgeheadConfiguration bridgeheadConfiguration;

public EmailKeyValuesFactory(FrontendService frontendService,
EmailContext emailContext,
ProjectBridgeheadRepository projectBridgeheadRepository,
ProjectRepository projectRepository,
UserRepository userRepository) {
UserRepository userRepository,
BridgeheadConfiguration bridgeheadConfiguration) {
this.frontendService = frontendService;
this.emailContext = emailContext;
this.projectBridgeheadRepository = projectBridgeheadRepository;
this.projectRepository = projectRepository;
this.userRepository = userRepository;
this.bridgeheadConfiguration = bridgeheadConfiguration;
}

public EmailKeyValues newInstance() {
return new EmailKeyValues(frontendService, emailContext, projectBridgeheadRepository, projectRepository, userRepository);
return new EmailKeyValues(frontendService, emailContext, projectBridgeheadRepository, projectRepository,
userRepository, bridgeheadConfiguration);
}

}

0 comments on commit 7aeb18a

Please sign in to comment.