Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,13 @@ public void sendExternalAccept(ExternalAcceptEmailModel emailModel) {

@Override
public void sendExternalReject(ExternalRejectEmailModel emailModel) {
LOGGER.debug(format("Sending external email rejecting submission [%s]", emailModel.getSubmission().getId()));
LOGGER.debug(format("Sending external email rejecting submission [%s]", emailModel.submission().getId()));
sendMessage(this.emailMapperFactory.getRejectEmailMapper().map(emailModel));
}

@Override
public void sendInternalFailedAV(InternalAvFailedEmailModel emailModel) {
LOGGER.debug(format("Sending internal av failed email rejecting submission [%s]", emailModel.getSubmission().getId()));
LOGGER.debug(format("Sending internal av failed email rejecting submission [%s]", emailModel.submission().getId()));
sendMessage(this.emailMapperFactory.getInternalAvFailedEmailMapper().map(emailModel));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ public EmailDocument<ExternalAcceptEmailData> map(ExternalAcceptEmailModel model

private ExternalAcceptEmailData fromSubmission(ExternalAcceptEmailModel model) {
LocalDateTime submittedAt = model.getSubmission().getSubmittedAt() == null ? model.getSubmission().getCreatedAt() : model.getSubmission().getSubmittedAt();
return ExternalAcceptEmailData.builder()
.withTo(model.getSubmission().getPresenter().getEmail())
.withSubject(config.getSubject())
.withCompanyNumber(model.getSubmission().getCompany().getCompanyNumber())
.withCompanyName(model.getSubmission().getCompany().getCompanyName())
.withConfirmationReference(model.getSubmission().getConfirmationReference())
.withFormType(model.getSubmission().getFormDetails().getFormType())
.withSubmittedDate(submittedAt.format(DateTimeFormatter.ofPattern(config.getDateFormat())))
.build();
return new ExternalAcceptEmailData(
model.getSubmission().getPresenter().getEmail(),
config.getSubject(),
model.getSubmission().getCompany().getCompanyNumber(),
model.getSubmission().getCompany().getCompanyName(),
model.getSubmission().getConfirmationReference(),
model.getSubmission().getFormDetails().getFormType(),
submittedAt.format(DateTimeFormatter.ofPattern(config.getDateFormat()))
);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,39 +14,39 @@

@Component
public class ExternalRejectEmailMapper {
private ExternalRejectedEmailConfig config;
private IdentifierGeneratable idGenerator;
private TimestampGenerator<LocalDateTime> timestampGenerator;
private final ExternalRejectedEmailConfig config;
private final IdentifierGeneratable idGenerator;
private final TimestampGenerator<LocalDateTime> timestampGenerator;

public ExternalRejectEmailMapper(ExternalRejectedEmailConfig config, IdentifierGeneratable idGenerator, TimestampGenerator<LocalDateTime> timestampGenerator) {
public ExternalRejectEmailMapper(final ExternalRejectedEmailConfig config, final IdentifierGeneratable idGenerator, final TimestampGenerator<LocalDateTime> timestampGenerator) {
this.config = config;
this.idGenerator = idGenerator;
this.timestampGenerator = timestampGenerator;
}

public EmailDocument<ExternalRejectEmailData> map(ExternalRejectEmailModel model) {
public EmailDocument<ExternalRejectEmailData> map(final ExternalRejectEmailModel model) {
return EmailDocument.<ExternalRejectEmailData>builder()
.withTopic(config.getTopic())
.withMessageId(idGenerator.generateId())
.withRecipientEmailAddress(model.getSubmission().getPresenter().getEmail())
.withRecipientEmailAddress(model.submission().getPresenter().getEmail())
.withEmailTemplateAppId(config.getAppId())
.withEmailTemplateMessageType(config.getMessageType())
.withData(fromSubmission(model))
.withCreatedAt(timestampGenerator.generateTimestamp()
.format(DateTimeFormatter.ofPattern(config.getDateFormat()))).build();
}

private ExternalRejectEmailData fromSubmission(ExternalRejectEmailModel model) {
return ExternalRejectEmailData.builder()
.withTo(model.getSubmission().getPresenter().getEmail())
.withSubject(config.getSubject())
.withCompanyNumber(model.getSubmission().getCompany().getCompanyNumber())
.withCompanyName(model.getSubmission().getCompany().getCompanyName())
.withConfirmationReference(model.getSubmission().getConfirmationReference())
.withFormType(model.getSubmission().getFormDetails().getFormType())
.withRejectionDate(model.getSubmission().getLastModifiedAt().format(DateTimeFormatter.ofPattern(config.getDateFormat())))
.withRejectReasons(model.getRejectReasons())
.withIsPaidForm(!Strings.isNullOrEmpty(model.getSubmission().getFeeOnSubmission()))
.build();
private ExternalRejectEmailData fromSubmission(final ExternalRejectEmailModel model) {
return new ExternalRejectEmailData(
model.submission().getPresenter().getEmail(),
config.getSubject(),
model.submission().getCompany().getCompanyNumber(),
model.submission().getCompany().getCompanyName(),
model.submission().getConfirmationReference(),
model.submission().getFormDetails().getFormType(),
model.submission().getLastModifiedAt().format(DateTimeFormatter.ofPattern(config.getDateFormat())),
model.rejectReasons(),
!Strings.isNullOrEmpty(model.submission().getFeeOnSubmission())
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@

@Component
public class InternalAvFailedEmailMapper {
private InternalFailedAvEmailConfig config;
private IdentifierGeneratable idGenerator;
private TimestampGenerator<LocalDateTime> timestampGenerator;
private FormCategoryToEmailAddressService emailAddressService;
private final InternalFailedAvEmailConfig config;
private final IdentifierGeneratable idGenerator;
private final TimestampGenerator<LocalDateTime> timestampGenerator;
private final FormCategoryToEmailAddressService emailAddressService;

/**
* Constructor.
Expand All @@ -26,9 +26,9 @@ public class InternalAvFailedEmailMapper {
* @param timestampGenerator dependency
* @param emailAddressService dependency
*/
public InternalAvFailedEmailMapper(InternalFailedAvEmailConfig config, IdentifierGeneratable idGenerator,
TimestampGenerator<LocalDateTime> timestampGenerator,
FormCategoryToEmailAddressService emailAddressService) {
public InternalAvFailedEmailMapper(final InternalFailedAvEmailConfig config, final IdentifierGeneratable idGenerator,
final TimestampGenerator<LocalDateTime> timestampGenerator,
final FormCategoryToEmailAddressService emailAddressService) {
this.config = config;
this.idGenerator = idGenerator;
this.timestampGenerator = timestampGenerator;
Expand All @@ -41,8 +41,8 @@ public InternalAvFailedEmailMapper(InternalFailedAvEmailConfig config, Identifie
* @param model the email model
* @return EmailDocument&lt;InternalAvFailedEmailData&gt;
*/
public EmailDocument<InternalAvFailedEmailData> map(InternalAvFailedEmailModel model) {
String emailAddress = emailAddressService.getEmailAddressForFormCategory(model.getSubmission().getFormDetails().getFormType());
public EmailDocument<InternalAvFailedEmailData> map(final InternalAvFailedEmailModel model) {
final String emailAddress = emailAddressService.getEmailAddressForFormCategory(model.submission().getFormDetails().getFormType());
return EmailDocument.<InternalAvFailedEmailData>builder()
.withTopic(config.getTopic())
.withMessageId(idGenerator.generateId())
Expand All @@ -54,17 +54,17 @@ public EmailDocument<InternalAvFailedEmailData> map(InternalAvFailedEmailModel m
.format(DateTimeFormatter.ofPattern(config.getDateFormat()))).build();
}

private InternalAvFailedEmailData fromSubmission(InternalAvFailedEmailModel model, String emailAddress) {
return InternalAvFailedEmailData.builder()
.withTo(emailAddress)
.withCompanyName(model.getSubmission().getCompany().getCompanyName())
.withCompanyNumber(model.getSubmission().getCompany().getCompanyNumber())
.withConfirmationReference(model.getSubmission().getConfirmationReference())
.withFormType(model.getSubmission().getFormDetails().getFormType())
.withSubject(config.getSubject())
.withInfectedFiles(model.getInfectedFiles())
.withRejectionDate(model.getSubmission().getLastModifiedAt().format(DateTimeFormatter.ofPattern(config.getDateFormat())))
.withUserEmail(model.getSubmission().getPresenter().getEmail())
.build();
private InternalAvFailedEmailData fromSubmission(final InternalAvFailedEmailModel model, final String emailAddress) {
return new InternalAvFailedEmailData(
emailAddress,
model.submission().getCompany().getCompanyNumber(),
model.submission().getCompany().getCompanyName(),
model.submission().getConfirmationReference(),
model.submission().getFormDetails().getFormType(),
model.submission().getPresenter().getEmail(),
model.submission().getLastModifiedAt().format(DateTimeFormatter.ofPattern(config.getDateFormat())),
config.getSubject(),
model.infectedFiles()
);
}
}
Original file line number Diff line number Diff line change
@@ -1,160 +1,21 @@
package uk.gov.companieshouse.efs.api.email.model;

import java.util.Objects;

public class ExternalAcceptEmailData {

private String to;
private String subject;
private String companyNumber;
private String companyName;
private String confirmationReference;
private String formType;
private String submittedDate;

public ExternalAcceptEmailData(String to, String subject, String companyNumber, String companyName, String confirmationReference, String formType, String submittedDate) {
this.to = to;
this.subject = subject;
this.companyNumber = companyNumber;
this.companyName = companyName;
this.confirmationReference = confirmationReference;
this.formType = formType;
this.submittedDate = submittedDate;
}

public String getTo() {
return to;
}

public void setTo(String to) {
this.to = to;
}

public String getSubject() {
return subject;
}

public void setSubject(String subject) {
this.subject = subject;
}

public String getCompanyNumber() {
return companyNumber;
}

public void setCompanyNumber(String companyNumber) {
this.companyNumber = companyNumber;
}

public String getCompanyName() {
return companyName;
}

public void setCompanyName(String companyName) {
this.companyName = companyName;
}

public String getConfirmationReference() {
return confirmationReference;
}

public void setConfirmationReference(String confirmationReference) {
this.confirmationReference = confirmationReference;
}

public String getFormType() {
return formType;
}

public void setFormType(String formType) {
this.formType = formType;
}

public String getSubmittedDate() {
return submittedDate;
}

public void setSubmittedDate(String submittedDate) {
this.submittedDate = submittedDate;
}

@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
final ExternalAcceptEmailData that = (ExternalAcceptEmailData) o;
return Objects.equals(getTo(), that.getTo()) && Objects
.equals(getSubject(), that.getSubject()) && Objects
.equals(getCompanyNumber(), that.getCompanyNumber()) && Objects
.equals(getCompanyName(), that.getCompanyName()) && Objects
.equals(getConfirmationReference(), that.getConfirmationReference()) && Objects
.equals(getFormType(), that.getFormType()) && Objects
.equals(getSubmittedDate(), that.getSubmittedDate());
}

@Override
public int hashCode() {
return Objects.hash(getTo(), getSubject(), getCompanyNumber(), getCompanyName(),
getConfirmationReference(), getFormType(), getSubmittedDate());
}

public static ExternalAcceptEmailData.Builder builder() {
return new ExternalAcceptEmailData.Builder();
}

public static class Builder {

private String to;
private String subject;
private String companyNumber;
private String companyName;
private String confirmationReference;
private String formType;
private String submittedDate;

public ExternalAcceptEmailData.Builder withTo(String to) {
this.to = to;
return this;
}

public ExternalAcceptEmailData.Builder withSubject(String subject) {
this.subject = subject;
return this;
}

public ExternalAcceptEmailData.Builder withCompanyNumber(String companyNumber) {
this.companyNumber = companyNumber;
return this;
}

public ExternalAcceptEmailData.Builder withCompanyName(String companyName) {
this.companyName = companyName;
return this;
}

public ExternalAcceptEmailData.Builder withConfirmationReference(String confirmationReference) {
this.confirmationReference = confirmationReference;
return this;
}

public ExternalAcceptEmailData.Builder withFormType(String formType) {
this.formType = formType;
return this;
}

public ExternalAcceptEmailData.Builder withSubmittedDate(String submittedDate) {
this.submittedDate = submittedDate;
return this;
}

public ExternalAcceptEmailData build() {
return new ExternalAcceptEmailData(to, subject, companyNumber, companyName, confirmationReference, formType, submittedDate);
}

}

}
/**
* Represents the external accept email data for notification purposes.
* @param to recipient email address
* @param subject email subject
* @param companyNumber company number
* @param companyName company name
* @param confirmationReference confirmation reference
* @param formType form type
* @param submittedDate date of submission
*/
public record ExternalAcceptEmailData(
String to,
String subject,
String companyNumber,
String companyName,
String confirmationReference,
String formType,
String submittedDate
) {}
Loading