|
|
@@ -1,101 +0,0 @@
|
|
|
-#!/bin/bash
|
|
|
-
|
|
|
-echo
|
|
|
-
|
|
|
-AUTH="Authorization: Bearer PRINTER123cerveza@"
|
|
|
-RED=$'\e[31m'
|
|
|
-GREEN=$'\e[32m'
|
|
|
-RESET=$'\e[0m'
|
|
|
-
|
|
|
-PRINTERS=(
|
|
|
- "Pedidos Express Printer (Barra)|6010|6011"
|
|
|
- "Pedidos Express Printer (Cocteleria)|6012|6013"
|
|
|
- "Pedidos Express Printer (Cocina Pizza)|6014|6015"
|
|
|
- "Pedidos Express Printer (Cocina Burger)|6016|6017"
|
|
|
-)
|
|
|
-
|
|
|
-# Encabezado optimizado
|
|
|
-echo "╔═══════════════════════════════════════════════╦══════════════╦══════════════╦══════════════╦══════════════╦══════════════╗"
|
|
|
-printf "║ %-45s ║ %-12s ║ %-12s ║ %-12s ║ %-12s ║ %-12s ║\n" \
|
|
|
- "Nombre" "Printer" "SSH (Port)" "Conectado" "Pendientes" "Status"
|
|
|
-echo "╠═══════════════════════════════════════════════╬══════════════╬══════════════╬══════════════╬══════════════╬══════════════╣"
|
|
|
-
|
|
|
-LAST_INDEX=$((${#PRINTERS[@]} - 1))
|
|
|
-
|
|
|
-for i in "${!PRINTERS[@]}"; do
|
|
|
- ENTRY="${PRINTERS[$i]}"
|
|
|
- NAME=$(echo "$ENTRY" | cut -d'|' -f1)
|
|
|
- PORT=$(echo "$ENTRY" | cut -d'|' -f2)
|
|
|
- SSH_PORT=$(echo "$ENTRY" | cut -d'|' -f3)
|
|
|
-
|
|
|
- RESPONSE=$(curl -fsS --max-time 2 "http://localhost:$PORT/status" -H "$AUTH" 2>/dev/null || true)
|
|
|
-
|
|
|
- # Check SSH port connectivity
|
|
|
- if nc -z -w2 localhost "$SSH_PORT" 2>/dev/null; then
|
|
|
- SSH_STATUS="OK"
|
|
|
- SSH_COLOR="${GREEN}"
|
|
|
- else
|
|
|
- SSH_STATUS="ERROR"
|
|
|
- SSH_COLOR="${RED}"
|
|
|
- fi
|
|
|
-
|
|
|
- if [[ -n "$RESPONSE" ]]; then
|
|
|
- PRINTER_STATUS="OK"
|
|
|
- PRINTER_COLOR="${GREEN}"
|
|
|
- if echo "$RESPONSE" | jq -e . >/dev/null 2>&1; then
|
|
|
- CONNECTED_RAW=$(echo "$RESPONSE" | jq -r '.printer_connected // "-"')
|
|
|
- if [[ "$CONNECTED_RAW" == "true" ]]; then
|
|
|
- CONNECTED="YES"
|
|
|
- CONNECTED_COLOR="${GREEN}"
|
|
|
- elif [[ "$CONNECTED_RAW" == "false" ]]; then
|
|
|
- CONNECTED="NO"
|
|
|
- CONNECTED_COLOR="${RED}"
|
|
|
- else
|
|
|
- CONNECTED="-"
|
|
|
- CONNECTED_COLOR=""
|
|
|
- fi
|
|
|
- PENDING=$(echo "$RESPONSE" | jq -r '.pending_orders // "-"')
|
|
|
- STATUS_RAW=$(echo "$RESPONSE" | jq -r '.status // "-"')
|
|
|
- # Procesar el status
|
|
|
- if [[ "$STATUS_RAW" == "ok" ]]; then
|
|
|
- STATUS="Operativo"
|
|
|
- STATUS_COLOR="${GREEN}"
|
|
|
- else
|
|
|
- STATUS="No Operativo"
|
|
|
- STATUS_COLOR="${RED}"
|
|
|
- fi
|
|
|
- RESPONSE_MSG="OK"
|
|
|
- RESPONSE_COLOR="${GREEN}"
|
|
|
- else
|
|
|
- CONNECTED="-"
|
|
|
- CONNECTED_COLOR=""
|
|
|
- PENDING="-"
|
|
|
- STATUS="No Operativo"
|
|
|
- STATUS_COLOR="${RED}"
|
|
|
- RESPONSE_MSG="${RESPONSE}"
|
|
|
- RESPONSE_COLOR="${GREEN}"
|
|
|
- fi
|
|
|
- else
|
|
|
- PRINTER_STATUS="ERROR"
|
|
|
- PRINTER_COLOR="${RED}"
|
|
|
- RESPONSE_MSG="-"
|
|
|
- CONNECTED="-"
|
|
|
- CONNECTED_COLOR=""
|
|
|
- PENDING="-"
|
|
|
- STATUS="No Operativo"
|
|
|
- STATUS_COLOR="${RED}"
|
|
|
- fi
|
|
|
-
|
|
|
- # Imprimir la fila con colores aplicados solo al texto, manteniendo el ancho fijo
|
|
|
- printf "║ %-45s ║ %b%-12s%b ║ %b%-12s%b ║ %b%-12s%b ║ %-12s ║ %b%-12s%b ║\n" \
|
|
|
- "$NAME" "$PRINTER_COLOR" "$PRINTER_STATUS:$PORT" "$RESET" "$SSH_COLOR" "$SSH_STATUS:$SSH_PORT" "$RESET" \
|
|
|
- "$CONNECTED_COLOR" "$CONNECTED" "$RESET" \
|
|
|
- "$PENDING" "$STATUS_COLOR" "$STATUS" "$RESET"
|
|
|
-
|
|
|
- # Solo imprimir barra si no es la última
|
|
|
- if [[ $i -lt $LAST_INDEX ]]; then
|
|
|
- echo "╠═══════════════════════════════════════════════╬══════════════╬══════════════╬══════════════╬══════════════╬══════════════╣"
|
|
|
- fi
|
|
|
-done
|
|
|
-
|
|
|
-echo "╚═══════════════════════════════════════════════╩══════════════╩══════════════╩══════════════╩══════════════╩══════════════╝"
|