-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathr_browse.js
136 lines (117 loc) · 3.71 KB
/
r_browse.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
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
130
131
132
133
134
135
136
/***************************************
** Author: Zach Reed
** Description: r_browse script
****************************************/
// Personal notes for reminders
// https://nodejs.org/api/modules.html#modules_module_exports
// https://www.w3schools.com/nodejs/nodejs_modules.asp equivalent to JS libraries
module.exports = function () { // will be exposed as a module
var express = require('express');
var router = express.Router(); // https://expressjs.com/en/guide/routing.html
// Load sql eso_regions to context.r_list
function get_regions(res, mysql, context, complete) {
mysql.pool.query('SELECT r.r_id, r.r_name, a.a_name FROM eso_regions r INNER JOIN eso_alliances a ON a.a_id = r.r_alliance',
function(error, results, fields){
if(error){
res.write(JSON.stringify(error));
res.end();
}
context.r_list = results;
complete();
}
);
}
// Load sql individual region to context.r_list
function get_region(res, mysql, context, id, complete) {
var sql = 'SELECT r_id, r_name, r_alliance FROM eso_regions WHERE r_id = ?';
var sql_id = [id];
mysql.pool.query(sql, sql_id,
function(error, results, fields) {
if (error) {
res.write(JSON.stringify(error));
res.end;
}
context.r_list = results[0]; // selects only first data set.
complete();
}
);
}
// Load sql eso_char_in_reg to context.cr_list
function get_char_reg(res, mysql, context, complete) {
mysql.pool.query('SELECT c.c_name, r.r_name FROM eso_characters c INNER JOIN eso_regions r ON r.r_id = c.c_region ORDER BY r.r_name DESC',
function(error, results, fields) {
if(error) {
res.write(JSON.stringify(error));
res.end;
}
context.cr_list = results;
complete();
}
);
}
// Load sql eso_alliances to context.a_list
function get_alliances(res, mysql, context, complete) {
mysql.pool.query('SELECT a_id, a_name FROM eso_alliances',
function(error, results, fields) {
if(error) {
res.write(JSON.stringify(error));
res.end();
}
context.a_list = results;
complete();
}
);
}
router.get('/', function(req, res) {
var callbackCount = 0;
var context= {};
//context.jsscripts = ["r_delete.js", "r_search.js"];
var mysql = req.app.get('mysql');
get_regions(res, mysql, context, complete);
get_alliances(res, mysql, context, complete);
get_char_reg(res, mysql, context, complete)
var file = 'r_browse';
function complete() {
callbackCount++;
if(callbackCount >= 3) {
res.render(file, context);
}
}
});
// router.get('/:id', function(req, res) {
// var mysql = req.app.get('mysql');
// var file = 'r_browse';
// var inserts = [req.body.r_name, req.body.r_alliance, req.params.id];
// var sql = 'UPDATE eso_regions SET r_name = ?, r_alliance = ? = ?WHERE r_id = ?';
// sql = mysql.pool.query(sql, inserts,
// function(error, results, fields) {
// if(error) {
// res.write(JSON.stringify(error));
// res.end();
// }
// else {
// res.status(200);
// res.end();
// }
// }
// );
// });
// router.post('/', function(req, res) {
// var mysql = req.app.get('mysql');
// var file = '/r_browse';
// var inserts = [req.body.q_name, req.body.q_level, req.body.q_region];
// var sql = 'INSERT INTO eso_regions (r_name, r_alliance) VALUES (?, ?)';
// sql = mysql.pool.query(sql, inserts,
// function(error, results, fields) {
// if(error) {
// res.write(JSON.stringify(error));
// res.end();
// }
// else {
// res.redirect(file);
// }
// }
// );
// });
return router;
}();