From 64b94de562f637c26416936860568e09446ec850 Mon Sep 17 00:00:00 2001
From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com>
Date: Fri, 22 Oct 2021 23:46:31 -0500
Subject: [PATCH 01/12] nueva db
---
package-lock.json | 1819 +++++++++--------
server/controller/Alumno/get.js | 35 +
server/controller/Carrera/get.js | 5 -
server/controller/CarreraHorario/get.js | 37 -
.../controller/CarreraHorario/horariosDia.js | 21 -
server/controller/CarreraHorario/monitor.js | 25 -
server/controller/Grupo/get.js | 23 -
server/controller/GrupoHorario/horariosDia.js | 21 -
server/controller/GrupoHorario/monitor.js | 29 -
server/controller/Horario/get.js | 35 +
.../PrimerSemestre/alumnosCarrera.js | 26 -
.../controller/PrimerSemestre/asistencia.js | 32 -
.../controller/PrimerSemestre/asistentes.js | 21 -
server/controller/PrimerSemestre/csv.js | 59 -
server/controller/PrimerSemestre/registrar.js | 85 -
.../TercerSemestre/alumnosCarrera.js | 27 -
.../controller/TercerSemestre/asistencia.js | 38 -
.../controller/TercerSemestre/asistentes.js | 30 -
server/controller/TercerSemestre/csv.js | 61 -
server/controller/TercerSemestre/get.js | 36 -
server/controller/TercerSemestre/registrar.js | 57 -
server/db/install.js | 361 +---
server/db/tablas/{Grupo.js => Alumno.js} | 23 +-
.../{GrupoHorario.js => AlumnoHorario.js} | 20 +-
server/db/tablas/CarreraHorario.js | 41 -
server/db/tablas/Horario.js | 4 +
server/db/tablas/PrimerSemestre.js | 61 -
server/db/tablas/TercerSemestre.js | 51 -
server/routes/{Grupo.js => Alumno.js} | 5 +-
server/routes/AlumnoHorario.js | 29 +
server/routes/Carrera.js | 17 -
server/routes/CarreraHorario.js | 40 -
server/routes/GrupoHorario.js | 29 -
server/routes/PrimerSemestre.js | 64 -
server/routes/TercerSemestre.js | 75 -
server/routes/index.js | 8 +-
36 files changed, 1152 insertions(+), 2198 deletions(-)
create mode 100644 server/controller/Alumno/get.js
delete mode 100644 server/controller/Carrera/get.js
delete mode 100644 server/controller/CarreraHorario/get.js
delete mode 100644 server/controller/CarreraHorario/horariosDia.js
delete mode 100644 server/controller/CarreraHorario/monitor.js
delete mode 100644 server/controller/Grupo/get.js
delete mode 100644 server/controller/GrupoHorario/horariosDia.js
delete mode 100644 server/controller/GrupoHorario/monitor.js
create mode 100644 server/controller/Horario/get.js
delete mode 100644 server/controller/PrimerSemestre/alumnosCarrera.js
delete mode 100644 server/controller/PrimerSemestre/asistencia.js
delete mode 100644 server/controller/PrimerSemestre/asistentes.js
delete mode 100644 server/controller/PrimerSemestre/csv.js
delete mode 100644 server/controller/PrimerSemestre/registrar.js
delete mode 100644 server/controller/TercerSemestre/alumnosCarrera.js
delete mode 100644 server/controller/TercerSemestre/asistencia.js
delete mode 100644 server/controller/TercerSemestre/asistentes.js
delete mode 100644 server/controller/TercerSemestre/csv.js
delete mode 100644 server/controller/TercerSemestre/get.js
delete mode 100644 server/controller/TercerSemestre/registrar.js
rename server/db/tablas/{Grupo.js => Alumno.js} (60%)
rename server/db/tablas/{GrupoHorario.js => AlumnoHorario.js} (62%)
delete mode 100644 server/db/tablas/CarreraHorario.js
delete mode 100644 server/db/tablas/PrimerSemestre.js
delete mode 100644 server/db/tablas/TercerSemestre.js
rename server/routes/{Grupo.js => Alumno.js} (77%)
create mode 100644 server/routes/AlumnoHorario.js
delete mode 100644 server/routes/Carrera.js
delete mode 100644 server/routes/CarreraHorario.js
delete mode 100644 server/routes/GrupoHorario.js
delete mode 100644 server/routes/PrimerSemestre.js
delete mode 100644 server/routes/TercerSemestre.js
diff --git a/package-lock.json b/package-lock.json
index 4b5e2a1..1edf018 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,6 +5,7 @@
"requires": true,
"packages": {
"": {
+ "name": "citas_recorridos_api",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
@@ -27,52 +28,24 @@
}
},
"node_modules/@mapbox/node-pre-gyp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz",
- "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.6.tgz",
+ "integrity": "sha512-qK1ECws8UxuPqOA8F5LFD90vyVU33W7N3hGfgsOVfrJaRVc8McC3JClTDHpeSbL9CBrOHly/4GsNPAvIgNZE+g==",
"dependencies": {
"detect-libc": "^1.0.3",
"https-proxy-agent": "^5.0.0",
"make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
+ "node-fetch": "^2.6.5",
"nopt": "^5.0.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^5.0.1",
"rimraf": "^3.0.2",
- "semver": "^7.3.4",
- "tar": "^6.1.0"
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
},
"bin": {
"node-pre-gyp": "bin/node-pre-gyp"
}
},
- "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@mapbox/node-pre-gyp/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@sindresorhus/is": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
@@ -95,14 +68,14 @@
}
},
"node_modules/@types/geojson": {
- "version": "7946.0.7",
- "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.7.tgz",
- "integrity": "sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ=="
+ "version": "7946.0.8",
+ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz",
+ "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA=="
},
"node_modules/@types/node": {
- "version": "14.14.41",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz",
- "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g=="
+ "version": "14.17.29",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.29.tgz",
+ "integrity": "sha512-sd4CHI9eTJXTH2vF3RGtGkqvWRwhsSSUFsXD4oG38GZzSZ0tNPbWikd2AbOAcKxCXhOg57fL8FPxjpfSzb2pIQ=="
},
"node_modules/abbrev": {
"version": "1.1.1",
@@ -154,35 +127,64 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/ansi-align": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz",
- "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
+ "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
"dev": true,
"dependencies": {
- "string-width": "^3.0.0"
+ "string-width": "^4.1.0"
+ }
+ },
+ "node_modules/ansi-align/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-align/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/ansi-align/node_modules/string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"dependencies": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-align/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
"node_modules/ansi-styles": {
@@ -195,6 +197,9 @@
},
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/any-promise": {
@@ -216,17 +221,20 @@
}
},
"node_modules/aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
},
"node_modules/are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
"dependencies": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/array-flatten": {
@@ -287,19 +295,66 @@
}
},
"node_modules/boxen": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
- "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
+ "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
"dev": true,
"dependencies": {
"ansi-align": "^3.0.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "cli-boxes": "^2.2.0",
- "string-width": "^4.1.0",
- "term-size": "^2.1.0",
- "type-fest": "^0.8.1",
- "widest-line": "^3.1.0"
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.0",
+ "cli-boxes": "^2.2.1",
+ "string-width": "^4.2.2",
+ "type-fest": "^0.20.2",
+ "widest-line": "^3.1.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/boxen/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/boxen/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/boxen/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/boxen/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
@@ -362,6 +417,9 @@
},
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cacheable-request/node_modules/lowercase-keys": {
@@ -374,25 +432,31 @@
}
},
"node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
+ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
"dev": true,
"engines": {
- "node": ">=6"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/chalk/node_modules/has-flag": {
@@ -417,24 +481,24 @@
}
},
"node_modules/chokidar": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
+ "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
"dev": true,
"dependencies": {
- "anymatch": "~3.1.1",
+ "anymatch": "~3.1.2",
"braces": "~3.0.2",
- "glob-parent": "~5.1.0",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
+ "readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"optionalDependencies": {
- "fsevents": "~2.3.1"
+ "fsevents": "~2.3.2"
}
},
"node_modules/chownr": {
@@ -458,6 +522,9 @@
"dev": true,
"engines": {
"node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/clone-response": {
@@ -469,14 +536,6 @@
"mimic-response": "^1.0.0"
}
},
- "node_modules/code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -495,6 +554,14 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
"node_modules/colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
@@ -567,11 +634,6 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
- "node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
@@ -650,9 +712,9 @@
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
"node_modules/denque": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
- "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
+ "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==",
"engines": {
"node": ">=0.10"
}
@@ -694,11 +756,11 @@
}
},
"node_modules/dotenv": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
- "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==",
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
+ "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
"node_modules/dottie": {
@@ -718,9 +780,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"node_modules/encodeurl": {
@@ -832,9 +894,9 @@
}
},
"node_modules/forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
"engines": {
"node": ">= 0.6"
}
@@ -868,6 +930,7 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
+ "hasInstallScript": true,
"optional": true,
"os": [
"darwin"
@@ -877,61 +940,22 @@
}
},
"node_modules/gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "dependencies": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "node_modules/gauge/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.1.tgz",
+ "integrity": "sha512-6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ==",
"dependencies": {
- "ansi-regex": "^2.0.0"
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1 || ^2.0.0",
+ "strip-ansi": "^3.0.1 || ^4.0.0",
+ "wide-align": "^1.1.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
"node_modules/get-stream": {
@@ -947,9 +971,9 @@
}
},
"node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -978,24 +1002,27 @@
}
},
"node_modules/global-dirs": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz",
- "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
+ "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
"dev": true,
"dependencies": {
- "ini": "1.3.7"
+ "ini": "2.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/gmail-send": {
- "version": "1.8.10",
- "resolved": "https://registry.npmjs.org/gmail-send/-/gmail-send-1.8.10.tgz",
- "integrity": "sha512-QMpWwzeA64U69HzOEzI37UNc73xXkhTg8LuqsfKX9W7LjiQY3yRvViVn7ZhuJWLTV4136vsLJf2sXiZKmdykbw==",
+ "version": "1.8.14",
+ "resolved": "https://registry.npmjs.org/gmail-send/-/gmail-send-1.8.14.tgz",
+ "integrity": "sha512-hc+4Ej7ZJtw0G5sync10pmWkpPXIabkQ+p/a92lPPTXni3ChEU9sR2wxOvK6Hx+5Ou+2m9h1cVffWEgtR6Gzkw==",
"dependencies": {
- "lodash": "^4.17.15",
- "nodemailer": "^6.3.0"
+ "lodash": "^4.17.21",
+ "nodemailer": "^6.6.5"
}
},
"node_modules/got": {
@@ -1021,9 +1048,9 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
- "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
"dev": true
},
"node_modules/has-flag": {
@@ -1139,9 +1166,9 @@
}
},
"node_modules/inflection": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz",
- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.1.tgz",
+ "integrity": "sha512-dldYtl2WlN0QDkIDtg8+xFwOS2Tbmp12t1cHa5/YClU6ZQjTFm7B66UcVbh9NQB+HvT5BAd2t5+yKsBkw5pcqA==",
"engines": [
"node >= 0.4.0"
]
@@ -1161,10 +1188,13 @@
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"node_modules/ini": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
- "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
- "dev": true
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
+ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
},
"node_modules/ipaddr.js": {
"version": "1.9.1",
@@ -1216,9 +1246,9 @@
}
},
"node_modules/is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
@@ -1228,25 +1258,31 @@
}
},
"node_modules/is-installed-globally": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
- "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
+ "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
"dev": true,
"dependencies": {
- "global-dirs": "^2.0.1",
- "is-path-inside": "^3.0.1"
+ "global-dirs": "^3.0.0",
+ "is-path-inside": "^3.0.2"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-npm": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
- "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
+ "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-number": {
@@ -1293,11 +1329,6 @@
"integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
"dev": true
},
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
"node_modules/json-buffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
@@ -1364,6 +1395,9 @@
},
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/make-dir/node_modules/semver": {
@@ -1375,14 +1409,14 @@
}
},
"node_modules/mariadb": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.5.3.tgz",
- "integrity": "sha512-9ZbQ1zLqasLCQy6KDcPHtX7EUIMBlQ8p64gNR61+yfpCIWjPDji3aR56LvwbOz1QnQbVgYBOJ4J/pHoFN5MR+w==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.5.5.tgz",
+ "integrity": "sha512-6dklvcKWuuaV1JjAwnE2ezR+jTt7JrZHftgeHHBmjB0wgfaUpdxol1DPWclwMcCrsO9yoM0FuCOiCcCgXc//9Q==",
"dependencies": {
"@types/geojson": "^7946.0.7",
"@types/node": "^14.14.28",
- "denque": "^1.4.1",
- "iconv-lite": "^0.6.2",
+ "denque": "^1.5.0",
+ "iconv-lite": "^0.6.3",
"long": "^4.0.0",
"moment-timezone": "^0.5.33",
"please-upgrade-node": "^3.2.0"
@@ -1392,9 +1426,9 @@
}
},
"node_modules/mariadb/node_modules/iconv-lite": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
- "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -1435,19 +1469,19 @@
}
},
"node_modules/mime-db": {
- "version": "1.47.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
- "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
+ "version": "1.50.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
+ "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
- "version": "2.1.30",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
- "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
+ "version": "2.1.33",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
+ "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"dependencies": {
- "mime-db": "1.47.0"
+ "mime-db": "1.50.0"
},
"engines": {
"node": ">= 0.6"
@@ -1480,9 +1514,9 @@
"dev": true
},
"node_modules/minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz",
+ "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -1551,25 +1585,28 @@
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
},
"node_modules/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "version": "2.6.5",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
+ "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/nodemailer": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.2.tgz",
- "integrity": "sha512-YSzu7TLbI+bsjCis/TZlAXBoM4y93HhlIgo0P5oiA2ua9Z4k+E2Fod//ybIzdJxOlXGRcHIh/WaeCBehvxZb/Q==",
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.0.tgz",
+ "integrity": "sha512-AtiTVUFHLiiDnMQ43zi0YgkzHOEWUkhDgPlBXrsDzJiJvB29Alo4OKxHQ0ugF3gRqRQIneCLtZU3yiUo7pItZw==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/nodemon": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz",
- "integrity": "sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==",
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.14.tgz",
+ "integrity": "sha512-frcpDx+PviKEQRSYzwhckuO2zoHcBYLHI754RE9z5h1RGtrngerc04mLpQQCPWBkH/2ObrX7We9YiwVSYZpFJQ==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -1582,13 +1619,17 @@
"supports-color": "^5.5.0",
"touch": "^3.1.0",
"undefsafe": "^2.0.3",
- "update-notifier": "^4.1.0"
+ "update-notifier": "^5.1.0"
},
"bin": {
"nodemon": "bin/nodemon.js"
},
"engines": {
"node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
}
},
"node_modules/nodemon/node_modules/debug": {
@@ -1606,16 +1647,27 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
- "node_modules/nopt": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "node_modules/nodemon/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"dependencies": {
"abbrev": "1"
},
"bin": {
"nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/normalize-path": {
@@ -1628,31 +1680,23 @@
}
},
"node_modules/normalize-url": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
- "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
"dependencies": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "node_modules/number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "engines": {
- "node": ">=0.10.0"
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
}
},
"node_modules/object-assign": {
@@ -1737,12 +1781,15 @@
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"node_modules/picomatch": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
- "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
"dev": true,
"engines": {
"node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/please-upgrade-node": {
@@ -1762,17 +1809,12 @@
"node": ">=4"
}
},
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
"node_modules/proxy-addr": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
- "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"dependencies": {
- "forwarded": "~0.1.2",
+ "forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
},
"engines": {
@@ -1852,24 +1894,29 @@
"rc": "cli.js"
}
},
+ "node_modules/rc/node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
"node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
"node_modules/readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"dependencies": {
"picomatch": "^2.2.1"
@@ -1944,12 +1991,17 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
- "semver": "bin/semver"
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/semver-compare": {
@@ -2007,13 +2059,13 @@
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
},
"node_modules/sequelize": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.6.2.tgz",
- "integrity": "sha512-H/zrzmTK+tis9PJaSigkuXI57nKBvNCtPQol0yxCvau1iWLzSOuq8t3tMOVeQ+Ep8QH2HoD9/+FCCIAqzUr/BQ==",
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.7.0.tgz",
+ "integrity": "sha512-OVw3psUggqQT9kYg5Z9fja/BMdBxX/Ua3Bwx2yif5g6QuYEE4UfWq5jW6LmbacGwgK6bgZs05Q2zCkJZCDFrSA==",
"dependencies": {
"debug": "^4.1.1",
"dottie": "^2.0.0",
- "inflection": "1.12.0",
+ "inflection": "1.13.1",
"lodash": "^4.17.20",
"moment": "^2.26.0",
"moment-timezone": "^0.5.31",
@@ -2022,11 +2074,31 @@
"sequelize-pool": "^6.0.0",
"toposort-class": "^1.0.1",
"uuid": "^8.1.0",
- "validator": "^10.11.0",
+ "validator": "^13.6.0",
"wkx": "^0.5.0"
},
"engines": {
"node": ">=10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "mariadb": {
+ "optional": true
+ },
+ "mysql2": {
+ "optional": true
+ },
+ "pg": {
+ "optional": true
+ },
+ "pg-hstore": {
+ "optional": true
+ },
+ "sqlite3": {
+ "optional": true
+ },
+ "tedious": {
+ "optional": true
+ }
}
},
"node_modules/sequelize-pool": {
@@ -2038,14 +2110,19 @@
}
},
"node_modules/sequelize/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
"node_modules/sequelize/node_modules/ms": {
@@ -2053,28 +2130,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
- "node_modules/sequelize/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/sequelize/node_modules/validator": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==",
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/serve-static": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
@@ -2100,9 +2155,9 @@
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
"node_modules/signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz",
+ "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ=="
},
"node_modules/statuses": {
"version": "1.5.0",
@@ -2113,73 +2168,53 @@
}
},
"node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "~5.2.0"
}
},
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
"node_modules/string-width": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
- "dev": true,
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width/node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/string-width/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
"node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dependencies": {
- "ansi-regex": "^4.1.0"
+ "ansi-regex": "^3.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
"node_modules/strip-bom": {
@@ -2215,9 +2250,9 @@
}
},
"node_modules/tar": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
- "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -2230,15 +2265,6 @@
"node": ">= 10"
}
},
- "node_modules/term-size": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
- "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/to-readable-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
@@ -2285,13 +2311,36 @@
"nodetouch": "bin/nodetouch.js"
}
},
+ "node_modules/touch/node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ },
"node_modules/type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/type-is": {
@@ -2316,13 +2365,10 @@
}
},
"node_modules/undefsafe": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz",
- "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==",
- "dev": true,
- "dependencies": {
- "debug": "^2.2.0"
- }
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
},
"node_modules/unique-string": {
"version": "2.0.0",
@@ -2345,27 +2391,31 @@
}
},
"node_modules/update-notifier": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz",
- "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
+ "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
"dev": true,
"dependencies": {
- "boxen": "^4.2.0",
- "chalk": "^3.0.0",
+ "boxen": "^5.0.0",
+ "chalk": "^4.1.0",
"configstore": "^5.0.1",
"has-yarn": "^2.1.0",
"import-lazy": "^2.1.0",
"is-ci": "^2.0.0",
- "is-installed-globally": "^0.3.1",
- "is-npm": "^4.0.0",
+ "is-installed-globally": "^0.4.0",
+ "is-npm": "^5.0.0",
"is-yarn-global": "^0.3.0",
- "latest-version": "^5.0.0",
- "pupa": "^2.0.1",
+ "latest-version": "^5.1.0",
+ "pupa": "^2.1.1",
+ "semver": "^7.3.4",
"semver-diff": "^3.1.1",
"xdg-basedir": "^4.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/yeoman/update-notifier?sponsor=1"
}
},
"node_modules/url-parse-lax": {
@@ -2417,43 +2467,26 @@
"node": ">= 0.8"
}
},
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
"node_modules/wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dependencies": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "node_modules/wide-align/node_modules/ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/wide-align/node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/wide-align/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
+ "string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"node_modules/widest-line": {
@@ -2468,6 +2501,50 @@
"node": ">=8"
}
},
+ "node_modules/widest-line/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/widest-line/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/widest-line/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/widest-line/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/wkx": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz",
@@ -2476,6 +2553,67 @@
"@types/node": "*"
}
},
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -2510,37 +2648,19 @@
},
"dependencies": {
"@mapbox/node-pre-gyp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz",
- "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.6.tgz",
+ "integrity": "sha512-qK1ECws8UxuPqOA8F5LFD90vyVU33W7N3hGfgsOVfrJaRVc8McC3JClTDHpeSbL9CBrOHly/4GsNPAvIgNZE+g==",
"requires": {
"detect-libc": "^1.0.3",
"https-proxy-agent": "^5.0.0",
"make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
+ "node-fetch": "^2.6.5",
"nopt": "^5.0.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^5.0.1",
"rimraf": "^3.0.2",
- "semver": "^7.3.4",
- "tar": "^6.1.0"
- },
- "dependencies": {
- "nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "requires": {
- "abbrev": "1"
- }
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
}
},
"@sindresorhus/is": {
@@ -2559,14 +2679,14 @@
}
},
"@types/geojson": {
- "version": "7946.0.7",
- "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.7.tgz",
- "integrity": "sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ=="
+ "version": "7946.0.8",
+ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz",
+ "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA=="
},
"@types/node": {
- "version": "14.14.41",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz",
- "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g=="
+ "version": "14.17.29",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.29.tgz",
+ "integrity": "sha512-sd4CHI9eTJXTH2vF3RGtGkqvWRwhsSSUFsXD4oG38GZzSZ0tNPbWikd2AbOAcKxCXhOg57fL8FPxjpfSzb2pIQ=="
},
"abbrev": {
"version": "1.1.1",
@@ -2606,32 +2726,52 @@
}
},
"ansi-align": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz",
- "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
+ "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
"dev": true,
"requires": {
- "string-width": "^3.0.0"
+ "string-width": "^4.1.0"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
"string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
}
}
}
},
"ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
"ansi-styles": {
"version": "4.3.0",
@@ -2658,17 +2798,17 @@
}
},
"aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
},
"are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
"requires": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
+ "readable-stream": "^3.6.0"
}
},
"array-flatten": {
@@ -2719,19 +2859,53 @@
}
},
"boxen": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
- "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
+ "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
"dev": true,
"requires": {
"ansi-align": "^3.0.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "cli-boxes": "^2.2.0",
- "string-width": "^4.1.0",
- "term-size": "^2.1.0",
- "type-fest": "^0.8.1",
- "widest-line": "^3.1.0"
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.0",
+ "cli-boxes": "^2.2.1",
+ "string-width": "^4.2.2",
+ "type-fest": "^0.20.2",
+ "widest-line": "^3.1.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
}
},
"brace-expansion": {
@@ -2790,15 +2964,15 @@
}
},
"camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
+ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
"dev": true
},
"chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -2823,19 +2997,19 @@
}
},
"chokidar": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
+ "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
"dev": true,
"requires": {
- "anymatch": "~3.1.1",
+ "anymatch": "~3.1.2",
"braces": "~3.0.2",
- "fsevents": "~2.3.1",
- "glob-parent": "~5.1.0",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
+ "readdirp": "~3.6.0"
}
},
"chownr": {
@@ -2864,11 +3038,6 @@
"mimic-response": "^1.0.0"
}
},
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
- },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -2884,6 +3053,11 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
+ },
"colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
@@ -2941,11 +3115,6 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
"cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
@@ -3006,9 +3175,9 @@
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
"denque": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
- "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ=="
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
+ "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw=="
},
"depd": {
"version": "1.1.2",
@@ -3035,9 +3204,9 @@
}
},
"dotenv": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
- "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
+ "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g=="
},
"dottie": {
"version": "2.0.2",
@@ -3056,9 +3225,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"encodeurl": {
@@ -3152,9 +3321,9 @@
}
},
"forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
},
"fresh": {
"version": "0.5.2",
@@ -3182,51 +3351,19 @@
"optional": true
},
"gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.1.tgz",
+ "integrity": "sha512-6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ==",
"requires": {
- "aproba": "^1.0.3",
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
"console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
"signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
+ "string-width": "^1.0.1 || ^2.0.0",
+ "strip-ansi": "^3.0.1 || ^4.0.0",
+ "wide-align": "^1.1.2"
}
},
"get-stream": {
@@ -3239,9 +3376,9 @@
}
},
"glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -3261,21 +3398,21 @@
}
},
"global-dirs": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz",
- "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
+ "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
"dev": true,
"requires": {
- "ini": "1.3.7"
+ "ini": "2.0.0"
}
},
"gmail-send": {
- "version": "1.8.10",
- "resolved": "https://registry.npmjs.org/gmail-send/-/gmail-send-1.8.10.tgz",
- "integrity": "sha512-QMpWwzeA64U69HzOEzI37UNc73xXkhTg8LuqsfKX9W7LjiQY3yRvViVn7ZhuJWLTV4136vsLJf2sXiZKmdykbw==",
+ "version": "1.8.14",
+ "resolved": "https://registry.npmjs.org/gmail-send/-/gmail-send-1.8.14.tgz",
+ "integrity": "sha512-hc+4Ej7ZJtw0G5sync10pmWkpPXIabkQ+p/a92lPPTXni3ChEU9sR2wxOvK6Hx+5Ou+2m9h1cVffWEgtR6Gzkw==",
"requires": {
- "lodash": "^4.17.15",
- "nodemailer": "^6.3.0"
+ "lodash": "^4.17.21",
+ "nodemailer": "^6.6.5"
}
},
"got": {
@@ -3298,9 +3435,9 @@
}
},
"graceful-fs": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
- "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
"dev": true
},
"has-flag": {
@@ -3389,9 +3526,9 @@
"dev": true
},
"inflection": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz",
- "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY="
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.1.tgz",
+ "integrity": "sha512-dldYtl2WlN0QDkIDtg8+xFwOS2Tbmp12t1cHa5/YClU6ZQjTFm7B66UcVbh9NQB+HvT5BAd2t5+yKsBkw5pcqA=="
},
"inflight": {
"version": "1.0.6",
@@ -3408,9 +3545,9 @@
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"ini": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
- "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
+ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
"dev": true
},
"ipaddr.js": {
@@ -3448,28 +3585,28 @@
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
"is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-installed-globally": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
- "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
+ "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
"dev": true,
"requires": {
- "global-dirs": "^2.0.1",
- "is-path-inside": "^3.0.1"
+ "global-dirs": "^3.0.0",
+ "is-path-inside": "^3.0.2"
}
},
"is-npm": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
- "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
+ "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
"dev": true
},
"is-number": {
@@ -3507,11 +3644,6 @@
"integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
"dev": true
},
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
"json-buffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
@@ -3576,23 +3708,23 @@
}
},
"mariadb": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.5.3.tgz",
- "integrity": "sha512-9ZbQ1zLqasLCQy6KDcPHtX7EUIMBlQ8p64gNR61+yfpCIWjPDji3aR56LvwbOz1QnQbVgYBOJ4J/pHoFN5MR+w==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.5.5.tgz",
+ "integrity": "sha512-6dklvcKWuuaV1JjAwnE2ezR+jTt7JrZHftgeHHBmjB0wgfaUpdxol1DPWclwMcCrsO9yoM0FuCOiCcCgXc//9Q==",
"requires": {
"@types/geojson": "^7946.0.7",
"@types/node": "^14.14.28",
- "denque": "^1.4.1",
- "iconv-lite": "^0.6.2",
+ "denque": "^1.5.0",
+ "iconv-lite": "^0.6.3",
"long": "^4.0.0",
"moment-timezone": "^0.5.33",
"please-upgrade-node": "^3.2.0"
},
"dependencies": {
"iconv-lite": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
- "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
@@ -3620,16 +3752,16 @@
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
- "version": "1.47.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
- "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw=="
+ "version": "1.50.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
+ "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A=="
},
"mime-types": {
- "version": "2.1.30",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
- "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
+ "version": "2.1.33",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
+ "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"requires": {
- "mime-db": "1.47.0"
+ "mime-db": "1.50.0"
}
},
"mimic-response": {
@@ -3653,9 +3785,9 @@
"dev": true
},
"minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz",
+ "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==",
"requires": {
"yallist": "^4.0.0"
}
@@ -3703,19 +3835,22 @@
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
},
"node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
+ "version": "2.6.5",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
+ "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ }
},
"nodemailer": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.2.tgz",
- "integrity": "sha512-YSzu7TLbI+bsjCis/TZlAXBoM4y93HhlIgo0P5oiA2ua9Z4k+E2Fod//ybIzdJxOlXGRcHIh/WaeCBehvxZb/Q=="
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.0.tgz",
+ "integrity": "sha512-AtiTVUFHLiiDnMQ43zi0YgkzHOEWUkhDgPlBXrsDzJiJvB29Alo4OKxHQ0ugF3gRqRQIneCLtZU3yiUo7pItZw=="
},
"nodemon": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz",
- "integrity": "sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==",
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.14.tgz",
+ "integrity": "sha512-frcpDx+PviKEQRSYzwhckuO2zoHcBYLHI754RE9z5h1RGtrngerc04mLpQQCPWBkH/2ObrX7We9YiwVSYZpFJQ==",
"dev": true,
"requires": {
"chokidar": "^3.2.2",
@@ -3727,7 +3862,7 @@
"supports-color": "^5.5.0",
"touch": "^3.1.0",
"undefsafe": "^2.0.3",
- "update-notifier": "^4.1.0"
+ "update-notifier": "^5.1.0"
},
"dependencies": {
"debug": {
@@ -3744,14 +3879,19 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
}
}
},
"nopt": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
- "dev": true,
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"requires": {
"abbrev": "1"
}
@@ -3763,27 +3903,22 @@
"dev": true
},
"normalize-url": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
- "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
"dev": true
},
"npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
"requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
}
},
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
- },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -3847,9 +3982,9 @@
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"picomatch": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
- "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
"dev": true
},
"please-upgrade-node": {
@@ -3866,17 +4001,12 @@
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
"dev": true
},
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
"proxy-addr": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
- "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"requires": {
- "forwarded": "~0.1.2",
+ "forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
}
},
@@ -3936,26 +4066,30 @@
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ }
}
},
"readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
}
},
"readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"requires": {
"picomatch": "^2.2.1"
@@ -4015,10 +4149,12 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
},
"semver-compare": {
"version": "1.0.0",
@@ -4070,13 +4206,13 @@
}
},
"sequelize": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.6.2.tgz",
- "integrity": "sha512-H/zrzmTK+tis9PJaSigkuXI57nKBvNCtPQol0yxCvau1iWLzSOuq8t3tMOVeQ+Ep8QH2HoD9/+FCCIAqzUr/BQ==",
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.7.0.tgz",
+ "integrity": "sha512-OVw3psUggqQT9kYg5Z9fja/BMdBxX/Ua3Bwx2yif5g6QuYEE4UfWq5jW6LmbacGwgK6bgZs05Q2zCkJZCDFrSA==",
"requires": {
"debug": "^4.1.1",
"dottie": "^2.0.0",
- "inflection": "1.12.0",
+ "inflection": "1.13.1",
"lodash": "^4.17.20",
"moment": "^2.26.0",
"moment-timezone": "^0.5.31",
@@ -4085,14 +4221,14 @@
"sequelize-pool": "^6.0.0",
"toposort-class": "^1.0.1",
"uuid": "^8.1.0",
- "validator": "^10.11.0",
+ "validator": "^13.6.0",
"wkx": "^0.5.0"
},
"dependencies": {
"debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"requires": {
"ms": "2.1.2"
}
@@ -4101,19 +4237,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "validator": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw=="
}
}
},
@@ -4144,9 +4267,9 @@
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
"signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz",
+ "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ=="
},
"statuses": {
"version": "1.5.0",
@@ -4154,60 +4277,35 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "string-width": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "safe-buffer": "~5.2.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
}
}
},
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"requires": {
- "ansi-regex": "^4.1.0"
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "^3.0.0"
}
},
"strip-bom": {
@@ -4234,9 +4332,9 @@
}
},
"tar": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
- "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -4246,12 +4344,6 @@
"yallist": "^4.0.0"
}
},
- "term-size": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
- "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
- "dev": true
- },
"to-readable-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
@@ -4284,12 +4376,28 @@
"dev": true,
"requires": {
"nopt": "~1.0.10"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ }
}
},
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ },
"type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true
},
"type-is": {
@@ -4311,13 +4419,10 @@
}
},
"undefsafe": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz",
- "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==",
- "dev": true,
- "requires": {
- "debug": "^2.2.0"
- }
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
},
"unique-string": {
"version": "2.0.0",
@@ -4334,22 +4439,23 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"update-notifier": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz",
- "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
+ "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
"dev": true,
"requires": {
- "boxen": "^4.2.0",
- "chalk": "^3.0.0",
+ "boxen": "^5.0.0",
+ "chalk": "^4.1.0",
"configstore": "^5.0.1",
"has-yarn": "^2.1.0",
"import-lazy": "^2.1.0",
"is-ci": "^2.0.0",
- "is-installed-globally": "^0.3.1",
- "is-npm": "^4.0.0",
+ "is-installed-globally": "^0.4.0",
+ "is-npm": "^5.0.0",
"is-yarn-global": "^0.3.0",
- "latest-version": "^5.0.0",
- "pupa": "^2.0.1",
+ "latest-version": "^5.1.0",
+ "pupa": "^2.1.1",
+ "semver": "^7.3.4",
"semver-diff": "^3.1.1",
"xdg-basedir": "^4.0.0"
}
@@ -4388,36 +4494,26 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
- "string-width": "^1.0.2 || 2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "requires": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"widest-line": {
@@ -4427,6 +4523,40 @@
"dev": true,
"requires": {
"string-width": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
}
},
"wkx": {
@@ -4437,6 +4567,51 @@
"@types/node": "*"
}
},
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
diff --git a/server/controller/Alumno/get.js b/server/controller/Alumno/get.js
new file mode 100644
index 0000000..3206592
--- /dev/null
+++ b/server/controller/Alumno/get.js
@@ -0,0 +1,35 @@
+const { validarNumeroCuenta } = require('../../helper/validar');
+const dbPath = '../../db/tablas';
+// const Carrera = require(`${dbPath}/Carrera`);
+// const Grupo = require(`${dbPath}/Grupo`);
+// const Horario = require(`${dbPath}/Horario`);
+// const GrupoHorario = require(`${dbPath}/GrupoHorario`);
+// const TercerSemestre = require(`${dbPath}/TercerSemestre`);
+
+const get = async (body) => {
+ // const numeroCuenta = validarNumeroCuenta(body.numeroCuenta);
+ // let alumnoTercerSemestre = {};
+ // return TercerSemestre.findOne({
+ // where: { numeroCuenta },
+ // include: [{ model: Grupo, include: [{ model: Carrera }] }],
+ // })
+ // .then((res) => {
+ // if (!res) throw new Error('No existe esta alumno.');
+ // if (res.deseaAsistir)
+ // throw new Error('Ya se registro a este alumno al recorrido.');
+ // alumnoTercerSemestre = res;
+ // delete alumnoTercerSemestre.dataValues.idGrupo;
+ // delete alumnoTercerSemestre.dataValues.Grupo.dataValues.idCarrera;
+ // return GrupoHorario.findOne({
+ // where: { idGrupo: alumnoTercerSemestre.Grupo.idGrupo },
+ // include: [{ model: Horario }],
+ // });
+ // })
+ // .then((res) => {
+ // delete res.dataValues.idHorario;
+ // delete res.dataValues.idGrupo;
+ // return { alumnoTercerSemestre, GrupoHorario: res };
+ // });
+};
+
+module.exports = get;
diff --git a/server/controller/Carrera/get.js b/server/controller/Carrera/get.js
deleted file mode 100644
index 6442a42..0000000
--- a/server/controller/Carrera/get.js
+++ /dev/null
@@ -1,5 +0,0 @@
-const Carrera = require('../../db/tablas/Carrera');
-
-const get = async () => Carrera.findAll();
-
-module.exports = get;
\ No newline at end of file
diff --git a/server/controller/CarreraHorario/get.js b/server/controller/CarreraHorario/get.js
deleted file mode 100644
index 894d83e..0000000
--- a/server/controller/CarreraHorario/get.js
+++ /dev/null
@@ -1,37 +0,0 @@
-const { validarId } = require('../../helper/validar');
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const CarreraHorario = require(`${dbPath}/CarreraHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const PrimerSemestre = require(`${dbPath}/PrimerSemestre`);
-
-const get = async (body) => {
- const idCarrera = validarId(body.idCarrera);
- const data = [];
-
- return Carrera.findOne({ where: { idCarrera } })
- .then((res) => {
- if (!res) throw new Error('No existe esta carrera.');
- return CarreraHorario.findAll({
- where: { idCarrera },
- include: [{ model: Horario }],
- });
- })
- .then(async (res) => {
- for (let i = 0; i < res.length; i++) {
- const lugaresOcupados = await PrimerSemestre.findAll({
- where: { idHorario: res[i].Horario.idHorario },
- }).then((res) => res.length);
-
- if (lugaresOcupados < 45)
- data.push({
- idHorario: res[i].Horario.idHorario,
- horario: res[i].Horario.horario,
- lugares: 45 - lugaresOcupados,
- });
- }
- return data;
- });
-};
-
-module.exports = get;
diff --git a/server/controller/CarreraHorario/horariosDia.js b/server/controller/CarreraHorario/horariosDia.js
deleted file mode 100644
index 5809b79..0000000
--- a/server/controller/CarreraHorario/horariosDia.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const moment = require('moment');
-const dbPath = '../../db/tablas';
-const CarreraHorario = require(`${dbPath}/CarreraHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const hoy = moment();
-
-const horariosDia = async (body) => {
- const data = [];
-
- return CarreraHorario.findAll({
- include: [{ model: Horario }],
- order: ['idHorario'],
- }).then(async (res) => {
- for (let i = 0; i < res.length; i++)
- if (hoy.dayOfYear() === moment(res[i].Horario.horario).dayOfYear())
- data.push({ Horario: res[i].Horario });
- return data;
- });
-};
-
-module.exports = horariosDia;
diff --git a/server/controller/CarreraHorario/monitor.js b/server/controller/CarreraHorario/monitor.js
deleted file mode 100644
index 8a2b8fd..0000000
--- a/server/controller/CarreraHorario/monitor.js
+++ /dev/null
@@ -1,25 +0,0 @@
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const CarreraHorario = require(`${dbPath}/CarreraHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const PrimerSemestre = require(`${dbPath}/PrimerSemestre`);
-
-const monitor = async (body) => {
- const data = [];
-
- return CarreraHorario.findAll({
- include: [{ model: Horario }, { model: Carrera }],
- order: ['idHorario'],
- }).then(async (res) => {
- for (let i = 0; i < res.length; i++) {
- const asistentes = await PrimerSemestre.findAll({
- where: { idHorario: res[i].idHorario },
- }).then((res) => res.length);
-
- data.push({ CarreraHorario: res[i], asistentes });
- }
- return data;
- });
-};
-
-module.exports = monitor;
diff --git a/server/controller/Grupo/get.js b/server/controller/Grupo/get.js
deleted file mode 100644
index 6800fd4..0000000
--- a/server/controller/Grupo/get.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const { Op } = require('sequelize');
-const { validarId } = require('../../helper/validar');
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-
-const get = async (body) => {
- const idCarrera = validarId(body.idCarrera);
-
- return Carrera.findOne({ where: { idCarrera } })
- .then((res) => {
- if (!res) throw new Error('No existe esta carrera.');
- return Grupo.findAll({
- where: { idCarrera, grupo: { [Op.like]: '11%' } },
- });
- })
- .then((res) => {
- for (let i = 0; i < res.length; i++) delete res[i].dataValues.idCarrera;
- return res;
- });
-};
-
-module.exports = get;
diff --git a/server/controller/GrupoHorario/horariosDia.js b/server/controller/GrupoHorario/horariosDia.js
deleted file mode 100644
index edaec70..0000000
--- a/server/controller/GrupoHorario/horariosDia.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const moment = require('moment');
-const dbPath = '../../db/tablas';
-const GrupoHorario = require(`${dbPath}/GrupoHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const hoy = moment();
-
-const horariosDia = async (body) => {
- const data = [];
-
- return GrupoHorario.findAll({
- include: [{ model: Horario }],
- order: ['idHorario'],
- }).then(async (res) => {
- for (let i = 0; i < res.length; i++)
- if (hoy.dayOfYear() === moment(res[i].Horario.horario).dayOfYear())
- data.push({ Horario: res[i].Horario });
- return data;
- });
-};
-
-module.exports = horariosDia;
diff --git a/server/controller/GrupoHorario/monitor.js b/server/controller/GrupoHorario/monitor.js
deleted file mode 100644
index be23a16..0000000
--- a/server/controller/GrupoHorario/monitor.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const GrupoHorario = require(`${dbPath}/GrupoHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
-
-const monitor = async (body) => {
- const data = [];
-
- return GrupoHorario.findAll({
- include: [
- { model: Horario },
- { model: Grupo, include: [{ model: Carrera }] },
- ],
- order: ['idHorario'],
- }).then(async (res) => {
- for (let i = 0; i < res.length; i++) {
- const asistentes = await TercerSemestre.findAll({
- where: { idGrupo: res[i].idGrupo, deseaAsistir: true },
- }).then((res) => res.length);
-
- data.push({ GrupoHorario: res[i], asistentes });
- }
- return data;
- });
-};
-
-module.exports = monitor;
diff --git a/server/controller/Horario/get.js b/server/controller/Horario/get.js
new file mode 100644
index 0000000..3206592
--- /dev/null
+++ b/server/controller/Horario/get.js
@@ -0,0 +1,35 @@
+const { validarNumeroCuenta } = require('../../helper/validar');
+const dbPath = '../../db/tablas';
+// const Carrera = require(`${dbPath}/Carrera`);
+// const Grupo = require(`${dbPath}/Grupo`);
+// const Horario = require(`${dbPath}/Horario`);
+// const GrupoHorario = require(`${dbPath}/GrupoHorario`);
+// const TercerSemestre = require(`${dbPath}/TercerSemestre`);
+
+const get = async (body) => {
+ // const numeroCuenta = validarNumeroCuenta(body.numeroCuenta);
+ // let alumnoTercerSemestre = {};
+ // return TercerSemestre.findOne({
+ // where: { numeroCuenta },
+ // include: [{ model: Grupo, include: [{ model: Carrera }] }],
+ // })
+ // .then((res) => {
+ // if (!res) throw new Error('No existe esta alumno.');
+ // if (res.deseaAsistir)
+ // throw new Error('Ya se registro a este alumno al recorrido.');
+ // alumnoTercerSemestre = res;
+ // delete alumnoTercerSemestre.dataValues.idGrupo;
+ // delete alumnoTercerSemestre.dataValues.Grupo.dataValues.idCarrera;
+ // return GrupoHorario.findOne({
+ // where: { idGrupo: alumnoTercerSemestre.Grupo.idGrupo },
+ // include: [{ model: Horario }],
+ // });
+ // })
+ // .then((res) => {
+ // delete res.dataValues.idHorario;
+ // delete res.dataValues.idGrupo;
+ // return { alumnoTercerSemestre, GrupoHorario: res };
+ // });
+};
+
+module.exports = get;
diff --git a/server/controller/PrimerSemestre/alumnosCarrera.js b/server/controller/PrimerSemestre/alumnosCarrera.js
deleted file mode 100644
index b41735a..0000000
--- a/server/controller/PrimerSemestre/alumnosCarrera.js
+++ /dev/null
@@ -1,26 +0,0 @@
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const PrimerSemestre = require(`${dbPath}/PrimerSemestre`);
-
-const alumnosCarrera = async (body) => {
- const data = [];
-
- return Carrera.findAll().then(async (res) => {
- for (let i = 0; i < res.length; i++) {
- const alumnos = await PrimerSemestre.findAll({
- include: [
- {
- model: Grupo,
- where: { idCarrera: res[i].idCarrera },
- },
- ],
- }).then((res) => res.length);
-
- data.push({ Carrera: res[i], alumnos });
- }
- return data;
- });
-};
-
-module.exports = alumnosCarrera;
diff --git a/server/controller/PrimerSemestre/asistencia.js b/server/controller/PrimerSemestre/asistencia.js
deleted file mode 100644
index c52d04f..0000000
--- a/server/controller/PrimerSemestre/asistencia.js
+++ /dev/null
@@ -1,32 +0,0 @@
-const moment = require('moment');
-const helperPath = '../../helper';
-const { validarNumeroCuenta } = require(`${helperPath}/validar`);
-const dbPath = '../../db/tablas';
-const Horario = require(`${dbPath}/Horario`);
-const PrimerSemestre = require(`${dbPath}/PrimerSemestre`);
-const hoy = moment();
-
-const asistencia = async (body) => {
- const numeroCuenta = validarNumeroCuenta(body.numeroCuenta);
-
- return PrimerSemestre.findOne({
- where: { numeroCuenta },
- include: [{ model: Horario }],
- })
- .then((res) => {
- if (!res) throw new Error('No existe este alumno.');
- if (hoy.dayOfYear() != moment(res.Horario.horario).dayOfYear())
- throw new Error('Este alumno no tiene una cita para el día de hoy.');
- if (res.asistio)
- throw new Error('Ya fue registrada la asistencia de este alumno.');
- return PrimerSemestre.update(
- { asistio: true },
- { where: { numeroCuenta } }
- );
- })
- .then((res) => ({
- message: 'Se registro correctamente la asistencia de este alumno.',
- }));
-};
-
-module.exports = asistencia;
diff --git a/server/controller/PrimerSemestre/asistentes.js b/server/controller/PrimerSemestre/asistentes.js
deleted file mode 100644
index c951001..0000000
--- a/server/controller/PrimerSemestre/asistentes.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const helperPath = '../../helper';
-const validar = require(`${helperPath}/validar`);
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const Horario = require(`${dbPath}/Horario`);
-const PrimerSemestre = require(`${dbPath}/PrimerSemestre`);
-
-const asistentes = async (body) => {
- const idHorario = validar.validarId(body.idHorario);
-
- return Horario.findOne({ where: { idHorario } }).then((res) => {
- if (!res) throw new Error('No existe este horario.');
- return PrimerSemestre.findAll({
- where: { idHorario },
- include: [{ model: Grupo, include: [{ model: Carrera }] }],
- });
- });
-};
-
-module.exports = asistentes;
diff --git a/server/controller/PrimerSemestre/csv.js b/server/controller/PrimerSemestre/csv.js
deleted file mode 100644
index 2ddf5b1..0000000
--- a/server/controller/PrimerSemestre/csv.js
+++ /dev/null
@@ -1,59 +0,0 @@
-const moment = require('moment');
-const { convertArrayToCSV } = require('convert-array-to-csv');
-const helperPath = '../../helper';
-const helper = require(`${helperPath}/helper`);
-const encriptar = require(`${helperPath}/encriptar`);
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const Horario = require(`${dbPath}/Horario`);
-const PrimerSemestre = require(`${dbPath}/PrimerSemestre`);
-
-const csv = async (body) => {
- const path = `server/uploads/primer_semestre.csv`;
- const data = [];
-
- if (
- !encriptar.comparar(
- body.password,
- '$2b$10$8FDx15tey9s9ITXNNE/Qourk1EfyrC6W8/ROqI0sGMuyOAuZ8oHMO'
- )
- )
- throw new Error('Contraseña incorrecta.');
- return PrimerSemestre.findAll({
- include: [{ model: Grupo, include: [{ model: Carrera }] }],
- })
- .then(async (res) => {
- for (let i = 0; i < res.length; i++) {
- const horario = await Horario.findOne({
- where: { idHorario: res[i].idHorario },
- }).then((res) => moment(res.horario));
-
- data.push({
- numeroCuenta: res[i].numeroCuenta,
- nombre: res[i].nombre,
- carrera: res[i].Grupo.Carrera.carrera,
- grupo: res[i].Grupo.grupo,
- dia: `${
- horario.date() < 10 ? '0' + horario.date() : horario.date()
- }/${
- horario.month() + 1 < 10
- ? '0' + (horario.month() + 1)
- : horario.month() + 1
- }/${horario.year()}`,
- hora: `${
- horario.hour() < 10 ? '0' + horario.hour() : horario.hour()
- }:${
- horario.minute() < 10 ? '0' + horario.minute() : horario.minute()
- }`,
- correo: res[i].correo,
- asistio: res[i].asistio ? 'si' : 'no',
- });
- }
- await helper.eliminarArchivo(path).catch((err) => {});
- return helper.crearArchivo(path, convertArrayToCSV(data));
- })
- .then((res) => path);
-};
-
-module.exports = csv;
diff --git a/server/controller/PrimerSemestre/registrar.js b/server/controller/PrimerSemestre/registrar.js
deleted file mode 100644
index c8d40df..0000000
--- a/server/controller/PrimerSemestre/registrar.js
+++ /dev/null
@@ -1,85 +0,0 @@
-const helperPath = '../../helper';
-const gmail = require(`${helperPath}/gmail`);
-const correos = require(`${helperPath}/correos`);
-const validar = require(`${helperPath}/validar`);
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const CarreraHorario = require(`${dbPath}/CarreraHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const Grupo = require(`${dbPath}/Grupo`);
-const PrimerSemestre = require(`${dbPath}/PrimerSemestre`);
-
-const registrar = async (body) => {
- const idCarrera = validar.validarId(body.idCarrera);
- const idGrupo = validar.validarId(body.idGrupo);
- const idHorario = validar.validarId(body.idHorario);
- const numeroCuenta = validar.validarNumeroCuenta(body.numeroCuenta);
- const correo = validar.validarCorreo(body.correo);
- const nombre = validar.validarTexto(body.nombre, 'El nombre', 70);
- let mail = {};
- let horario = {};
- let carrera = {};
-
- return Carrera.findOne({ where: { idCarrera } })
- .then((res) => {
- if (!res) throw new Error('No existe esta carrera.');
- carrera = res;
- return Grupo.findOne({
- where: { idGrupo },
- });
- })
- .then((res) => {
- if (!res) throw new Error('No existe este grupo.');
- return Grupo.findOne({ where: { idGrupo, idCarrera } });
- })
- .then((res) => {
- if (!res)
- throw new Error('Este grupo no pertenece a la carrera indicada.');
- if (res.grupo[0] === '2' && res.grupo[1] === '2')
- throw new Error(
- 'Este grupo es de segundo semestre, no es valido para este registro.'
- );
- return Horario.findOne({ where: { idHorario } });
- })
- .then((res) => {
- if (!res) throw new Error('No existe este horario.');
- horario = res;
- return CarreraHorario.findOne({ where: { idCarrera, idHorario } });
- })
- .then((res) => {
- if (!res) throw new Error('Esta carrera no tiene asignado este horario.');
- return PrimerSemestre.findOne({ where: { numeroCuenta } });
- })
- .then((res) => {
- if (res) throw new Error('Ya se registro a este alumno al recorrido.');
- return PrimerSemestre.findAll({
- where: { idHorario },
- });
- })
- .then((res) => {
- if (res.length >= 45)
- throw new Error('Este horario ya esta lleno, elige otro.');
- return PrimerSemestre.create({
- numeroCuenta,
- correo,
- nombre,
- idHorario,
- idGrupo,
- });
- })
- .then((res) => {
- mail = correos.correoPrimerSemestre(
- res.numeroCuenta,
- res.nombre,
- carrera.carrera,
- horario.horario
- );
- return gmail(mail.subject, res.correo, mail.message);
- })
- .then((res) => ({
- message:
- 'Te has registrado correctamente, hemos mandado tu comprobante a tu correo.',
- }));
-};
-
-module.exports = registrar;
diff --git a/server/controller/TercerSemestre/alumnosCarrera.js b/server/controller/TercerSemestre/alumnosCarrera.js
deleted file mode 100644
index 414839c..0000000
--- a/server/controller/TercerSemestre/alumnosCarrera.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
-
-const alumnosCarrera = async (body) => {
- const data = [];
-
- return Carrera.findAll().then(async (res) => {
- for (let i = 0; i < res.length; i++) {
- const alumnos = await TercerSemestre.findAll({
- where: { deseaAsistir: true },
- include: [
- {
- model: Grupo,
- where: { idCarrera: res[i].idCarrera },
- },
- ],
- }).then((res) => res.length);
-
- data.push({ Carrera: res[i], alumnos });
- }
- return data;
- });
-};
-
-module.exports = alumnosCarrera;
diff --git a/server/controller/TercerSemestre/asistencia.js b/server/controller/TercerSemestre/asistencia.js
deleted file mode 100644
index 3b885c6..0000000
--- a/server/controller/TercerSemestre/asistencia.js
+++ /dev/null
@@ -1,38 +0,0 @@
-const moment = require('moment');
-const helperPath = '../../helper';
-const { validarNumeroCuenta } = require(`${helperPath}/validar`);
-const dbPath = '../../db/tablas';
-const GrupoHorario = require(`${dbPath}/GrupoHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
-const hoy = moment();
-
-const asistencia = async (body) => {
- const numeroCuenta = validarNumeroCuenta(body.numeroCuenta);
-
- return TercerSemestre.findOne({
- where: { numeroCuenta },
- })
- .then((res) => {
- if (!res) throw new Error('No existe este alumno.');
- if (res.asistio)
- throw new Error('Ya fue registrada la asistencia de este alumno.');
- return GrupoHorario.findOne({
- where: { idGrupo: res.idGrupo },
- include: [{ model: Horario }],
- });
- })
- .then((res) => {
- if (hoy.dayOfYear() != moment(res.Horario.horario).dayOfYear())
- throw new Error('Este alumno no tiene una cita para el día de hoy.');
- return TercerSemestre.update(
- { asistio: true },
- { where: { numeroCuenta } }
- );
- })
- .then((res) => ({
- message: 'Se registro correctamente la asistencia de este alumno.',
- }));
-};
-
-module.exports = asistencia;
diff --git a/server/controller/TercerSemestre/asistentes.js b/server/controller/TercerSemestre/asistentes.js
deleted file mode 100644
index 8e87eeb..0000000
--- a/server/controller/TercerSemestre/asistentes.js
+++ /dev/null
@@ -1,30 +0,0 @@
-const helperPath = '../../helper';
-const validar = require(`${helperPath}/validar`);
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const GrupoHorario = require(`${dbPath}/GrupoHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
-
-const asistentes = async (body) => {
- const idHorario = validar.validarId(body.idHorario);
-
- return Horario.findOne({ where: { idHorario } })
- .then((res) => {
- if (!res) throw new Error('No existe este horario.');
- return GrupoHorario.findOne({
- where: { idHorario },
- });
- })
- .then((res) => {
- if (!res)
- throw new Error('No hay un grupo que tenga asignado este horario.');
- return TercerSemestre.findAll({
- where: { idGrupo: res.idGrupo, deseaAsistir: true },
- include: [{ model: Grupo, include: [{ model: Carrera }] }],
- });
- });
-};
-
-module.exports = asistentes;
diff --git a/server/controller/TercerSemestre/csv.js b/server/controller/TercerSemestre/csv.js
deleted file mode 100644
index f851bac..0000000
--- a/server/controller/TercerSemestre/csv.js
+++ /dev/null
@@ -1,61 +0,0 @@
-const { convertArrayToCSV } = require('convert-array-to-csv');
-const moment = require('moment');
-const helperPath = '../../helper';
-const helper = require(`${helperPath}/helper`);
-const encriptar = require(`${helperPath}/encriptar`);
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const GrupoHorario = require(`${dbPath}/GrupoHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
-
-const csv = async (body) => {
- const path = `server/uploads/tercer_semestre.csv`;
- const data = [];
-
- if (
- !encriptar.comparar(
- body.password,
- '$2b$10$8FDx15tey9s9ITXNNE/Qourk1EfyrC6W8/ROqI0sGMuyOAuZ8oHMO'
- )
- )
- throw new Error('Contraseña incorrecta.');
- return TercerSemestre.findAll({
- where: { deseaAsistir: true },
- include: [{ model: Grupo, include: [{ model: Carrera }] }],
- })
- .then(async (res) => {
- for (let i = 0; i < res.length; i++) {
- const horario = await GrupoHorario.findOne({
- where: { idGrupo: res[i].idGrupo },
- include: [{ model: Horario }],
- }).then((res) => moment(res.Horario.horario));
-
- data.push({
- numeroCuenta: res[i].numeroCuenta,
- nombre: res[i].nombre,
- carrera: res[i].Grupo.Carrera.carrera,
- grupo: res[i].Grupo.grupo,
- dia: `${
- horario.date() < 10 ? '0' + horario.date() : horario.date()
- }/${
- horario.month() + 1 < 10
- ? '0' + (horario.month() + 1)
- : horario.month() + 1
- }/${horario.year()}`,
- hora: `${
- horario.hour() < 10 ? '0' + horario.hour() : horario.hour()
- }:${
- horario.minute() < 10 ? '0' + horario.minute() : horario.minute()
- }`,
- asistio: res[i].asistio ? 'si' : 'no',
- });
- }
- await helper.eliminarArchivo(path).catch((err) => {});
- return helper.crearArchivo(path, convertArrayToCSV(data));
- })
- .then((res) => path);
-};
-
-module.exports = csv;
diff --git a/server/controller/TercerSemestre/get.js b/server/controller/TercerSemestre/get.js
deleted file mode 100644
index 6e04333..0000000
--- a/server/controller/TercerSemestre/get.js
+++ /dev/null
@@ -1,36 +0,0 @@
-const { validarNumeroCuenta } = require('../../helper/validar');
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const Horario = require(`${dbPath}/Horario`);
-const GrupoHorario = require(`${dbPath}/GrupoHorario`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
-
-const get = async (body) => {
- const numeroCuenta = validarNumeroCuenta(body.numeroCuenta);
- let alumnoTercerSemestre = {};
-
- return TercerSemestre.findOne({
- where: { numeroCuenta },
- include: [{ model: Grupo, include: [{ model: Carrera }] }],
- })
- .then((res) => {
- if (!res) throw new Error('No existe esta alumno.');
- if (res.deseaAsistir)
- throw new Error('Ya se registro a este alumno al recorrido.');
- alumnoTercerSemestre = res;
- delete alumnoTercerSemestre.dataValues.idGrupo;
- delete alumnoTercerSemestre.dataValues.Grupo.dataValues.idCarrera;
- return GrupoHorario.findOne({
- where: { idGrupo: alumnoTercerSemestre.Grupo.idGrupo },
- include: [{ model: Horario }],
- });
- })
- .then((res) => {
- delete res.dataValues.idHorario;
- delete res.dataValues.idGrupo;
- return { alumnoTercerSemestre, GrupoHorario: res };
- });
-};
-
-module.exports = get;
diff --git a/server/controller/TercerSemestre/registrar.js b/server/controller/TercerSemestre/registrar.js
deleted file mode 100644
index 2a7ea96..0000000
--- a/server/controller/TercerSemestre/registrar.js
+++ /dev/null
@@ -1,57 +0,0 @@
-const helperPath = '../../helper';
-const gmail = require(`${helperPath}/gmail`);
-const correos = require(`${helperPath}/correos`);
-const { validarId } = require(`${helperPath}/validar`);
-const dbPath = '../../db/tablas';
-const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const GrupoHorario = require(`${dbPath}/GrupoHorario`);
-const Horario = require(`${dbPath}/Horario`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
-
-const registrar = async (body) => {
- const idTercerSemestre = validarId(body.idTercerSemestre);
- let alumno = {};
- let mail = {};
-
- return TercerSemestre.findOne({
- where: { idTercerSemestre },
- include: [{ model: Grupo, include: [{ model: Carrera }] }],
- })
- .then((res) => {
- if (!res) throw new Error('No existe esta alumno.');
- if (res.deseaAsistir)
- throw new Error('Ya se registro a este alumno al recorrido.');
- alumno = res;
- return GrupoHorario.findOne({
- where: { idGrupo: alumno.idGrupo },
- include: [{ model: Horario }],
- });
- })
- .then((res) => {
- mail = correos.correoTercerSemestre(
- alumno.numeroCuenta,
- alumno.nombre,
- alumno.Grupo.Carrera.carrera,
- res.Horario.horario
- );
- return gmail(
- mail.subject,
- 'lemuelhelonmarquezrosas@gmail.com',
- // `${res.numeroCuenta}@pcpuma.acatlan.unam.mx`
- mail.message
- );
- })
- .then((res) =>
- TercerSemestre.update(
- { deseaAsistir: true },
- { where: { idTercerSemestre } }
- )
- )
- .then((res) => ({
- message:
- 'Te has registrado correctamente, hemos mandado tu comprobante a tu correo pcpuma.',
- }));
-};
-
-module.exports = registrar;
diff --git a/server/db/install.js b/server/db/install.js
index f421bad..b41b086 100644
--- a/server/db/install.js
+++ b/server/db/install.js
@@ -3,34 +3,22 @@ const { Op } = require('sequelize');
const moment = require('moment');
const colors = require('colors');
const Carrera = require('./tablas/Carrera');
-const CarreraHorario = require('./tablas/CarreraHorario');
-const Grupo = require('./tablas/Grupo');
-const GrupoHorario = require('./tablas/GrupoHorario');
+const AlumnoHorario = require('./tablas/AlumnoHorario');
const Horario = require('./tablas/Horario');
-const PrimerSemestre = require('./tablas/PrimerSemestre');
-const TercerSemestre = require('./tablas/TercerSemestre');
+const Alumno = require('./tablas/Alumno');
const drop = async () => {
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
- await TercerSemestre.drop();
- console.log('La tabla TercerSemestre se desinstalo correctamente.'.magenta);
-
- await PrimerSemestre.drop();
- console.log('La tabla PrimerSemestre se desinstalo correctamente.'.magenta);
-
- await GrupoHorario.drop();
- console.log('La tabla GrupoHorario se desinstalo correctamente.'.magenta);
-
- await CarreraHorario.drop();
- console.log('La tabla CarreraHorario se desinstalo correctamente.'.magenta);
-
- await Grupo.drop();
- console.log('La tabla Grupo se desinstalo correctamente.'.magenta);
+ await AlumnoHorario.drop();
+ console.log('La tabla AlumnoHorario se desinstalo correctamente.'.magenta);
await Horario.drop();
console.log('La tabla Horario se desinstalo correctamente.'.magenta);
+ await Alumno.drop();
+ console.log('La tabla Alumno se desinstalo correctamente.'.magenta);
+
await Carrera.drop();
console.log('La tabla Carrera se desinstalo correctamente.'.magenta);
};
@@ -41,258 +29,38 @@ const sync = async () => {
await Carrera.sync();
console.log('La tabla Carrera se instalo correctamente.'.magenta);
+ await Alumno.sync();
+ console.log('La tabla Alumno se instalo correctamente.'.magenta);
+
await Horario.sync();
console.log('La tabla Horario se instalo correctamente.'.magenta);
- await Grupo.sync();
- console.log('La tabla Grupo se instalo correctamente.'.magenta);
-
- await CarreraHorario.sync();
- console.log('La tabla CarreraHorario se instalo correctamente.'.magenta);
-
- await GrupoHorario.sync();
- console.log('La tabla GrupoHorario se instalo correctamente.'.magenta);
-
- await PrimerSemestre.sync();
- console.log('La tabla PrimerSemestre se instalo correctamente.'.magenta);
-
- await TercerSemestre.sync();
- console.log('La tabla TercerSemestre se instalo correctamente.'.magenta);
-};
-
-const data = [
- {
- carrera: 'ACTUARÍA',
- matutino: 4,
- despertino: 3,
- horarioAsignado: { dia: '2021/08/12', horaInicio: '08:00' },
- horariosAsignados: [{ dia: '2021/08/06', horaInicio: '08:00', turnos: 7 }],
- },
- {
- carrera: 'ARQUITECTURA',
- matutino: 4,
- despertino: 3,
- horarioAsignado: { dia: '2021/08/10', horaInicio: '10:40' },
- horariosAsignados: [{ dia: '2021/08/03', horaInicio: '10:40', turnos: 7 }],
- },
- {
- carrera: 'CIENCIAS POLÍTICAS Y ADMON. PÚBLICA',
- matutino: 3,
- despertino: 2,
- horarioAsignado: { dia: '2021/08/12', horaInicio: '13:00' },
- horariosAsignados: [{ dia: '2021/08/06', horaInicio: '13:00', turnos: 5 }],
- },
- {
- carrera: 'COMUNICACIÓN',
- matutino: 4,
- despertino: 4,
- horarioAsignado: { dia: '2021/08/11', horaInicio: '08:00' },
- horariosAsignados: [{ dia: '2021/08/04', horaInicio: '08:00', turnos: 8 }],
- },
- {
- carrera: 'DERECHO',
- matutino: 9,
- despertino: 9,
- horarioAsignado: { dia: '2021/08/09', horaInicio: '08:00' },
- horariosAsignados: [{ dia: '2021/08/02', horaInicio: '08:00', turnos: 18 }],
- },
- {
- carrera: 'DISEÑO GRÁFICO',
- matutino: 4,
- despertino: 4,
- horarioAsignado: { dia: '2021/08/10', horaInicio: '08:00' },
- horariosAsignados: [{ dia: '2021/08/03', horaInicio: '08:00', turnos: 8 }],
- },
- {
- carrera: 'ECONOMÍA',
- matutino: 3,
- despertino: 2,
- horarioAsignado: { dia: '2021/08/13', horaInicio: '08:00' },
- horariosAsignados: [
- { dia: '2021/08/04', horaInicio: '15:20', turnos: 1 },
- { dia: '2021/08/05', horaInicio: '08:00', turnos: 4 },
- ],
- },
- {
- carrera: 'ENSEÑANZA DE INGLÉS',
- matutino: 1,
- despertino: 1,
- horarioAsignado: { dia: '2021/08/11', horaInicio: '15:00' },
- horariosAsignados: [{ dia: '2021/08/04', horaInicio: '15:00', turnos: 1 }],
- },
- {
- carrera: 'FILOSOFÍA',
- matutino: 1,
- despertino: 1,
- horarioAsignado: { dia: '2021/08/11', horaInicio: '12:40' },
- horariosAsignados: [{ dia: '2021/08/04', horaInicio: '12:40', turnos: 2 }],
- },
- {
- carrera: 'HISTORIA',
- matutino: 2,
- despertino: 1,
- horarioAsignado: { dia: '2021/08/11', horaInicio: '14:00' },
- horariosAsignados: [{ dia: '2021/08/04', horaInicio: '14:00', turnos: 3 }],
- },
- {
- carrera: 'INGENIERÍA CIVIL',
- matutino: 3,
- despertino: 2,
- horarioAsignado: { dia: '2021/08/09', horaInicio: '14:00' },
- horariosAsignados: [{ dia: '2021/08/02', horaInicio: '14:00', turnos: 5 }],
- },
- {
- carrera: 'LENGUA Y LITERATURA HISPÁNICAS',
- matutino: 1,
- despertino: 1,
- horarioAsignado: { dia: '2021/08/11', horaInicio: '13:20' },
- horariosAsignados: [{ dia: '2021/08/04', horaInicio: '13:20', turnos: 2 }],
- },
- {
- carrera: 'MATEMÁTICAS. APL. Y COMP. (1999)',
- matutino: 4,
- despertino: 4,
- horarioAsignado: { dia: '2021/08/12', horaInicio: '10:20' },
- horariosAsignados: [{ dia: '2021/08/06', horaInicio: '10:20', turnos: 8 }],
- },
- {
- carrera: 'PEDAGOGÍA',
- matutino: 4,
- despertino: 2,
- horarioAsignado: { dia: '2021/08/11', horaInicio: '10:40' },
- horariosAsignados: [{ dia: '2021/08/04', horaInicio: '10:40', turnos: 6 }],
- },
- {
- carrera: 'RELACIONES INTERNACIONALES',
- matutino: 3,
- despertino: 3,
- horarioAsignado: { dia: '2021/08/10', horaInicio: '13:00' },
- horariosAsignados: [{ dia: '2021/08/03', horaInicio: '13:00', turnos: 6 }],
- },
- {
- carrera: 'SOCIOLOGÍA',
- matutino: 2,
- despertino: 2,
- horarioAsignado: { dia: '2021/08/13', horaInicio: '09:40' },
- horariosAsignados: [
- { dia: '2021/08/03', horaInicio: '15:00', turnos: 2 },
- { dia: '2021/08/06', horaInicio: '14:40', turnos: 2 },
- ],
- },
- // {
- // carrera: 'DERECHO (SUA)',
- // matutino: 0,
- // despertino: 0,
- // horarioAsignado:{dia:'',horaInicio:''}
- // },
- // {
- // carrera: 'ENSEÑANZA DE ESPAÑOL(LENG EXTRANJERA)SUA',
- // matutino: 0,
- // despertino: 0,
- // horarioAsignado:{dia:'',horaInicio:''}
- // },
- // {
- // carrera: 'ENSEÑANZA DE FRANCES(LENG EXTRANJERA)SUA',
- // matutino: 0,
- // despertino: 0,
- // horarioAsignado:{dia:'',horaInicio:''}
- // },
- // {
- // carrera: 'ENSEÑANZA DE INGLES (LENG EXTRANJERA)SUA',
- // matutino: 0,
- // despertino: 0,
- // horarioAsignado:{dia:'',horaInicio:''}
- // },
- // {
- // carrera: 'ENSEÑANZA DE ITALIANO(LENG EXTRANJ.)SUA',
- // matutino: 0,
- // despertino: 0,
- // horarioAsignado:{dia:'',horaInicio:''}
- // },
- // {
- // carrera: 'RELACIONES INTERNACIONALES (SUA)',
- // matutino: 0,
- // despertino: 0,
- // horarioAsignado:{dia:'',horaInicio:''}
- // },
-];
-
-const dataCarrera = async () => {
- console.log('\nPaso 3) Instalando catalogo Carrera.'.bold.blue);
- for (let i = 0; i < data.length; i++) {
- await Carrera.create({ carrera: data[i].carrera });
- console.log(
- `Se agrego la carrera ${data[i].carrera} correctamente.`.magenta
- );
- }
-};
-
-const dataGrupo = async () => {
- console.log('\nPaso 4) Instalando catalogo Grupo.'.bold.blue);
- for (let i = 0; i < data.length; i++) {
- for (let j = 1; j <= data[i].matutino; j++) {
- const grupo = `110${j}`;
-
- await Grupo.create({ grupo, idCarrera: i + 1 });
- console.log(
- `Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
- .magenta
- );
- }
- console.log();
- for (let j = 1; j <= data[i].despertino; j++) {
- const grupo = `115${j}`;
-
- await Grupo.create({ grupo, idCarrera: i + 1 });
- console.log(
- `Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
- .magenta
- );
- }
- console.log();
- for (let j = 1; j <= data[i].matutino; j++) {
- const grupo = `220${j}`;
-
- await Grupo.create({ grupo, idCarrera: i + 1 });
- console.log(
- `Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
- .magenta
- );
- }
- console.log();
- for (let j = 1; j <= data[i].despertino; j++) {
- const grupo = `225${j}`;
-
- await Grupo.create({ grupo, idCarrera: i + 1 });
- console.log(
- `Se agrego el grupo ${grupo} a la carrera ${data[i].carrera} correctamente.`
- .magenta
- );
- }
- console.log('\n');
- }
+ await AlumnoHorario.sync();
+ console.log('La tabla AlumnoHorario se instalo correctamente.'.magenta);
};
const dataHorario = async () => {
- const diaFin = 13;
- const diaInicio = 2;
+ const diaInicio = 16;
+ const diaFin = 22;
- console.log('\nPaso 5) Instalando catalogo Horario.'.bold.blue);
+ console.log('\nPaso 3) Instalando catalogo Horario.'.bold.blue);
for (let i = diaInicio; i <= diaFin; i++) {
- const dia = `2021/08/${i < 10 ? '0' + i : i}`;
- const horaFin = 15;
- const minutoFin = 20;
- let horaInicio = 8;
+ const dia = `2021/11/${i < 10 ? '0' + i : i}`;
+ const horaFin = 17;
+ const minutoFin = 0;
+ let horaInicio = 10;
let minutoInicio = 0;
let parar = false;
+ let turno = 'V';
- if (i === 7 || i === 8) continue;
+ if (i === 20 || i === 21) continue;
while (!parar) {
const hora = `${horaInicio < 10 ? '0' + horaInicio : horaInicio}:${
minutoInicio < 10 ? '0' + minutoInicio : minutoInicio
}`;
- await Horario.create({ horario: `${dia} ${hora}` });
+ if (horaInicio === 13 && minutoInicio === 40) turno = 'M';
+ await Horario.create({ horario: `${dia} ${hora}`, turno });
console.log(`Se agrego el horario ${dia} ${hora} correctamente.`.magenta);
if (horaInicio === horaFin && minutoInicio === minutoFin) parar = true;
else {
@@ -306,93 +74,10 @@ const dataHorario = async () => {
}
};
-const dataGrupoHorario = async () => {
- console.log('\nPaso 6) Instalando catalogo GrupoHorario.'.bold.blue);
- for (let i = 0; i < data.length; i++) {
- const gruposCarrera = await Grupo.findAll({
- where: { grupo: { [Op.like]: '22%' }, idCarrera: i + 1 },
- });
- let idHorario = await Horario.findOne({
- where: {
- horario: new Date(
- `${data[i].horarioAsignado.dia} ${data[i].horarioAsignado.horaInicio}`
- ),
- },
- }).then((res) => res.idHorario);
-
- for (let j = 0; j < gruposCarrera.length; j++) {
- await GrupoHorario.create({
- idHorario,
- idGrupo: gruposCarrera[j].idGrupo,
- })
- .then((res) =>
- GrupoHorario.findOne({
- where: { idGrupoHorario: res.idGrupoHorario },
- include: [
- { model: Grupo, include: [{ model: Carrera }] },
- { model: Horario },
- ],
- })
- )
- .then((res) => {
- console.log(
- `Se le asigno al grupo ${res.Grupo.grupo} de la carrera ${
- res.Grupo.Carrera.carrera
- } el horario ${moment(res.Horario.horario).format()}`.magenta
- );
- idHorario++;
- });
- }
- console.log();
- }
-};
-
-const dataCarreraHorario = async () => {
- console.log('\nPaso 7) Instalando catalogo CarreraHorario.'.bold.blue);
- for (let i = 0; i < data.length; i++) {
- for (let j = 0; j < data[i].horariosAsignados.length; j++) {
- let idHorario = await Horario.findOne({
- where: {
- horario: new Date(
- `${data[i].horariosAsignados[j].dia} ${data[i].horariosAsignados[j].horaInicio}`
- ),
- },
- }).then((res) => res.idHorario);
-
- for (let k = 0; k < data[i].horariosAsignados[j].turnos; k++) {
- await CarreraHorario.create({
- idHorario,
- idCarrera: i + 1,
- })
- .then((res) =>
- CarreraHorario.findOne({
- where: { idCarreraHorario: res.idCarreraHorario },
- include: [{ model: Carrera }, { model: Horario }],
- })
- )
- .then((res) => {
- console.log(
- `Se le asigno a la carrera ${
- res.Carrera.carrera
- } el horario ${moment(res.Horario.horario).format()}`.magenta
- );
- idHorario++;
- });
- }
- }
-
- console.log();
- }
-};
-
const exe = async () => {
await drop();
await sync();
- await dataCarrera();
- await dataGrupo();
await dataHorario();
- await dataGrupoHorario();
- await dataCarreraHorario();
console.log(
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
diff --git a/server/db/tablas/Grupo.js b/server/db/tablas/Alumno.js
similarity index 60%
rename from server/db/tablas/Grupo.js
rename to server/db/tablas/Alumno.js
index 6290877..d8e2547 100644
--- a/server/db/tablas/Grupo.js
+++ b/server/db/tablas/Alumno.js
@@ -2,30 +2,35 @@ const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
const Carrera = require('./Carrera');
-class Grupo extends Model {}
-Grupo.init(
+class Alumno extends Model {}
+Alumno.init(
{
- idGrupo: {
+ idAlumno: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
unique: true,
autoIncrement: true,
},
- grupo: {
- type: DataTypes.STRING(4),
+ numeroCuenta: {
+ type: DataTypes.STRING(10),
+ allowNull: false,
+ unique: true,
+ },
+ turno: {
+ type: DataTypes.STRING(1),
allowNull: false,
},
},
{
sequelize,
- modelName: 'Grupo',
- tableName: 'grupo',
+ modelName: 'Alumno',
+ tableName: 'alumno',
timestamps: false,
}
);
-Grupo.belongsTo(Carrera, {
+Alumno.belongsTo(Carrera, {
foreignKey: {
name: 'idCarrera',
type: DataTypes.INTEGER,
@@ -33,4 +38,4 @@ Grupo.belongsTo(Carrera, {
},
});
-module.exports = Grupo;
+module.exports = Alumno;
diff --git a/server/db/tablas/GrupoHorario.js b/server/db/tablas/AlumnoHorario.js
similarity index 62%
rename from server/db/tablas/GrupoHorario.js
rename to server/db/tablas/AlumnoHorario.js
index 1c0c905..f4b68cc 100644
--- a/server/db/tablas/GrupoHorario.js
+++ b/server/db/tablas/AlumnoHorario.js
@@ -1,12 +1,12 @@
const { DataTypes, Model } = require('sequelize');
const sequelize = require('../../config/sequelize.conf');
+const Alumno = require('./Alumno');
const Horario = require('./Horario');
-const Grupo = require('./Grupo');
-class GrupoHorario extends Model {}
-GrupoHorario.init(
+class AlumnoHorario extends Model {}
+AlumnoHorario.init(
{
- idGrupoHorario: {
+ idAlumnoHorario: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false,
@@ -16,13 +16,13 @@ GrupoHorario.init(
},
{
sequelize,
- modelName: 'GrupoHorario',
- tableName: 'grupo_horario',
+ modelName: 'AlumnoHorario',
+ tableName: 'alumno_horario',
timestamps: false,
}
);
-GrupoHorario.belongsTo(Horario, {
+AlumnoHorario.belongsTo(Horario, {
foreignKey: {
name: 'idHorario',
type: DataTypes.INTEGER,
@@ -30,12 +30,12 @@ GrupoHorario.belongsTo(Horario, {
},
});
-GrupoHorario.belongsTo(Grupo, {
+AlumnoHorario.belongsTo(Alumno, {
foreignKey: {
- name: 'idGrupo',
+ name: 'idAlumno',
type: DataTypes.INTEGER,
allowNull: false,
},
});
-module.exports = GrupoHorario;
+module.exports = AlumnoHorario;
diff --git a/server/db/tablas/CarreraHorario.js b/server/db/tablas/CarreraHorario.js
deleted file mode 100644
index c148fa6..0000000
--- a/server/db/tablas/CarreraHorario.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const { DataTypes, Model } = require('sequelize');
-const sequelize = require('../../config/sequelize.conf');
-const Carrera = require('./Carrera');
-const Horario = require('./Horario');
-
-class CarreraHorario extends Model {}
-CarreraHorario.init(
- {
- idCarreraHorario: {
- type: DataTypes.INTEGER,
- primaryKey: true,
- allowNull: false,
- unique: true,
- autoIncrement: true,
- },
- },
- {
- sequelize,
- modelName: 'CarreraHorario',
- tableName: 'carrera_horario',
- timestamps: false,
- }
-);
-
-CarreraHorario.belongsTo(Horario, {
- foreignKey: {
- name: 'idHorario',
- type: DataTypes.INTEGER,
- allowNull: false,
- },
-});
-
-CarreraHorario.belongsTo(Carrera, {
- foreignKey: {
- name: 'idCarrera',
- type: DataTypes.INTEGER,
- allowNull: false,
- },
-});
-
-module.exports = CarreraHorario;
diff --git a/server/db/tablas/Horario.js b/server/db/tablas/Horario.js
index 6468b41..9cebf8d 100644
--- a/server/db/tablas/Horario.js
+++ b/server/db/tablas/Horario.js
@@ -15,6 +15,10 @@ Horario.init(
type: DataTypes.DATE,
allowNull: false,
},
+ turno: {
+ type: DataTypes.STRING(1),
+ allowNull: false,
+ },
},
{
sequelize,
diff --git a/server/db/tablas/PrimerSemestre.js b/server/db/tablas/PrimerSemestre.js
deleted file mode 100644
index 7a6eba9..0000000
--- a/server/db/tablas/PrimerSemestre.js
+++ /dev/null
@@ -1,61 +0,0 @@
-const { DataTypes, Model } = require('sequelize');
-const sequelize = require('../../config/sequelize.conf');
-const Horario = require('./Horario');
-const Grupo = require('./Grupo');
-
-class PrimerSemestre extends Model {}
-PrimerSemestre.init(
- {
- idPrimerSemestre: {
- type: DataTypes.INTEGER,
- primaryKey: true,
- allowNull: false,
- unique: true,
- autoIncrement: true,
- },
- numeroCuenta: {
- type: DataTypes.STRING(10),
- allowNull: false,
- unique: true,
- },
- nombre: {
- type: DataTypes.STRING(70),
- allowNull: false,
- },
- correo: {
- type: DataTypes.STRING(60),
- allowNull: false,
- },
- asistio: {
- type: DataTypes.BOOLEAN,
- allowNull: true,
- defaultValue: null,
- },
- },
- {
- sequelize,
- modelName: 'PrimerSemestre',
- tableName: 'primer_semestre',
- timestamps: false,
- }
-);
-
-PrimerSemestre.belongsTo(Grupo, {
- foreignKey: {
- name: 'idGrupo',
- type: DataTypes.INTEGER,
- allowNull: true,
- defaultValue: null,
- },
-});
-
-PrimerSemestre.belongsTo(Horario, {
- foreignKey: {
- name: 'idHorario',
- type: DataTypes.INTEGER,
- allowNull: true,
- defaultValue: null,
- },
-});
-
-module.exports = PrimerSemestre;
diff --git a/server/db/tablas/TercerSemestre.js b/server/db/tablas/TercerSemestre.js
deleted file mode 100644
index bc933e1..0000000
--- a/server/db/tablas/TercerSemestre.js
+++ /dev/null
@@ -1,51 +0,0 @@
-const { DataTypes, Model } = require('sequelize');
-const sequelize = require('../../config/sequelize.conf');
-const Grupo = require('./Grupo');
-
-class TercerSemestre extends Model {}
-TercerSemestre.init(
- {
- idTercerSemestre: {
- type: DataTypes.INTEGER,
- primaryKey: true,
- allowNull: false,
- unique: true,
- autoIncrement: true,
- },
- numeroCuenta: {
- type: DataTypes.STRING(10),
- allowNull: false,
- unique: true,
- },
- nombre: {
- type: DataTypes.STRING(70),
- allowNull: false,
- },
- deseaAsistir: {
- type: DataTypes.BOOLEAN,
- allowNull: true,
- defaultValue: null,
- },
- asistio: {
- type: DataTypes.BOOLEAN,
- allowNull: true,
- defaultValue: null,
- },
- },
- {
- sequelize,
- modelName: 'TercerSemestre',
- tableName: 'tercer_semestre',
- timestamps: false,
- }
-);
-
-TercerSemestre.belongsTo(Grupo, {
- foreignKey: {
- name: 'idGrupo',
- type: DataTypes.INTEGER,
- allowNull: false,
- },
-});
-
-module.exports = TercerSemestre;
diff --git a/server/routes/Grupo.js b/server/routes/Alumno.js
similarity index 77%
rename from server/routes/Grupo.js
rename to server/routes/Alumno.js
index 35f2caa..ba3183b 100644
--- a/server/routes/Grupo.js
+++ b/server/routes/Alumno.js
@@ -1,9 +1,10 @@
const express = require('express');
const app = express();
-const route = '/grupo';
-const controllerPath = '../controller/Grupo';
+const route = '/tercer_semestre';
+const controllerPath = '../controller/TercerSemestre';
const get = require(`${controllerPath}/get`);
+// GET
app.get(`${route}`, (req, res) => {
return get(req.query)
.then((data) => {
diff --git a/server/routes/AlumnoHorario.js b/server/routes/AlumnoHorario.js
new file mode 100644
index 0000000..4485e38
--- /dev/null
+++ b/server/routes/AlumnoHorario.js
@@ -0,0 +1,29 @@
+const express = require('express');
+const app = express();
+const route = '/grupo_horario';
+const controllerPath = '../controller/GrupoHorario';
+// const horariosDia = require(`${controllerPath}/horariosDia`);
+// const monitor = require(`${controllerPath}/monitor`);
+
+// // GET
+// app.get(`${route}/horarios_dia`, (req, res) => {
+// return horariosDia(req.body)
+// .then((data) => {
+// res.status(200).json(data);
+// })
+// .catch((err) => {
+// res.status(400).json({ message: err.message });
+// });
+// });
+
+// app.get(`${route}/monitor`, (req, res) => {
+// return monitor(req.body)
+// .then((data) => {
+// res.status(200).json(data);
+// })
+// .catch((err) => {
+// res.status(400).json({ message: err.message });
+// });
+// });
+
+module.exports = app;
diff --git a/server/routes/Carrera.js b/server/routes/Carrera.js
deleted file mode 100644
index 68f1dd9..0000000
--- a/server/routes/Carrera.js
+++ /dev/null
@@ -1,17 +0,0 @@
-const express = require('express');
-const app = express();
-const route = '/carrera';
-const controllerPath = '../controller/Carrera';
-const get = require(`${controllerPath}/get`);
-
-app.get(`${route}`, (req, res) => {
- return get()
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-module.exports = app;
diff --git a/server/routes/CarreraHorario.js b/server/routes/CarreraHorario.js
deleted file mode 100644
index 3755bec..0000000
--- a/server/routes/CarreraHorario.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const express = require('express');
-const app = express();
-const route = '/carrera_horario';
-const controllerPath = '../controller/CarreraHorario';
-const get = require(`${controllerPath}/get`);
-const horariosDia = require(`${controllerPath}/horariosDia`);
-const monitor = require(`${controllerPath}/monitor`);
-
-// GET
-app.get(`${route}`, (req, res) => {
- return get(req.query)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.get(`${route}/horarios_dia`, (req, res) => {
- return horariosDia(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.get(`${route}/monitor`, (req, res) => {
- return monitor(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-module.exports = app;
diff --git a/server/routes/GrupoHorario.js b/server/routes/GrupoHorario.js
deleted file mode 100644
index a78936b..0000000
--- a/server/routes/GrupoHorario.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const express = require('express');
-const app = express();
-const route = '/grupo_horario';
-const controllerPath = '../controller/GrupoHorario';
-const horariosDia = require(`${controllerPath}/horariosDia`);
-const monitor = require(`${controllerPath}/monitor`);
-
-// GET
-app.get(`${route}/horarios_dia`, (req, res) => {
- return horariosDia(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.get(`${route}/monitor`, (req, res) => {
- return monitor(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-module.exports = app;
diff --git a/server/routes/PrimerSemestre.js b/server/routes/PrimerSemestre.js
deleted file mode 100644
index e77f373..0000000
--- a/server/routes/PrimerSemestre.js
+++ /dev/null
@@ -1,64 +0,0 @@
-const express = require('express');
-const app = express();
-const route = '/primer_semestre';
-const controllerPath = '../controller/PrimerSemestre';
-const alumnosCarrera = require(`${controllerPath}/alumnosCarrera`);
-const asistencia = require(`${controllerPath}/asistencia`);
-const asistentes = require(`${controllerPath}/asistentes`);
-const csv = require(`${controllerPath}/csv`);
-const registrar = require(`${controllerPath}/registrar`);
-
-// POST
-app.post(`${route}/csv`, (req, res) => {
- return csv(req.body)
- .then((data) => {
- res.download(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.post(`${route}/registrar`, (req, res) => {
- return registrar(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-// PUT
-app.put(`${route}/asistencia`, (req, res) => {
- return asistencia(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-// GET
-app.get(`${route}/asistentes`, (req, res) => {
- return asistentes(req.query)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.get(`${route}/alumnos_carrera`, (req, res) => {
- return alumnosCarrera(req.query)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-module.exports = app;
diff --git a/server/routes/TercerSemestre.js b/server/routes/TercerSemestre.js
deleted file mode 100644
index 14e2a5d..0000000
--- a/server/routes/TercerSemestre.js
+++ /dev/null
@@ -1,75 +0,0 @@
-const express = require('express');
-const app = express();
-const route = '/tercer_semestre';
-const controllerPath = '../controller/TercerSemestre';
-const alumnosCarrera = require(`${controllerPath}/alumnosCarrera`);
-const asistencia = require(`${controllerPath}/asistencia`);
-const asistentes = require(`${controllerPath}/asistentes`);
-const csv = require(`${controllerPath}/csv`);
-const get = require(`${controllerPath}/get`);
-const registrar = require(`${controllerPath}/registrar`);
-
-// POST
-app.post(`${route}/csv`, (req, res) => {
- return csv(req.body)
- .then((data) => {
- res.download(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-//PUT
-app.put(`${route}/registrar`, (req, res) => {
- return registrar(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.put(`${route}/asistencia`, (req, res) => {
- return asistencia(req.body)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-// GET
-app.get(`${route}`, (req, res) => {
- return get(req.query)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.get(`${route}/asistentes`, (req, res) => {
- return asistentes(req.query)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-app.get(`${route}/alumnos_carrera`, (req, res) => {
- return alumnosCarrera(req.query)
- .then((data) => {
- res.status(200).json(data);
- })
- .catch((err) => {
- res.status(400).json({ message: err.message });
- });
-});
-
-module.exports = app;
diff --git a/server/routes/index.js b/server/routes/index.js
index 56cf8da..c4be554 100644
--- a/server/routes/index.js
+++ b/server/routes/index.js
@@ -1,11 +1,7 @@
const express = require('express');
const app = express();
-app.use(require('./Carrera'));
-app.use(require('./CarreraHorario'));
-app.use(require('./Grupo'));
-app.use(require('./GrupoHorario'));
-app.use(require('./PrimerSemestre'));
-app.use(require('./TercerSemestre'));
+app.use(require('./Alumno'));
+app.use(require('./AlumnoHorario'));
module.exports = app;
From b42a88e9ac5016636e9d756ff2bcec4a6fe90ffa Mon Sep 17 00:00:00 2001
From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com>
Date: Sat, 23 Oct 2021 00:23:17 -0500
Subject: [PATCH 02/12] carga masiva
---
.gitignore | 2 ++
server/db/cargaMasiva.js | 49 ++++++++++++++++++++++++----------------
2 files changed, 31 insertions(+), 20 deletions(-)
diff --git a/.gitignore b/.gitignore
index 93219f4..fdce87b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,5 @@ node_modules/
server/db/alumnos_segundo.csv
server/uploads/*
+
+server/db/generacion2021.csv
\ No newline at end of file
diff --git a/server/db/cargaMasiva.js b/server/db/cargaMasiva.js
index b098251..ce0da20 100644
--- a/server/db/cargaMasiva.js
+++ b/server/db/cargaMasiva.js
@@ -2,36 +2,45 @@ const csv = require('csvtojson');
const { Op } = require('sequelize');
const dbPath = './tablas';
const Carrera = require(`${dbPath}/Carrera`);
-const Grupo = require(`${dbPath}/Grupo`);
-const TercerSemestre = require(`${dbPath}/TercerSemestre`);
+const Alumno = require(`${dbPath}/Alumno`);
const cargaMasiva = async () => {
- const path = `server/db/alumnos_segundo.csv`;
+ const path = `server/db/generacion2021.csv`;
await csv()
.fromFile(path)
.then(async (alumnos) => {
for (let i = 0; i < alumnos.length; i++) {
- // for (let i = 0; i < 1; i++) {
- const grupo = await Grupo.findOne({
- where: { grupo: alumnos[i].grupo },
- include: [{ model: Carrera, where: { carrera: alumnos[i].carrera } }],
+ const carrera = await Carrera.findOne({
+ where: { carrera: alumnos[i].nombreCarrera },
+ }).then((res) => {
+ if (!res)
+ return Carrera.create({ carrera: alumnos[i].nombreCarrera });
+ return res;
});
- if (!grupo) {
- console.log(
- `No exite la carrera o el grupo del alumno ${alumnos[i].cuenta}.`
- );
- continue;
- }
- await TercerSemestre.create({
- numeroCuenta: alumnos[i].cuenta,
- nombre: alumnos[i].nombre,
- idGrupo: grupo.idGrupo,
+ await Alumno.findOne({
+ where: { numeroCuenta: alumnos[i].numeroCuenta },
+ }).then(async (res) => {
+ if (res)
+ console.log(
+ `El alumno ${alumnos[i].numeroCuenta} ya existe. Linea ${i + 2}.`
+ );
+ else {
+ await Alumno.create({
+ numeroCuenta: alumnos[i].numeroCuenta,
+ turno: alumnos[i].turno,
+ idCarrera: carrera.idCarrera,
+ }).then((res) => {
+ console.log(
+ `Se creo al alumno ${res.numeroCuenta} correctamente. Linea ${
+ i + 2
+ }.`
+ );
+ if (alumnos[i].inscrito != 'SI') console.log(`No esta inscrito.`);
+ });
+ }
});
- console.log(
- `Se añadio al alumno ${alumnos[i].cuenta} al grupo ${grupo.grupo} con id ${grupo.idGrupo}.`
- );
}
});
};
From 2c14d4ee0821c22200b2712a4ba8a643eae2aebd Mon Sep 17 00:00:00 2001
From: lemuel
+ Gracias por registrarte para participar en este recorrido por la FES Acatlán, tu Facultad. La cita es en
+ la entrada peatonal (sobre Av. San Juan Totoltepec), el próximo ${
+ fecha.date() < 10 ? '0' + fecha.date() : fecha.date()
+ }/${
+ fecha.month() + 1 < 10 ? '0' + (fecha.month() + 1) : fecha.month() + 1
+ }/${fecha.year()} a las ${
+ fecha.hour() < 10 ? '0' + fecha.hour() : fecha.hour()
+ }:${
+ fecha.minute() < 10 ? '0' + fecha.minute() : fecha.minute()
+ } h. Te pedimos
+ asistir en la fecha y horarios asignados de acuerdo con tu licenciatura (no pueden ser modificados).
+ Te solicitamos atender las siguientes medidas:
+ ⮚ Programa tu llegada 10 min. antes de la hora de tu cita.
+
+ ⮚ El uso de cubrebocas es obligatorio en todo momento.
+
+ ⮚ Presenta al ingreso este “Comprobante de registro para recorrido”, puede ser en formato impreso o digital.
+
+ ⮚ No se permitirán acompañantes durante el recorrido.
+
+ ⮚ Acude con ropa cómoda y agua para estar bien hidratada(o).
+
+ ⮚ Si acudes en auto, sólo se permitirá tu ingreso (sin acompañantes) por el acceso vehicular sobre la avenida San Juan Totoltepec, junto a la Plaza San Mateo.
+
+ ¡Estaremos felices de recibirte!
+ "Por mi raza hablará el espíritu" Facultad de Estudios Superiores Acatlán
- El objetivo de esta actividad (no obligatoria) es realizar un recorrido por la FES Acatlán, tu Facultad, a
- efecto de que conozcas los pasillos, salones, espacios e instalaciones que estarán a tu disposición
- cuando sea seguro para todas y todos.
-
- Te esperamos en la entrada peatonal de la Facultad (sobre Av. San Juan Totoltepec), el próximo ${
- fecha.date() < 10 ? '0' + fecha.date() : fecha.date()
- }/${
- fecha.month() + 1 < 10 ? '0' + (fecha.month() + 1) : fecha.month() + 1
- }/${fecha.year()} a las ${
- fecha.hour() < 10 ? '0' + fecha.hour() : fecha.hour()
- }:${fecha.minute() < 10 ? '0' + fecha.minute() : fecha.minute()} h.
-
- Te pedimos asistir en la fecha y hora que elegiste (no es posible hacer cambios), además es
- importante atender las siguientes medidas:
-
- ⮚ Programa tu llegada 10 min. antes de la hora de tu cita.
-
- ⮚ El uso de cubrebocas es obligatorio en todo momento.
-
- ⮚ Presenta al ingreso este “Comprobante de registro para recorrido”, puede ser en formato impreso o digital.
-
- ⮚ No se permitirán acompañantes durante el recorrido.
-
- ⮚ Acude con ropa cómoda y agua para estar bien hidratada(o).
-
- ⮚ Si acudes en auto, sólo se permitirá tu ingreso (sin acompañantes) por el acceso vehicular sobre la avenida San Juan Totoltepec, junto a la Plaza San Mateo.
-
- ¡Estaremos felices de recibirte!
- "Por mi raza hablará el espíritu" Facultad de Estudios Superiores Acatlán
- Gracias por registrarte para participar en este recorrido por la FES Acatlán, tu Facultad. La cita es en
- la entrada peatonal (sobre Av. San Juan Totoltepec), el próximo ${
- fecha.date() < 10 ? '0' + fecha.date() : fecha.date()
- }/${
- fecha.month() + 1 < 10 ? '0' + (fecha.month() + 1) : fecha.month() + 1
- }/${fecha.year()} a las ${
- fecha.hour() < 10 ? '0' + fecha.hour() : fecha.hour()
- }:${
- fecha.minute() < 10 ? '0' + fecha.minute() : fecha.minute()
- } h. Te pedimos
- asistir en la fecha y horarios asignados de acuerdo con tu licenciatura (no pueden ser modificados).
- Te solicitamos atender las siguientes medidas:
- ⮚ Programa tu llegada 10 min. antes de la hora de tu cita.
-
- ⮚ El uso de cubrebocas es obligatorio en todo momento.
-
- ⮚ Presenta al ingreso este “Comprobante de registro para recorrido”, puede ser en formato impreso o digital.
-
- ⮚ No se permitirán acompañantes durante el recorrido.
-
- ⮚ Acude con ropa cómoda y agua para estar bien hidratada(o).
-
- ⮚ Si acudes en auto, sólo se permitirá tu ingreso (sin acompañantes) por el acceso vehicular sobre la avenida San Juan Totoltepec, junto a la Plaza San Mateo.
-
- ¡Estaremos felices de recibirte!
- "Por mi raza hablará el espíritu" Facultad de Estudios Superiores AcatlánEstimada(o) alumna(o)
+Alumna(o) de la Generación 2021,
+
+
Licenciatura: ${lic}
+
+
Estimada(o) ${nombre}
-Alumna(o) de la Generación 2022,
-
-
Licenciatura: ${lic}
-
-
Estimada(o) ${nombre}
-Alumna(o) de la Generación 2021,
-
-
Licenciatura: ${lic}
-
-
"Por mi raza hablará el espíritu"
@@ -63,4 +63,13 @@ const correoAlumno = (numeroCuenta, lic, date) => { }; }; -module.exports = correoAlumno; +const correoAsistencia = (numeroCuenta, lic, date) => { + // const fecha = moment(date); + + return { + subject: `Comprobante de asistencia recorrido.`, + message: `Asistencia uwu.`, + }; +}; + +module.exports = { correoAlumno, correoAsistencia }; diff --git a/server/routes/Alumno.js b/server/routes/Alumno.js index fb49ec8..81c0a46 100644 --- a/server/routes/Alumno.js +++ b/server/routes/Alumno.js @@ -3,6 +3,19 @@ const app = express(); const route = '/alumno'; const controllerPath = '../controller/Alumno'; const get = require(`${controllerPath}/get`); +const monitor = require(`${controllerPath}/monitor`); +const registrar = require(`${controllerPath}/registrar`); + +// POST +app.post(`${route}/registrar`, (req, res) => { + return registrar(req.body) + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); // GET app.get(`${route}`, (req, res) => { @@ -15,4 +28,14 @@ app.get(`${route}`, (req, res) => { }); }); +app.get(`${route}/monitor`, (req, res) => { + return monitor() + .then((data) => { + res.status(200).json(data); + }) + .catch((err) => { + res.status(400).json({ message: err.message }); + }); +}); + module.exports = app; diff --git a/server/routes/AlumnoHorario.js b/server/routes/AlumnoHorario.js deleted file mode 100644 index 391148a..0000000 --- a/server/routes/AlumnoHorario.js +++ /dev/null @@ -1,30 +0,0 @@ -const express = require('express'); -const app = express(); -const route = '/alumno_horario'; -const controllerPath = '../controller/AlumnoHorario'; -const registrar = require(`${controllerPath}/registrar`); -const monitor = require(`${controllerPath}/monitor`); - -// POST -app.post(`${route}/registrar`, (req, res) => { - return registrar(req.body) - .then((data) => { - res.status(200).json(data); - }) - .catch((err) => { - res.status(400).json({ message: err.message }); - }); -}); - -// GET -app.get(`${route}/monitor`, (req, res) => { - return monitor() - .then((data) => { - res.status(200).json(data); - }) - .catch((err) => { - res.status(400).json({ message: err.message }); - }); -}); - -module.exports = app; From 12668d894c7a4f76154c7f935bb0557e9f0717dc Mon Sep 17 00:00:00 2001 From: lemuel"Por mi raza hablará el espíritu"
diff --git a/server/routes/index.js b/server/routes/index.js index 494c4eb..2ff7ce7 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -2,7 +2,6 @@ const express = require('express'); const app = express(); app.use(require('./Alumno')); -app.use(require('./AlumnoHorario')); app.use(require('./Horario')); module.exports = app; From 4822b68407f77a96b8fbfa639b5ae955a8ff19e9 Mon Sep 17 00:00:00 2001 From: lemuel