aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2014-07-31 21:06:23 -0700
committerAdam Soltys <[email protected]>2014-07-31 21:06:23 -0700
commit7c5dfc8d51efe4df4e67f86f33c489a320fcb8f9 (patch)
treef387c3d4e3ce9ed0c464659a787b99d8c6e90fb9 /src/app.js
parentde1cdd2e3f9d9f36ce3d8e97335341cc3237e829 (diff)
downloadcoinos-server-7c5dfc8d51efe4df4e67f86f33c489a320fcb8f9.tar.gz
coinos-server-7c5dfc8d51efe4df4e67f86f33c489a320fcb8f9.zip
Move coffee files to src/ folder
Diffstat (limited to 'src/app.js')
-rw-r--r--src/app.js128
1 files changed, 128 insertions, 0 deletions
diff --git a/src/app.js b/src/app.js
new file mode 100644
index 00000000..05452d81
--- /dev/null
+++ b/src/app.js
@@ -0,0 +1,128 @@
+(function() {
+ var RedisStore, app, authorize, bodyParser, calculator, cookieParser, engines, express, passport, path, session, sessionStore, sessions, transactions, users;
+
+ express = require('express');
+
+ bodyParser = require('body-parser');
+
+ cookieParser = require('cookie-parser');
+
+ path = require('path');
+
+ engines = require('consolidate');
+
+ passport = require('./passport');
+
+ calculator = require("./routes/calculator");
+
+ sessions = require("./routes/sessions")(passport);
+
+ transactions = require("./routes/transactions");
+
+ users = require("./routes/users")(sessions);
+
+ session = require('express-session');
+
+ RedisStore = require('connect-redis')(session);
+
+ sessionStore = new RedisStore(require('./redis').host, {
+ ttl: 172800
+ });
+
+ app = express();
+
+ app.enable('trust proxy');
+
+ app.engine('html', require('hogan-express'));
+
+ app.set('view engine', 'html');
+
+ app.set('views', __dirname + '/views');
+
+ app.use(express["static"](__dirname + '/public'));
+
+ app.use(require('connect-assets')({
+ src: 'public'
+ }));
+
+ app.use(bodyParser.urlencoded({
+ extended: true
+ }));
+
+ app.use(bodyParser.json());
+
+ app.use(bodyParser.json({
+ type: 'application/vnd.api+json'
+ }));
+
+ app.use(cookieParser('weareallmadeofstars'));
+
+ app.use(session({
+ resave: true,
+ saveUninitialized: true,
+ secret: 'weareallmadeofstars',
+ store: sessionStore,
+ cookie: {
+ maxAge: 25920000000
+ },
+ key: 'vanbtc.sid'
+ }));
+
+ app.use(passport.initialize());
+
+ app.use(passport.session());
+
+ authorize = function(req, res, next) {
+ var _ref, _ref1, _ref2;
+ if (req.params.user === ((_ref = req.user) != null ? _ref.username : void 0) || ((_ref1 = req.user) != null ? _ref1.username : void 0) === 'admin' || ((_ref2 = req.user) != null ? _ref2.username : void 0) === 'ben') {
+ return next();
+ }
+ return res.redirect('/login');
+ };
+
+ app.get('/', sessions["new"]);
+
+ app.get('/register', users["new"]);
+
+ app.get('/ticker', calculator.ticker);
+
+ app.get('/sweep', calculator.sweep);
+
+ app.get('/login', sessions["new"]);
+
+ app.post('/login', sessions.create);
+
+ app.get('/logout', sessions.destroy);
+
+ app.get('/:user/exists', users.exists);
+
+ app.get('/:user.json', users.json);
+
+ app.get('/users', users.index);
+
+ app.get('/users/new', users["new"]);
+
+ app.post('/users', users.create);
+
+ app.get('/:user/edit', authorize, users.edit);
+
+ app.post('/:user/update', authorize, users.update);
+
+ app.get('/:user/transactions.json', authorize, transactions.json);
+
+ app.post('/:user/transactions', transactions.create);
+
+ app.get('/:user/report', authorize, transactions.index);
+
+ app.get('/:user', users.show);
+
+ app.use(function(err, req, res, next) {
+ res.status(500);
+ res.send('An error occurred');
+ console.log(err);
+ return res.end();
+ });
+
+ app.listen(3000);
+
+}).call(this);