From 25ab2a4247abdd1703bc1efc865baec975ecdf46 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Wed, 3 May 2017 21:20:39 -0400 Subject: [PATCH] all the ham --- .gitignore | 1 + controllers/comments.js | 29 +++++++++++++++++++++++++++++ models/comments.js | 9 +++++++++ package.json | 11 +++++++++++ server.js | 21 +++++++++++++++++++++ 5 files changed, 71 insertions(+) create mode 100644 .gitignore create mode 100644 controllers/comments.js create mode 100644 models/comments.js create mode 100644 package.json create mode 100644 server.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/controllers/comments.js b/controllers/comments.js new file mode 100644 index 0000000..a85e95e --- /dev/null +++ b/controllers/comments.js @@ -0,0 +1,29 @@ +var express = require('express'); +var router = express.Router(); +var Comments = require('../models/comments.js'); + +router.get('/', function(req,res){ + Comments.find({}, function(err, foundComments){ + res.json(foundComments); + }); +}); + +router.post('/', function(req,res){ + Comments.create(req.body, function(err, createdComment){ + res.json(createdComment); + }); +}); + +router.delete('/:id', function(req, res){ + Comments.findByIdAndRemove(req.params.id, function(err, removedComment){ + res.json(removedComment); + }); +}); + +router.put('/:id', function(req, res){ + Comments.findByIdAndUpdate(req.params.id, req.body, {new:true}, function(err, updatedComment){ + res.json(updatedComment); + }); +}); + +module.exports = router; diff --git a/models/comments.js b/models/comments.js new file mode 100644 index 0000000..a7e466a --- /dev/null +++ b/models/comments.js @@ -0,0 +1,9 @@ +var mongoose = require('mongoose'); + +var commentSchema = mongoose.Schema({ + body:String +}); + +var Comments = mongoose.model('Comment', commentSchema); + +module.exports = Comments; diff --git a/package.json b/package.json new file mode 100644 index 0000000..7efd828 --- /dev/null +++ b/package.json @@ -0,0 +1,11 @@ +{ + "name": "stupidcomments", + "version": "1.0.0", + "description": "", + "main": "server.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC" +} diff --git a/server.js b/server.js new file mode 100644 index 0000000..4bfb369 --- /dev/null +++ b/server.js @@ -0,0 +1,21 @@ +var express = require('express'); +var app = express(); +var port = process.env.port || 3000; +var MONGODB_URI = process.env.MONGODB_URI || 'mongodb://localhost:27017/stupidcomments' +var mongoose = require('mongoose'); +var bodyParser = require('body-parser'); + +app.use(bodyParser.json()); + +var commentsController = require('./controllers/comments.js'); +app.use('/comments', commentsController); + +mongoose.connect(MONGODB_URI); + +mongoose.connection.once('open', function(){ + console.log('connected to mongo'); +}); + +app.listen(port, function(){ + console.log('listening'); +});