UNPKG

hackages

Version:

CLI tool for learning software development concepts through test-driven development

29 lines (28 loc) 1.11 kB
import { loginWithGitHub, isLoggedIn, getCurrentUser, clearAuth, } from "../services/auth.js"; import { printInfo, printSuccess, printWarning, printError, formatError, } from "../utils/console.js"; export async function loginCommand() { try { // Check if already logged in if (isLoggedIn()) { const user = getCurrentUser(); printWarning(`⚠️ You are already logged in as ${user?.name || user?.login}.`); printInfo("Run 'hackages logout' if you want to switch accounts."); return; } await loginWithGitHub(); } catch (error) { const friendlyMessage = formatError(error); printError(`❌ Login failed: ${friendlyMessage}`); printInfo("Please try again or contact support if the problem persists."); } } export async function logoutCommand() { if (!isLoggedIn()) { printWarning("⚠️ You are not currently logged in."); return; } const user = getCurrentUser(); clearAuth(); printSuccess(`✅ Successfully logged out from ${user?.name || user?.login}.`); }