2021-02-16 13:58:46 +00:00
|
|
|
const Cryptr = require('cryptr');
|
|
|
|
const cryptr = new Cryptr('BBLBTV-DNS-PASSWORDS');
|
|
|
|
|
|
|
|
const sql = require('./mysql')
|
|
|
|
|
|
|
|
function storeAccountToDB(accountDetails) {
|
2021-02-16 16:42:11 +00:00
|
|
|
const encryptedPassword = cryptr.encrypt(accountDetails.password);
|
|
|
|
const result = sql.query(`INSERT userAccounts (username, password, stream, userID) VALUES ("${accountDetails.username}", "${encryptedPassword}", "${accountDetails.stream}", ${accountDetails.userId})`);
|
|
|
|
return result
|
2021-02-16 13:58:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function retrievePasswordFromDB(user, userAccUser) {
|
2021-02-16 16:42:11 +00:00
|
|
|
let userId
|
|
|
|
try {
|
|
|
|
userId = sql.query(`SELECT u.idusers FROM users u WHERE u.userName = '${user}'`);
|
2021-02-16 13:58:46 +00:00
|
|
|
userId = userId[0].idusers
|
2021-02-16 16:42:11 +00:00
|
|
|
} catch (error) {
|
|
|
|
console.log('User not found')
|
|
|
|
return (error)
|
|
|
|
}
|
|
|
|
|
|
|
|
let accountPassword
|
|
|
|
|
|
|
|
accountPassword = sql.query(`SELECT DISTINCT
|
|
|
|
userAccounts.username,
|
|
|
|
userAccounts.password,
|
|
|
|
userAccounts.userID
|
|
|
|
FROM users,
|
|
|
|
userAccounts,
|
|
|
|
streams
|
|
|
|
WHERE userAccounts.userID = ${userId} AND userAccounts.username = '${userAccUser}'`)
|
|
|
|
|
|
|
|
if (accountPassword == 0) {
|
|
|
|
throw new Error('Account ' + userAccUser + ' not found for user ' + user)
|
|
|
|
} else {
|
2021-02-16 13:58:46 +00:00
|
|
|
const decryptedString = cryptr.decrypt(accountPassword[0].password);
|
|
|
|
console.log(decryptedString)
|
2021-02-16 16:42:11 +00:00
|
|
|
}
|
2021-02-16 13:58:46 +00:00
|
|
|
}
|
|
|
|
|
2021-02-16 16:42:11 +00:00
|
|
|
retrievePasswordFromDB('Karl', 'Karl2903')
|
2021-02-16 13:58:46 +00:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
storeAccountToDB,
|
|
|
|
retrievePasswordFromDB
|
|
|
|
}
|
|
|
|
|