#!/usr/bin/env bash
# Railway CLI ile api/.env.railway.app senkronu (secret repoya gitmez).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

if ! command -v railway >/dev/null 2>&1; then
  echo "railway CLI gerekli: npm i -g @railway/cli && railway login" >&2
  exit 1
fi

TMP="$(mktemp)"
trap 'rm -f "$TMP"' EXIT
railway variables --json >"$TMP"

node -e "
const fs = require('fs');
const j = JSON.parse(fs.readFileSync(process.argv[1], 'utf8'));
const pick = (k) => (typeof j[k] === 'string' ? j[k] : '');
const lines = [
  '# Railway API Variables — scripts/sync-railway-app-env.sh',
  '',
  'FAUNAMIX_FRONTEND_BASE_URL=' + pick('FAUNAMIX_FRONTEND_BASE_URL'),
  'FAUNAMIX_ALLOWED_ORIGINS=' + pick('FAUNAMIX_ALLOWED_ORIGINS'),
  'FAUNAMIX_CONTACT_NOTIFY_EMAIL=' + pick('FAUNAMIX_CONTACT_NOTIFY_EMAIL'),
  '',
  'FAUNAMIX_IYZI_BASE_URL=' + pick('FAUNAMIX_IYZI_BASE_URL'),
  'FAUNAMIX_IYZI_API_KEY=' + pick('FAUNAMIX_IYZI_API_KEY'),
  'FAUNAMIX_IYZI_SECRET_KEY=' + pick('FAUNAMIX_IYZI_SECRET_KEY'),
  'FAUNAMIX_IYZI_CALLBACK_URL=' + pick('FAUNAMIX_IYZI_CALLBACK_URL'),
  'FAUNAMIX_GO_LIVE_ALLOW_SANDBOX=1',
  '',
  'FAUNAMIX_MAIL_ORDER_PENDING=' + (pick('FAUNAMIX_MAIL_ORDER_PENDING') || '0'),
  'FAUNAMIX_RUN_DB_MIGRATIONS=' + (pick('FAUNAMIX_RUN_DB_MIGRATIONS') || '0'),
  '',
  'FAUNAMIX_SMTP_HOST=' + pick('FAUNAMIX_SMTP_HOST'),
  'FAUNAMIX_SMTP_PORT=' + pick('FAUNAMIX_SMTP_PORT'),
  'FAUNAMIX_SMTP_USER=' + pick('FAUNAMIX_SMTP_USER'),
  'FAUNAMIX_SMTP_PASS=' + pick('FAUNAMIX_SMTP_PASS'),
  'FAUNAMIX_SMTP_FROM=' + pick('FAUNAMIX_SMTP_FROM'),
  'FAUNAMIX_SMTP_TIMEOUT=' + (pick('FAUNAMIX_SMTP_TIMEOUT') || '5'),
  '',
];
const redis = pick('FAUNAMIX_REDIS_HOST') || pick('REDIS_URL');
if (redis) lines.push('FAUNAMIX_REDIS_HOST=' + redis, '');
fs.writeFileSync('api/.env.railway.app', lines.join('\n'));
const bad = (v) => !v || v.length < 8 || v === '...' || v === '***';
if (bad(pick('FAUNAMIX_IYZI_API_KEY')) || bad(pick('FAUNAMIX_IYZI_SECRET_KEY'))) {
  console.error('UYARI: Railway uzerinde iyzico API_KEY/SECRET_KEY gecersiz veya bos (sandbox panelden gercek anahtar girin).');
  process.exit(2);
}
console.log('api/.env.railway.app guncellendi.');
" "$TMP"
