Julio Biason
11 years ago
9 changed files with 0 additions and 186 deletions
@ -1,20 +0,0 @@
|
||||
The MIT License (MIT) |
||||
|
||||
Copyright (c) 2014 Julio Biason |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of |
||||
this software and associated documentation files (the "Software"), to deal in |
||||
the Software without restriction, including without limitation the rights to |
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of |
||||
the Software, and to permit persons to whom the Software is furnished to do so, |
||||
subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS |
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR |
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -1,70 +0,0 @@
|
||||
var express = require('express'); |
||||
var http = require('http'); |
||||
var path = require('path'); |
||||
var favicon = require('static-favicon'); |
||||
var logger = require('morgan'); |
||||
var bodyParser = require('body-parser'); |
||||
|
||||
var routes = require('./routes'); |
||||
var users = require('./routes/user'); |
||||
|
||||
var db = require('./models'); |
||||
|
||||
var app = express(); |
||||
|
||||
app.use(favicon()); |
||||
app.use(logger('dev')); |
||||
app.use(bodyParser.json()); |
||||
app.use(bodyParser.urlencoded()); |
||||
// app.use(cookieParser());
|
||||
app.use(app.router); |
||||
|
||||
/// catch 404 and forwarding to error handler
|
||||
app.use(function(req, res, next) { |
||||
var err = new Error('Not Found'); |
||||
err.status = 404; |
||||
next(err); |
||||
}); |
||||
|
||||
/// error handlers
|
||||
|
||||
// development error handler
|
||||
// will print stacktrace
|
||||
if (app.get('env') === 'development') { |
||||
app.use(function(err, req, res, next) { |
||||
res.render('error', { |
||||
message: err.message, |
||||
error: err |
||||
}); |
||||
}); |
||||
} |
||||
|
||||
// production error handler
|
||||
// no stacktraces leaked to user
|
||||
app.use(function(err, req, res, next) { |
||||
res.render('error', { |
||||
message: err.message, |
||||
error: {} |
||||
}); |
||||
}); |
||||
|
||||
module.exports = app; |
||||
|
||||
// routes
|
||||
app.get('/', routes.index); |
||||
|
||||
// database and start up
|
||||
db |
||||
.sequelize |
||||
.sync({ force: true }) |
||||
.complete(function (err) { |
||||
if (err) { |
||||
throw err; |
||||
} |
||||
|
||||
port = app.get('port') || 3000; |
||||
|
||||
http.createServer(app).listen(port, function () { |
||||
console.log('Express server listening on port ' + port); |
||||
}); |
||||
}); |
@ -1,9 +0,0 @@
|
||||
#!/usr/bin/env node |
||||
var debug = require('debug')('my-application'); |
||||
var app = require('../app'); |
||||
|
||||
app.set('port', process.env.PORT || 3000); |
||||
|
||||
var server = app.listen(app.get('port'), function() { |
||||
debug('Express server listening on port ' + server.address().port); |
||||
}); |
@ -1,34 +0,0 @@
|
||||
// Taken directly from Sequelize documentation
|
||||
|
||||
var fs = require('fs'), |
||||
path = require('path'), |
||||
Sequelize = require('sequelize-sqlite').sequelize, |
||||
sqlite = require('sequelize-sqlite').sqlite, |
||||
lodash = require('lodash'), |
||||
db = {}; |
||||
|
||||
var sequelize = new Sequelize('database', 'username', null, { |
||||
dialect: 'sqlite', |
||||
storage: './luncho.sq' |
||||
}); |
||||
|
||||
fs |
||||
.readdirSync(__dirname) |
||||
.filter(function(file) { |
||||
return (file.indexOf('.') !== 0) && (file !== 'index.js'); |
||||
}) |
||||
.forEach(function(file) { |
||||
var model = sequelize.import(path.join(__dirname, file)); |
||||
db[model.name] = model; |
||||
}); |
||||
|
||||
Object.keys(db).forEach(function(modelName) { |
||||
if ('associate' in db[modelName]) { |
||||
db[modelName].associate(db); |
||||
} |
||||
}); |
||||
|
||||
module.exports = lodash.extend({ |
||||
sequelize: sequelize, |
||||
Sequelize: Sequelize |
||||
}, db); |
@ -1,21 +0,0 @@
|
||||
module.exports = function(sequelize, DataTypes) { |
||||
var User = sequelize.define('User', { |
||||
username: DataTypes.STRING, |
||||
passhash: DataTypes.STRING, |
||||
token: DataTypes.STRING, // this forces only one hash per user
|
||||
issuedDate: DataTypes.DATE // since tokens are one way only, we need to make sure the token is valid for today
|
||||
}, { |
||||
classMethods: { |
||||
userToken: function (reqToken, next) { |
||||
User.find({ token: reqToken }).success(user) { |
||||
// check if the token is valid for today
|
||||
if (next) { |
||||
next (user); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}); |
||||
|
||||
return User; |
||||
}; |
@ -1,17 +0,0 @@
|
||||
{ |
||||
"name": "Lunch-o", |
||||
"version": "0.1.0", |
||||
"private": true, |
||||
"scripts": { |
||||
"start": "node ./bin/www" |
||||
}, |
||||
"dependencies": { |
||||
"express": "~3.4.8", |
||||
"static-favicon": "~1.0.0", |
||||
"morgan": "~1.0.0", |
||||
"body-parser": "~1.0.0", |
||||
"debug": "~0.7.4", |
||||
"sequelize-sqlite": "", |
||||
"lodash": "" |
||||
} |
||||
} |
@ -1,4 +0,0 @@
|
||||
/* GET home page. */ |
||||
exports.index = function(req, res){ |
||||
res.send({"status": "ERROR", "error": "No index method, go away"}); |
||||
}; |
Loading…
Reference in new issue