UNPKG

plazbot-cli

Version:
75 lines (63 loc) 2.71 kB
import { Command } from 'commander'; import { Portal } from 'plazbot'; import { getStoredCredentials } from '../../utils/credentials'; import { logger } from '../../utils/logger'; import { PortalCommandOptions, PortalResponse, PortalLink, PortalAgent } from '../../types/portal'; export const getCommand = new Command('get') .description('Muestra información detallada de un portal') .argument('<portalId>', 'ID del portal') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (portalId: string, options: PortalCommandOptions) => { try { // Obtener credenciales guardadas const credentials = await getStoredCredentials(); const portal = new Portal({ workspaceId: credentials.workspace, apiKey: credentials.apiKey, zone: credentials.zone, ...(options.dev && { customUrl: "http://localhost:5090" }) }); logger.info('\n🔄 Obteniendo detalles del portal...'); const response = await portal.getPortal(portalId) as PortalResponse; const portalDetails = response.portal; logger.info('\n🌐 Detalles del portal:'); logger.divider(); logger.info(`ID: ${portalDetails.id}`); logger.info(`Nombre: ${portalDetails.name}`); logger.info(`URL: ${portalDetails.url}`); logger.info(`Acceso: ${portalDetails.access}`); logger.info(`Estado: ${portalDetails.disabled ? 'Deshabilitado' : 'Habilitado'}`); if (portalDetails.title) { logger.info(`Título: ${portalDetails.title}`); } if (portalDetails.subtitle) { logger.info(`Subtítulo: ${portalDetails.subtitle}`); } if (portalDetails.logo) { logger.info(`\n🖼️ Recursos:`); logger.info(`Logo: ${portalDetails.logo}`); if (portalDetails.logodark) { logger.info(`Logo (modo oscuro): ${portalDetails.logodark}`); } } if (portalDetails.links && portalDetails.links.length > 0) { logger.info('\n🔗 Enlaces:'); portalDetails.links.forEach((link: PortalLink) => { logger.info(`- ${link.value}: ${link.url}`); }); } if (portalDetails.agents && portalDetails.agents.length > 0) { logger.info('\n🤖 Agentes asociados:'); portalDetails.agents.forEach((agent: PortalAgent) => { logger.info(`- ${agent.name} (${agent.id})`); }); } if (options.dev) { logger.warning('\nAmbiente: desarrollo'); } } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido al obtener detalles del portal'; logger.error(message); process.exit(1); } });