Note routes
parent
78604bc8bd
commit
80a57fc721
|
@ -1,12 +0,0 @@
|
||||||
const mongoose = require('mongoose');
|
|
||||||
|
|
||||||
module.exports = (req, res) => {
|
|
||||||
const NoteModel = mongoose.model('Note');
|
|
||||||
|
|
||||||
NoteModel.find({})
|
|
||||||
.lean()
|
|
||||||
.exec()
|
|
||||||
.then((result) => {
|
|
||||||
res.status(200).json(result);
|
|
||||||
});
|
|
||||||
};
|
|
|
@ -6,13 +6,14 @@ const mongoose = require('mongoose');
|
||||||
module.exports = (req, res) => {
|
module.exports = (req, res) => {
|
||||||
const NoteModel = mongoose.model('Note');
|
const NoteModel = mongoose.model('Note');
|
||||||
|
|
||||||
NoteModel.findByIdAndDelete(req.params.id)
|
NoteModel.findOneAndDelete({ _id: req.params.id }, (err, note) => {
|
||||||
.lean()
|
if (err) return res.status(500).send(err);
|
||||||
.exec()
|
if (!note) return res.status(404).json({ message: 'Note does not exists.' });
|
||||||
.then(() => {
|
|
||||||
res.status(200).json({ success: true, msg: 'Note deleted.' });
|
const response = {
|
||||||
})
|
message: 'Note successfully deleted',
|
||||||
.catch(() => {
|
};
|
||||||
res.status(404).json({ success: false, msg: 'Note does not exists.' });
|
|
||||||
|
return res.status(200).send(response);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,26 +1,16 @@
|
||||||
const note = require('express').Router();
|
const note = require('express').Router();
|
||||||
|
|
||||||
const all = require('./all');
|
|
||||||
const single = require('./single');
|
const single = require('./single');
|
||||||
const create = require('./create');
|
const create = require('./create');
|
||||||
const update = require('./update');
|
const update = require('./update');
|
||||||
const remove = require('./delete');
|
const remove = require('./delete');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {get} /note Request all notes
|
* @api {get} /note/:id Get note
|
||||||
* @apiName GetNotes
|
* @apiName GetNotes
|
||||||
* @apiGroup Note
|
* @apiGroup Note
|
||||||
*
|
*
|
||||||
* @apiSuccess {Array} Array Array of Note objects.
|
* @apiParam {String} id Note unique ID.
|
||||||
*/
|
|
||||||
note.get('/', all);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @api {get} /note/:id Request Note information
|
|
||||||
* @apiName GetNotes
|
|
||||||
* @apiGroup Note
|
|
||||||
*
|
|
||||||
* @apiParam {Number} id Notes unique ID.
|
|
||||||
*
|
*
|
||||||
* @apiSuccess {string} title Title of the note.
|
* @apiSuccess {string} title Title of the note.
|
||||||
* @apiSuccess {string} text Text of the note.
|
* @apiSuccess {string} text Text of the note.
|
||||||
|
@ -37,20 +27,20 @@ note.get('/:id', single);
|
||||||
note.post('/', create);
|
note.post('/', create);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {delete} /note/:id Delete a note
|
* @api {delete} /note/:id Delete note
|
||||||
* @apiName DeleteNote
|
* @apiName DeleteNote
|
||||||
* @apiGroup Note
|
* @apiGroup Note
|
||||||
*
|
*
|
||||||
* @apiParam {Number} id Note id.
|
* @apiParam {String} id Note unique ID.
|
||||||
*/
|
*/
|
||||||
note.delete('/:id', remove);
|
note.delete('/:id', remove);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {put} /note/:id Update a note
|
* @api {put} /note/:id Update note
|
||||||
* @apiName UpdateNote
|
* @apiName UpdateNote
|
||||||
* @apiGroup Note
|
* @apiGroup Note
|
||||||
*
|
*
|
||||||
* @apiParam {Number} id Note id.
|
* @apiParam {String} id Note unique ID.
|
||||||
*
|
*
|
||||||
* @apiSuccess {Object} Object Updated note.
|
* @apiSuccess {Object} Object Updated note.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,12 +1,18 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
|
|
||||||
|
// TODO: verify owner
|
||||||
|
|
||||||
module.exports = (req, res) => {
|
module.exports = (req, res) => {
|
||||||
const NoteModel = mongoose.model('Note');
|
const NoteModel = mongoose.model('Note');
|
||||||
|
|
||||||
NoteModel.find({ _id: req.params.id })
|
NoteModel.findOne({ _id: req.params.id })
|
||||||
.lean()
|
.lean()
|
||||||
.exec()
|
.exec()
|
||||||
.then((result) => {
|
.then((result) => {
|
||||||
|
if (result === null) {
|
||||||
|
res.status(404).json({ success: false, msg: 'Note does not exists.' });
|
||||||
|
}
|
||||||
|
|
||||||
res.status(200).json(result);
|
res.status(200).json(result);
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
|
|
|
@ -1,15 +1,28 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
|
|
||||||
|
// TODO: verify auth
|
||||||
|
// TODO: verify owner
|
||||||
|
|
||||||
module.exports = (req, res) => {
|
module.exports = (req, res) => {
|
||||||
const NoteModel = mongoose.model('Note');
|
const NoteModel = mongoose.model('Note');
|
||||||
|
|
||||||
NoteModel.find({ _id: req.params.id })
|
NoteModel.findOneAndUpdate(
|
||||||
.lean()
|
// the id of the item to find
|
||||||
.exec()
|
{ _id: req.params.id },
|
||||||
.then((result) => {
|
|
||||||
res.status(200).json(result);
|
// the change to be made. Mongoose will smartly combine your existing
|
||||||
})
|
// document with this change, which allows for partial updates too
|
||||||
.catch(() => {
|
req.body,
|
||||||
res.status(404).json({ success: false, msg: 'Note does not exists.' });
|
|
||||||
});
|
// an option that asks mongoose to return the updated version
|
||||||
|
// of the document instead of the pre-updated one.
|
||||||
|
{ new: true },
|
||||||
|
|
||||||
|
// the callback function
|
||||||
|
(err, note) => {
|
||||||
|
// Handle any possible database errors
|
||||||
|
if (err) return res.status(500).send(err);
|
||||||
|
return res.json(note);
|
||||||
|
},
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue