Skip to content

Commit 3576242

Browse files
Dan WahlinDan Wahlin
Dan Wahlin
authored and
Dan Wahlin
committed
Cleanup
1 parent a44e822 commit 3576242

File tree

15 files changed

+541
-108
lines changed

15 files changed

+541
-108
lines changed

modules/module2/files/beginFiles/server.js

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ const express = require('express'),
33
hbsHelpers = require('handlebars-helpers'),
44
hbsLayouts = require('handlebars-layouts'),
55
bodyParser = require('body-parser'),
6-
session = require('express-session'),
6+
cookieParser = require('cookie-parser'),
77
errorhandler = require('errorhandler'),
88
csrf = require('csurf'),
99
morgan = require('morgan'),
1010
favicon = require('serve-favicon'),
1111

12-
12+
router = require('./routes/router'),
1313
database = require('./lib/database'),
1414
seeder = require('./lib/dbSeeder'),
1515
app = express(),
@@ -48,16 +48,14 @@ class Server {
4848
app.use(morgan('dev'));
4949
app.use(bodyParser.urlencoded({ extended: true }));
5050
app.use(bodyParser.json());
51-
app.use(session({
52-
secret: 'customermanagerdemo',
53-
saveUninitialized: true,
54-
resave: true })
55-
);
5651
app.use(errorhandler());
57-
app.use(csrf());
52+
app.use(cookieParser());
53+
app.use(csrf({ cookie: true }));
5854

5955
app.use(function (req, res, next) {
60-
res.locals._csrf = req.csrfToken();
56+
var csrfToken = req.csrfToken();
57+
res.locals._csrf = csrfToken;
58+
res.cookie('XSRF-TOKEN', csrfToken);
6159
next();
6260
});
6361

@@ -95,7 +93,7 @@ class Server {
9593
}
9694

9795
initRoutes() {
98-
96+
9997

10098
// redirect all others to the index (HTML5 history)
10199
app.all('/*', function(req, res) {
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
const express = require('express'),
2+
exphbs = require('express-handlebars'),
3+
hbsHelpers = require('handlebars-helpers'),
4+
hbsLayouts = require('handlebars-layouts'),
5+
bodyParser = require('body-parser'),
6+
cookieParser = require('cookie-parser'),
7+
errorhandler = require('errorhandler'),
8+
csrf = require('csurf'),
9+
morgan = require('morgan'),
10+
favicon = require('serve-favicon'),
11+
12+
router = require('./routes/router'),
13+
database = require('./lib/database'),
14+
seeder = require('./lib/dbSeeder'),
15+
app = express(),
16+
port = 3000;
17+
18+
class Server {
19+
20+
constructor() {
21+
this.initViewEngine();
22+
this.initExpressMiddleWare();
23+
this.initCustomMiddleware();
24+
this.initDbSeeder();
25+
this.initRoutes();
26+
this.start();
27+
}
28+
29+
start() {
30+
app.listen(port, (err) => {
31+
console.log('[%s] Listening on http://localhost:%d', process.env.NODE_ENV, port);
32+
});
33+
}
34+
35+
initViewEngine() {
36+
const hbs = exphbs.create({
37+
extname: '.hbs',
38+
defaultLayout: 'master'
39+
});
40+
app.engine('hbs', hbs.engine);
41+
app.set('view engine', 'hbs');
42+
hbsLayouts.register(hbs.handlebars, {});
43+
}
44+
45+
initExpressMiddleWare() {
46+
app.use(favicon(__dirname + '/public/images/favicon.ico'));
47+
app.use(express.static(__dirname + '/public'));
48+
app.use(morgan('dev'));
49+
app.use(bodyParser.urlencoded({ extended: true }));
50+
app.use(bodyParser.json());
51+
app.use(errorhandler());
52+
app.use(cookieParser());
53+
//app.use(csrf({ cookie: true }));
54+
55+
//app.use(function (req, res, next) {
56+
// var csrfToken = req.csrfToken();
57+
// res.locals._csrf = csrfToken;
58+
// res.cookie('XSRF-TOKEN', csrfToken);
59+
// next();
60+
//});
61+
62+
process.on('uncaughtException', function (err) {
63+
if (err) console.log(err, err.stack);
64+
});
65+
}
66+
67+
initCustomMiddleware() {
68+
if (process.platform === "win32") {
69+
require("readline").createInterface({
70+
input: process.stdin,
71+
output: process.stdout
72+
}).on("SIGINT", function () {
73+
console.log('SIGINT: Closing MongoDB connection');
74+
database.close();
75+
});
76+
}
77+
78+
process.on('SIGINT', function() {
79+
console.log('SIGINT: Closing MongoDB connection');
80+
database.close();
81+
});
82+
}
83+
84+
initDbSeeder() {
85+
database.open(function() {
86+
//Set NODE_ENV to 'development' and uncomment the following if to only run
87+
//the seeder when in dev mode
88+
//if (process.env.NODE_ENV === 'development') {
89+
// seeder.init();
90+
//}
91+
seeder.init();
92+
});
93+
}
94+
95+
initRoutes() {
96+
router.load(app, './controllers');
97+
98+
// redirect all others to the index (HTML5 history)
99+
app.all('/*', function(req, res) {
100+
res.sendFile(__dirname + '/public/index.html');
101+
});
102+
}
103+
104+
}
105+
106+
var server = new Server();

modules/module4/files/beginFiles/server.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const express = require('express'),
33
hbsHelpers = require('handlebars-helpers'),
44
hbsLayouts = require('handlebars-layouts'),
55
bodyParser = require('body-parser'),
6-
session = require('express-session'),
6+
cookieParser = require('cookie-parser'),
77
errorhandler = require('errorhandler'),
88
csrf = require('csurf'),
99
morgan = require('morgan'),
@@ -48,18 +48,16 @@ class Server {
4848
app.use(morgan('dev'));
4949
app.use(bodyParser.urlencoded({ extended: true }));
5050
app.use(bodyParser.json());
51-
app.use(session({
52-
secret: 'customermanagerdemo',
53-
saveUninitialized: true,
54-
resave: true })
55-
);
5651
app.use(errorhandler());
57-
// app.use(csrf());
52+
app.use(cookieParser());
53+
//app.use(csrf({ cookie: true }));
5854

59-
// app.use(function (req, res, next) {
60-
// res.locals._csrf = req.csrfToken();
61-
// next();
62-
// });
55+
//app.use(function (req, res, next) {
56+
// var csrfToken = req.csrfToken();
57+
// res.locals._csrf = csrfToken;
58+
// res.cookie('XSRF-TOKEN', csrfToken);
59+
// next();
60+
//});
6361

6462
process.on('uncaughtException', function (err) {
6563
if (err) console.log(err, err.stack);

modules/module5/files/beginFiles/server.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const express = require('express'),
33
hbsHelpers = require('handlebars-helpers'),
44
hbsLayouts = require('handlebars-layouts'),
55
bodyParser = require('body-parser'),
6-
session = require('express-session'),
6+
cookieParser = require('cookie-parser'),
77
errorhandler = require('errorhandler'),
88
csrf = require('csurf'),
99
morgan = require('morgan'),
@@ -48,18 +48,16 @@ class Server {
4848
app.use(morgan('dev'));
4949
app.use(bodyParser.urlencoded({ extended: true }));
5050
app.use(bodyParser.json());
51-
app.use(session({
52-
secret: 'customermanagerdemo',
53-
saveUninitialized: true,
54-
resave: true })
55-
);
5651
app.use(errorhandler());
57-
// app.use(csrf());
52+
app.use(cookieParser());
53+
//app.use(csrf({ cookie: true }));
5854

59-
// app.use(function (req, res, next) {
60-
// res.locals._csrf = req.csrfToken();
61-
// next();
62-
// });
55+
//app.use(function (req, res, next) {
56+
// var csrfToken = req.csrfToken();
57+
// res.locals._csrf = csrfToken;
58+
// res.cookie('XSRF-TOKEN', csrfToken);
59+
// next();
60+
//});
6361

6462
process.on('uncaughtException', function (err) {
6563
if (err) console.log(err, err.stack);

modules/module6/files/beginFiles/server.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const express = require('express'),
33
hbsHelpers = require('handlebars-helpers'),
44
hbsLayouts = require('handlebars-layouts'),
55
bodyParser = require('body-parser'),
6-
session = require('express-session'),
6+
cookieParser = require('cookie-parser'),
77
errorhandler = require('errorhandler'),
88
csrf = require('csurf'),
99
morgan = require('morgan'),
@@ -48,18 +48,16 @@ class Server {
4848
app.use(morgan('dev'));
4949
app.use(bodyParser.urlencoded({ extended: true }));
5050
app.use(bodyParser.json());
51-
app.use(session({
52-
secret: 'customermanagerdemo',
53-
saveUninitialized: true,
54-
resave: true })
55-
);
5651
app.use(errorhandler());
57-
// app.use(csrf());
52+
app.use(cookieParser());
53+
//app.use(csrf({ cookie: true }));
5854

59-
// app.use(function (req, res, next) {
60-
// res.locals._csrf = req.csrfToken();
61-
// next();
62-
// });
55+
//app.use(function (req, res, next) {
56+
// var csrfToken = req.csrfToken();
57+
// res.locals._csrf = csrfToken;
58+
// res.cookie('XSRF-TOKEN', csrfToken);
59+
// next();
60+
//});
6361

6462
process.on('uncaughtException', function (err) {
6563
if (err) console.log(err, err.stack);
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
const customersRepo = require('../../../lib/customersRepository'),
2+
statesRepo = require('../../../lib/statesRepository'),
3+
util = require('util');
4+
5+
class CustomersController {
6+
// /api/customers
7+
constructor(router) {
8+
router.get('/', this.getCustomers.bind(this));
9+
router.get('/:id', this.getCustomer.bind(this));
10+
router.post('/', this.insertCustomer.bind(this));
11+
router.put('/:id', this.updateCustomer.bind(this));
12+
router.delete('/:id', this.deleteCustomer.bind(this));
13+
}
14+
15+
getCustomers(req, res) {
16+
console.log('*** getCustomers');
17+
customersRepo.getCustomers((err, data) => {
18+
if (err) {
19+
console.log('*** getCustomers error: ' + util.inspect(err));
20+
res.json(null);
21+
} else {
22+
console.log('*** getCustomers ok');
23+
res.json(data.customers);
24+
}
25+
});
26+
}
27+
28+
getCustomer(req, res) {
29+
console.log('*** getCustomer');
30+
const id = req.params.id;
31+
customersRepo.getCustomer(id, (err, customer) => {
32+
if (err) {
33+
console.log('*** getCustomer error: ' + util.inspect(err));
34+
res.json(null);
35+
} else {
36+
console.log('*** getCustomer ok');
37+
res.json(customer);
38+
}
39+
});
40+
41+
}
42+
43+
insertCustomer(req, res) {
44+
console.log('*** insertCustomer');
45+
statesRepo.getState(req.body.stateId, (err, state) => {
46+
if (err) {
47+
console.log('*** statesRepo.getState error: ' + util.inspect(err));
48+
res.json({ status: false, error: 'State not found', customer: null });
49+
} else {
50+
customersRepo.insertCustomer(req.body, state, (err, customer) => {
51+
if (err) {
52+
console.log('*** customersRepo.insertCustomer error: ' + util.inspect(err));
53+
res.json({status: false, error: 'Insert failed', customer: null});
54+
} else {
55+
console.log('*** insertCustomer ok');
56+
res.json({ status: true, error: null, customer: customer });
57+
}
58+
});
59+
}
60+
});
61+
}
62+
63+
updateCustomer(req, res) {
64+
console.log('*** updateCustomer');
65+
console.log('*** req.body');
66+
console.log(req.body);
67+
68+
statesRepo.getState(req.body.stateId, (err, state) => {
69+
if (err) {
70+
console.log('*** statesRepo.getState error: ' + util.inspect(err));
71+
res.json({ status: false, error: 'State not found', customer: null });
72+
} else {
73+
customersRepo.updateCustomer(req.params.id, req.body, state, (err, customer) => {
74+
if (err) {
75+
console.log('*** customersRepo.updateCustomer error: ' + util.inspect(err));
76+
res.json({status: false, error: 'Update failed', customer: null});
77+
} else {
78+
console.log('*** updateCustomer ok');
79+
res.json({ status: true, error: null, customer: customer });
80+
}
81+
});
82+
}
83+
});
84+
}
85+
86+
deleteCustomer(req, res) {
87+
console.log('*** deleteCustomer');
88+
89+
customersRepo.deleteCustomer(req.params.id, (err) => {
90+
if (err) {
91+
console.log('*** deleteCustomer error: ' + util.inspect(err));
92+
res.json({ status: false });
93+
} else {
94+
console.log('*** deleteCustomer ok');
95+
res.json({ status: true });
96+
}
97+
});
98+
}
99+
100+
101+
}
102+
103+
module.exports = CustomersController;

0 commit comments

Comments
 (0)