2021-02-16 13:58:46 +00:00
|
|
|
const Cryptr = require('cryptr');
|
|
|
|
const cryptr = new Cryptr('BBLBTV-DNS-PASSWORDS');
|
|
|
|
|
2021-09-21 13:26:03 +00:00
|
|
|
|
2021-02-16 13:58:46 +00:00
|
|
|
const sql = require('./mysql')
|
|
|
|
|
|
|
|
function storeAccountToDB(accountDetails) {
|
2021-02-16 16:42:11 +00:00
|
|
|
const encryptedPassword = cryptr.encrypt(accountDetails.password);
|
2021-11-16 17:37:04 +00:00
|
|
|
const result = sql.query(`INSERT userAccounts (username, password, stream, userID, expiaryDate, streamURL, maxConnections) VALUES ("${accountDetails.username}", "${encryptedPassword}", "${accountDetails.streamName}", ${accountDetails.userId}, ${accountDetails.expiryDate}, "${accountDetails.streamURL}", ${accountDetails.maxConnections})`);
|
2021-02-16 16:42:11 +00:00
|
|
|
return result
|
2021-02-16 13:58:46 +00:00
|
|
|
}
|
|
|
|
|
2021-09-14 13:05:07 +00:00
|
|
|
function removeAccountFromDB(accountDetails) {
|
|
|
|
const result = sql.query(`DELETE FROM userAccounts WHERE
|
|
|
|
username = '${accountDetails.user}' AND
|
|
|
|
stream = '${accountDetails.stream}' AND
|
|
|
|
userId = ${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 {
|
2021-03-06 09:24:10 +00:00
|
|
|
userId = sql.query(`SELECT u.id FROM users u WHERE u.userName = '${user}'`);
|
2021-03-26 12:42:13 +00:00
|
|
|
userId = userId[0].id
|
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-03-26 12:42:13 +00:00
|
|
|
return decryptedString
|
2021-02-16 16:42:11 +00:00
|
|
|
}
|
2021-02-16 13:58:46 +00:00
|
|
|
}
|
|
|
|
|
2021-09-14 13:05:07 +00:00
|
|
|
// accountDetails = {
|
|
|
|
// "username": "Darren110921",
|
|
|
|
// "password" :"saD2V2kjyNqH",
|
|
|
|
// "stream": "Badger",
|
|
|
|
// "userId" : "2"
|
|
|
|
// }
|
|
|
|
|
2021-03-26 12:42:13 +00:00
|
|
|
|
|
|
|
|
2021-09-14 13:05:07 +00:00
|
|
|
// retrievePasswordFromDB('Karl', 'Maxine2206')
|
|
|
|
// storeAccountToDB(accountDetails)
|
2021-02-16 13:58:46 +00:00
|
|
|
|
|
|
|
module.exports = {
|
2021-09-14 13:05:07 +00:00
|
|
|
removeAccountFromDB,
|
2021-02-16 13:58:46 +00:00
|
|
|
storeAccountToDB,
|
|
|
|
retrievePasswordFromDB
|
|
|
|
}
|
|
|
|
|