Advertisement
Guest User

Untitled

a guest
Nov 26th, 2017
544
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express    = require('express'),
  2.     app        = express(),
  3.     mongoose   = require('mongoose'),
  4.     bodyParser = require('body-parser'),
  5.     Todo       = require('./models/todo');
  6.  
  7. mongoose.connect('mongodb://xivo:xivo25@ds121716.mlab.com:21716/simpletodoapp', { useMongoClient: true });
  8.  
  9. app.use(bodyParser.urlencoded({ extended: true }));
  10. app.use(bodyParser.json());
  11.  
  12. var router = express.Router();
  13.  
  14. router.get('/', (req, res) => {
  15.     res.send({ message: 'Greetings to the ToDo app!' });
  16. });
  17.  
  18. router.route('/todo/')
  19.     .get((req, res) => {
  20.         Todo.find({}, (err, todos) => {
  21.             if (err) {
  22.                 res.send(err);
  23.             }
  24.             res.json(todos);
  25.         });
  26.     })
  27.     .post((req, res) => {
  28.         var todoInsert = new Todo();
  29.         todoInsert.todo = req.body.todo;
  30.         todoInsert.isDone = req.body.isDone;
  31.         todoInsert.save((err, data) => {
  32.             if (err) {
  33.                 res.send(err);
  34.             }
  35.             res.json({ message: 'Todo Inserted!' });
  36.         })
  37.     })
  38. ;
  39.  
  40. router.get('/todo/finished', (req, res) => {
  41.     Todo.find({ isDone: true }, (err, todos) => {
  42.         if (err) {
  43.             res.send(err);
  44.         }
  45.         res.json(todos);
  46.     });    
  47. });
  48.  
  49. router.get('/todo/notfinished', (req, res) => {
  50.     Todo.find({ isDone: false }, (err, todos) => {
  51.         if (err) {
  52.             res.send(err);
  53.         }
  54.         res.json(todos);
  55.     });    
  56. });
  57.  
  58. router.route('/todo/:todoid')
  59.     .get((req, res) => {
  60.         Todo.findById(req.params.todoid, (err, data) => {
  61.             if (err) {
  62.                 res.send(err);
  63.             }
  64.             res.json(data);
  65.         });
  66.     })
  67.     .delete((req, res) => {
  68.         Todo.findByIdAndRemove(req.params.todoid, (err) => {
  69.             if (err) {
  70.                 res.send(err);
  71.             }
  72.             res.json({ message: 'Todo Removed' });
  73.         });
  74.     })
  75.     .put((req, res) => {
  76.         Todo.findById(req.params.todoid, (err, data) => {
  77.             if (err) {
  78.                 res.send(err);
  79.             }
  80.             data.todo = req.body.todo;
  81.             data.isDone = req.body.isDone;
  82.             data.save()
  83.         });
  84.         Todo.findByIdAndUpdate(req.params.todoid, {
  85.             todo: req.body.todo,
  86.             isDone: req.body.isDone
  87.         }, (err, data) => {
  88.             if (err) {
  89.                 res.send(err);
  90.             }
  91.             res.json({ message: 'Todo Updated!' });
  92.         });
  93.     })
  94. ;
  95.  
  96. app.use('/api', router);
  97.  
  98. app.listen(8080, () => {
  99.     console.log('Server is listening on PORT 8080...');
  100. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement