ktvmanager/lib/Accounts.js

70 lines
1.9 KiB
JavaScript
Raw Normal View History

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
}