#!/usr/bin/env bash
set -euo pipefail

SOURCE_FILE="${1:-}"
TARGET_FILE="${2:-/root/Xslt/scripts/tables/fornecedores_lookup.xml}"

if [[ -z "$SOURCE_FILE" ]]; then
  echo "[ERRO] source_file é obrigatório." >&2
  exit 2
fi

if [[ ! -f "$SOURCE_FILE" ]]; then
  echo "[ERRO] Arquivo de origem não existe: $SOURCE_FILE" >&2
  exit 3
fi

if [[ ! -r "$SOURCE_FILE" ]]; then
  echo "[ERRO] Arquivo de origem não é legível: $SOURCE_FILE" >&2
  exit 4
fi

TARGET_DIR="$(dirname "$TARGET_FILE")"
mkdir -p "$TARGET_DIR"

install -m 0666 "$SOURCE_FILE" "$TARGET_FILE"

SRC_HASH="$(sha1sum "$SOURCE_FILE" | awk '{print $1}')"
DST_HASH="$(sha1sum "$TARGET_FILE" | awk '{print $1}')"

if [[ "$SRC_HASH" != "$DST_HASH" ]]; then
  echo "[ERRO] Hash divergente após cópia. source=$SRC_HASH target=$DST_HASH" >&2
  exit 5
fi

echo "[OK] Sync concluído: $SOURCE_FILE -> $TARGET_FILE"
exit 0
