From 47f52fe38023f1ba073da267e90584064154ad62 Mon Sep 17 00:00:00 2001 From: vqc1909a Date: Wed, 5 Apr 2023 01:02:22 -0500 Subject: [PATCH 1/3] =?UTF-8?q?Eliminaci=C3=B3n=20de=20c=C3=B3digo=20innec?= =?UTF-8?q?esario?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 1 + app.js | 8 -------- config/redis-client.js | 4 ---- middlewares/rate-limiter.js | 30 ------------------------------ package-lock.json | 8 ++++---- python/peru.py | 34 +++++++++++----------------------- 6 files changed, 16 insertions(+), 69 deletions(-) create mode 100644 .env delete mode 100644 config/redis-client.js delete mode 100644 middlewares/rate-limiter.js diff --git a/.env b/.env new file mode 100644 index 0000000..b1409ef --- /dev/null +++ b/.env @@ -0,0 +1 @@ +MONGO_URI = mongodb+srv://neroangel1909:Lokinds1%40@youtube.2hkmj.mongodb.net/Covid19-Peru?retryWrites=true&w=majority \ No newline at end of file diff --git a/app.js b/app.js index 604a7fa..24c66c6 100644 --- a/app.js +++ b/app.js @@ -3,9 +3,7 @@ const cors = require('cors'); const app = express(); const connectDB = require('./config/db.js'); const spawn = require('child_process').spawn; -const rateLimiter = require("./middlewares/rate-limiter"); const { NotFoundMiddleware, ErrorMiddleware} = require('./middlewares'); -const redis = require("redis"); const { Loreto, @@ -36,7 +34,6 @@ const { const Peru = require('./models/PeruModel'); require('dotenv').config({path: './variables.env'}); -const client = redis.createClient(process.env.REDIS_PORT, process.env.REDIS_HOST); const port = process.env.PORT || 4000; connectDB(); @@ -592,10 +589,6 @@ pythonPeruProcess.stdout.on('data', async (data) => { setInterval(()=>{ -client.flushall('ASYNC', () => { - console.log("Datos borrados correctamente"); -}); - let pythonPeruProcess = spawn('python', ['./python/peru.py']); pythonPeruProcess.stdout.on('data', async (data) => { //convert string to Json @@ -1119,7 +1112,6 @@ pythonPeruProcess.stdout.on('data', async (data) => { //APIS app.use('/', require('./routes/AppRoute')); -app.use(rateLimiter({time_restore: 86400, number_requests: 100})); app.use('/api', require('./routes/GeneralApi')); app.use('/api', require('./routes/DepartamentoApi')); app.use('/api', require('./routes/ProvinciaApi')); diff --git a/config/redis-client.js b/config/redis-client.js deleted file mode 100644 index 4bef5a9..0000000 --- a/config/redis-client.js +++ /dev/null @@ -1,4 +0,0 @@ -const Redis = require("ioredis"); -const redis = new Redis(); - -module.exports = redis; \ No newline at end of file diff --git a/middlewares/rate-limiter.js b/middlewares/rate-limiter.js deleted file mode 100644 index 9c237ea..0000000 --- a/middlewares/rate-limiter.js +++ /dev/null @@ -1,30 +0,0 @@ -const redis = require("../config/redis-client"); - -const rateLimiter = ({time_restore, number_requests}) => async (req, res, next) => { - - const ip = (req.headers["x-forwarded-for"] || req.socket.remoteAddress).slice(0,9); - const host = req.get("host"); - const isLocal = ip === `${process.env.REDIS_HOST}` || ip === `::ffff:${process.env.REDIS_HOST}` || ip === "::1" || host.indexOf("localhost") !== -1; - - if(!isLocal){ - const requests = await redis.incr(ip); - let ttl = time_restore; - if(requests === number_requests + 1){ - await redis.expire(ip, ttl); - }else{ - ttl = await redis.ttl(ip); - } - console.log(ip, requests); - - if(requests >= number_requests + 1){ - return res.status(404).json({ - status: 404, message: "Resource not found" - }) - } - - } - next(); -} - - -module.exports = rateLimiter; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 91bc271..c4bce6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "backend", "version": "1.0.0", "license": "ISC", "dependencies": { @@ -389,7 +390,6 @@ "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -1264,8 +1264,7 @@ "bson": "^1.1.4", "denque": "^1.4.1", "optional-require": "^1.0.3", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" + "safe-buffer": "^5.1.2" }, "engines": { "node": ">=4" @@ -3188,7 +3187,8 @@ "mongoose-legacy-pluralize": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", - "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==" + "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", + "requires": {} }, "mpath": { "version": "0.8.3", diff --git a/python/peru.py b/python/peru.py index 3687f6c..ac9d45e 100644 --- a/python/peru.py +++ b/python/peru.py @@ -6,17 +6,6 @@ poblacion_total = 33028673 -URL = "https://es.wikipedia.org/wiki/Pandemia_de_COVID-19_en_Per%C3%BA" -page = requests.get(URL) -soup = BeautifulSoup(page.content, "html.parser") -total_recuperados = 0 -for th in soup.find_all('th'): - if th.text == 'Casos recuperados': - total_recuperados_string = '' - for palabra in th.parent.td.text.strip().split(): - total_recuperados_string += palabra - total_recuperados = int(total_recuperados_string) - #!total_positivos: esto me obtiene una tupla de filas y columnas, por eso lo convierto en un array total_positivos = list(casos_positivos.shape)[0] @@ -169,11 +158,11 @@ casos_positivos[casos_positivos['DEPARTAMENTO'] == "CALLAO"].shape)[0] #!Fallecidos por etapa de vida -#!0 a 5 años (Primera infancia ó Bebes) +#!0 a 5 años (Primera infancia o Bebes o Infancia Temprana) fallecidos_preinfancia = list(casos_fallecidos[(casos_fallecidos['EDAD_DECLARADA'] >= 0) & ( casos_fallecidos['EDAD_DECLARADA'] <= 5)].shape)[0] -#!6 a 11 años (Infancia o Niños) +#!6 a 11 años (Infancia o Niños o Niñez) fallecidos_infancia = list(casos_fallecidos[(casos_fallecidos['EDAD_DECLARADA'] >= 6) & ( casos_fallecidos['EDAD_DECLARADA'] <= 11)].shape)[0] @@ -199,10 +188,17 @@ "positivos": total_positivos, "hombres_infectados": total_positivos_hombres, "mujeres_infectados": total_positivos_mujeres, - "recuperados": total_recuperados, "fallecidos": total_fallecidos, "hombres_fallecidos": total_fallecidos_hombres, "mujeres_fallecidos": total_fallecidos_mujeres, + "etapa_de_vida_fallecidos": { + "primera_infancia": fallecidos_preinfancia, + "infancia": fallecidos_infancia, + "adolescencia": fallecidos_adolescencia, + "juventud": fallecidos_juventud, + "adultez": fallecidos_adultez, + "persona_mayor": fallecidos_persona_mayor + }, "mapa_hijos": [ positivos_amazonas, positivos_ancash, @@ -229,15 +225,7 @@ positivos_tacna, positivos_tumbes, positivos_ucayali - ], - "etapa_de_vida_fallecidos": { - "primera_infancia": fallecidos_preinfancia, - "infancia": fallecidos_infancia, - "adolescencia": fallecidos_adolescencia, - "juventud": fallecidos_juventud, - "adultez": fallecidos_adultez, - "persona_mayor": fallecidos_persona_mayor - } + ] } print(json.dumps(casos_generales)); From 62d9c83a25739ade289562ed1035dccdf4b48531 Mon Sep 17 00:00:00 2001 From: vqc1909a Date: Wed, 5 Apr 2023 01:19:10 -0500 Subject: [PATCH 2/3] Schema Model Peru modificado --- models/PeruModel.js | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/models/PeruModel.js b/models/PeruModel.js index 88cd6c2..fc8d19c 100644 --- a/models/PeruModel.js +++ b/models/PeruModel.js @@ -51,10 +51,6 @@ const PeruSchema = new mongoose.Schema({ type: Number, required: true }, - recuperados: { - type: Number, - required: true - }, fallecidos: { type: Number, required: true @@ -67,23 +63,16 @@ const PeruSchema = new mongoose.Schema({ type: Number, required: true }, - mapa_hijos: [Number], etapa_de_vida_fallecidos: EtapaSchema, - createdAt: { + mapa_hijos: [Number], + fecha: { type: Date, - default: Date.now() - }, - fecha: Number, - mes: String, - dia: Number -}) - -PeruSchema.pre("save", function(next){ - const data = new Date(`${this.createdAt}`); - this.fecha = data.getFullYear(); - this.mes = meses[data.getMonth()]; - this.dia = data.getDate(); - next() + required: true + } +}, { + timestamps: true, + versionKey: false, + minimize: false }) const Peru = mongoose.model('Peru', PeruSchema); From 72344d2a11066a76ba9f0dde118e88d3cfb72e27 Mon Sep 17 00:00:00 2001 From: vqc1909a Date: Wed, 5 Apr 2023 19:30:11 -0500 Subject: [PATCH 3/3] Schema Model Peru modificado 2 parte --- models/PeruModel.js | 1 - 1 file changed, 1 deletion(-) diff --git a/models/PeruModel.js b/models/PeruModel.js index fc8d19c..f65517d 100644 --- a/models/PeruModel.js +++ b/models/PeruModel.js @@ -64,7 +64,6 @@ const PeruSchema = new mongoose.Schema({ required: true }, etapa_de_vida_fallecidos: EtapaSchema, - mapa_hijos: [Number], fecha: { type: Date, required: true