Files
web-chat/backend/db.js
2024-08-25 22:42:59 +02:00

55 lines
1.4 KiB
JavaScript

const {Client} = require('pg');
require('dotenv').config();
const db = new Client({
user: process.env.PG_USER,
password: process.env.PG_PASSWORD,
database: process.env.PG_DATABASE,
host: process.env.PG_HOST,
port: process.env.PG_PORT
});
// create connection to database
db.connect()
.then(() => console.log('Successfully connected to database'))
.catch((err) => console.log('Error on connecting to database: ', err));
// function for checking if user exists
async function isUserExists(username) {
try {
const query = 'SELECT COUNT(*) FROM accounts WHERE username = $1';
const result = await db.query(query, [username]);
return result.rows[0].count > 0;
} catch (err) {
console.error('Error checking username:', err);
throw err;
}
}
// function for signup
// function for putting user data to database
async function insertUser(username, password){
const query = `
INSERT INTO accounts (username, password)
VALUES ($1, $2)
RETURNING *;
`;
const values = [username, password];
try {
const signupData = await db .query(query, values);
console.log('Account created:', signupData.rows[0].username);
} catch (err) {
console.error('Error inserting data:', err.stack);
throw err;
}
}
module.exports = {
db ,
insertUser,
isUserExists,
};