plazbot-cli
Version:
CLI para Plazbot SDK
73 lines (62 loc) • 2.61 kB
text/typescript
import { Command } from 'commander';
import { Portal } from 'plazbot';
import { getStoredCredentials } from '../../utils/credentials';
import { logger } from '../../utils/logger';
import { PortalCommandOptions } from '../../types/portal';
export const listCommand = new Command('list')
.description('Muestra el portal asociado al workspace')
.option('--dev', 'Usar ambiente de desarrollo', false)
.action(async (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🔍 Buscando portal del workspace...');
const response = await portal.getExistsPortal();
const portalDetails = response.portal;
logger.info('\n🌐 Portal encontrado:');
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: { value: string; url: string }) => {
logger.info(`- ${link.value}: ${link.url}`);
});
}
if (portalDetails.agents && portalDetails.agents.length > 0) {
logger.info('\n🤖 Agentes asociados:');
portalDetails.agents.forEach((agent: { name: string; id: string }) => {
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 listar el portal';
logger.error(message);
process.exit(1);
}
});