Files
crab-webapp/src/routes/datasets.js
2025-05-07 18:21:29 +02:00

34 lines
976 B
JavaScript

import { Router } from "express";
import { join } from "path";
import { getProjectPath } from "../utils/paths.js";
const router = Router();
// Environment variables for paths (all relative to project root)
const DATA_DIR = getProjectPath("data");
const DATASETS = ["comment_generation", "code_refinement"];
router.get("/download/:dataset", async (req, res) => {
const { dataset } = req.params;
const withContext = req.query.withContext
? JSON.parse(req.query.withContext)
: false;
if (!DATASETS.includes(dataset)) {
return res.status(400).json({ error: "Invalid dataset name" });
}
const fileName = `${dataset}_${withContext ? "with_context" : "no_context"}.zip`;
const filePath = join(DATA_DIR, fileName);
try {
res.download(filePath);
} catch (error) {
console.error("Error serving file:", error);
res.status(500).json({ error: "Error serving file" });
}
});
export default router;