#!/usr/bin/env sh
set -e

if [ -n "$DATABASE_NAME" ] && [ -n "$DATABASE_USER" ] && [ -n "$HOST" ]; then
  echo "Waiting for PostgreSQL..."
  python - <<'PY'
import os
import time
import psycopg2

db_name = os.getenv("DATABASE_NAME")
db_user = os.getenv("DATABASE_USER")
db_password = os.getenv("PASSWORD")
db_host = os.getenv("HOST")
db_port = os.getenv("PORT", "5432")

for _ in range(30):
    try:
        conn = psycopg2.connect(
            dbname=db_name,
            user=db_user,
            password=db_password,
            host=db_host,
            port=db_port,
        )
        conn.close()
        print("PostgreSQL is ready.")
        break
    except Exception:
        time.sleep(2)
else:
    raise SystemExit("PostgreSQL not ready after 60 seconds")
PY
fi

if [ "$RUN_MIGRATIONS" = "1" ]; then
  python server/manage.py migrate
fi

if [ "$RUN_COLLECTSTATIC" = "1" ]; then
  python server/manage.py collectstatic --noinput
fi

exec "$@"
