93 lines
2.8 KiB
Bash
Executable File
93 lines
2.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# ==============================================================================
|
||
# Help Desk — Script de Inicialización y Gestión Local
|
||
# Ecosistema Telcotronics
|
||
# ==============================================================================
|
||
|
||
set -e
|
||
|
||
GREEN='\033[0;32m'
|
||
BLUE='\033[0;34m'
|
||
YELLOW='\033[1;33m'
|
||
RED='\033[0;31m'
|
||
CYAN='\033[0;36m'
|
||
NC='\033[0m'
|
||
|
||
echo -e "${BLUE}=====================================================${NC}"
|
||
echo -e "${BLUE}🔧 Help Desk — Inicialización y Entorno Local${NC}"
|
||
echo -e "${BLUE}=====================================================${NC}"
|
||
|
||
# 1. Verificar Node.js
|
||
echo -e "${YELLOW}[1/4] Verificando versión de Node.js...${NC}"
|
||
NODE_VER=$(node -v 2>/dev/null || true)
|
||
if [ -z "$NODE_VER" ]; then
|
||
echo -e "${RED}❌ Error: Node.js no está instalado.${NC}"
|
||
exit 1
|
||
fi
|
||
echo -e "${GREEN}✓ Node.js detectado: $NODE_VER${NC}"
|
||
|
||
# 2. Verificar o generar archivo .env
|
||
echo -e "${YELLOW}[2/4] Verificando configuración .env...${NC}"
|
||
if [ ! -f .env ]; then
|
||
if [ -f .env.example ]; then
|
||
cp .env.example .env
|
||
echo -e "${CYAN}ℹ️ Se ha creado .env a partir de .env.example. Por favor revisa las credenciales de BD.${NC}"
|
||
else
|
||
echo -e "${RED}❌ Error: No se encontró .env ni .env.example.${NC}"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo -e "${GREEN}✓ Archivo .env presente.${NC}"
|
||
fi
|
||
|
||
# 3. Verificar dependencias
|
||
echo -e "${YELLOW}[3/4] Verificando dependencias npm...${NC}"
|
||
if [ ! -d "node_modules" ]; then
|
||
echo -e "${CYAN}Instalando dependencias de Node.js...${NC}"
|
||
npm install
|
||
else
|
||
echo -e "${GREEN}✓ Directorio node_modules presente.${NC}"
|
||
fi
|
||
|
||
# 4. Menú de Opciones
|
||
echo -e "${YELLOW}[4/4] Selecciona una acción:${NC}"
|
||
echo -e " ${CYAN}1)${NC} Iniciar servidor en modo desarrollo (node app.js)"
|
||
echo -e " ${CYAN}2)${NC} Ejecutar setup y migraciones de Base de Datos (node config/setup.js)"
|
||
echo -e " ${CYAN}3)${NC} Probar flujo de visitas técnicas FSM (node scripts/test_visita_flow.js)"
|
||
echo -e " ${CYAN}4)${NC} Consultar bitácora centralizada de errores (npm run check:errors)"
|
||
echo -e " ${CYAN}5)${NC} Desplegar a producción en CT 132 (./desplegar.sh)"
|
||
echo -e " ${CYAN}6)${NC} Salir"
|
||
echo -n "Opción [1-6]: "
|
||
read -r OPCION
|
||
|
||
case "$OPCION" in
|
||
1)
|
||
echo -e "${GREEN}Iniciando Help Desk en http://localhost:3008...${NC}"
|
||
node app.js
|
||
;;
|
||
2)
|
||
echo -e "${GREEN}Ejecutando setup y migraciones de MariaDB...${NC}"
|
||
node config/setup.js
|
||
;;
|
||
3)
|
||
echo -e "${GREEN}Ejecutando prueba integral de visitas técnicas...${NC}"
|
||
node scripts/test_visita_flow.js
|
||
;;
|
||
4)
|
||
echo -e "${GREEN}Consultando bitácora de errores...${NC}"
|
||
npm run check:errors
|
||
;;
|
||
5)
|
||
echo -e "${GREEN}Iniciando despliegue hacia CT 132...${NC}"
|
||
./desplegar.sh
|
||
;;
|
||
6)
|
||
echo "Operación cancelada."
|
||
exit 0
|
||
;;
|
||
*)
|
||
echo -e "${RED}Opción no válida.${NC}"
|
||
exit 1
|
||
;;
|
||
esac
|