#!/bin/bash
# scripts/myob-check-logs.sh — Check MYOB import logs on the accounting server
# Usage:
#   ./scripts/myob-check-logs.sh              # Show today's logs
#   ./scripts/myob-check-logs.sh 2026-03-25   # Show logs for a specific date
#   ./scripts/myob-check-logs.sh errors       # Show only errors/warnings from today
#   ./scripts/myob-check-logs.sh list         # List recent log files

REMOTE="serveradmin@${ACCOUNTING_HOST:-192.168.3.34}"
LOG_DIR="/Users/serveradmin/Dropbox/Back End Export/Daily Files MYOB Logs"
INBOUND_DIR="/Users/serveradmin/Dropbox/Back End Export/Daily Files Inbound"
PROCESSED_DIR="/Users/serveradmin/Dropbox/Back End Export/Daily Files Processed"

DATE="${1:-$(date +%Y-%m-%d)}"

case "$DATE" in
  list)
    echo "=== Recent MYOB Import Logs ==="
    ssh mkl "ssh $REMOTE 'ls -lt \"$LOG_DIR/\" | head -30'"
    echo ""
    echo "=== Pending Files (not yet imported) ==="
    ssh mkl "ssh $REMOTE 'ls -lt \"$INBOUND_DIR/\" | head -20'"
    ;;
  errors)
    DATE=$(date +%Y-%m-%d)
    echo "=== Errors & Warnings from $DATE ==="
    ssh mkl "ssh $REMOTE 'cat \"$LOG_DIR/${DATE}Import Log\"*.txt 2>/dev/null'" | grep -E "^(Error|Warning)" | sort | uniq -c | sort -rn
    ;;
  *)
    echo "=== MYOB Import Logs for $DATE ==="
    ssh mkl "ssh $REMOTE 'cat \"$LOG_DIR/${DATE}Import Log\"*.txt 2>/dev/null'"
    echo ""
    echo "=== Summary ==="
    ssh mkl "ssh $REMOTE 'cat \"$LOG_DIR/${DATE}Import Log\"*.txt 2>/dev/null'" | grep -E "records (imported|skipped)" | sort | uniq -c | sort -rn
    echo ""
    echo "=== Errors & Warnings ==="
    ssh mkl "ssh $REMOTE 'cat \"$LOG_DIR/${DATE}Import Log\"*.txt 2>/dev/null'" | grep -E "^(Error|Warning)" | sort | uniq -c | sort -rn
    ;;
esac
