78 lines
1.9 KiB
JavaScript
78 lines
1.9 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const Idea = require('../models/Idea');
|
|
|
|
//get all ideas
|
|
router.get('/', async (req, res) => {
|
|
try {
|
|
const ideas = await Idea.find();
|
|
res.json({ success: true, data_base: ideas });
|
|
} catch (error) {
|
|
res.status(500).json({ success: false, error: 'Something went wrong' });
|
|
}
|
|
});
|
|
|
|
//get one idea
|
|
router.get('/:id', async (req, res) => {
|
|
try {
|
|
const idea = await Idea.findById(req.params.id);
|
|
res.json({ success: true, data_base: idea });
|
|
} catch (error) {
|
|
console.log(error);
|
|
res.status(500).json({ message: false, error: 'Something went wrong' });
|
|
}
|
|
|
|
res.json({ success: true, data_base: idea });
|
|
});
|
|
|
|
//add an idea
|
|
router.post('/', async (req, res) => {
|
|
const idea = new Idea({
|
|
text: req.body.text,
|
|
tag: req.body.tag,
|
|
username: req.body.username,
|
|
});
|
|
|
|
try {
|
|
const savedIdea = await idea.save();
|
|
res.json({ success: true, data_base: savedIdea });
|
|
} catch (error) {
|
|
res.status(500).json({ success: false, error: 'Something went wrong' });
|
|
}
|
|
});
|
|
|
|
//update idea
|
|
router.put('/:id', async (req, res) => {
|
|
try {
|
|
const updatedIdea = await Idea.findByIdAndUpdate(
|
|
req.params.id,
|
|
{
|
|
$set: {
|
|
text: req.body.text,
|
|
tag: req.body.tag,
|
|
},
|
|
},
|
|
{
|
|
new: true, //if the id doesn't exist, a new record will be created
|
|
}
|
|
);
|
|
res.json({ successs: true, data_base: updatedIdea });
|
|
} catch (error) {
|
|
console.loh(error);
|
|
res.status(500).json({ success: false, error: 'Something went wrong' });
|
|
}
|
|
});
|
|
|
|
//delete an idea
|
|
router.delete('/:id', async (req, res) => {
|
|
try {
|
|
await Idea.findByIdAndDelete(req.params.id);
|
|
res.json({ sucess: true, data: {} });
|
|
} catch (error) {
|
|
console.log(error);
|
|
res.status(500).json({ success: false, error: 'Something went wrong' });
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|