#!/usr/bin/env bash
set -euo pipefail
DB=/var/lib/fiyat-radar/fiyat-radar.sqlite
TIMERS=(
  fiyat-radar-scan.timer fiyat-radar-discovery.timer fiyat-radar-bootstrap.timer
  fiyat-radar-indirect-refresh.timer fiyat-radar-image.timer fiyat-radar-variant-ai.timer
  fiyat-radar-family-sync.timer fiyat-radar-quality-review.timer fiyat-radar-condition-audit.timer
  fiyat-radar-readiness-rescue.timer
)
PATHS=(
  fiyat-radar-discovery.path fiyat-radar-manual.path fiyat-radar-bootstrap.path
  fiyat-radar-image.path fiyat-radar-variant-ai.path fiyat-radar-family-sync.path
  fiyat-radar-quality-review.path
)
SERVICES=(
  fiyat-radar-scan.service fiyat-radar-discovery.service fiyat-radar-bootstrap.service
  fiyat-radar-indirect-refresh.service fiyat-radar-image.service fiyat-radar-variant-ai.service
  fiyat-radar-family-sync.service fiyat-radar-quality-review.service fiyat-radar-condition-audit.service
  fiyat-radar-readiness-rescue.service fiyat-radar-manual.service
)
STATE=1
if [ -r "$DB" ]; then
  V="$(sqlite3 "$DB" "SELECT value FROM settings WHERE key='worker_enabled' LIMIT 1;" 2>/dev/null || true)"
  [ "$V" = "0" ] && STATE=0
fi
if [ "$STATE" -eq 0 ]; then
  systemctl stop "${SERVICES[@]}" 2>/dev/null || true
  systemctl disable --now "${TIMERS[@]}" "${PATHS[@]}" 2>/dev/null || true
  printf 'OFF %s\n' "$(date -Is)" > /var/lib/fiyat-radar/worker-state.applied
  chown www-data:www-data /var/lib/fiyat-radar/worker-state.applied 2>/dev/null || true
  echo 'Fiyat Radar worker modu: OFF - tüm worker timer/path birimleri durduruldu.'
else
  systemctl enable --now "${TIMERS[@]}" "${PATHS[@]}" >/dev/null
  printf 'ON %s\n' "$(date -Is)" > /var/lib/fiyat-radar/worker-state.applied
  chown www-data:www-data /var/lib/fiyat-radar/worker-state.applied 2>/dev/null || true
  echo 'Fiyat Radar worker modu: ON - workerlar kendi çalışma periyotlarına göre etkin.'
fi
