code refactor

This commit is contained in:
slawk0
2024-08-20 22:58:25 +02:00
parent 8432dc9909
commit 9af2ebf3a2
3 changed files with 37 additions and 32 deletions

View File

@@ -14,4 +14,38 @@ client.connect()
.then(() => console.log('Successfully connected to database'))
.catch((err) => console.log('Error on connecting to database: ', err));
module.exports = client;
async function isUserExists(username) {
try {
const query = 'SELECT COUNT(*) FROM accounts WHERE username = $1';
const result = await client.query(query, [username]);
return result.rows[0].count > 0;
} catch (err) {
console.error('Error checking username:', err);
throw err;
}
}
async function insertAccount(username, password){
const query = `
INSERT INTO accounts (username, password)
VALUES ($1, $2)
RETURNING *;
`;
const values = [username, password];
try {
const signupData = await client.query(query, values);
console.log('Account created:', signupData.rows[0]);
} catch (err) {
console.error('Error inserting data:', err.stack);
}
}
module.exports = {
client,
insertAccount,
isUserExists,
};

View File

@@ -4,6 +4,7 @@ const path = require('path');
const client = require('./app/db');
const port = 3000
const app = express()
const { insertAccount, isUserExists } = require('./app/db');
require('dotenv').config()
//TODO change password option will be cool
@@ -32,8 +33,6 @@ app.post('/auth/login', async function(req, res) {
const result = await client.query('SELECT * FROM accounts WHERE username = $1 AND password = $2', [username, password]);
if (result.rows.length > 0) {
// Authenticate the user
req.session.loggedin = true;
req.session.username = username;
res.redirect('/');
} else {
res.send('Incorrect Username or Password!');
@@ -85,31 +84,3 @@ app.get('/', (req, res) => {
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
async function isUserExists(username) {
try {
const query = 'SELECT COUNT(*) FROM accounts WHERE username = $1';
const result = await client.query(query, [username]);
return result.rows[0].count > 0;
} catch (err) {
console.error('Error checking username:', err);
throw err;
}
}
async function insertAccount(username, password){
const query = `
INSERT INTO accounts (username, password)
VALUES ($1, $2)
RETURNING *;
`;
const values = [username, password];
try {
const signupData = await client.query(query, values);
console.log('Account created:', signupData.rows[0]);
} catch (err) {
console.error('Error inserting data:', err.stack);
}
}

View File

@@ -25,6 +25,6 @@
<input type="submit" value="Login">
</form>
</div>
<a href="/signup">Sign up</a>
</body>
</html>