swd-be/app.js

89 lines
2.0 KiB
JavaScript

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var logger = require('morgan');
var cors = require('cors');
var sassMiddleware = require('node-sass-middleware');
//var passport = require('passport');
//var LocalStrategy = require('passport-local').Strategy;
const db = require('./db')
const PORT = process.env.PORT || 4000;
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var valuelistRouter = require('./routes/valuelist');
var recepieRouter = require('./routes/recepie');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
// Settin Cors Options
var corsOptions = {
methods: ['GET', 'PUT', 'POST', 'DELETE', 'COPY']
}
app.use(cors(corsOptions));
// Setting up passport
/*passport.use(
new LocalStrategy(
function(username, password, done) {
}
);
);
*/
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(sassMiddleware({
src: path.join(__dirname, 'public'),
dest: path.join(__dirname, 'public'),
indentedSyntax: true, // true = .sass and false = .scss
sourceMap: true
}));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', (req, res, next ) => {
req.db = db;
next();
})
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/wl', valuelistRouter);
app.use('/recepies', recepieRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
app.listen(PORT, ()=> {
console.log('Server listening on PORT '+PORT);
})
module.exports = app;