Skip to content

Commit

Permalink
Resolve code scanning finds (#65)
Browse files Browse the repository at this point in the history
  • Loading branch information
sree-cfa authored and enyia21 committed Feb 23, 2024
1 parent 909e01b commit d411676
Show file tree
Hide file tree
Showing 30 changed files with 29 additions and 631 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_ID }}
path: /home/runner/work/codeql/results
path: /home/runner/work/il-gcc-form-flow/results
retention-days: 14
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public class CheckIndicatedContactMethodIsProvided implements Action {
@Autowired
MessageSource messageSource;

@Override
public Map<String, List<String>> runValidation(FormSubmission formSubmission, Submission submission) {
log.info("Running CheckIndicatedContactMethodIsProvided");
String HOW_TO_CONTACT_YOU_INPUT = "howToContactYou[]";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,40 +23,44 @@
@Component
public class SendEmailConfirmation implements Action {

@Autowired
MessageSource messageSource;
@Autowired
private PdfService pdfService;
@Autowired
private MailgunEmailClient mailgunEmailClient;
private final MessageSource messageSource;
private final PdfService pdfService;
private final MailgunEmailClient mailgunEmailClient;

@Value("${form-flow.flow.ubi.email.confirmation.cc:}")
private List<String> emailToCc;

@Value("${form-flow.flow.ubi.email.confirmation.bcc:}")
private List<String> emailToBcc;

public SendEmailConfirmation(MessageSource messageSource, PdfService pdfService, MailgunEmailClient mailgunEmailClient) {
this.messageSource = messageSource;
this.pdfService = pdfService;
this.mailgunEmailClient = mailgunEmailClient;
}

@Override
public void run(Submission submission) {
ArrayList<String> howToContactYou = (ArrayList<String>) submission.getInputData().get("howToContactYou[]");
Boolean agreesToEmailContact = howToContactYou.stream().anyMatch(contactType -> contactType.equals("email"));
List<String> howToContactYou = (List<String>) submission.getInputData().get("howToContactYou[]");
boolean agreesToEmailContact = howToContactYou.stream().anyMatch(contactType -> contactType.equals("email"));
if (!agreesToEmailContact) {
return;
}
String recipientEmail = (String) submission.getInputData().get("email");
if (recipientEmail == null || recipientEmail.isBlank()) {
return;
}
Optional<Boolean> requireTls = Optional.empty();
// Optional<Boolean> requireTls = Optional.empty();

String emailSubject = messageSource.getMessage("email.subject", null, null);
Object[] args = new Object[]{submission.getId().toString()};
String emailBody = messageSource.getMessage("email.body", args, null);
// String emailSubject = messageSource.getMessage("email.subject", null, null);
// Object[] args = new Object[]{submission.getId().toString()};
// String emailBody = messageSource.getMessage("email.body", args, null);
List<File> pdfs = new ArrayList<File>();
generateApplicationAndAttachToEmail(recipientEmail, emailSubject, emailToCc, emailToBcc, emailBody, pdfs, requireTls, submission);
// generateApplicationAndAttachToEmail(recipientEmail, emailSubject, emailToCc, emailToBcc, emailBody, pdfs, requireTls, submission);

String nextStepsSubject = messageSource.getMessage("next-steps-email.subject", null, null);
String nextStepsBody = messageSource.getMessage("next-steps-email.body", null, null);
pdfs = new ArrayList<File>();
pdfs = new ArrayList<>();
MessageResponse nextStepsResponse = mailgunEmailClient.sendEmail(
nextStepsSubject,
recipientEmail,
Expand All @@ -65,45 +69,9 @@ public void run(Submission submission) {
nextStepsBody,
pdfs
);
Boolean confirmationWasQueued = nextStepsResponse.getMessage().contains("Queued. Thank you.");
boolean confirmationWasQueued = nextStepsResponse.getMessage().contains("Queued. Thank you.");
log.info("Mailgun MessageResponse confirms message was queued (true/false): " + confirmationWasQueued);
submission.getInputData().put("confirmationEmailQueued", confirmationWasQueued.toString());
submission.getInputData().put("confirmationEmailQueued", Boolean.toString(confirmationWasQueued));
submission.setInputData(submission.getInputData());
}

public MessageResponse generateApplicationAndAttachToEmail(
String recipientEmail,
String emailSubject,
List<String> emailToCc,
List<String> emailToBcc,
String emailBody,
List<File>pdfs,
Optional requireTls,
Submission submission){
try {
String generateStringPrefixName = pdfService.generatePdfName(submission);
File pdf = File.createTempFile(generateStringPrefixName, ".pdf");
byte[] pdfByteArray = pdfService.getFilledOutPDF(submission);
FileOutputStream fos = new FileOutputStream(pdf);
fos.write(pdfByteArray);
fos.flush();
pdfs.add(pdf);
MessageResponse response;
if(requireTls.isPresent() && requireTls.get().equals(false)){
mailgunEmailClient.setRequireTls(false);
}
response = mailgunEmailClient.sendEmail(
emailSubject,
recipientEmail,
emailToCc,
emailToBcc,
emailBody,
pdfs
);
pdf.delete();
return response;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public class SetLanguagePreferences implements Action {

public static final Map<String, String> LOCALE_TO_LANG = Map.of("es", "Spanish", "en", "English");

@Override
public void run(Submission submission) {
Locale locale = LocaleContextHolder.getLocale();

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public class ValidateChildrenCCAPStartDate extends VerifyDate {
private final String INPUT_NAME = "ccapStartDate";
private static final String EARLIEST_DATE_SUPPORTED = "01/01/1901";
private static final DateTimeFormatter dtf = DateTimeFormat.forPattern("MM/dd/yyyy");
@Override
public Map<String, List<String>> runValidation(FormSubmission formSubmission, Submission submission) {
log.info("Running ValidateCCAPStartDate");
Locale locale = LocaleContextHolder.getLocale();
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
@Component
public class ClassesTaughtSchedule implements Condition {

@Override
public Boolean run(Submission submission) {
return SubmissionUtilities.getProgramSchedule(submission).equalsIgnoreCase("NO");
}
Expand Down

This file was deleted.

This file was deleted.

Loading

0 comments on commit d411676

Please sign in to comment.