fix: unit router PUT request

This commit is contained in:
Ruslan Zagitov
2025-01-30 12:41:00 +03:00
parent 16fda2e7ed
commit 4ef941d62f
4 changed files with 167 additions and 19 deletions

View File

@@ -10,33 +10,37 @@ router.get('/', (req, res) => {
});
router.put('/', (req, res) => {
const newUnit = req.body
const newUnit = req.body;
if (!newUnit) {
return res.status(400).send('No new unit to be added')
}
if (!newUnit) {
return res.status(400).send('No new unit to be added');
}
if (!data) {
return res.status(500).send('No data to be updated')
}
if (!data) {
return res.status(500).send('No data to be updated');
}
data.push({ "id": data.length, ...newUnit })
const newId = data.length + 1;
const fileName = newUnit.name.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
fs.writeFileSync(path.join(__dirname, 'data', `${fileName}.md`), newUnit.content);
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
res.status(200).send(data);
data.push({ id: newId, fileName: fileName, name: newUnit.name });
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
res.status(200).send(data);
});
router.delete('/:id', (req, res) => {
const id = parseInt(req.params.id);
const index = data.findIndex((unit) => unit.id === id);
const id = parseInt(req.params.id);
const index = data.findIndex((unit) => unit.id === id);
if (index < 0) {
return res.status(404).send('Not found');
}
if (index < 0) {
return res.status(404).send('Not found');
}
data.splice(index, 1);
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
res.send({ message: `Unit with ID ${id} deleted` });
data.splice(index, 1);
fs.writeFileSync(path.join(__dirname, 'data', 'units.json'), JSON.stringify(data));
res.send({ message: `Unit with ID ${id} deleted` });
});
router.get('/:id', (req, res) => {