Skip to content

Commit

Permalink
Implement ResendFailedEmailController
Browse files Browse the repository at this point in the history
- Resend endpoint at /resend-confirmation-email/{application_id}

[#178367953]

Co-authored-by: Andrew Edstrom <aedstrom@codeforamerica.org>
Co-authored-by: Sree Prasad <sprasad@codeforamerica.org>
Co-authored-by: Eric Johnson <eric.m.johnson@state.mn.us>
  • Loading branch information
4 people committed Jul 8, 2021
1 parent 723b494 commit acaa5a6
Showing 1 changed file with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import org.codeforamerica.shiba.application.Application;
import org.codeforamerica.shiba.application.ApplicationRepository;
import org.codeforamerica.shiba.application.FlowType;
import org.codeforamerica.shiba.application.parsers.DocumentListParser;
import org.codeforamerica.shiba.application.parsers.EmailParser;
import org.codeforamerica.shiba.output.caf.CcapExpeditedEligibility;
Expand Down Expand Up @@ -53,11 +54,15 @@ public String resendConfirmationEmail(@PathVariable String applicationId) {

EmailParser.parse(applicationData)
.ifPresent(email -> {
SnapExpeditedEligibility snapExpeditedEligibility = snapExpeditedEligibilityDecider.decide(application.getApplicationData());
CcapExpeditedEligibility ccapExpeditedEligibility = ccapExpeditedEligibilityDecider.decide(application.getApplicationData());
List<Document> docs = DocumentListParser.parse(applicationData);
List<ApplicationFile> pdfs = docs.stream().map(doc -> pdfGenerator.generate(applicationId, doc, CLIENT)).collect(Collectors.toList());
emailClient.sendConfirmationEmail(applicationData, email, applicationId, new ArrayList<>(applicationData.getApplicantAndHouseholdMemberPrograms()), snapExpeditedEligibility, ccapExpeditedEligibility, pdfs, LocaleContextHolder.getLocale());
if (application.getFlow() == FlowType.LATER_DOCS) {
emailClient.sendLaterDocsConfirmationEmail(email, LocaleContextHolder.getLocale());
} else {
SnapExpeditedEligibility snapExpeditedEligibility = snapExpeditedEligibilityDecider.decide(application.getApplicationData());
CcapExpeditedEligibility ccapExpeditedEligibility = ccapExpeditedEligibilityDecider.decide(application.getApplicationData());
List<Document> docs = DocumentListParser.parse(applicationData);
List<ApplicationFile> pdfs = docs.stream().map(doc -> pdfGenerator.generate(applicationId, doc, CLIENT)).collect(Collectors.toList());
emailClient.sendConfirmationEmail(applicationData, email, applicationId, new ArrayList<>(applicationData.getApplicantAndHouseholdMemberPrograms()), snapExpeditedEligibility, ccapExpeditedEligibility, pdfs, LocaleContextHolder.getLocale());
}
});

return "Successfully resent confirmation email for application: " + applicationId;
Expand Down

0 comments on commit acaa5a6

Please sign in to comment.