-
Notifications
You must be signed in to change notification settings - Fork 0
/
admision.js
84 lines (72 loc) · 2.63 KB
/
admision.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
var fs = require("fs");
var express = require('express');
var bodyParser = require('body-parser');
var crypto = require('crypto');
var mysql = require('mysql');
// Inicio de la aplicacion
var app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
// Convierte a SHA1
var getSHA1ofJSON = function(input) {
return crypto.createHash('sha1')
.update(JSON.stringify(input))
.digest('hex');
};
// --------------------------------------------------------------------
// http://localhost:port/admision
// Retorna archivo JSON del archivo dado agregandole el sha del
// campo titulo
// --------------------------------------------------------------------
app.get('/admision', function(req, res) {
console.log("get...");
var contents = fs.readFileSync("albums.json");
var albums = JSON.parse(contents);
var len = albums.length;
while (len--) {
var album = albums[len];
album['hash'] = getSHA1ofJSON(album['title']);
}
res.end(JSON.stringify(albums));
});
// --------------------------------------------------------------------
// http://localhost:port/admision
// POST
// Payload { "nombre":"", "apellido" : "", "correo":"" }
// Agrega registro a la tabla persona
// --------------------------------------------------------------------
app.post('/admision', function(req, res) {
console.log("Posting...");
var data = req.body;
if (typeof data !== 'undefined' && data) {
data = JSON.stringify(req.body);
var persona = JSON.parse(data);
// Lee propiedad para la conexion a la BD
var contents = fs.readFileSync("database.properties.json");
var dbProperties = JSON.parse(contents);
var connection = mysql.createConnection({
host: dbProperties.host,
user: dbProperties.user,
password: dbProperties.password,
database: dbProperties.database
});
connection.connect();
// Inserta datos
var sql = 'INSERT INTO persona(nombre, apellido, correo) VALUES(?, ?, ?)';
var datos = [persona.nombre, persona.apellido, persona.correo];
connection.query(sql, datos, function(err, results) {
if (!err) {
console.log('The solution is: ', JSON.stringify(results));
res.end("OK");
} else {
res.end('Error insertando datos' + JSON.stringify(err));
console.log(err);
}
});
connection.end();
}
});
// Arranca a escuchar por el puerto dado
app.listen(port);
console.log('Server en ' + port);