#!/bin/bash
# Run inside the legalsure container to verify env and MongoDB connectivity.
# Usage: ./scripts/docker-check-mongo.sh

CONTAINER_NAME="${1:-legalsure}"

echo "=== 1. OpenSSL version in container ==="
docker exec "$CONTAINER_NAME" python -c "import ssl; print(ssl.OPENSSL_VERSION)"

echo ""
echo "=== 2. MONGO_* env vars set? ==="
docker exec "$CONTAINER_NAME" python -c "import os; print('MONGO_CLUSTER:', os.environ.get('MONGO_CLUSTER', 'NOT SET')[:50])"

echo ""
echo "=== 3. MongoDB ping from inside container ==="
docker exec "$CONTAINER_NAME" python -c "
import os
import urllib.parse
from motor.motor_asyncio import AsyncIOMotorClient
import asyncio

u = os.environ.get('MONGO_USERNAME', '')
p = os.environ.get('MONGO_PASSWORD', '')
c = os.environ.get('MONGO_CLUSTER', '')
a = os.environ.get('MONGO_APP_NAME', '')
uri = 'mongodb+srv://' + urllib.parse.quote_plus(u) + ':' + urllib.parse.quote_plus(p) + '@' + c + '/?appName=' + a + '&tlsAllowInvalidCertificates=true'
async def run():
    client = AsyncIOMotorClient(uri, serverSelectionTimeoutMS=15000)
    await client.admin.command('ping')
    print('OK: MongoDB ping succeeded from inside container.')
    client.close()
asyncio.run(run())
" 2>&1

echo ""
echo "=== 4. Last 30 lines of container log ==="
docker logs "$CONTAINER_NAME" 2>&1 | tail -30
