"""
檢查環境配置記錄
"""
import psycopg2

conn = psycopg2.connect(
    host="10.1.0.20",
    port=5433,
    database="hr_portal",
    user="admin",
    password="DC1qaz2wsx"
)
cur = conn.cursor()

# 查詢環境配置
cur.execute("""
    SELECT config_category, config_key, is_configured
    FROM installation_environment_config
    ORDER BY config_category, config_key;
""")

configs = cur.fetchall()

print("=== Environment Config ===\n")

if configs:
    current_category = None
    for cfg in configs:
        if cfg[0] != current_category:
            if current_category is not None:
                print()
            print(f"[{cfg[0]}]")
            current_category = cfg[0]

        status = "OK" if cfg[2] else "NOT CONFIGURED"
        print(f"  {cfg[1]:<30} [{status}]")
else:
    print("No environment config records found")

print("\n=== Required Categories ===")
required = ["redis", "database", "keycloak"]

cur.execute("""
    SELECT DISTINCT config_category
    FROM installation_environment_config
    WHERE is_configured = TRUE;
""")

configured = [row[0] for row in cur.fetchall()]

for cat in required:
    status = "OK" if cat in configured else "MISSING"
    print(f"  {cat:<15} [{status}]")

cur.close()
conn.close()
