mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
Accept storageReference (file path) as optional input
This commit is contained in:
@ -92,16 +92,21 @@ public class RenderSavedReportExecuteStep implements BackendStep
|
|||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
// read inputs, set up params //
|
// read inputs, set up params //
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
String sesProviderName = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.SES_PROVIDER_NAME);
|
String sesProviderName = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.SES_PROVIDER_NAME);
|
||||||
String fromEmailAddress = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FROM_EMAIL_ADDRESS);
|
String fromEmailAddress = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FROM_EMAIL_ADDRESS);
|
||||||
String replyToEmailAddress = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.REPLY_TO_EMAIL_ADDRESS);
|
String replyToEmailAddress = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.REPLY_TO_EMAIL_ADDRESS);
|
||||||
String storageTableName = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_STORAGE_TABLE_NAME);
|
String storageTableName = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_STORAGE_TABLE_NAME);
|
||||||
ReportFormat reportFormat = ReportFormat.fromString(runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_REPORT_FORMAT));
|
ReportFormat reportFormat = ReportFormat.fromString(runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_REPORT_FORMAT));
|
||||||
String sendToEmailAddress = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_EMAIL_ADDRESS);
|
String sendToEmailAddress = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_EMAIL_ADDRESS);
|
||||||
String emailSubject = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_EMAIL_SUBJECT);
|
String emailSubject = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_EMAIL_SUBJECT);
|
||||||
SavedReport savedReport = new SavedReport(runBackendStepInput.getRecords().get(0));
|
SavedReport savedReport = new SavedReport(runBackendStepInput.getRecords().get(0));
|
||||||
String downloadFileBaseName = getDownloadFileBaseName(runBackendStepInput, savedReport);
|
|
||||||
String storageReference = LocalDate.now() + "/" + LocalTime.now().toString().replaceAll(":", "").replaceFirst("\\..*", "") + "/" + UUID.randomUUID() + "/" + downloadFileBaseName + "." + reportFormat.getExtension();
|
String downloadFileBaseName = getDownloadFileBaseName(runBackendStepInput, savedReport);
|
||||||
|
String storageReference = runBackendStepInput.getValueString(RenderSavedReportMetaDataProducer.FIELD_NAME_STORAGE_REFERENCE);
|
||||||
|
if(!StringUtils.hasContent(storageReference))
|
||||||
|
{
|
||||||
|
storageReference = LocalDate.now() + "/" + LocalTime.now().toString().replaceAll(":", "").replaceFirst("\\..*", "") + "/" + UUID.randomUUID() + "/" + downloadFileBaseName + "." + reportFormat.getExtension();
|
||||||
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// if sending an email (or emails), validate the addresses before doing anything so user gets error and can fix //
|
// if sending an email (or emails), validate the addresses before doing anything so user gets error and can fix //
|
||||||
@ -241,7 +246,7 @@ public class RenderSavedReportExecuteStep implements BackendStep
|
|||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
private String getDownloadFileBaseName(RunBackendStepInput runBackendStepInput, SavedReport report)
|
public static String getDownloadFileBaseName(RunBackendStepInput runBackendStepInput, SavedReport report)
|
||||||
{
|
{
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HHmm").withZone(ZoneId.systemDefault());
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd-HHmm").withZone(ZoneId.systemDefault());
|
||||||
String datePart = formatter.format(Instant.now());
|
String datePart = formatter.format(Instant.now());
|
||||||
|
@ -56,6 +56,7 @@ public class RenderSavedReportMetaDataProducer implements MetaDataProducerInterf
|
|||||||
public static final String FROM_EMAIL_ADDRESS = "fromEmailAddress";
|
public static final String FROM_EMAIL_ADDRESS = "fromEmailAddress";
|
||||||
public static final String REPLY_TO_EMAIL_ADDRESS = "replyToEmailAddress";
|
public static final String REPLY_TO_EMAIL_ADDRESS = "replyToEmailAddress";
|
||||||
public static final String FIELD_NAME_STORAGE_TABLE_NAME = "storageTableName";
|
public static final String FIELD_NAME_STORAGE_TABLE_NAME = "storageTableName";
|
||||||
|
public static final String FIELD_NAME_STORAGE_REFERENCE = "storageReference";
|
||||||
public static final String FIELD_NAME_REPORT_FORMAT = "reportFormat";
|
public static final String FIELD_NAME_REPORT_FORMAT = "reportFormat";
|
||||||
public static final String FIELD_NAME_EMAIL_ADDRESS = "reportDestinationEmailAddress";
|
public static final String FIELD_NAME_EMAIL_ADDRESS = "reportDestinationEmailAddress";
|
||||||
public static final String FIELD_NAME_EMAIL_SUBJECT = "emailSubject";
|
public static final String FIELD_NAME_EMAIL_SUBJECT = "emailSubject";
|
||||||
@ -81,6 +82,7 @@ public class RenderSavedReportMetaDataProducer implements MetaDataProducerInterf
|
|||||||
.withField(new QFieldMetaData(FROM_EMAIL_ADDRESS, QFieldType.STRING))
|
.withField(new QFieldMetaData(FROM_EMAIL_ADDRESS, QFieldType.STRING))
|
||||||
.withField(new QFieldMetaData(REPLY_TO_EMAIL_ADDRESS, QFieldType.STRING))
|
.withField(new QFieldMetaData(REPLY_TO_EMAIL_ADDRESS, QFieldType.STRING))
|
||||||
.withField(new QFieldMetaData(FIELD_NAME_STORAGE_TABLE_NAME, QFieldType.STRING))
|
.withField(new QFieldMetaData(FIELD_NAME_STORAGE_TABLE_NAME, QFieldType.STRING))
|
||||||
|
.withField(new QFieldMetaData(FIELD_NAME_STORAGE_REFERENCE, QFieldType.STRING))
|
||||||
.withRecordListMetaData(new QRecordListMetaData().withTableName(SavedReport.TABLE_NAME)))
|
.withRecordListMetaData(new QRecordListMetaData().withTableName(SavedReport.TABLE_NAME)))
|
||||||
.withCode(new QCodeReference(RenderSavedReportPreStep.class)))
|
.withCode(new QCodeReference(RenderSavedReportPreStep.class)))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user