#!/usr/bin/env bash
# generate-keys.sh — Generate all secrets needed for .env
# Usage: sh utils/generate-keys.sh

set -e

echo ""
echo "============================================================"
echo "  WhatsApp Ticketing — Secret Key Generator"
echo "============================================================"
echo ""

JWT_SECRET=$(openssl rand -base64 48 | tr -d '\n')
SECRET_KEY_BASE=$(openssl rand -base64 48 | tr -d '\n')
VAULT_ENC_KEY=$(openssl rand -hex 16)
PG_META_CRYPTO_KEY=$(openssl rand -base64 24 | tr -d '\n')
POSTGRES_PASSWORD=$(openssl rand -base64 24 | tr -d '\n' | tr -d '/')
LOGFLARE_PUBLIC=$(openssl rand -hex 20)
LOGFLARE_PRIVATE=$(openssl rand -hex 20)

echo "# Paste these into your .env file"
echo ""
echo "JWT_SECRET=${JWT_SECRET}"
echo "SECRET_KEY_BASE=${SECRET_KEY_BASE}"
echo "VAULT_ENC_KEY=${VAULT_ENC_KEY}"
echo "PG_META_CRYPTO_KEY=${PG_META_CRYPTO_KEY}"
echo "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
echo "LOGFLARE_PUBLIC_ACCESS_TOKEN=${LOGFLARE_PUBLIC}"
echo "LOGFLARE_PRIVATE_ACCESS_TOKEN=${LOGFLARE_PRIVATE}"
echo ""
echo "# For ANON_KEY and SERVICE_ROLE_KEY, generate JWT tokens signed with JWT_SECRET above."
echo "# See: https://supabase.com/docs/guides/self-hosting/docker#generate-and-configure-api-keys"
echo ""
