'use strict'; /** * Module dependencies. */ const mongoose = require('mongoose'), config = require('./config'), express = require('express'), http = require('http'), bodyParser = require('body-parser'), methodOverride = require('method-override'), cookieParser = require('cookie-parser'), app = express(), router = express.Router(), passport = require('passport'), Strategy = require('passport-local').Strategy, crypto = require('crypto'), rfs = require('rotating-file-stream'), accessLogStream = rfs('access.log', { interval: '1d', // rotate daily path: __dirname + '/log' }), nodemailer = require('nodemailer'), transporter = nodemailer.createTransport({ host: config.mailserver, port: config.mailport, secure: config.mailsecure, auth: { user: config.mailuser, pass: config.mailpass } }), db = mongoose.connect('mongodb://172.29.0.102:27017/familyark', { useMongoClient: true }), user = require('./model/user')(db), animal = require('./model/animal')(db), species = require('./model/species')(db), host = '172.29.0.101', port = 3000, request = require('request'), server = http.createServer(app).listen(port, host, () => { console.log(`Listening on: ${server.address().address}:${server.address().port}`) }), indexRouter = require('./lib/index')(router, mongoose, request, species, animal), userRouter = require('./lib/user')(router, passport) require('./lib/passport')(passport, Strategy, user, crypto) app.disable('x-powered-by') .use(require('morgan')('combined', { stream: accessLogStream })) .use(bodyParser.urlencoded({ extended: false })) .use(bodyParser.json()) .use(methodOverride()) .use(cookieParser()) .use(require('express-session')({ secret: 'a secret hat', resave: false, saveUninitialized: true })) .use(passport.initialize()) .use(passport.session({ cookie: { maxAge: 43200 } })) .use('/', require('connect-ensure-login').ensureLoggedIn('/user/login'), indexRouter) .use('/user', userRouter) .use(express.static('public'))