UNPKG

generator-node-boilerplate

Version:
65 lines (56 loc) 1.67 kB
# # Todos Routes # module.exports = (app) -> {TodoModel} = require '../../models' app.namespace '/v1', -> app.get '/todos', (req, res) -> TodoModel.find (err, todos) -> unless err res.json todos: todos else console.log err app.post '/todos', (req, res) -> todo = new TodoModel title: req.body.todo.title isCompleted: req.body.todo.isCompleted todo.save (err) -> if err console.log err res.json todo: todo app.get '/todos/:id', (req, res) -> TodoModel.findById req.params.id, (err, todo) -> unless err res.json todo: todo else console.log err app.put '/todos/:id', (req, res) -> TodoModel.findById req.params.id, (err, todo) -> todo.title = req.body.todo.title todo.isCompleted = req.body.todo.isCompleted todo.save (err) -> if err console.log err res.json todo: todo app.delete '/todos/:id', (req, res) -> TodoModel.findById req.params.id, (err, todo) -> todo.remove (err) -> if err console.log err app.put '/todos', (req, res) -> if Array.isArray req.body.todos len = req.body.todos.length i = 0 while i < len for id of req.body.todos[i] TodoModel.update _id: id , req.body.todos[i][id], (err, numAffected) -> if err console.log err i++ res.json todos: req.body.todos app.delete '/todos', (req, res) -> TodoModel.remove (err) -> if err console.log err