aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xcli.js5
-rw-r--r--helper.js31
-rw-r--r--package.json18
4 files changed, 45 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index 78e916f..8ef5194 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ node_*
*.log
*.env
*.csv
+progs.json
users.json
profile/public/uploads/**/*
diff --git a/cli.js b/cli.js
index 5b20d54..78f07e2 100755
--- a/cli.js
+++ b/cli.js
@@ -96,9 +96,10 @@ if ((idx = params.indexOf("-r")) > -1) {
// Be aware, I'm a longtime rhyme primer
db.dump().then(async (data) => {
+ const y10progs = JSON.parse(await fs.readFile(__dirname + "/progs.json", "utf8"));
await data.users.forEach(async (user) => {
hay = data.profile.filter((e) => e.user_id === user.id);
- const comments = user.comments;
+ let comments = user.comments;
const chars = user.chars;
const obj = {
id: user.id,
@@ -140,6 +141,8 @@ if ((idx = params.indexOf("-r")) > -1) {
textex += "\\end{center}\\end{minipage}\\end{center}\n";
textex += "\\divider";
+ if (y10progs[user.id] && y10progs[user.id].length > 0)
+ comments = [...comments, ...y10progs[user.id].map((comment) => ({ comment }))];
// Comments contents intents indents events
if (comments && comments.length > 0) {
diff --git a/helper.js b/helper.js
new file mode 100644
index 0000000..0e1df41
--- /dev/null
+++ b/helper.js
@@ -0,0 +1,31 @@
+require("dotenv").config();
+const db = require("./db");
+const fs = require("fs").promises;
+
+async function main() {
+ let studs = await fs.readFile(__dirname + "/studs.csv", "utf8");
+ const users = await db.query("SELECT id, username, name, surname FROM users");
+ for (const user of users) {
+ studs = studs.replaceAll(`;${user.username};`, `;${user.id};`);
+ studs = studs.replaceAll(`${user.username};`, `${user.name} ${user.surname};`);
+ }
+ await fs.writeFile(__dirname + "/studsfix.csv", studs, "utf8");
+ const json = await ssvToObj(studs);
+ await fs.writeFile(__dirname + "/progs.json", JSON.stringify(json), "utf8");
+ console.log("Finished!");
+}
+
+async function ssvToObj(ssv) {
+ const obj = {};
+ const lines = ssv.split("\n").slice(1, -1);
+ for (const line of lines) {
+ const [t, u, c] = line.split(";");
+ if (obj.hasOwnProperty(u)) obj[u].push(`${c} - ${t}`);
+ else obj[u] = [`${c} - ${t}`];
+ }
+ return obj;
+}
+
+main()
+ .then(() => process.exit())
+ .catch(console.error);
diff --git a/package.json b/package.json
index 0206d6d..4d5b37c 100644
--- a/package.json
+++ b/package.json
@@ -6,17 +6,17 @@
"author": "LarsVomMars <lars@kroenner.eu>",
"license": "MIT",
"dependencies": {
- "bcrypt": "^5.0.0",
- "connect-redis": "^5.0.0",
- "dotenv": "^8.2.0",
+ "bcrypt": "^5.0.1",
+ "connect-redis": "^5.2.0",
+ "dotenv": "^10.0.0",
"express": "^4.17.1",
- "express-fileupload": "^1.2.0",
- "express-rate-limit": "^5.1.3",
- "express-session": "^1.17.1",
+ "express-fileupload": "^1.2.1",
+ "express-rate-limit": "^5.2.6",
+ "express-session": "^1.17.2",
"log-timestamp": "^0.3.0",
- "mariadb": "^2.4.2",
- "nanoid": "^3.1.12",
- "redis": "^3.0.2"
+ "mariadb": "^2.5.3",
+ "nanoid": "^3.1.23",
+ "redis": "^3.1.2"
},
"scripts": {
"format": "prettier --write \"**/*.{html,css,js}\"",