snips-sam
Version:
The Snips Assistant Manager
49 lines • 2.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const cli_1 = require("../../cli");
const session_1 = require("../../session");
exports.command = 'persistence <toggle>';
exports.desc = 'Toggle mosquitto persistence, if turned off it will also delete /etc/mosquitto/mosquitto.db';
exports.builder = yargs => {
return yargs
.positional('toggle', {
describe: 'Toggle mosquitto persistence',
type: 'string',
choices: ['on', 'off'],
demandOption: true,
});
};
exports.handler = (argv) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const ssh = new session_1.SSHService();
const toggle = JSON.parse(JSON.stringify(argv)).toggle;
const mqttToggle = toggle === 'on' ? true : false;
try {
yield ssh.connect();
yield ssh.stopService('mosquitto')
.then(_ => cli_1.cli.stream.success('Mosquitto.service has been stopped'))
.catch(e => cli_1.cli.stream.println(`Failed to stop MQTT service, reason: ${e}`));
if (mqttToggle) {
yield ssh.toggleMQTTLogPersistance(mqttToggle)
.then(_ => cli_1.cli.stream.success('Enabled Mosquitto persistence in /etc/mosquitto/mosquitto.conf'))
.catch(e => cli_1.cli.stream.println(`Failed to enable MQTT persistence, reason: ${e}`));
}
else {
yield ssh.deleteMosquittoDB()
.then(_ => cli_1.cli.stream.success('Deleted /etc/mosquitto/mosquitto.db'))
.catch(_ => { });
yield ssh.toggleMQTTLogPersistance(mqttToggle)
.then(_ => cli_1.cli.stream.success('Disabled Mosquitto persistence in /etc/mosquitto/mosquitto.conf'))
.catch(e => cli_1.cli.stream.println(`Failed to disable MQTT service persistence, reason: ${e}`));
}
yield ssh.relaunchService('mosquitto');
yield ssh.relaunchServices();
cli_1.cli.stream.success('Relaunched all services');
}
catch (e) {
cli_1.cli.stream.error(e);
process.exit();
}
ssh.disconnect();
});
//# sourceMappingURL=persistence.js.map
;