mirror of
https://github.com/sstent/node.git
synced 2026-01-25 14:42:00 +00:00
92 lines
2.5 KiB
Plaintext
92 lines
2.5 KiB
Plaintext
|
|
/**
|
|
* Module dependencies.
|
|
*/
|
|
|
|
var express = require('express');
|
|
var store = require('./routes/store');
|
|
var db_helper = module.exports = require("./routes/db_helper.js");
|
|
var app = module.exports = express.createServer();
|
|
|
|
// Configuration
|
|
|
|
app.configure(function(){
|
|
app.set('views', __dirname + '/views');
|
|
app.set('view engine', 'jade');
|
|
app.use(express.bodyParser());
|
|
app.use(express.methodOverride());
|
|
app.use(express.cookieParser());
|
|
app.use(express.session({ secret: 'your secret here' }));
|
|
app.use(require('stylus').middleware({ src: __dirname + '/public' }));
|
|
app.use(app.router);
|
|
app.use(express.static(__dirname + '/public'));
|
|
});
|
|
|
|
app.configure('development', function(){
|
|
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
|
|
});
|
|
|
|
app.configure('production', function(){
|
|
app.use(express.errorHandler());
|
|
});
|
|
|
|
// Routes
|
|
|
|
app.get('/', store.home);
|
|
app.post('/', store.home_post_handler);
|
|
|
|
app.get('/input', store.input);
|
|
app.post('/input', store.input_post_handler);
|
|
|
|
// display the list of item
|
|
app.get('/items', function(req, res) {
|
|
var items = db_helper.get_all('new_table', function(err, items, fields) {
|
|
if (err) {
|
|
console.log("async1: " + err);
|
|
}
|
|
// don't let nameless people view the items, redirect them back to the homepage
|
|
var keys = Object.keys( items );
|
|
var fieldkeys = Object.keys( fields );
|
|
io.sockets.on('connection', function (socket) {
|
|
socket.emit('news', { hello: 'world' });
|
|
});
|
|
if (typeof req.session.username == 'undefined') res.redirect('/');
|
|
else res.render('items', { title: 'Ninja Store - Items', username: req.session.username, items:items, keys:keys, fieldkeys:fieldkeys });
|
|
});
|
|
|
|
//socket.join(channel);
|
|
//socket.set('channel', channel );
|
|
// });
|
|
|
|
|
|
});
|
|
// show individual item
|
|
app.get('/item/:id', store.item);
|
|
// show general pages
|
|
app.get('/page', store.page);
|
|
app.get('/logout', function(req, res) {
|
|
// delete the session variable
|
|
delete req.session.username;
|
|
// redirect user to homepage
|
|
res.redirect('/');
|
|
});
|
|
|
|
app.listen(3000);
|
|
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
|
|
|
|
var io = require('socket.io');
|
|
io = io.listen(app);
|
|
io.sockets.on('connection', function(client) {
|
|
console.log('Client connected');
|
|
});
|
|
|
|
module.exports = io;
|
|
|
|
// io.sockets.on('connection', function (socket) {
|
|
// socket.emit('news', { hello: 'world' });
|
|
// socket.on('my other event', function (data) {
|
|
// console.log(data);
|
|
// });
|
|
// });
|
|
|