mirror of
https://github.com/nsacyber/HIRS.git
synced 2025-06-22 00:41:51 +00:00
Script to download the validation report(s) from the ACAPortal from the command line.
This commit is contained in:
@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStreamWriter;
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
@ -138,6 +139,7 @@ public class ValidationReportsPageController extends PageController<NoPageParams
|
|||||||
* @param response object
|
* @param response object
|
||||||
* @throws IOException thrown by BufferedWriter object
|
* @throws IOException thrown by BufferedWriter object
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("checkstyle:magicnumber")
|
||||||
@RequestMapping(value = "download", method = RequestMethod.POST)
|
@RequestMapping(value = "download", method = RequestMethod.POST)
|
||||||
public void download(final HttpServletRequest request,
|
public void download(final HttpServletRequest request,
|
||||||
final HttpServletResponse response) throws IOException {
|
final HttpServletResponse response) throws IOException {
|
||||||
@ -211,7 +213,7 @@ public class ValidationReportsPageController extends PageController<NoPageParams
|
|||||||
response.setHeader("Content-Disposition",
|
response.setHeader("Content-Disposition",
|
||||||
"attachment;filename=validation_report.csv");
|
"attachment;filename=validation_report.csv");
|
||||||
BufferedWriter bufferedWriter = new BufferedWriter(
|
BufferedWriter bufferedWriter = new BufferedWriter(
|
||||||
new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
|
new OutputStreamWriter(response.getOutputStream(), StandardCharsets.UTF_8));
|
||||||
StringBuilder reportData = new StringBuilder();
|
StringBuilder reportData = new StringBuilder();
|
||||||
bufferedWriter.append("Company: " + company + "\n");
|
bufferedWriter.append("Company: " + company + "\n");
|
||||||
bufferedWriter.append("Contract number: " + contractNumber + "\n");
|
bufferedWriter.append("Contract number: " + contractNumber + "\n");
|
||||||
@ -237,8 +239,8 @@ public class ValidationReportsPageController extends PageController<NoPageParams
|
|||||||
reportData.deleteCharAt(reportData.length() - 1);
|
reportData.deleteCharAt(reportData.length() - 1);
|
||||||
reportData.append("\n,,,,,");
|
reportData.append("\n,,,,,");
|
||||||
}
|
}
|
||||||
reportData.delete(reportData.lastIndexOf("\n"), reportData.length());
|
|
||||||
}
|
}
|
||||||
|
reportData.delete(reportData.lastIndexOf(",") - 4, reportData.length());
|
||||||
}
|
}
|
||||||
bufferedWriter.append(columnHeaders + "\n");
|
bufferedWriter.append(columnHeaders + "\n");
|
||||||
bufferedWriter.append(reportData.toString() + "\n");
|
bufferedWriter.append(reportData.toString() + "\n");
|
||||||
|
19
scripts/download_validation_reports.sh
Normal file
19
scripts/download_validation_reports.sh
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#User input parameters:
|
||||||
|
#$1 filter start date 'yyyy-mm-dd'
|
||||||
|
#$2 filter end date 'yyyy-mm-dd'
|
||||||
|
|
||||||
|
endpoint="https://localhost:8443/HIRS_AttestationCAPortal/portal/validation-reports"
|
||||||
|
content=$(curl --insecure $endpoint/list)
|
||||||
|
rawTimes=$(jq -r '.data | map(.createTime | tostring) | join(",")' <<< "$content")
|
||||||
|
createTimes=""
|
||||||
|
for i in ${rawTimes//,/ }
|
||||||
|
do
|
||||||
|
createTimes+="$(date -u +"%Y-%m-%d %H:%M:%S" -d @"$(($i/1000))"),"
|
||||||
|
done
|
||||||
|
deviceNames=$(jq -r '.data | map(.device.name) | join(",")' <<< "$content")
|
||||||
|
echo "Create times: $createTimes"
|
||||||
|
echo "Device names: $deviceNames"
|
||||||
|
curl --data "dateStart=$1&dateEnd=$2&createTimes=$createTimes&deviceNames=$deviceNames" --insecure $endpoint/download
|
||||||
|
|
Reference in New Issue
Block a user