AutoCatBackend/index.js
2021-01-03 18:41:04 +03:00

41 lines
1.2 KiB
JavaScript

const express = require('express');
const bodyParser = require('body-parser');
const expressMongoDb = require('./middleware/mongo');
const users = require('./routes/user');
const vehicles = require('./routes/vehicles');
const events = require('./routes/events');
const app = express();
const bearerToken = require('express-bearer-token');
const jwt = require('./middleware/jwt');
const https = require('https');
const fs = require('fs');
const compression = require('compression');
const dotenv = require('dotenv');
const dotenvExpand = require('dotenv-expand');
let dotenvConf = dotenv.config();
dotenvExpand(dotenvConf);
console.log(process.env);
app.use(compression());
app.use(bodyParser.json());
app.use(expressMongoDb(process.env.MONGO_CONNECTION_STRING));
app.use(bearerToken());
app.use(jwt({ secret: process.env.JWT_SECRET_AUTH, exclude: ['/user/signup', '/user/login', '/vehicles/shared_report'] }));
app.use('/user', users);
app.use('/vehicles', vehicles);
app.use('/events', events);
if(process.env.NODE_ENV == 'production') {
const httpsServer = https.createServer({
key: fs.readFileSync(process.env.PRIVATE_KEY_PATH),
cert: fs.readFileSync(process.env.CERT_PATH)
}, app);
httpsServer.listen(8443);
} else {
app.listen(3000);
}