-
-
Save corehook/0bca071c3c61d1b058e15d4b8740bbaf to your computer and use it in GitHub Desktop.
Revisions
-
fwielstra revised this gist
Jun 15, 2011 . 2 changed files with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -14,9 +14,9 @@ exports.post = function(req, res) { } exports.list = function(req, res) { Thread.find(function(err, threads) { res.send(threads); }); } // first locates a thread by title, then locates the replies by thread ID. This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,7 +13,7 @@ app.configure(function(){ app.use(app.router); }); // set up the RESTful API, handler methods are defined in api.js var api = require('./controllers/api.js'); app.post('/thread', api.post); app.get('/thread/:title.:format?', api.show); -
fwielstra revised this gist
Jun 14, 2011 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -14,10 +14,10 @@ app.configure(function(){ }); // set up the RESTful API, handler methods are defined in thread.js var api = require('./controllers/api.js'); app.post('/thread', api.post); app.get('/thread/:title.:format?', api.show); app.get('/thread', api.list); app.listen(3000); console.log("Express server listening on port %d", app.address().port); -
fwielstra created this gist
Jun 14, 2011 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,29 @@ /* The API controller Exports 3 methods: * post - Creates a new thread * list - Returns a list of threads * show - Displays a thread and its posts */ var Thread = require('../models/thread.js'); var Post = require('../models/post.js'); exports.post = function(req, res) { new Thread({title: req.body.title, author: req.body.author}).save(); } exports.list = function(req, res) { Thread.find(function(err, threads) { res.send(threads); }); } // first locates a thread by title, then locates the replies by thread ID. exports.show = (function(req, res) { Thread.findOne({title: req.params.title}, function(error, thread) { var posts = Post.find({thread: thread._id}, function(error, posts) { res.send([{thread: thread, posts: posts}]); }); }) }); This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,23 @@ // The main application script, ties everything together. var express = require('express'); var mongoose = require('mongoose'); var app = module.exports = express.createServer(); // connect to Mongo when the app initializes mongoose.connect('mongodb://localhost/norum'); app.configure(function(){ app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); }); // set up the RESTful API, handler methods are defined in thread.js var thread = require('./controllers/thread.js'); app.post('/thread', thread.post); app.get('/thread/:title.:format?', thread.show); app.get('/thread', thread.list); app.listen(3000); console.log("Express server listening on port %d", app.address().port); This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,14 @@ // The Post model var mongoose = require('mongoose') ,Schema = mongoose.Schema ,ObjectId = Schema.ObjectId; var postSchema = new Schema({ thread: ObjectId, date: {type: Date, default: Date.now}, author: {type: String, default: 'Anon'}, post: String }); module.exports = mongoose.model('Post', postSchema); This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,12 @@ // The Thread model var mongoose = require('mongoose') , Schema = mongoose.Schema; var threadSchema = new Schema({ title: String, postdate: {type: Date, default: Date.now}, author: {type: String, default: 'Anon'} }); module.exports = mongoose.model('Thread', threadSchema);