Centralizacion de la conexion MySQL a la base de datos. Uso de una unica raiz para el backend.
This commit is contained in:
parent
51c4651409
commit
e9bc3f0078
2
.gitignore
vendored
2
.gitignore
vendored
@ -23,6 +23,8 @@ yarn-error.log*
|
|||||||
# Archivos para el deploy
|
# Archivos para el deploy
|
||||||
*.js
|
*.js
|
||||||
*.js.map
|
*.js.map
|
||||||
|
/srv/mysql.ts
|
||||||
|
/srv/DatosConexion.ts
|
||||||
|
|
||||||
# Archivos de Materialize
|
# Archivos de Materialize
|
||||||
/src/materialize/
|
/src/materialize/
|
31
app.ts
31
app.ts
@ -1,31 +0,0 @@
|
|||||||
let express = require('express');
|
|
||||||
let app = express();
|
|
||||||
|
|
||||||
app.use(express.static('dist'));
|
|
||||||
|
|
||||||
// Que era history??
|
|
||||||
// @ts-ignore
|
|
||||||
// app.use(history());
|
|
||||||
|
|
||||||
app.use(express.urlencoded());
|
|
||||||
app.use(express.json());
|
|
||||||
|
|
||||||
app.get("/");
|
|
||||||
|
|
||||||
app.post('/links', require('./srv/LinksAnimes/obtenerLinks').obtenerLinks);
|
|
||||||
app.put('/links', require('./srv/LinksAnimes/modificarLink').modificarLinks);
|
|
||||||
|
|
||||||
app.put('/a/', require('./srv/Admin/crearAnime').crearAnime);
|
|
||||||
app.get('/a/', require('./srv/Admin/obtenerTodosAnimes').obtenerTodosAnimes);
|
|
||||||
|
|
||||||
app.get('/op/:id', require('./srv/Admin/OP/obtenerOPs').obtenerOPs);
|
|
||||||
app.post('/op/', require('./srv/Admin/OP/nuevoOP').nuevoOP);
|
|
||||||
|
|
||||||
app.get('/ed/:anime_ID', require('./srv/Admin/ED/obtenerEDs').obtenerEDs);
|
|
||||||
app.post('/ed/', require('./srv/Admin/ED/nuevoED').nuevoED);
|
|
||||||
|
|
||||||
app.get('/eps/variantes/:anime_ID', require('./srv/Admin/Eps/obtenerVariantes').obtenerVariantes);
|
|
||||||
app.get('/eps/links/:opcion_ID', require('./srv/Admin/Eps/obtenerLinks').obtenerLinks);
|
|
||||||
app.post('/eps/links/', require('./srv/Admin/Eps/crearLink').crearLink);
|
|
||||||
|
|
||||||
app.listen(8080);
|
|
26
package-lock.json
generated
26
package-lock.json
generated
@ -35,6 +35,7 @@
|
|||||||
"version": "1.17.0",
|
"version": "1.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
|
||||||
"integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==",
|
"integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/connect": "3.4.32",
|
"@types/connect": "3.4.32",
|
||||||
"@types/node": "10.12.5"
|
"@types/node": "10.12.5"
|
||||||
@ -44,6 +45,7 @@
|
|||||||
"version": "3.4.32",
|
"version": "3.4.32",
|
||||||
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
|
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
|
||||||
"integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
|
"integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "10.12.5"
|
"@types/node": "10.12.5"
|
||||||
}
|
}
|
||||||
@ -51,12 +53,14 @@
|
|||||||
"@types/events": {
|
"@types/events": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
|
"resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
|
||||||
"integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA=="
|
"integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/express": {
|
"@types/express": {
|
||||||
"version": "4.16.0",
|
"version": "4.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.16.0.tgz",
|
||||||
"integrity": "sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w==",
|
"integrity": "sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/body-parser": "1.17.0",
|
"@types/body-parser": "1.17.0",
|
||||||
"@types/express-serve-static-core": "4.16.0",
|
"@types/express-serve-static-core": "4.16.0",
|
||||||
@ -67,6 +71,7 @@
|
|||||||
"version": "4.16.0",
|
"version": "4.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz",
|
||||||
"integrity": "sha512-lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w==",
|
"integrity": "sha512-lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/events": "1.2.0",
|
"@types/events": "1.2.0",
|
||||||
"@types/node": "10.12.5",
|
"@types/node": "10.12.5",
|
||||||
@ -76,22 +81,35 @@
|
|||||||
"@types/mime": {
|
"@types/mime": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz",
|
||||||
"integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA=="
|
"integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@types/mysql": {
|
||||||
|
"version": "2.15.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.5.tgz",
|
||||||
|
"integrity": "sha512-4QAISTUGZbcFh7bqdndo08xRdES5OTU+JODy8VCZbe1yiXyGjqw1H83G43XjQ3IbC10wn9xlGd44A5RXJwNh0Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/node": "10.12.5"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "10.12.5",
|
"version": "10.12.5",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.5.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.5.tgz",
|
||||||
"integrity": "sha512-GzdHjq3t3eGLMv92Al90Iq+EoLL+86mPfQhuglbBFO7HiLdC/rkt+zrzJJumAiBF6nsrBWhou22rPW663AAyFw=="
|
"integrity": "sha512-GzdHjq3t3eGLMv92Al90Iq+EoLL+86mPfQhuglbBFO7HiLdC/rkt+zrzJJumAiBF6nsrBWhou22rPW663AAyFw==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/range-parser": {
|
"@types/range-parser": {
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz",
|
||||||
"integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw=="
|
"integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/serve-static": {
|
"@types/serve-static": {
|
||||||
"version": "1.13.2",
|
"version": "1.13.2",
|
||||||
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz",
|
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz",
|
||||||
"integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==",
|
"integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/express-serve-static-core": "4.16.0",
|
"@types/express-serve-static-core": "4.16.0",
|
||||||
"@types/mime": "2.0.0"
|
"@types/mime": "2.0.0"
|
||||||
|
@ -3,16 +3,13 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node app.js",
|
"start": "vue-cli-service express:run --port 8080",
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"express": "vue-cli-service express:watch",
|
"express": "vue-cli-service express:watch",
|
||||||
"express:run": "vue-cli-service express:run",
|
|
||||||
"deploy": "gcloud app deploy"
|
"deploy": "gcloud app deploy"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/express": "^4.16.0",
|
|
||||||
"@types/node": "^10.12.5",
|
|
||||||
"connect-history-api-fallback": "^1.5.0",
|
"connect-history-api-fallback": "^1.5.0",
|
||||||
"express": "^4.16.4",
|
"express": "^4.16.4",
|
||||||
"mysql": "^2.16.0",
|
"mysql": "^2.16.0",
|
||||||
@ -23,6 +20,9 @@
|
|||||||
"yaml": "^1.0.2"
|
"yaml": "^1.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@types/mysql": "^2.15.5",
|
||||||
|
"@types/express": "^4.16.0",
|
||||||
|
"@types/node": "^10.12.5",
|
||||||
"@types/yaml": "^1.0.1",
|
"@types/yaml": "^1.0.1",
|
||||||
"@vue/cli-plugin-typescript": "^3.0.5",
|
"@vue/cli-plugin-typescript": "^3.0.5",
|
||||||
"@vue/cli-service": "^3.0.5",
|
"@vue/cli-service": "^3.0.5",
|
||||||
|
@ -1,12 +1,45 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div>
|
||||||
<div class="caja colorTexto background2">
|
<div class="caja colorTexto background2">
|
||||||
Esta es la barra lateral.
|
Esta es la barra lateral.
|
||||||
</div>
|
</div>
|
||||||
|
<div class="caja colorTexto background2">
|
||||||
|
Estadisticas:<br>
|
||||||
|
<br>
|
||||||
|
Hemos subido <b>{{ estadisticas.episodios }}</b> episodios,<br>
|
||||||
|
haciendo un total de <b>{{ estadisticas.gigas }} GB.</b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
const YAML = require('yaml');
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "BarraLateral"
|
name: "BarraLateral",
|
||||||
|
data: function (){
|
||||||
|
return {
|
||||||
|
estadisticas: {
|
||||||
|
episodios: 'más de 200',
|
||||||
|
gigas: 'más de 65'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created: function () {
|
||||||
|
const vm = this;
|
||||||
|
const xhr = new XMLHttpRequest();
|
||||||
|
xhr.open("GET", "/estadisticas");
|
||||||
|
xhr.onload = () => {
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const respuesta = YAML.parse(xhr.responseText);
|
||||||
|
if (!respuesta.error) {
|
||||||
|
vm.estadisticas = respuesta;
|
||||||
|
} else {
|
||||||
|
console.log("Error al obtener las estadisticas :c");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhr.send();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -10,10 +10,9 @@ const nuevoED = (req: any, res: any) => {
|
|||||||
|
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
const data: Data = YAML.parse(req.body.data);
|
const data: Data = YAML.parse(req.body.data);
|
||||||
const con = require('../../mysql').obtenerConexionMySql();
|
const con = require('../../index').conexionMySQL;
|
||||||
|
|
||||||
con.connect((err: Error) => {
|
if (data) {
|
||||||
if (!err && data) {
|
|
||||||
|
|
||||||
const query = `INSERT INTO ED (anime_ID, num_ED, nombre, artista, eps) VALUES ( ${data.anime_ID}, ${data.num_ED},
|
const query = `INSERT INTO ED (anime_ID, num_ED, nombre, artista, eps) VALUES ( ${data.anime_ID}, ${data.num_ED},
|
||||||
${con.escape(data.nombre)}, ${con.escape(data.artista)}, ${con.escape(data.eps)} )`;
|
${con.escape(data.nombre)}, ${con.escape(data.artista)}, ${con.escape(data.eps)} )`;
|
||||||
@ -26,14 +25,10 @@ const nuevoED = (req: any, res: any) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} else if (!err) {
|
|
||||||
res.send("error: true");
|
|
||||||
console.log("Error. La data no existe en /Admin/ED/nuevoED (con.connect)");
|
|
||||||
} else {
|
} else {
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
console.log("Error al conectarse a la base de datos en /Admin/ED/nuevoED (con.connect):\n" + err);
|
console.log("Error. La data no existe en /Admin/ED/nuevoED (con.connect)");
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -11,10 +11,10 @@ const obtenerEDs = (req: any, res: any) => {
|
|||||||
|
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
const anime_ID: number = req.params.anime_ID;
|
const anime_ID: number = req.params.anime_ID;
|
||||||
const con = require('../../mysql').obtenerConexionMySql();
|
const con = require('../../index').conexionMySQL;
|
||||||
|
|
||||||
con.connect((err: Error) => {
|
|
||||||
if (!err) {
|
if (anime_ID) {
|
||||||
|
|
||||||
const query = `SELECT * FROM ED WHERE anime_ID=${anime_ID}`;
|
const query = `SELECT * FROM ED WHERE anime_ID=${anime_ID}`;
|
||||||
con.query(query, (err: Error, response: RespuestaED[]) => {
|
con.query(query, (err: Error, response: RespuestaED[]) => {
|
||||||
@ -30,9 +30,8 @@ const obtenerEDs = (req: any, res: any) => {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
console.log("Error al conectarse a la base de datos en /Admin/ED/obtenerEDs (con.connect):\n" + err);
|
console.log("Error en /Admin/ED/obtenerEDs: anime_ID no existe.");
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -8,13 +8,13 @@ interface formatoDataARecibir {
|
|||||||
|
|
||||||
const crearLink = (req: any, res: any) => {
|
const crearLink = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../../mysql').obtenerConexionMySql();
|
const con = require('../../index').conexionMySQL;
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
|
|
||||||
const parametros: formatoDataARecibir = YAML.parse(req.body.params);
|
const parametros: formatoDataARecibir = YAML.parse(req.body.params);
|
||||||
|
|
||||||
con.connect((err: Error) => {
|
|
||||||
if (!err && parametros) {
|
if (parametros) {
|
||||||
|
|
||||||
const query = `INSERT INTO eps (opcion_ID, num_ep, visitas, link, peso) VALUES (${parametros.opcion_ID},
|
const query = `INSERT INTO eps (opcion_ID, num_ep, visitas, link, peso) VALUES (${parametros.opcion_ID},
|
||||||
${parametros.num_ep}, ${parametros.visitas}, ${con.escape(parametros.link)}, ${con.escape(parametros.peso)} )`;
|
${parametros.num_ep}, ${parametros.visitas}, ${con.escape(parametros.link)}, ${con.escape(parametros.peso)} )`;
|
||||||
@ -29,14 +29,10 @@ const crearLink = (req: any, res: any) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} else if (!err) {
|
} else {
|
||||||
console.log("Error. 'parametros' no existe en /Admin/Eps/crearEp -> con.connect (linea 16):\n" + parametros);
|
console.log("Error. 'parametros' no existe en /Admin/Eps/crearEp -> con.connect (linea 16):\n" + parametros);
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
} else {
|
|
||||||
console.log("Error al conectarse a la base de datos en /Admin/Eps/crearEp -> con.connect (linea 16):\n" + err);
|
|
||||||
res.send("error: true");
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
34
srv/Admin/Eps/estadisticas.ts
Normal file
34
srv/Admin/Eps/estadisticas.ts
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import {Connection, MysqlError} from "mysql";
|
||||||
|
import * as core from "express-serve-static-core";
|
||||||
|
|
||||||
|
const con: Connection = require('../../index').conexionMySQL;
|
||||||
|
const YAML = require('yaml');
|
||||||
|
|
||||||
|
interface respuesta {
|
||||||
|
peso: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const estadisticas = (req: core.Request, res: core.Response) => {
|
||||||
|
|
||||||
|
con.query(`SELECT peso FROM eps`,(err: MysqlError, respuestas: respuesta[]) => {
|
||||||
|
if (!err) {
|
||||||
|
|
||||||
|
let totalMB = 0;
|
||||||
|
let cantidadEps = 0;
|
||||||
|
respuestas.forEach(data => {
|
||||||
|
totalMB += parseInt(data.peso);
|
||||||
|
cantidadEps++;
|
||||||
|
});
|
||||||
|
|
||||||
|
const respuesta: any = {
|
||||||
|
episodios: cantidadEps,
|
||||||
|
gigas: (totalMB/1024).toFixed(2)
|
||||||
|
};
|
||||||
|
|
||||||
|
res.send(YAML.stringify(respuesta));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.estadisticas = estadisticas;
|
@ -9,13 +9,12 @@ interface epsRespuesta {
|
|||||||
|
|
||||||
const obtenerLinks = (req: any, res: any) => {
|
const obtenerLinks = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../../mysql').obtenerConexionMySql();
|
const con = require('../../index').conexionMySQL;
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
|
|
||||||
const opcion_ID = req.params.opcion_ID;
|
const opcion_ID = req.params.opcion_ID;
|
||||||
|
|
||||||
con.connect((err: Error) => {
|
if (opcion_ID) {
|
||||||
if (!err && opcion_ID) {
|
|
||||||
|
|
||||||
const query = `SELECT * FROM eps WHERE opcion_ID=${opcion_ID}`;
|
const query = `SELECT * FROM eps WHERE opcion_ID=${opcion_ID}`;
|
||||||
con.query(query, (err: Error, response: epsRespuesta[]) => {
|
con.query(query, (err: Error, response: epsRespuesta[]) => {
|
||||||
@ -29,14 +28,10 @@ const obtenerLinks = (req: any, res: any) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} else if (!err) {
|
} else {
|
||||||
console.log("Error. opcion_ID no existe en /Admin/Eps/obtenerEps con.connect (linea 8)");
|
console.log("Error. opcion_ID no existe en /Admin/Eps/obtenerEps con.connect (linea 8)");
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
} else {
|
|
||||||
console.log("");
|
|
||||||
res.send("error: true");
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -10,13 +10,12 @@ interface respuestaLinks {
|
|||||||
|
|
||||||
const obtenerVariantes = (req: any, res: any) => {
|
const obtenerVariantes = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../../mysql').obtenerConexionMySql();
|
const con = require('../../index').conexionMySQL;
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
|
|
||||||
const anime_ID: string = req.params.anime_ID;
|
const anime_ID: string = req.params.anime_ID;
|
||||||
|
|
||||||
con.connect((err: Error) => {
|
if (anime_ID) {
|
||||||
if (!err && anime_ID) {
|
|
||||||
|
|
||||||
const query = `SELECT * FROM links_opciones WHERE links_ID=(SELECT links_ID FROM links WHERE anime_ID=${anime_ID})`;
|
const query = `SELECT * FROM links_opciones WHERE links_ID=(SELECT links_ID FROM links WHERE anime_ID=${anime_ID})`;
|
||||||
|
|
||||||
@ -31,14 +30,10 @@ const obtenerVariantes = (req: any, res: any) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} else if (!err) {
|
} else {
|
||||||
console.log("Error. anime_ID no existe en Admin/Eps/obtenerVariantes con.connect:\n" + anime_ID);
|
console.log("Error. anime_ID no existe en Admin/Eps/obtenerVariantes con.connect:\n" + anime_ID);
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
} else {
|
|
||||||
console.log("Error al conectarse a la Base de Datos en Admin/Eps/obtenerVariantes con.connect:\n" + err);
|
|
||||||
res.send("error: true");
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
const nuevoOP = (req: any, res: any) => {
|
const nuevoOP = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../../mysql').obtenerConexionMySql();
|
const con = require('../../index').conexionMySQL;
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
|
|
||||||
const data = YAML.parse(req.body.data);
|
const data = YAML.parse(req.body.data);
|
||||||
|
|
||||||
con.connect((err: any) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
con.query(
|
con.query(
|
||||||
`INSERT INTO OP (anime_ID, num_OP, nombre, artista, eps) VALUES \
|
`INSERT INTO OP (anime_ID, num_OP, nombre, artista, eps) VALUES \
|
||||||
( ${con.escape(data['anime_ID'])}, ${con.escape(data['num_OP'])}, ${con.escape(data['nombre'])},
|
( ${con.escape(data['anime_ID'])}, ${con.escape(data['num_OP'])}, ${con.escape(data['nombre'])},
|
||||||
@ -23,11 +20,6 @@ const nuevoOP = (req: any, res: any) => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.nuevoOP = nuevoOP;
|
module.exports.nuevoOP = nuevoOP;
|
@ -1,12 +1,11 @@
|
|||||||
const obtenerOPs = (req: any, res: any) => {
|
const obtenerOPs = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../../mysql').obtenerConexionMySql();
|
const con = require('../../index').conexionMySQL;
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
|
|
||||||
const animeID: number = req.params.id;
|
const animeID: number = req.params.id;
|
||||||
|
|
||||||
con.connect((err: any) => {
|
if (animeID) {
|
||||||
if (!err && animeID) {
|
|
||||||
|
|
||||||
const query = `SELECT * FROM OP WHERE anime_ID=${animeID}`;
|
const query = `SELECT * FROM OP WHERE anime_ID=${animeID}`;
|
||||||
con.query( query, (err: any, resultado: object) => {
|
con.query( query, (err: any, resultado: object) => {
|
||||||
@ -21,11 +20,9 @@ const obtenerOPs = (req: any, res: any) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log("Error al conectarse a la base de datos en /Admin/OP/obtenerOPs (con.connect):\n" + err);
|
console.log("Error en /Admin/OP/obtenerOPs: animeID no existe");
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.obtenerOPs = obtenerOPs;
|
module.exports.obtenerOPs = obtenerOPs;
|
@ -1,13 +1,12 @@
|
|||||||
const crearAnime = (req: any, res: any) => {
|
const crearAnime = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../mysql').obtenerConexionMySql();
|
const con = require('../index').conexionMySQL;
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
|
|
||||||
if (req.body.data) {
|
if (req.body.data) {
|
||||||
|
|
||||||
const data = YAML.parse(req.body.data);
|
const data = YAML.parse(req.body.data);
|
||||||
con.connect((err: any) => {
|
|
||||||
if (!err) {
|
|
||||||
const query = `INSERT INTO animes
|
const query = `INSERT INTO animes
|
||||||
(titulo, link, imgUrl, descripcion, estudio, eps, alAire, temporada, anio, fuente, generos, color)
|
(titulo, link, imgUrl, descripcion, estudio, eps, alAire, temporada, anio, fuente, generos, color)
|
||||||
VALUES (${con.escape(data.titulo)}, ${con.escape(data.link)}, ${con.escape(data.imgUrl)}, ${con.escape(data.descripcion)},
|
VALUES (${con.escape(data.titulo)}, ${con.escape(data.link)}, ${con.escape(data.imgUrl)}, ${con.escape(data.descripcion)},
|
||||||
@ -26,14 +25,7 @@ const crearAnime = (req: any, res: any) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
res.send("Error al conectarse...\n" + err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
res.send("Error. El servidor no recibio ningun dato.");
|
res.send("Error. El servidor no recibio ningun dato.");
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
const obtenerTodosAnimes = (req: any, res: any) => {
|
const obtenerTodosAnimes = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../mysql').obtenerConexionMySql();
|
const con = require('../index').conexionMySQL;
|
||||||
const YAML = require('yaml');
|
const YAML = require('yaml');
|
||||||
|
|
||||||
con.connect((err: any) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
con.query(
|
con.query(
|
||||||
`SELECT anime_ID ,titulo FROM animes ORDER BY anime_ID DESC `,
|
`SELECT anime_ID ,titulo FROM animes ORDER BY anime_ID DESC `,
|
||||||
(err: any, respuesta: any) => {
|
(err: any, respuesta: any) => {
|
||||||
@ -14,17 +11,12 @@ const obtenerTodosAnimes = (req: any, res: any) => {
|
|||||||
const resultado = YAML.stringify(respuesta);
|
const resultado = YAML.stringify(respuesta);
|
||||||
res.send(resultado);
|
res.send(resultado);
|
||||||
|
|
||||||
} else {
|
} else { // TODO
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.obtenerTodosAnimes = obtenerTodosAnimes;
|
module.exports.obtenerTodosAnimes = obtenerTodosAnimes;
|
@ -1,3 +1,5 @@
|
|||||||
|
import {Connection} from "mysql";
|
||||||
|
|
||||||
interface RespuestaDatos {
|
interface RespuestaDatos {
|
||||||
estudio: string,
|
estudio: string,
|
||||||
eps: number,
|
eps: number,
|
||||||
@ -35,13 +37,9 @@ const YAML = require('yaml');
|
|||||||
|
|
||||||
const obtenerDatos = (req: any, res: any) => {
|
const obtenerDatos = (req: any, res: any) => {
|
||||||
|
|
||||||
const anime_ID = req.paams.anime_ID;
|
const anime_ID = req.params.anime_ID;
|
||||||
|
|
||||||
const con = require('../mysql').obtenerConexionMySql();
|
|
||||||
|
|
||||||
con.connect((err: Error) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
|
const con: Connection = require('../index').conexionMySQL;
|
||||||
|
|
||||||
const respuesta: any = {};
|
const respuesta: any = {};
|
||||||
const gestor = new GestorDeTareas(() => {
|
const gestor = new GestorDeTareas(() => {
|
||||||
@ -118,13 +116,6 @@ const obtenerDatos = (req: any, res: any) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
} else {
|
|
||||||
console.log("Error al conectarse a BBDD en /Animes/obtenerDatos (con.connect):\n" + err);
|
|
||||||
res.send("error: true");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.obtenerDatos = obtenerDatos;
|
module.exports.obtenerDatos = obtenerDatos;
|
@ -2,10 +2,7 @@ const modificarLink = (req: any, res: any) => {
|
|||||||
|
|
||||||
const ep_ID = req.body.ep_ID;
|
const ep_ID = req.body.ep_ID;
|
||||||
|
|
||||||
const con = require('../mysql').obtenerConexionMySql();
|
const con = require('../index').conexionMySQL;
|
||||||
|
|
||||||
con.connect((err: any) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
con.query(
|
con.query(
|
||||||
`UPDATE eps SET visitas=visitas+1 WHERE ep_ID=${ep_ID};`,
|
`UPDATE eps SET visitas=visitas+1 WHERE ep_ID=${ep_ID};`,
|
||||||
@ -18,12 +15,6 @@ const modificarLink = (req: any, res: any) => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
|
||||||
console.log("Error al conectarse a base de datos.");
|
|
||||||
con.end();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.modificarLinks = modificarLink;
|
module.exports.modificarLinks = modificarLink;
|
@ -50,11 +50,11 @@ interface Links {
|
|||||||
|
|
||||||
const obtenerLinks = (req: any, res: any) => {
|
const obtenerLinks = (req: any, res: any) => {
|
||||||
|
|
||||||
const con = require('../mysql').obtenerConexionMySql();
|
const con = require('../index').conexionMySQL;
|
||||||
const animeID = req.body.animeID;
|
const animeID = req.body.animeID;
|
||||||
|
|
||||||
con.connect((err: any) => {
|
|
||||||
if (!err && animeID !== undefined) {
|
if (animeID) {
|
||||||
|
|
||||||
const data: Links = {aviso: '', sigEp: '', opciones: {}};
|
const data: Links = {aviso: '', sigEp: '', opciones: {}};
|
||||||
|
|
||||||
@ -143,10 +143,9 @@ const obtenerLinks = (req: any, res: any) => {
|
|||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log("Hubo un error al conectarse a la base de datos :c");
|
console.log("AnimeID no existe");
|
||||||
res.send(`{ "exito": false }`);
|
res.send(`{ "exito": false }`);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
24
srv/index.ts
24
srv/index.ts
@ -1,6 +1,8 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
|
import * as core from "express-serve-static-core";
|
||||||
|
import {MysqlError} from "mysql";
|
||||||
|
|
||||||
export default (app:any) => {
|
export default (app: core.Express) => {
|
||||||
|
|
||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
app.use(express.urlencoded());
|
app.use(express.urlencoded());
|
||||||
@ -23,4 +25,24 @@ export default (app:any) => {
|
|||||||
app.get('/eps/links/:opcion_ID', require('./Admin/Eps/obtenerLinks').obtenerLinks);
|
app.get('/eps/links/:opcion_ID', require('./Admin/Eps/obtenerLinks').obtenerLinks);
|
||||||
app.post('/eps/links/', require('./Admin/Eps/crearLink').crearLink);
|
app.post('/eps/links/', require('./Admin/Eps/crearLink').crearLink);
|
||||||
|
|
||||||
|
app.get('/estadisticas', require('./Admin/Eps/estadisticas').estadisticas);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const conexionMySQL = (() => {
|
||||||
|
const mysql = require('mysql');
|
||||||
|
const SQL_CONNECT_DATA = require('./DatosConexion').DatosConexion;
|
||||||
|
|
||||||
|
const con = mysql.createConnection(SQL_CONNECT_DATA);
|
||||||
|
|
||||||
|
con.connect((err: MysqlError) => {
|
||||||
|
if (!err) {
|
||||||
|
console.log("MySQL iniciado c:");
|
||||||
|
} else {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return con;
|
||||||
|
})();
|
||||||
|
|
||||||
|
module.exports.conexionMySQL = conexionMySQL;
|
17
srv/mysql.ts
17
srv/mysql.ts
@ -1,17 +0,0 @@
|
|||||||
const obtenerConexionMySql = () => {
|
|
||||||
|
|
||||||
const mysql = require('mysql');
|
|
||||||
const SQL_CONNECT_DATA:object = {
|
|
||||||
// Solo para produccion habilitar socketPath
|
|
||||||
// socketPath: '/cloudsql/pseudosubs:us-central1:base-principal',
|
|
||||||
user: 'root',
|
|
||||||
password: 'GgwTo5GryvDhAr06wk5opKhd',
|
|
||||||
database: 'animes_links',
|
|
||||||
multipleStatements: true
|
|
||||||
};
|
|
||||||
|
|
||||||
return mysql.createConnection(SQL_CONNECT_DATA);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports.obtenerConexionMySql = obtenerConexionMySql;
|
|
Loading…
Reference in New Issue
Block a user