import { readConfig, mutateConfig, resolveUser, userLabel } from '../config.js'; // tangy user list export async function userListCommand() { const config = await readConfig(); const entries = Object.entries(config.users); if (entries.length === 0) { console.log('No users are logged in. Run `tangy login ` first.'); return; } for (const [did, u] of entries) { const marker = did === config.defaultUser ? '*' : ' '; console.log(`${marker} ${u.handle || '(unknown handle)'} (${did})`); console.log(` root: ${u.root ?? '(unset)'}`); } if (!config.defaultUser && entries.length > 1) { console.log( '\nNo default user set — pass -u or run `tangy user default `.', ); } } // tangy user default [user] — show the default user, or set it when given one. export async function userDefaultCommand(userArg, opts = {}) { const selector = userArg ?? opts.user; const config = await readConfig(); if (!selector) { if (config.defaultUser && config.users[config.defaultUser]) { const u = config.users[config.defaultUser]; console.log(`${u.handle || config.defaultUser} (${config.defaultUser})`); } else { console.log('No default user set.'); } return; } const user = resolveUser(config, selector); await mutateConfig((c) => { c.defaultUser = user.did; }); console.log(`✓ Default user is now ${userLabel(user)}.`); }