-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
129 lines (113 loc) · 3.46 KB
/
server.js
File metadata and controls
129 lines (113 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
const express = require('express');
const configViewEngine = require("./configs/viewEngine");
var DBConnection = require("./configs/DBConnection");
var initWebRoutes = require("./routes/web");
// var homePageController = require("./controllers/homePageController");
var registerController = require("./controllers/registerController");
var loginController = require("./controllers/loginController");
var auth = require("./validation/authValidation");
// var path = require("path");
const bodyParser = require("body-parser");
var session = require('express-session');
var cookieParser = require('cookie-parser');
var passport = require('passport');
var connectFlash = require('connect-flash');
const upload = require('express-fileupload');
let app = express();
require('dotenv').config();
//use cookie parser
app.use(cookieParser('secret'));
var MySQLStore = require('express-mysql-session')(session);
var options = {
host:'localhost',
user:'root',
password:"",
database:"elaxirdb"
};
var sessionStore = new MySQLStore(options);
//config session
app.use(session({
secret: 'secret',
resave: true,
saveUninitialized: false,
store: sessionStore,
cookie: {
maxAge: 1000 * 60 * 60 * 24 // 86400000 1 day
}
}));
app.use(function(req, res, next) {
res.locals.cart = req.session.cart;
next();
});
app.use(function(req, res, next) {
res.locals.user = req.session.passport;
next();
});
app.use(function(req,res,next) {
var query = "SELECT * FROM webdetail";
DBConnection.query(query,function(err,respond) {
if(err) throw err;
res.locals.email = respond[0].email;
res.locals.contact = respond[0].contact;
res.locals.address = respond[0].address;
});
next();
});
app.use(function(req, res, next) {
DBConnection.query("SELECT * FROM orderhistory WHERE status = ?",["n"], function(e, resp){
if(e) throw e;
res.locals.orders = resp.length;
next();
});
})
// app.use(function(req, res, next) {
// con.query("SELECT * FROM headers",function(err, resp){
// var c = resp[0].contact;
// var em = resp[0].email;
// res.locals.contact = c;
// res.locals.mail = em;
// next();
// });
// // next();
// });
app.use(upload());
// Enable body parser post data
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
//Config view engine
configViewEngine(app);
// app.set("view engine", "ejs");
//Enable flash message
app.use(connectFlash());
//Config passport middleware
app.use(passport.initialize());
app.use(passport.session());
// init all web routes
initWebRoutes(app);
// **********************************************************************
// admin area
var adminlogin = require("./routes/admin/login");
app.use('/admin',adminlogin);
// ***********************************************************************
// admin addproduct
var addproduct = require("./routes/admin/addproduct");
app.use("/admin",addproduct);
// end
var orderapprove = require("./routes/admin/orders");
app.use("/admin",orderapprove);
// ************************************* End ******************************
// customer
var customer = require("./routes/admin/customer");
app.use("/admin",customer);
// END
// admin user
var adminuser = require("./routes/admin/admin");
app.use("/admin",adminuser);
// END
// admin details
var details = require("./routes/admin/details");
app.use("/admin",details);
// END
var front = require("./routes/frontside");
app.use("/",front);
app.listen(3000, () => console.log("server started"));