#!/bin/bash
set -e

PROJECT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
BACKUP_DIR="$PROJECT_DIR/backups"
STAMP="$(date +%F-%H%M%S)"
ARCHIVE="$BACKUP_DIR/cb26-local-functional-$STAMP.tar.gz"
RESTORE_TXT="$BACKUP_DIR/OBNOVA-LOCAL-FUNCTIONAL-$STAMP.txt"

cd "$PROJECT_DIR"
mkdir -p "$BACKUP_DIR"

INCLUDE_PATHS=()
for p in \
  .env \
  memory_core.py \
  scripts \
  tools \
  workspace \
  aktualnistavprojektu.txt \
  .chroma \
  chroma
do
  [ -e "$p" ] && INCLUDE_PATHS+=("$p")
done

if [ "${#INCLUDE_PATHS[@]}" -eq 0 ]; then
  echo "Nebylo nalezeno nic k zaloze."
  exit 1
fi

tar -czf "$ARCHIVE" "${INCLUDE_PATHS[@]}"

cat > "$RESTORE_TXT" <<EOT
CyberBrain26 – obnova lokalne funkcniho stavu

Vytvorena zaloha:
$ARCHIVE

Obnova:
1) Prejdi do projektu:
cd $PROJECT_DIR

2) Rozbal zalohu:
tar -xzf "$ARCHIVE" -C $PROJECT_DIR

3) Nastav spustitelnost launcheru:
chmod +x $PROJECT_DIR/scripts/safe-oi \
         $PROJECT_DIR/scripts/safe-oi-real \
         $PROJECT_DIR/scripts/cb26-web-launch.sh 2>/dev/null || true

4) Spusteni v terminalu:
cd $PROJECT_DIR && bash scripts/safe-oi

5) Spusteni ve webu:
cd $PROJECT_DIR && bash scripts/cb26-web-launch.sh
EOT

echo
echo "ZALOHA HOTOVA:"
echo "$ARCHIVE"
echo
echo "NAVOD NA OBNOVU:"
echo "$RESTORE_TXT"
echo
echo "Pro vytvoreni dalsi zalohy priste spust:"
echo "bash $PROJECT_DIR/scripts/cb26-backup-local.sh"
