MiWatchKleaner/lib/inquirer.js

86 lines
2.2 KiB
JavaScript
Raw Normal View History

2020-04-25 11:11:10 +01:00
const inquirer = require("inquirer");
const files = require("./files");
2020-04-26 10:10:29 +01:00
const rp = require('request-promise-native')
2020-04-30 09:03:50 +01:00
let logger = require('perfect-logger');
2020-04-26 10:10:29 +01:00
let compatibleApps
2020-04-24 20:42:45 +01:00
module.exports = {
2020-04-25 11:11:10 +01:00
mainMenu: () => {
2020-04-26 10:10:29 +01:00
const questions = [{
type: "list",
name: "mainMenu",
message: "What do you want to do?",
choices: [
"Connect to MiWatch via Wifi",
2020-08-26 17:22:31 +01:00
"1-Click Karl0ss Klean",
2020-04-26 10:10:29 +01:00
"Remove Xiaomi Apps",
"Restore Xiaomi Apps",
"Install Compatible Apps",
"Remove Installed Apps",
2020-04-26 10:10:29 +01:00
"Quit"
],
filter: function (val) {
return val.toLowerCase();
2020-04-25 11:11:10 +01:00
},
2020-04-26 10:10:29 +01:00
}, ];
2020-04-25 11:11:10 +01:00
return inquirer.prompt(questions);
},
connectWifi: () => {
2020-04-26 10:10:29 +01:00
const questions = [{
type: "input",
name: "connectWifi",
message: "What is your MiWatch IpAdress?",
}, ];
2020-04-25 11:11:10 +01:00
return inquirer.prompt(questions);
},
removeAppsList: async () => {
const packages = await files.loadPackageList();
2020-04-25 10:44:12 +01:00
2020-04-26 10:10:29 +01:00
const questions = [{
type: "checkbox",
name: "removeAppsList",
2020-04-30 08:23:35 +01:00
message: "What apps do you want to restore?",
2020-04-26 10:10:29 +01:00
choices: packages.apps,
}, ];
2020-04-25 11:11:10 +01:00
return inquirer.prompt(questions);
},
2020-04-25 15:35:15 +01:00
compatibleApps: async () => {
2020-04-26 10:10:29 +01:00
await module.exports.getCompatibleApps()
2020-04-25 15:35:15 +01:00
const appList = []
for (let element of compatibleApps) {
2020-04-26 10:10:29 +01:00
appList.push(element.name)
}
const questions = [{
type: "checkbox",
name: "removeAppsList",
2020-04-27 15:21:52 +01:00
message: "What apps do you want to Install?",
2020-04-26 10:10:29 +01:00
choices: appList,
}, ];
2020-04-25 15:35:15 +01:00
return inquirer.prompt(questions);
},
installedApps: async (installedApps) => {
const questions = [{
type: "checkbox",
name: "removeAppsList",
2020-04-30 08:23:35 +01:00
message: "What Installed apps do you want to install?",
choices: installedApps,
}, ];
return inquirer.prompt(questions);
},
2020-04-26 10:10:29 +01:00
getCompatibleApps: async () => {
var options = {
method: 'GET',
uri: 'http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/compatibleApps.json',
};
await rp(options)
.then(function (response) {
compatibleApps = JSON.parse(response)
2020-04-30 09:03:50 +01:00
logger.info("Got compatilbe list")
2020-04-26 10:10:29 +01:00
})
.catch(function (err) {
console.log('compatibleApps.json Not Found')
});
}
};