File size: 2,284 Bytes
0136146
3a338e5
0136146
 
 
 
 
3a338e5
 
 
 
 
 
0136146
 
 
 
3a338e5
 
 
0136146
3a338e5
 
 
0136146
 
3a338e5
0136146
3a338e5
 
 
 
0136146
3a338e5
 
 
0136146
3a338e5
0136146
3a338e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0136146
 
3a338e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"""
Supabase REST API ์„ค์ •
"""

import os

from dotenv import load_dotenv

try:
    from supabase import Client, create_client
except ImportError:
    create_client = None
    Client = None

# ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋กœ๋“œ
load_dotenv()

# Supabase ์—ฐ๊ฒฐ ์„ค์ •
SUPABASE_URL = os.getenv("SUPABASE_URL")
SUPABASE_ANON_KEY = os.getenv("SUPABASE_ANON_KEY")

# SUPABASE_KEY๋„ ์ง€์› (ํ˜ธํ™˜์„ฑ)
if not SUPABASE_ANON_KEY:
    SUPABASE_ANON_KEY = os.getenv("SUPABASE_KEY")


def check_supabase_health() -> bool:
    """
    Supabase ์—ฐ๊ฒฐ ์ƒํƒœ ํ™•์ธ
    
    Returns:
        bool: Supabase ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€
    """
    if not SUPABASE_URL:
        return False
    
    try:
        import requests

        # ์—ฌ๋Ÿฌ ์—”๋“œํฌ์ธํŠธ ์‹œ๋„
        health_endpoints = [
            "/rest/v1/",
            "/auth/v1/health",
            "/health"
        ]
        
        for endpoint in health_endpoints:
            try:
                health_url = f"{SUPABASE_URL}{endpoint}"
                response = requests.get(health_url, timeout=3)
                if response.status_code in [200, 301, 302, 404]:
                    print(f"โœ… Supabase ์—ฐ๊ฒฐ ํ™•์ธ: {endpoint}")
                    return True
            except Exception:
                continue
        
        return False
    except Exception as e:
        print(f"โš ๏ธ  Supabase ํ—ฌ์Šค์ฒดํฌ ์‹คํŒจ: {e}")
        return False


# Supabase ํด๋ผ์ด์–ธํŠธ ์ดˆ๊ธฐํ™” (REST API ์‚ฌ์šฉ)
supabase_client: Client | None = None

if SUPABASE_URL and SUPABASE_ANON_KEY and create_client:
    try:
        supabase_client = create_client(SUPABASE_URL, SUPABASE_ANON_KEY)
        print("โœ… Supabase REST API ํด๋ผ์ด์–ธํŠธ ์ดˆ๊ธฐํ™” ์™„๋ฃŒ")
        
        # Supabase ์—ฐ๊ฒฐ ์ƒํƒœ ํ™•์ธ
        is_supabase = check_supabase_health()
        if is_supabase:
            print("โœ… Supabase ์—ฐ๊ฒฐ ํ™•์ธ ์™„๋ฃŒ")
        else:
            print("โš ๏ธ  Supabase ํ—ฌ์Šค์ฒดํฌ ์‹คํŒจ, REST API๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค")
    except Exception as e:
        print(f"โš ๏ธ  Supabase REST API ํด๋ผ์ด์–ธํŠธ ์ดˆ๊ธฐํ™” ์‹คํŒจ: {e}")
        supabase_client = None
else:
    print("โš ๏ธ  Supabase ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.")
    print("   SUPABASE_URL๊ณผ SUPABASE_ANON_KEY๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.")