UNPKG

plazbot-cli

Version:
55 lines (48 loc) 1.89 kB
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 createCommand = new Command('create') .description('Crea un nuevo portal con configuración simplificada') .requiredOption('-n, --name <name>', 'Nombre del portal') .requiredOption('-t, --title <title>', 'Título de bienvenida del portal') .option('--dev', 'Usar ambiente de desarrollo', false) .action(async (options: PortalCommandOptions & { name: string; title: string }) => { 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🚀 Creando portal...'); const portalCreated = await portal.addPortal({ name: options.name, title: options.title, zone: credentials.zone as "LA" | "EU", // Valores por defecto subtitle: "", logo: "", logodark: "", access: "direct", disabled: false, brandOff: false }); logger.success('Portal creado exitosamente'); logger.info('\n📋 Detalles del portal:'); logger.divider(); logger.info(`ID: ${portalCreated.id}`); logger.info(`URL: ${portalCreated.url}`); logger.divider(); if (options.dev) { logger.warning('\nAmbiente: desarrollo'); } } catch (error) { const message = error instanceof Error ? error.message : 'Error desconocido al crear el portal'; logger.error(message); process.exit(1); } });