Update routes/logs.py
Browse files- routes/logs.py +13 -14
routes/logs.py
CHANGED
@@ -6,15 +6,18 @@ from typing import List, Dict, Any
|
|
6 |
|
7 |
router = APIRouter()
|
8 |
|
|
|
9 |
SUPABASE_URL = "https://ussxqnifefkgkaumjann.supabase.co"
|
10 |
SUPABASE_KEY = os.getenv("SUPA_KEY")
|
|
|
11 |
|
12 |
-
if not SUPABASE_KEY:
|
13 |
-
raise ValueError("❌ SUPA_KEY não
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
"
|
|
|
18 |
"Content-Type": "application/json"
|
19 |
}
|
20 |
|
@@ -28,7 +31,8 @@ async def get_onboarding_logs():
|
|
28 |
"""
|
29 |
Retorna os últimos 10 logs de modificação na tabela Onboarding.
|
30 |
"""
|
31 |
-
|
|
|
32 |
|
33 |
params = {
|
34 |
"sql": """
|
@@ -48,17 +52,12 @@ async def get_onboarding_logs():
|
|
48 |
"""
|
49 |
}
|
50 |
|
51 |
-
headers = {
|
52 |
-
"apikey": SUPABASE_KEY,
|
53 |
-
"Authorization": f"Bearer {SUPABASE_KEY}",
|
54 |
-
"Content-Type": "application/json"
|
55 |
-
}
|
56 |
-
|
57 |
async with aiohttp.ClientSession() as session:
|
58 |
try:
|
59 |
-
async with session.get(log_api_url, headers=
|
60 |
if response.status != 200:
|
61 |
-
|
|
|
62 |
raise HTTPException(status_code=500, detail="Erro ao buscar logs")
|
63 |
|
64 |
return await response.json()
|
|
|
6 |
|
7 |
router = APIRouter()
|
8 |
|
9 |
+
# Supabase configs
|
10 |
SUPABASE_URL = "https://ussxqnifefkgkaumjann.supabase.co"
|
11 |
SUPABASE_KEY = os.getenv("SUPA_KEY")
|
12 |
+
SUPABASE_ROLE_KEY = os.getenv("SUPA_SERVICE_KEY") # <- necessária para acessar logs
|
13 |
|
14 |
+
if not SUPABASE_KEY or not SUPABASE_ROLE_KEY:
|
15 |
+
raise ValueError("❌ SUPA_KEY ou SUPA_SERVICE_KEY não foram definidos no ambiente!")
|
16 |
|
17 |
+
# Headers corretos para API de LOGS (precisa da role key!)
|
18 |
+
SUPABASE_ROLE_HEADERS = {
|
19 |
+
"apikey": SUPABASE_ROLE_KEY,
|
20 |
+
"Authorization": f"Bearer {SUPABASE_ROLE_KEY}",
|
21 |
"Content-Type": "application/json"
|
22 |
}
|
23 |
|
|
|
31 |
"""
|
32 |
Retorna os últimos 10 logs de modificação na tabela Onboarding.
|
33 |
"""
|
34 |
+
project_ref = SUPABASE_URL.split("//")[1].split(".")[0]
|
35 |
+
log_api_url = f"https://api.supabase.com/v1/projects/{project_ref}/logs"
|
36 |
|
37 |
params = {
|
38 |
"sql": """
|
|
|
52 |
"""
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
async with aiohttp.ClientSession() as session:
|
56 |
try:
|
57 |
+
async with session.get(log_api_url, headers=SUPABASE_ROLE_HEADERS, params=params) as response:
|
58 |
if response.status != 200:
|
59 |
+
body = await response.text()
|
60 |
+
logger.error(f"Erro ao consultar logs: {body}")
|
61 |
raise HTTPException(status_code=500, detail="Erro ao buscar logs")
|
62 |
|
63 |
return await response.json()
|