const Cryptr = require('cryptr'); const cryptr = new Cryptr('BBLBTV-DNS-PASSWORDS'); const sql = require('./mysql') function storeAccountToDB(accountDetails) { const encryptedPassword = cryptr.encrypt(accountDetails.password); 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})`); return result } function removeAccountFromDB(accountDetails) { const result = sql.query(`DELETE FROM userAccounts WHERE username = '${accountDetails.user}' AND stream = '${accountDetails.stream}' AND userId = ${accountDetails.userId} `); return result } function retrievePasswordFromDB(user, userAccUser) { let userId try { userId = sql.query(`SELECT u.id FROM users u WHERE u.userName = '${user}'`); userId = userId[0].id } 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 { const decryptedString = cryptr.decrypt(accountPassword[0].password); console.log(decryptedString) return decryptedString } } // accountDetails = { // "username": "Darren110921", // "password" :"saD2V2kjyNqH", // "stream": "Badger", // "userId" : "2" // } // retrievePasswordFromDB('Karl', 'Maxine2206') // storeAccountToDB(accountDetails) module.exports = { removeAccountFromDB, storeAccountToDB, retrievePasswordFromDB }