From 00d9d4023c9adeec378361c0bafd9da5b3166046 Mon Sep 17 00:00:00 2001 From: chopster44 Date: Thu, 19 Mar 2026 00:03:54 +0000 Subject: [PATCH] user signup --- backend/database.db | Bin 24576 -> 24576 bytes backend/index.js | 22 ++++++++++++---------- frontend/src/components/Login.vue | 14 +++++++++++--- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/backend/database.db b/backend/database.db index 15be797c884d99867d30483cd51785b1aedcc0b4..321244b6b986360cb4b99624732374c15410b130 100644 GIT binary patch delta 189 zcmZoTz}Rqrae_1>+e8^>RyGE`-rpNj7V)!8W#FH>Sx}&xpCglrox!$|Rdez(c?DmO zWPL~f?9$SzqEO>p%QVxH%EF{#z2vgIviyK_ufRg{kn}uPuaxXGbMMGRufnRlBoCj` z{Nm)qqV&wf%S0JxRu%@mq9q$s7V)#pW8j~+Sx{jLKSu&1JA-W_tN7%(@(M1A zneLGuRmLf%&MwA2*@;E@=Dwj`sYxz+j{2cV7KNTJo&g4qrKuUY8A { // res has success or faliure }); -app.get('/createUser', (req, res) => { +app.post('/createUser', async (req, res) => { // req has email pass(hashed) and name // res has success or fail + const body = req.body; + let stmt = db.prepare(`SELECT * FROM Users WHERE Email='${body.email}';`); + let storedRecord = stmt.get(); + if (storedRecord) { + res.status(400).send("account with that email already exists"); + return; + } + const generatedHash = await bcrypt.hash(body.pass, 10); + stmt = db.prepare(`INSERT INTO Users (Email, Pass, Username, Submissions) VALUES ('${body.email}', '${generatedHash}', '${body.name}', 0)`); + stmt.run(); + res.status(200).send("account created"); }); app.post('/login', async (req, res) => { @@ -60,13 +71,4 @@ app.post('/login', async (req, res) => { app.listen(port, () => { console.log(`Listening on ${port}`); - // db = openDb(); - // console.log("db opened"); }); - -// async function openDb () { -// return open({ -// filename: '/tmp/database.db', -// driver: sqlite3.Database -// }) -// } \ No newline at end of file diff --git a/frontend/src/components/Login.vue b/frontend/src/components/Login.vue index c40141f..8ce391f 100644 --- a/frontend/src/components/Login.vue +++ b/frontend/src/components/Login.vue @@ -6,14 +6,22 @@ const pass = ref(""); function login(e: SubmitEvent) { e.preventDefault(); - console.log(`${email.value} ${pass.value}`); fetch("http://localhost:3000/login", { method: "POST", - body: JSON.stringify({ email: email.value, pass: pass.value}), + body: JSON.stringify({ email: email.value, pass: pass.value }), headers: new Headers({'content-type': 'application/json'}) }); } +function signup(e: Event) { + e.preventDefault(); + fetch("http://localhost:3000/createUser", { + method: "POST", + body: JSON.stringify({ email: email.value, pass: pass.value, name: email.value.split("@")[0] }), + headers: new Headers({'content-type': 'application/json'}) + }); +} + \ No newline at end of file