aboutsummaryrefslogtreecommitdiff
path: root/helper.js
diff options
context:
space:
mode:
Diffstat (limited to 'helper.js')
-rw-r--r--helper.js31
1 files changed, 31 insertions, 0 deletions
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);