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 class="caja colorTexto background2">
|
<div>
|
||||||
Esta es la barra lateral.
|
<div class="caja colorTexto background2">
|
||||||
|
Esta es la barra lateral.
|
||||||
|
</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>
|
</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,30 +10,25 @@ 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)} )`;
|
||||||
con.query(query, (err: Error) => {
|
con.query(query, (err: Error) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
res.send("exito: true");
|
res.send("exito: true");
|
||||||
} else {
|
} else {
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
console.log("Error al ejecutar query en /Admin/ED/nuevoED (con.query):\n" + query + "\n" + err);
|
console.log("Error al ejecutar query en /Admin/ED/nuevoED (con.query):\n" + query + "\n" + err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} else if (!err) {
|
} else {
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
console.log("Error. La data no existe en /Admin/ED/nuevoED (con.connect)");
|
console.log("Error. La data no existe en /Admin/ED/nuevoED (con.connect)");
|
||||||
} else {
|
}
|
||||||
res.send("error: true");
|
|
||||||
console.log("Error al conectarse a la base de datos en /Admin/ED/nuevoED (con.connect):\n" + err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -11,28 +11,27 @@ 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) {
|
|
||||||
|
|
||||||
const query = `SELECT * FROM ED WHERE anime_ID=${anime_ID}`;
|
if (anime_ID) {
|
||||||
con.query(query, (err: Error, response: RespuestaED[]) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
res.send(YAML.stringify(response));
|
const query = `SELECT * FROM ED WHERE anime_ID=${anime_ID}`;
|
||||||
|
con.query(query, (err: Error, response: RespuestaED[]) => {
|
||||||
|
if (!err) {
|
||||||
|
|
||||||
} else {
|
res.send(YAML.stringify(response));
|
||||||
res.send("error: true");
|
|
||||||
console.log("Error al ejecutar query en /Admin/ED/nuevoED (con.query):\n" + query + "\n" + err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
} 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 al ejecutar query en /Admin/ED/nuevoED (con.query):\n" + query + "\n" + err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
res.send("error: true");
|
||||||
|
console.log("Error en /Admin/ED/obtenerEDs: anime_ID no existe.");
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -8,35 +8,31 @@ 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) {
|
|
||||||
|
|
||||||
const query = `INSERT INTO eps (opcion_ID, num_ep, visitas, link, peso) VALUES (${parametros.opcion_ID},
|
if (parametros) {
|
||||||
${parametros.num_ep}, ${parametros.visitas}, ${con.escape(parametros.link)}, ${con.escape(parametros.peso)} )`;
|
|
||||||
con.query(query, (err: Error) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
res.send("error: false");
|
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)} )`;
|
||||||
|
con.query(query, (err: Error) => {
|
||||||
|
if (!err) {
|
||||||
|
|
||||||
} else {
|
res.send("error: false");
|
||||||
console.log("Error al ejecutar query en /Admin/Eps/crearEp -> con.query (linea 20). Query y error:\n" + query + "\n" + parametros);
|
|
||||||
res.send("error: true");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
} else if (!err) {
|
} else {
|
||||||
console.log("Error. 'parametros' no existe en /Admin/Eps/crearEp -> con.connect (linea 16):\n" + parametros);
|
console.log("Error al ejecutar query en /Admin/Eps/crearEp -> con.query (linea 20). Query y error:\n" + query + "\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");
|
|
||||||
}
|
} else {
|
||||||
});
|
console.log("Error. 'parametros' no existe en /Admin/Eps/crearEp -> con.connect (linea 16):\n" + parametros);
|
||||||
|
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,34 +9,29 @@ 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[]) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
|
|
||||||
res.send(YAML.stringify(response));
|
res.send(YAML.stringify(response));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log("Error al ejecutar query en /Admin/Eps/obtenerEps con.query (linea 21). Query:\n" + query + "\nError: \n" + err);
|
console.log("Error al ejecutar query en /Admin/Eps/obtenerEps con.query (linea 21). Query:\n" + query + "\nError: \n" + err);
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} 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,35 +10,30 @@ 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})`;
|
||||||
|
|
||||||
con.query (query, (err: Error, response: respuestaLinks[]) => {
|
con.query (query, (err: Error, response: respuestaLinks[]) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
|
|
||||||
res.send(YAML.stringify(response));
|
res.send(YAML.stringify(response));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log("Error al ejecutar query sql. La query era:\n" + query + "\n y el error es:\n" + err);
|
console.log("Error al ejecutar query sql. La query era:\n" + query + "\n y el error es:\n" + err);
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} 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,32 +1,24 @@
|
|||||||
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) => {
|
con.query(
|
||||||
if (!err) {
|
`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['artista'])}, ${con.escape(data['eps'])} )`,
|
||||||
|
(err: any) => {
|
||||||
|
if (!err) {
|
||||||
|
|
||||||
con.query(
|
res.send("Exito :D");
|
||||||
`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['artista'])}, ${con.escape(data['eps'])} )`,
|
|
||||||
(err: any) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
res.send("Exito :D");
|
} else {
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,31 +1,28 @@
|
|||||||
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) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
|
|
||||||
res.send(YAML.stringify(resultado));
|
res.send(YAML.stringify(resultado));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log("Error al ejecutar query en /Admin/OP/obtenerOPs (con.query):\n" + query + "\n" + err);
|
console.log("Error al ejecutar query en /Admin/OP/obtenerOPs (con.query):\n" + query + "\n" + err);
|
||||||
res.send("error: true");
|
res.send("error: true");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
|
||||||
console.log("Error al conectarse a la base de datos en /Admin/OP/obtenerOPs (con.connect):\n" + err);
|
|
||||||
res.send("error: true");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
console.log("Error en /Admin/OP/obtenerOPs: animeID no existe");
|
||||||
|
res.send("error: true");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.obtenerOPs = obtenerOPs;
|
module.exports.obtenerOPs = obtenerOPs;
|
@ -1,39 +1,31 @@
|
|||||||
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
|
|
||||||
(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)},
|
|
||||||
${con.escape(data.estudio)}, ${data.eps}, ${con.escape(data.alAire)}, ${con.escape(data.temporada)}, ${con.escape(data.anio)},
|
|
||||||
${con.escape(data.fuente)}, ${con.escape(data.generos)}, ${con.escape(data.color)})`
|
|
||||||
;
|
|
||||||
con.query(
|
|
||||||
query,
|
|
||||||
(err: any) => {
|
|
||||||
if (!err) {
|
|
||||||
res.send("Exito");
|
|
||||||
} else {
|
|
||||||
res.send("Fracaso :c\n" + err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
} else {
|
const query = `INSERT INTO animes
|
||||||
res.send("Error al conectarse...\n" + err);
|
(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)},
|
||||||
|
${con.escape(data.estudio)}, ${data.eps}, ${con.escape(data.alAire)}, ${con.escape(data.temporada)}, ${con.escape(data.anio)},
|
||||||
|
${con.escape(data.fuente)}, ${con.escape(data.generos)}, ${con.escape(data.color)})`
|
||||||
|
;
|
||||||
|
con.query(
|
||||||
|
query,
|
||||||
|
(err: any) => {
|
||||||
|
if (!err) {
|
||||||
|
res.send("Exito");
|
||||||
|
} else {
|
||||||
|
res.send("Fracaso :c\n" + err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
res.send("Error. El servidor no recibio ningun dato.");
|
res.send("Error. El servidor no recibio ningun dato.");
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,29 +1,21 @@
|
|||||||
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) => {
|
con.query(
|
||||||
if (!err) {
|
`SELECT anime_ID ,titulo FROM animes ORDER BY anime_ID DESC `,
|
||||||
|
(err: any, respuesta: any) => {
|
||||||
|
if (!err) {
|
||||||
|
|
||||||
con.query(
|
const resultado = YAML.stringify(respuesta);
|
||||||
`SELECT anime_ID ,titulo FROM animes ORDER BY anime_ID DESC `,
|
res.send(resultado);
|
||||||
(err: any, respuesta: any) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
const resultado = YAML.stringify(respuesta);
|
} else { // TODO
|
||||||
res.send(resultado);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
import {Connection} from "mysql";
|
||||||
|
|
||||||
interface RespuestaDatos {
|
interface RespuestaDatos {
|
||||||
estudio: string,
|
estudio: string,
|
||||||
eps: number,
|
eps: number,
|
||||||
@ -35,93 +37,82 @@ 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();
|
const con: Connection = require('../index').conexionMySQL;
|
||||||
|
|
||||||
con.connect((err: Error) => {
|
const respuesta: any = {};
|
||||||
|
const gestor = new GestorDeTareas(() => {
|
||||||
|
console.log(YAML.stringify(respuesta));
|
||||||
|
res.send(YAML.stringify(respuesta));
|
||||||
|
});
|
||||||
|
|
||||||
|
const query1 = `SELECT estudio, eps, alAire, temporada, anio, fuente, generos FROM animes WHERE anime_ID=${anime_ID}`;
|
||||||
|
gestor.agregarTarea();
|
||||||
|
con.query(query1, (err: Error, res: RespuestaDatos[]) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
|
|
||||||
|
const data = res[0];
|
||||||
|
|
||||||
const respuesta: any = {};
|
respuesta.estudio = data.estudio;
|
||||||
const gestor = new GestorDeTareas(() => {
|
respuesta.eps = data.estudio;
|
||||||
console.log(YAML.stringify(respuesta));
|
respuesta.alAire = data.alAire;
|
||||||
res.send(YAML.stringify(respuesta));
|
respuesta.temporada = data.temporada;
|
||||||
});
|
respuesta.anio = data.anio;
|
||||||
|
respuesta.fuente = data.fuente;
|
||||||
const query1 = `SELECT estudio, eps, alAire, temporada, anio, fuente, generos FROM animes WHERE anime_ID=${anime_ID}`;
|
respuesta.generos = data.generos;
|
||||||
gestor.agregarTarea();
|
|
||||||
con.query(query1, (err: Error, res: RespuestaDatos[]) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
const data = res[0];
|
|
||||||
|
|
||||||
respuesta.estudio = data.estudio;
|
|
||||||
respuesta.eps = data.estudio;
|
|
||||||
respuesta.alAire = data.alAire;
|
|
||||||
respuesta.temporada = data.temporada;
|
|
||||||
respuesta.anio = data.anio;
|
|
||||||
respuesta.fuente = data.fuente;
|
|
||||||
respuesta.generos = data.generos;
|
|
||||||
|
|
||||||
gestor.terminarTarea();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
respuesta.error = true;
|
|
||||||
console.log(`Error al ejecutar sentencia SQL en /Anime/obtenerDatos (con.query)(1):\n${query1}\n${err}`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const query2 = `SELECT * FROM OP WHERE anime_ID=${anime_ID}`;
|
|
||||||
gestor.agregarTarea();
|
|
||||||
con.query(query2, (err: Error, res: RespuestaOP[]) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
const ops: any = {};
|
|
||||||
for (const op of res) {
|
|
||||||
ops[op.num_OP] = {
|
|
||||||
nombre: op.nombre,
|
|
||||||
artista: op.artista,
|
|
||||||
eps: op.eps
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
respuesta.OP = ops;
|
|
||||||
gestor.terminarTarea();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
respuesta.error = true;
|
|
||||||
console.log(`Error al ejecutar sentencia SQL en /Anime/obtenerDatos (con.query)(2):\n${query2}\n${err}`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const query3 = `SELECT * FROM ED WHERE anime_ID=${anime_ID}`;
|
|
||||||
gestor.agregarTarea();
|
|
||||||
con.query(query3, (err: Error, res: RespuestaED[]) => {
|
|
||||||
if (!err) {
|
|
||||||
|
|
||||||
const eds: any = {};
|
|
||||||
for (const ed of res) {
|
|
||||||
eds[ed.num_ED] = {
|
|
||||||
nombre: ed.nombre,
|
|
||||||
artista: ed.artista,
|
|
||||||
eps: ed.eps
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
respuesta.ED = eds;
|
|
||||||
gestor.terminarTarea();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
respuesta.error = true;
|
|
||||||
console.log(`Error al ejecutar sentencia SQL en /Anime/obtenerDatos (con.query)(3):\n${query3}\n${err}`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
gestor.terminarTarea();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log("Error al conectarse a BBDD en /Animes/obtenerDatos (con.connect):\n" + err);
|
respuesta.error = true;
|
||||||
res.send("error: true");
|
console.log(`Error al ejecutar sentencia SQL en /Anime/obtenerDatos (con.query)(1):\n${query1}\n${err}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const query2 = `SELECT * FROM OP WHERE anime_ID=${anime_ID}`;
|
||||||
|
gestor.agregarTarea();
|
||||||
|
con.query(query2, (err: Error, res: RespuestaOP[]) => {
|
||||||
|
if (!err) {
|
||||||
|
|
||||||
|
const ops: any = {};
|
||||||
|
for (const op of res) {
|
||||||
|
ops[op.num_OP] = {
|
||||||
|
nombre: op.nombre,
|
||||||
|
artista: op.artista,
|
||||||
|
eps: op.eps
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
respuesta.OP = ops;
|
||||||
|
gestor.terminarTarea();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
respuesta.error = true;
|
||||||
|
console.log(`Error al ejecutar sentencia SQL en /Anime/obtenerDatos (con.query)(2):\n${query2}\n${err}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const query3 = `SELECT * FROM ED WHERE anime_ID=${anime_ID}`;
|
||||||
|
gestor.agregarTarea();
|
||||||
|
con.query(query3, (err: Error, res: RespuestaED[]) => {
|
||||||
|
if (!err) {
|
||||||
|
|
||||||
|
const eds: any = {};
|
||||||
|
for (const ed of res) {
|
||||||
|
eds[ed.num_ED] = {
|
||||||
|
nombre: ed.nombre,
|
||||||
|
artista: ed.artista,
|
||||||
|
eps: ed.eps
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
respuesta.ED = eds;
|
||||||
|
gestor.terminarTarea();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
respuesta.error = true;
|
||||||
|
console.log(`Error al ejecutar sentencia SQL en /Anime/obtenerDatos (con.query)(3):\n${query3}\n${err}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -2,27 +2,18 @@ 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) => {
|
con.query(
|
||||||
if (!err) {
|
`UPDATE eps SET visitas=visitas+1 WHERE ep_ID=${ep_ID};`,
|
||||||
|
(err: Error) => {
|
||||||
con.query(
|
if (!err) {
|
||||||
`UPDATE eps SET visitas=visitas+1 WHERE ep_ID=${ep_ID};`,
|
res.send("Actualizado con exito.");
|
||||||
(err: Error) => {
|
} else {
|
||||||
if (!err) {
|
console.log("Error al actualizar el episodio :c");
|
||||||
res.send("Actualizado con exito.");
|
}
|
||||||
} else {
|
|
||||||
console.log("Error al actualizar el episodio :c");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
console.log("Error al conectarse a base de datos.");
|
|
||||||
con.end();
|
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,103 +50,102 @@ 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) {
|
|
||||||
|
|
||||||
const data: Links = {aviso: '', sigEp: '', opciones: {}};
|
if (animeID) {
|
||||||
|
|
||||||
con.query(
|
const data: Links = {aviso: '', sigEp: '', opciones: {}};
|
||||||
`SELECT * FROM links WHERE anime_ID=${animeID} `,
|
|
||||||
(err: Error, response: links[]) => {
|
|
||||||
if (!err && response[0] ) {
|
|
||||||
|
|
||||||
const subData: links = response[0];
|
con.query(
|
||||||
data.aviso = subData.aviso;
|
`SELECT * FROM links WHERE anime_ID=${animeID} `,
|
||||||
data.sigEp = subData.sigEp;
|
(err: Error, response: links[]) => {
|
||||||
|
if (!err && response[0] ) {
|
||||||
|
|
||||||
|
const subData: links = response[0];
|
||||||
|
data.aviso = subData.aviso;
|
||||||
|
data.sigEp = subData.sigEp;
|
||||||
|
|
||||||
|
|
||||||
const gestorOpciones = new GestorDeTareas(() => {
|
const gestorOpciones = new GestorDeTareas(() => {
|
||||||
res.send(YAML.stringify(data));
|
res.send(YAML.stringify(data));
|
||||||
});
|
});
|
||||||
|
|
||||||
con.query(
|
con.query(
|
||||||
`SELECT * FROM links_opciones WHERE links_ID=${subData.links_ID}`,
|
`SELECT * FROM links_opciones WHERE links_ID=${subData.links_ID}`,
|
||||||
(err: Error, response: links_opciones[]) => {
|
(err: Error, response: links_opciones[]) => {
|
||||||
if (!err && response[0]) {
|
if (!err && response[0]) {
|
||||||
|
|
||||||
for (const opcionID in response) {
|
for (const opcionID in response) {
|
||||||
const opcion = response[opcionID];
|
const opcion = response[opcionID];
|
||||||
|
|
||||||
gestorOpciones.agregarTarea();
|
gestorOpciones.agregarTarea();
|
||||||
|
|
||||||
data.opciones[opcion.num_opcion] = {
|
data.opciones[opcion.num_opcion] = {
|
||||||
formato: opcion.formato,
|
formato: opcion.formato,
|
||||||
res: opcion.res,
|
res: opcion.res,
|
||||||
servidor: opcion.servidor,
|
servidor: opcion.servidor,
|
||||||
color: opcion.color,
|
color: opcion.color,
|
||||||
eps: {}
|
eps: {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
con.query(
|
con.query(
|
||||||
`SELECT * FROM eps WHERE opcion_ID=${opcion.opcion_ID}`,
|
`SELECT * FROM eps WHERE opcion_ID=${opcion.opcion_ID}`,
|
||||||
(err: Error, response: eps[]) => {
|
(err: Error, response: eps[]) => {
|
||||||
if (!err && response[0]) {
|
if (!err && response[0]) {
|
||||||
|
|
||||||
for (const epID in response) {
|
for (const epID in response) {
|
||||||
const ep = response[epID];
|
const ep = response[epID];
|
||||||
|
|
||||||
data.opciones[opcion.num_opcion].eps[ep.num_ep] = {
|
data.opciones[opcion.num_opcion].eps[ep.num_ep] = {
|
||||||
ep_ID: ep.ep_ID,
|
ep_ID: ep.ep_ID,
|
||||||
visitas: ep.visitas,
|
visitas: ep.visitas,
|
||||||
peso: ep.peso,
|
peso: ep.peso,
|
||||||
link: ep.link
|
link: ep.link
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
gestorOpciones.terminarTarea();
|
|
||||||
} else if (!err) {
|
|
||||||
console.log("No existen episodios para esta variante");
|
|
||||||
|
|
||||||
res.send(`{ "exito": false }`);
|
|
||||||
} else {
|
|
||||||
console.log("Error al obtener eps:\n" + err);
|
|
||||||
res.send(`{ "exito": false }`);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gestorOpciones.terminarTarea();
|
||||||
|
} else if (!err) {
|
||||||
|
console.log("No existen episodios para esta variante");
|
||||||
|
|
||||||
|
res.send(`{ "exito": false }`);
|
||||||
|
} else {
|
||||||
|
console.log("Error al obtener eps:\n" + err);
|
||||||
|
res.send(`{ "exito": false }`);
|
||||||
}
|
}
|
||||||
);
|
}
|
||||||
|
);
|
||||||
|
|
||||||
}
|
|
||||||
} else if (!err) {
|
|
||||||
console.log("No existen links_opciones ");
|
|
||||||
res.send(`{ "exito": false }`);
|
|
||||||
} else {
|
|
||||||
console.log("Error al obtener links opciones:\n" + err);
|
|
||||||
res.send(`{ "exito": false }`);
|
|
||||||
}
|
}
|
||||||
|
} else if (!err) {
|
||||||
|
console.log("No existen links_opciones ");
|
||||||
|
res.send(`{ "exito": false }`);
|
||||||
|
} else {
|
||||||
|
console.log("Error al obtener links opciones:\n" + err);
|
||||||
|
res.send(`{ "exito": false }`);
|
||||||
}
|
}
|
||||||
);
|
}
|
||||||
|
);
|
||||||
} else if (!err) {
|
|
||||||
console.log("Error: La consulta no dio ningun resultado en obtenerLinks");
|
|
||||||
res.send('{ "exito": false }');
|
|
||||||
} else {
|
|
||||||
console.log("Error al ejecutar Query en obtenerLinks.\n" + err);
|
|
||||||
res.send('{ "exito": false }');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
} else if (!err) {
|
||||||
|
console.log("Error: La consulta no dio ningun resultado en obtenerLinks");
|
||||||
|
res.send('{ "exito": false }');
|
||||||
|
} else {
|
||||||
|
console.log("Error al ejecutar Query en obtenerLinks.\n" + err);
|
||||||
|
res.send('{ "exito": false }');
|
||||||
}
|
}
|
||||||
);
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
} 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