-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.coffee
More file actions
48 lines (38 loc) · 1.24 KB
/
app.coffee
File metadata and controls
48 lines (38 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
express = require 'express'
mongoose = require 'mongoose'
mongoose.connect process.env.MONGOLAB_URI || 'mongodb://localhost/todone'
Todo = mongoose.model 'Todo', new mongoose.Schema
content: String
done: Boolean
app = express.createServer()
app.register '.coffee', require('coffeekup')
app.set 'view engine', 'coffee'
app.set 'views', __dirname + '/views'
app.set 'view options',
layout: false
app.configure ->
app.use express.bodyParser()
app.use express.methodOverride()
app.use express.static(__dirname + '/public')
app.get "/", (req, res) ->
res.render "app"
app.get "/todos", (req, res) ->
Todo.find (err, todos) ->
res.send todos
app.post "/todos", (req, res) ->
todo = new Todo(content: req.body.content, done: req.body.done)
todo.save (err) ->
console.log("created") unless err
res.send todo
app.put "/todos/:id", (req, res) ->
Todo.findById req.params.id, (err, todo) ->
todo.content = req.body.content
todo.done = req.body.done
todo.save (err) ->
console.log("updated") unless err
res.send todo
app.del '/todos/:id', (req, res) ->
Todo.findById req.params.id, (err, todo) ->
todo.remove (err) ->
console.log("removed") unless err
app.listen process.env.PORT || 3000