Spaces:
Sleeping
Sleeping
| """ | |
| KSTools License Manager - 授權系統資料庫連接 | |
| 專門處理授權系統 (Project 1) 的資料庫操作 | |
| """ | |
| import os | |
| from supabase import create_client, Client | |
| from typing import Optional | |
| class LicenseDatabase: | |
| """授權系統 Supabase 資料庫客戶端""" | |
| def __init__(self): | |
| # 明確使用授權系統的環境變數 | |
| self.url: str = os.environ.get("SUPABASE_LICENSE_URL", "") | |
| self.key: str = os.environ.get("SUPABASE_LICENSE_SERVICE_KEY", "") | |
| self.client: Optional[Client] = None | |
| print(f"🔗 Initializing License System Supabase connection...") | |
| print(f" URL: {self.url[:50]}{'...' if len(self.url) > 50 else ''}") | |
| print(f" Key: {'*' * 20 if self.key else 'NOT SET'}") | |
| if self.url and self.key and not self.url.startswith('your-') and not self.key.startswith('your-'): | |
| try: | |
| self.client = create_client(self.url, self.key) | |
| print("✅ License System Supabase connection initialized successfully") | |
| except Exception as e: | |
| print(f"❌ License System Supabase connection failed: {e}") | |
| self.client = None | |
| else: | |
| print("⚠️ License System Supabase 環境變數未設定或使用預設值") | |
| print(" 請在 Hugging Face Spaces Settings 或 .env 檔案中設定正確的 SUPABASE_LICENSE_URL 和 SUPABASE_LICENSE_SERVICE_KEY") | |
| def get_client(self) -> Optional[Client]: | |
| """取得授權系統 Supabase 客戶端""" | |
| if not self.client: | |
| print("❌ License System Supabase client 未初始化") | |
| return self.client | |
| def is_connected(self) -> bool: | |
| """檢查授權系統是否連接成功""" | |
| connected = self.client is not None | |
| print(f"🔍 License System Supabase connection status: {'Connected' if connected else 'Not connected'}") | |
| return connected | |
| # 全域授權系統資料庫實例 | |
| license_db = LicenseDatabase() | |
| # 保留舊名稱以維持相容性 | |
| db = license_db |