Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -44,21 +44,37 @@ app.add_middleware(
|
|
| 44 |
# Load environment variables
|
| 45 |
APP_ID = os.getenv("GITHUB_APP_ID")
|
| 46 |
PRIVATE_KEY_PATH = os.getenv("GITHUB_PRIVATE_KEY_PATH", "private-key.pem")
|
|
|
|
| 47 |
SUPABASE_URL = os.getenv("SUPABASE_URL")
|
| 48 |
SUPABASE_SECRET_KEY = os.getenv("SUPABASE_SECRET_KEY")
|
| 49 |
DEFAULT_FIREBASE_ID = os.getenv("DEFAULT_FIREBASE_ID", "JDfZoVuGJhdLBEvR7rVCQKBG9r02")
|
| 50 |
|
| 51 |
# Initialize GitHub App authentication
|
| 52 |
-
if APP_ID
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
else:
|
| 59 |
github_auth = None
|
| 60 |
token_manager = None
|
| 61 |
-
|
| 62 |
|
| 63 |
# Initialize Supabase client
|
| 64 |
if SUPABASE_URL and SUPABASE_SECRET_KEY:
|
|
@@ -979,3 +995,5 @@ def test_sync(data: GitHubSyncRequest):
|
|
| 979 |
# RUN SERVER
|
| 980 |
# ============================================================================
|
| 981 |
|
|
|
|
|
|
|
|
|
| 44 |
# Load environment variables
|
| 45 |
APP_ID = os.getenv("GITHUB_APP_ID")
|
| 46 |
PRIVATE_KEY_PATH = os.getenv("GITHUB_PRIVATE_KEY_PATH", "private-key.pem")
|
| 47 |
+
PRIVATE_KEY_CONTENT = os.getenv("GITHUB_PRIVATE_KEY") # Direct private key content
|
| 48 |
SUPABASE_URL = os.getenv("SUPABASE_URL")
|
| 49 |
SUPABASE_SECRET_KEY = os.getenv("SUPABASE_SECRET_KEY")
|
| 50 |
DEFAULT_FIREBASE_ID = os.getenv("DEFAULT_FIREBASE_ID", "JDfZoVuGJhdLBEvR7rVCQKBG9r02")
|
| 51 |
|
| 52 |
# Initialize GitHub App authentication
|
| 53 |
+
if APP_ID:
|
| 54 |
+
try:
|
| 55 |
+
# Try to get private key from environment variable first (production)
|
| 56 |
+
if PRIVATE_KEY_CONTENT:
|
| 57 |
+
private_key = PRIVATE_KEY_CONTENT
|
| 58 |
+
logger.info("Using GitHub private key from GITHUB_PRIVATE_KEY env var")
|
| 59 |
+
# Fallback to file path (development)
|
| 60 |
+
elif os.path.exists(PRIVATE_KEY_PATH):
|
| 61 |
+
with open(PRIVATE_KEY_PATH, "r") as f:
|
| 62 |
+
private_key = f.read()
|
| 63 |
+
logger.info(f"Using GitHub private key from file: {PRIVATE_KEY_PATH}")
|
| 64 |
+
else:
|
| 65 |
+
raise FileNotFoundError(f"Private key not found at {PRIVATE_KEY_PATH} and GITHUB_PRIVATE_KEY env var not set")
|
| 66 |
+
|
| 67 |
+
github_auth = GitHubAppAuth(APP_ID, private_key)
|
| 68 |
+
token_manager = TokenManager(github_auth)
|
| 69 |
+
logger.info("✅ GitHub App configured successfully")
|
| 70 |
+
except Exception as e:
|
| 71 |
+
github_auth = None
|
| 72 |
+
token_manager = None
|
| 73 |
+
logger.error(f"❌ GitHub App configuration failed: {str(e)}")
|
| 74 |
else:
|
| 75 |
github_auth = None
|
| 76 |
token_manager = None
|
| 77 |
+
logger.error("❌ GITHUB_APP_ID not configured")
|
| 78 |
|
| 79 |
# Initialize Supabase client
|
| 80 |
if SUPABASE_URL and SUPABASE_SECRET_KEY:
|
|
|
|
| 995 |
# RUN SERVER
|
| 996 |
# ============================================================================
|
| 997 |
|
| 998 |
+
|
| 999 |
+
|