Skip to content

Commit 65c58fa

Browse files
committed
fix type errors in generatedatareportscsv
1 parent 34d7e0c commit 65c58fa

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

backend/crons/scripts/generateDataReport.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ interface LoginStats {
4141
login_date: string;
4242
}
4343

44-
interface DataReport {
44+
export interface DataReport {
4545
reportPeriod: string;
4646
startDate: string;
4747
endDate: string;
@@ -54,7 +54,7 @@ interface DataReport {
5454
}
5555

5656
// Main function to generate a json for data report
57-
async function generateDataReport(
57+
export async function generateDataReport(
5858
params: DataReportParams
5959
): Promise<DataReport | null> {
6060
try {

backend/crons/scripts/generateDataReportCSV.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import path from "path";
22
import fs from "fs/promises";
3-
import generateDataReport from "./generateDataReport";
3+
import { generateDataReport, DataReport } from "./generateDataReport";
44

55
// Convert JSON data to CSV format
6-
function jsonToCsv(data: any[], headers: string[]): string {
7-
if (data.length === 0) return headers.join(",") + "\n";
6+
function jsonToCsv(data: object[], headers: string[]): string {
7+
if (data.length === 0) return `${headers.join(",")}\n`;
88

99
const csvRows = [headers.join(",")];
1010

11-
for (const row of data) {
11+
const rows = data.map((row) => {
1212
const values = headers.map((header) => {
13-
const value = row[header];
13+
const value = (row as Record<string, unknown>)[header];
1414
// Escape commas and quotes in CSV
1515
if (
1616
typeof value === "string" &&
@@ -20,14 +20,15 @@ function jsonToCsv(data: any[], headers: string[]): string {
2020
}
2121
return value ?? "";
2222
});
23-
csvRows.push(values.join(","));
24-
}
23+
return values.join(",");
24+
});
25+
csvRows.push(...rows);
2526

26-
return csvRows.join("\n") + "\n";
27+
return `${csvRows.join("\n")}\n`;
2728
}
2829

2930
// Generate a single comprehensive CSV with all data types
30-
function generateComprehensiveCSV(report: any): string {
31+
function generateComprehensiveCSV(report: DataReport): string {
3132
const csvSections: string[] = [];
3233

3334
// Report header information

0 commit comments

Comments
 (0)