MiWatchKleaner/lib/inquirer.js
2020-04-28 12:00:45 +01:00

83 lines
2.1 KiB
JavaScript

const inquirer = require("inquirer");
const files = require("./files");
const rp = require('request-promise-native')
let compatibleApps
module.exports = {
mainMenu: () => {
const questions = [{
type: "list",
name: "mainMenu",
message: "What do you want to do?",
choices: [
"Connect to MiWatch via Wifi",
"Remove Xiaomi Apps",
"Restore Xiaomi Apps",
"Install Compatible Apps",
"Remove Installed Apps",
"Quit"
],
filter: function (val) {
return val.toLowerCase();
},
}, ];
return inquirer.prompt(questions);
},
connectWifi: () => {
const questions = [{
type: "input",
name: "connectWifi",
message: "What is your MiWatch IpAdress?",
}, ];
return inquirer.prompt(questions);
},
removeAppsList: async () => {
const packages = await files.loadPackageList();
const questions = [{
type: "checkbox",
name: "removeAppsList",
message: "What apps do you want to remove?",
choices: packages.apps,
}, ];
return inquirer.prompt(questions);
},
compatibleApps: async () => {
await module.exports.getCompatibleApps()
const appList = []
for (let element of compatibleApps) {
appList.push(element.name)
}
const questions = [{
type: "checkbox",
name: "removeAppsList",
message: "What apps do you want to Install?",
choices: appList,
}, ];
return inquirer.prompt(questions);
},
installedApps: async (installedApps) => {
const questions = [{
type: "checkbox",
name: "removeAppsList",
message: "What Installed apps do you want to remove?",
choices: installedApps,
}, ];
return inquirer.prompt(questions);
},
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)
})
.catch(function (err) {
console.log('compatibleApps.json Not Found')
});
}
};