UNPKG

@thinremote/thinr-cli

Version:

CLI for ThinRemote - Remote management for IoT devices

41 lines (37 loc) 1.65 kB
import chalk from 'chalk'; import ora from 'ora'; import { deleteConfig, configExists } from '../lib/config.js'; import { deleteToken } from '../lib/auth.js'; /** * Register the logout command * @param {Command} program - Commander program instance */ export function logoutCommand(program) { program .command('logout') .description('Remove stored credentials and configuration') .action(async () => { // Check if configured if (!configExists()) { console.log(chalk.yellow('No configuration found. Already logged out.')); return; } const spinner = ora('Removing configuration...').start(); try { // Delete local configuration spinner.text = 'Removing local configuration...'; const success = deleteConfig(); if (success) { spinner.succeed('Logged out successfully. Configuration removed.'); } else { spinner.fail('Failed to remove configuration.'); console.error(chalk.red('Error: Unable to delete configuration file. You may need to remove it manually.')); console.error(chalk.gray('Configuration is stored in ~/.config/thinr-cli/config.json')); } } catch (error) { spinner.fail('Failed to remove configuration.'); console.error(chalk.red(`Error: ${error.message}`)); console.error(chalk.gray('Configuration is stored in ~/.config/thinr-cli/config.json')); } }); }