|
|
|
@ -7,25 +7,25 @@ const saltRounds = SALT_ROUNDS
|
|
|
|
|
|
|
|
|
|
export type User = {
|
|
|
|
|
id?: number;
|
|
|
|
|
firstName?: string;
|
|
|
|
|
lastName?: string;
|
|
|
|
|
firstname?: string;
|
|
|
|
|
lastname?: string;
|
|
|
|
|
username: string;
|
|
|
|
|
password: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export class UserStore {
|
|
|
|
|
async index(): Promise<User> {
|
|
|
|
|
async index(): Promise<User[]> {
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
const conn = await client.connect()
|
|
|
|
|
const sql = 'SELECT * FROM users'
|
|
|
|
|
|
|
|
|
|
const result = await conn.query(sql)
|
|
|
|
|
const user = result.rows[0]
|
|
|
|
|
const users = result.rows
|
|
|
|
|
|
|
|
|
|
conn.release()
|
|
|
|
|
|
|
|
|
|
return user
|
|
|
|
|
return users
|
|
|
|
|
|
|
|
|
|
} catch (err) {
|
|
|
|
|
throw new Error(`Cannot get any users ${err}`)
|
|
|
|
@ -53,13 +53,13 @@ export class UserStore {
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
const conn = await client.connect()
|
|
|
|
|
const sql = 'INSERT INTO users (firstName, lastName, username, password) VALUES ($1, $2, 3$, 4$) RETURNING *'
|
|
|
|
|
const sql = 'INSERT INTO users (firstname, lastname, username, password_digest) VALUES ($1, $2, $3, $4) RETURNING *'
|
|
|
|
|
const hash = bcrypt.hashSync(
|
|
|
|
|
u.password + pepper,
|
|
|
|
|
parseInt(saltRounds as string, 10)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const result = await conn.query(sql, [u.firstName, u.lastName, u.username, hash])
|
|
|
|
|
const result = await conn.query(sql, [u.firstname, u.lastname, u.username, hash])
|
|
|
|
|
const user = result.rows[0]
|
|
|
|
|
|
|
|
|
|
conn.release()
|
|
|
|
@ -67,7 +67,7 @@ export class UserStore {
|
|
|
|
|
return user
|
|
|
|
|
|
|
|
|
|
} catch(err) {
|
|
|
|
|
throw new Error(`Could not add a new user ${u.firstName}. Error: ${err}`)
|
|
|
|
|
throw new Error(`Could not add a new user ${u.firstname}. Error: ${err}`)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -77,7 +77,7 @@ export class UserStore {
|
|
|
|
|
const conn = await client.connect()
|
|
|
|
|
const sql = 'UPDATE users SET fristName=$1, lastName=$2, username=$3, password=$4 WHERE id=$5 RETURNING *'
|
|
|
|
|
|
|
|
|
|
const result = await conn.query(sql, [u.firstName, u.lastName, u.username, u.password, u.id])
|
|
|
|
|
const result = await conn.query(sql, [u.firstname, u.lastname, u.username, u.password, u.id])
|
|
|
|
|
const user = result.rows[0]
|
|
|
|
|
|
|
|
|
|
conn.release()
|
|
|
|
@ -85,7 +85,7 @@ export class UserStore {
|
|
|
|
|
return user
|
|
|
|
|
|
|
|
|
|
} catch (err) {
|
|
|
|
|
throw new Error(`Could not update user ${u.firstName}. Error: ${err}`)
|
|
|
|
|
throw new Error(`Could not update user ${u.firstname}. Error: ${err}`)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|