123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- const express = require('express')
- const app = express()
- const session = require('express-session');
- const db = require('../db');
- const bodyParser = require('body-parser');
- const keys = require('../keys');
- const passport = require('passport');
- const usersRoutes = require('./user');
- const productRoutes = require('./product');
- const categoryRoutes = require('./category');
- const blogRoutes = require('./blog');
- const apiRoutes = require('./api');
- const productHeroRoutes = require('./product-hero');
- require("../services/passport");
- // connect to DB
- db.connect();
- const store = db.initSessionStore();
- app.use(bodyParser.json());
- // var csrf = require('csurf');
- // consider using this
- const sess =
- { name: 'promo-secure-session',
- secret: keys.SESSION_SECRET,
- cookie: { maxAge: 2 * 60 * 60 * 1000 },
- resave: false,
- saveUninitialized: false,
- store
- }
- if (process.env.NODE_ENV === 'production') {
- app.set('trust proxy', 1);
- sess.cookie.secure = true;
- sess.cookie.httpOnly = true;
- sess.cookie.sameSite = true;
- sess.cookie.domain = process.env.DOMAIN // .yourdomain.com
- }
- app.use(session(sess));
- app.use(passport.initialize());
- app.use(passport.session());
- app.use('', apiRoutes);
- app.use('/product-heroes', productHeroRoutes);
- app.use('/users', usersRoutes);
- app.use('/products', productRoutes);
- app.use('/categories', categoryRoutes);
- app.use('/blogs', blogRoutes);
- module.exports = {
- path: '/api/v1',
- handler: app
- }
|