var express = require('express') var bodyParser = require('body-parser') const {ObjectID} = require('mongodb'); var {mongoose} = require('./db/mongoose') var {User} = require('./models/user') var {Todo} = require('./models/todo') var app = express(); const port = process.env.PORT || 8888; app.use(bodyParser.json()); app.post('/todos', (req, res) => { var todo = new Todo({ text: req.body.text }); todo.save().then((doc) => { return res.send(doc); }, (e) => { return res.status(400).send(e); }); }); app.get('/todos', (req, res) => { Todo.find().then((todos) => { return res.send({todos}); }, (e) => { return res.status(400).send(e); }); }); app.get('/todos/:id', (req, res) => { var id = req.params.id; if (!ObjectID.isValid(id)){ return res.status(404).send(); } Todo.findById(req.params.id).then((todo) => { if(!todo){ return res.status(404).send(); } return res.send({todo}); }).catch((e) => res.status(400).send()) }); app.delete('/todos/:id', (req, res) => { var id = req.params.id; if (!ObjectID.isValid(id)){ return res.status(404).send(); } Todo.findByIdAndRemove(id).then((todo) => { if(!todo){ return res.status(404).send(); } return res.send({todo}); }).catch((e) => res.status(400).send()) }); app.listen(port, () => { console.log(`Started on port ${port}`); }); module.exports = {app}