Add and implement config package

This commit is contained in:
Kevin Thomas
2021-07-29 23:21:46 -07:00
parent 45279d061a
commit 91622582b0
6 changed files with 16015 additions and 52 deletions

13
config/default.json Normal file
View File

@@ -0,0 +1,13 @@
{
"Server": {
"listeningPort": 3000,
"sessionFileStorePath": "./sessions",
"sessionSecret": "cats",
"tls": true,
"tlsKey": "./certs/key.pem",
"tlsCert": "./certs/cert.pem"
},
"Client": {
"listeningPort": 8080
}
}

16018
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,7 @@
},
"dependencies": {
"axios": "^0.21.1",
"config": "^3.3.6",
"connect-ensure-login": "^0.1.1",
"cookie-parser": "^1.4.5",
"core-js": "^3.6.5",

View File

@@ -5,6 +5,7 @@ const cors = require('cors')
const passport = require('passport')
const path = require('path')
const cookieParser = require('cookie-parser')
const config = require('config')
const indexRouter = require('./routes/index')
const authRouter = require('./routes/auth')
@@ -14,14 +15,14 @@ const usersRouter = require('./routes/users')
const app = express()
const corsOptions = {
origin: 'http://localhost:8080',
origin: 'http://localhost:'.concat(config.get('Client.listeningPort')),
credentials: true
}
app.use(cors(corsOptions))
const fileStoreOptions = {
path: './sessions'
path: config.get('Server.sessionFileStorePath')
};
require('./boot/db')()
@@ -30,7 +31,7 @@ require('./boot/auth')()
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
app.use(cookieParser())
app.use(session({ store: new FileStore(fileStoreOptions), secret: 'cats', resave: true, saveUninitialized: true }))
app.use(session({ store: new FileStore(fileStoreOptions), secret: config.get('Server.sessionSecret'), resave: true, saveUninitialized: true }))
app.use(function (req, res, next) {
const msgs = req.session.messages || []
res.locals.messages = msgs

View File

@@ -5,27 +5,28 @@
*/
const app = require('../app')
const debug = require('debug')('example:server')
const https = require('https')
const fs = require('fs')
const config = require('config')
const tls = config.get('Server.tls')
const http = require(tls ? 'https' : 'http')
/**
* Get port from environment and store in Express.
*/
const port = normalizePort(process.env.PORT || '3000')
const port = normalizePort(config.get('Server.listeningPort'))
app.set('port', port)
/**
* HTTPS options.
*/
const httpsOptions = {
key: fs.readFileSync('./certs/key.pem'),
cert: fs.readFileSync('./certs/cert.pem')
}
let server = http.createServer(app)
if (tls) {
const httpsOptions = {
key: fs.readFileSync(config.get('Server.tlsKey')),
cert: fs.readFileSync(config.get('Server.tlsCert'))
}
/**
* Create HTTP server.
*/
const server = https.createServer(httpsOptions, app)
server = http.createServer(httpsOptions, app)
}
/**
* Listen on provided port, on all network interfaces.

View File

@@ -5,7 +5,6 @@ const db = require('../db')
const router = express.Router()
router.post('/', function (req, res, next) {
console.log('REQ: ', req.body)
const salt = crypto.randomBytes(16)
crypto.pbkdf2(req.body.password, salt, 10000, 32, 'sha256', function (err, hashedPassword) {
if (err) { return next(err) }