Skip to content

Instantly share code, notes, and snippets.

@rashfael
Created August 29, 2012 15:08
Show Gist options
  • Save rashfael/3514037 to your computer and use it in GitHub Desktop.
Save rashfael/3514037 to your computer and use it in GitHub Desktop.
module.exports = class Crud
constructor: (app) ->
app.get "/api/#{@prefix}", @list
app.post "/api/#{@prefix}", @add
app.get "/api/#{@prefix}/:id", @item
app.put "/api/#{@prefix}/:id", @update
app.delete "/api/#{@prefix}/:id", @delete
list: (req, res) =>
@model.find req.query, (err, items) ->
console.log err if err?
res.json items
add: (req, res) =>
item = new @model req.body
item.save (err) ->
console.log err if err?
res.send item.toObject()
item: (req, res) =>
@model.findById req.params.id, (err, item) ->
console.log err if err?
res.json item
delete: (req, res) =>
@model.remove {_id: req.params.id}, (err) ->
console.log err if err?
res.send()
update: (req, res) =>
item = req.body
id = item._id
delete item._id
@model.update {_id: id}, item, (err) ->
console.log err if err?
res.send()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment