You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

60 lines
2.1 KiB

'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'))