#!/usr/bin/env bash
# === Instalare backend Tehnician Digital Pontaj (o singura comanda) ===
# Utilizare: bash install.sh
set -euo pipefail
cd "$(dirname "$0")"

echo "== Tehnician Digital Pontaj — instalare backend =="

if ! command -v node >/dev/null 2>&1; then
  echo "EROARE: Node.js nu este instalat. Instalati Node.js 20+ (https://nodejs.org)." >&2
  exit 1
fi

NODE_MAJOR=$(node -p 'process.versions.node.split(".")[0]')
if [ "$NODE_MAJOR" -lt 20 ]; then
  echo "EROARE: Node.js $NODE_MAJOR prea vechi. Este necesar Node 20+." >&2
  exit 1
fi

echo "-- Instalez dependentele..."
npm install --omit=dev --no-audit --no-fund

if [ ! -f .env ]; then
  cp .env.example .env
  # Parola admin aleatoare la instalare
  RAND_PW=$(node -p "require('crypto').randomBytes(9).toString('base64url')")
  sed -i.bak "s/^ADMIN_PASSWORD=.*/ADMIN_PASSWORD=${RAND_PW}/" .env && rm -f .env.bak
  echo ""
  echo "== .env creat. PAROLA ADMIN GENERATA: ${RAND_PW}"
  echo "== Notati-o acum — o puteti schimba editand .env inainte de prima pornire."
fi

mkdir -p data/photos

echo ""
echo "== Instalare completa. Pornire:"
echo "   npm start                  (in prim-plan)"
echo "   sau, ca serviciu systemd, vedeti README sectiunea 'Rulare ca serviciu'."
