add eslint, fix bugs found

This commit is contained in:
Wingy 2020-11-08 16:54:08 -05:00
parent fc2c3a7114
commit 12558d3384
28 changed files with 1774 additions and 745 deletions

View file

@ -1,14 +1,13 @@
global._CC = { require }
const PouchSession = require('session-pouchdb-store');
const LocalStrategy = require('passport-local').Strategy;
const session = require('express-session');
const bcrypt = require('bcrypt-nodejs');
const flash = require('connect-flash');
const passport = require('passport');
const express = require('express');
const level = require('level');
const PouchSession = require('session-pouchdb-store')
const LocalStrategy = require('passport-local').Strategy
const session = require('express-session')
const bcrypt = require('bcrypt-nodejs')
const flash = require('connect-flash')
const passport = require('passport')
const express = require('express')
const config = require('./config');
const config = require('./config')
_CC.config = config
if (!config.dbPrefix.startsWith('http')) {
@ -16,44 +15,43 @@ if (!config.dbPrefix.startsWith('http')) {
mkdirp(config.dbPrefix)
}
const PouchDB = require('pouchdb').defaults({ prefix: config.dbPrefix });
const PouchDB = require('pouchdb').defaults({ prefix: config.dbPrefix })
const logger = require('./logger');
const logger = require('./logger')
const app = express();
const app = express()
app.set('base', config.base)
app.set('trust proxy', config.trustProxy)
const db = new PouchDB('users');
const db = new PouchDB('users')
passport.use('local', new LocalStrategy(
(username, password, done) => {
username = username.trim();
username = username.trim()
db.get(username)
.then(doc => {
bcrypt.compare(password, doc.password, (err, correct) => {
if (err) return done(err);
if (!correct) return done(null, false, { message: 'Incorrect password' });
if (correct) return done(null, doc);
});
if (err) return done(err)
if (!correct) return done(null, false, { message: 'Incorrect password' })
if (correct) return done(null, doc)
})
})
.catch(err => {
if (err.message === 'missing') return done(null, false, { message: 'Incorrect username.' });
return done(err);
});
if (err.message === 'missing') return done(null, false, { message: 'Incorrect username.' })
return done(err)
})
}
));
))
passport.serializeUser((user, callback) => callback(null, user._id));
passport.serializeUser((user, callback) => callback(null, user._id))
passport.deserializeUser((user, callback) => {
db.get(user)
.then(dbUser => callback(null, dbUser))
.catch(() => callback(null, null));
});
.catch(() => callback(null, null))
})
app.use(require('body-parser').urlencoded({ extended: true }));
app.use(require('body-parser').urlencoded({ extended: true }))
app.use(session({
secret: config.secret,
resave: false,
@ -63,26 +61,26 @@ app.use(session({
maxAge: config.sessionMaxAge
},
name: 'christmas_community.connect.sid'
}));
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
}))
app.use(flash())
app.use(passport.initialize())
app.use(passport.session())
app.use(require('./middlewares/locals'));
app.use(require('./middlewares/locals'))
app.use((req, res, next) => {
logger.log('express', `${req.ip} - ${req.method} ${req.originalUrl}`);
next();
});
logger.log('express', `${req.ip} - ${req.method} ${req.originalUrl}`)
next()
})
app.set('view engine', 'pug');
app.use(config.base, require('./routes')({ db, config }));
app.set('view engine', 'pug')
app.use(config.base, require('./routes')({ db, config }))
app.listen(config.port, () => logger.success('express', `Express server started on port ${config.port}!`))
;(() => {
if (!config.dbExposePort) return
const dbExposeApp = express()
dbExposeApp.use('/', require('express-pouchdb')(PouchDB, { inMemoryConfig: true }));
dbExposeApp.use('/', require('express-pouchdb')(PouchDB, { inMemoryConfig: true }))
dbExposeApp.listen(config.dbExposePort, () => logger.success('db expose', `DB has been exposed on port ${config.dbExposePort}`))
})()