Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
iface.question("MyTesla Password: ", (pass) => {
TeslaJS.login(email, pass, (err, results) => {
if (err) {
process.stderr.write(err.message + "\n");
process.exit(2);
} else if (!results.refreshToken || !results.authToken) {
process.stderr.write("Malformed response from MyTesla login server. Was your password wrong?\n");
process.exit(3);
} else {
Config.tesla.encryptedToken = McCrypto.encrypt(McCrypto.Cipher.AES256CTRWithHMAC, process.env.ENCRYPTION_KEY, results.refreshToken).toString('base64');
FS.writeFileSync(__dirname + "/config.json", JSON.stringify(Config, undefined, "\t"));
console.log("Authenticated successfully. Refresh token has been encrypted and saved to config.json");
TeslaJS.vehicles({"authToken": results.authToken}, (err, vehicles) => {
if (err) {
process.stderr.write("Cannot retrieve list of vehicles: " + err.message + "\n");
process.exit(4);
} else {
return new Promise((resolve, reject) => {
tjs.login(username, password, function (err, result) {
if (err) {
reject(err)
return
}
resolve(result.authToken)
})
})
},