Files
help_desk/init.sh
T

98 lines
3.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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 con SIAX Monitor (./desplegar.sh)"
echo -e " ${CYAN}6)${NC} Consultar estado en SIAX Monitor (./desplegar.sh --check)"
echo -e " ${CYAN}7)${NC} Salir"
echo -n "Opción [1-7]: "
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 producción con SIAX Monitor...${NC}"
./desplegar.sh
;;
6)
echo -e "${GREEN}Consultando estado en SIAX Monitor...${NC}"
./desplegar.sh --check
;;
7)
echo "Operación cancelada."
exit 0
;;
*)
echo -e "${RED}Opción no válida.${NC}"
exit 1
;;
esac