-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
99 lines (86 loc) · 2.6 KB
/
app.js
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
var express = require('express'),
path = require('path'),
bodyParser = require('body-parser'),
cons = require('consolidate');
dust = require('dustjs-helpers'),
pg = require('pg'),
app = express();
const {Pool} = require('pg')
// DB connect string
var connectionString = "postgres://root:PriyaPostgres91@localhost/recipebookdb";
const pool = new Pool({
connectionString: connectionString,
})
//Assign Dust Engine to .dust files
app.engine('dust',cons.dust);
//set Default Ext .dust
app.set('view engine','dust');
app.set('views',__dirname + '/views');
// Set public Folder
app.use(express.static(path.join(__dirname,'public')));
// Body Parser Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/',function(req,res){
//PG connect
pool.connect((err, client, release) => {
if (err) {
return console.error('Error acquiring client', err.stack)
}
client.query('SELECT * FROM recipes', (err, result) => {
if (err) {
return console.error('Error executing query', err.stack)
}
res.render('index',{recipes: result.rows});
release()
})
})
});
app.post('/add',function(req,res){
//PG connect
pool.connect((err, client, release) => {
if (err) {
return console.error('Error acquiring client', err.stack)
}
client.query('INSERT INTO recipes(name, ingredients, directions) VALUES($1, $2, $3)', [req.body.name, req.body.ingredients, req.body.directions], (err, result) => {
if (err) {
return console.error('Error executing query', err.stack)
}
res.redirect('/');
release()
})
});
});
app.delete('/delete/:id',function(req,res){
//PG connect
pool.connect((err, client, release) => {
if (err) {
return console.error('Error acquiring client', err.stack)
}
client.query('DELETE FROM recipes WHERE id = $1', [req.params.id], (err, result) => {
if (err) {
return console.error('Error executing query', err.stack)
}
res.sendStatus(200);
release()
})
});
});
app.post('/edit',function(req,res){
//PG connect
pool.connect((err, client, release) => {
if (err) {
return console.error('Error acquiring client', err.stack)
}
client.query('UPDATE recipes SET name=$1, ingredients=$2, directions=$3 WHERE id=$4', [req.body.name, req.body.ingredients, req.body.directions, req.body.id], (err, result) => {
if (err) {
return console.error('Error executing query', err.stack)
}
res.redirect('/');
})
});
});
// Server
app.listen(3000, function(){
console.log('Server started On Port 3000');
});