/**
* Logout command
*/
import chalk from 'chalk';
import * as fs from 'fs/promises';
import * as path from 'path';
import { getSessionDir } from '../utils/session';
import { printSuccess, printError, printInfo } from '../utils/formatters';
/**
* Logout command handler
*/
export async function logoutCommand(): Promise<void> {
try {
printInfo('Logging out...');
const sessionDir = getSessionDir();
const sessionFile = path.join(sessionDir, 'session.enc');
// Check if session exists
try {
await fs.access(sessionFile);
} catch (error) {
console.log('');
console.log(chalk.yellow('⚠'), 'No active session found');
return;
}
// Delete session file
await fs.unlink(sessionFile);
console.log('');
printSuccess('Successfully logged out');
console.log('');
console.log(chalk.gray('Session deleted from:'), chalk.white(sessionFile));
console.log('');
} catch (error: any) {
console.log('');
printError('Logout failed', error);
process.exit(1);
}
}