mirror of
https://github.com/karma-riuk/crab-webapp.git
synced 2025-07-05 14:18:12 +02:00
added route to download comment_gen and
code_refinment
This commit is contained in:
34
src/routes/datasets.js
Normal file
34
src/routes/datasets.js
Normal file
@ -0,0 +1,34 @@
|
||||
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 = process.env.DATA_DIR ? getProjectPath(process.env.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;
|
@ -1,4 +1,6 @@
|
||||
import { Router } from 'express';
|
||||
import datasetRoutes from './datasets.js';
|
||||
|
||||
const router = Router();
|
||||
|
||||
// Routes
|
||||
@ -11,4 +13,7 @@ router.get('/api/hello', (_req, res) => {
|
||||
res.json({ message: 'Hello from the backend!' });
|
||||
});
|
||||
|
||||
// Dataset routes
|
||||
router.use('/datasets', datasetRoutes);
|
||||
|
||||
export default router;
|
||||
|
11
src/utils/paths.js
Normal file
11
src/utils/paths.js
Normal file
@ -0,0 +1,11 @@
|
||||
import { fileURLToPath } from 'url';
|
||||
import { dirname, join } from 'path';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
// Get the project root directory (2 levels up from src/utils)
|
||||
export const PROJECT_ROOT = join(__dirname, '../..');
|
||||
|
||||
// Helper function to create paths relative to project root
|
||||
export const getProjectPath = (relativePath) => join(PROJECT_ROOT, relativePath);
|
Reference in New Issue
Block a user