MedicalAIWiki / backend /routes /algorithms.js
AleksanderObuchowski's picture
Initial commit for Hugging Face Spaces
e4f1db2
const express = require('express');
const fs = require('fs');
const path = require('path');
const router = express.Router();
const ALGORITHMS_PATH = path.join(__dirname, '../../data/algorithms.json');
router.get('/', (req, res) => {
try {
const data = fs.readFileSync(ALGORITHMS_PATH, 'utf8');
const algorithms = JSON.parse(data);
res.json(algorithms);
} catch (error) {
res.status(500).json({ error: 'Failed to load algorithms' });
}
});
router.put('/', (req, res) => {
try {
const updatedAlgorithms = req.body;
fs.writeFileSync(ALGORITHMS_PATH, JSON.stringify(updatedAlgorithms, null, 2));
res.json({ message: 'Algorithms updated successfully' });
} catch (error) {
res.status(500).json({ error: 'Failed to update algorithms' });
}
});
router.get('/categories', (req, res) => {
try {
const data = fs.readFileSync(ALGORITHMS_PATH, 'utf8');
const algorithms = JSON.parse(data);
const categories = {};
Object.values(algorithms.algorithms).forEach(algo => {
if (!categories[algo.category]) {
categories[algo.category] = [];
}
categories[algo.category].push(algo.name);
});
res.json(categories);
} catch (error) {
res.status(500).json({ error: 'Failed to get categories' });
}
});
module.exports = router;