Bishall10/ipo
0
1import os2import firebase_admin3from firebase_admin import credentials4from django.apps import AppConfig5from django.conf import settings6 7class AutomationConfig(AppConfig):8 default_auto_field = 'django.db.models.BigAutoField'9 name = 'automation'10 11 def ready(self):12 # Initialize Firebase Admin SDK13 firebase_cred_path = os.path.join(settings.BASE_DIR, 'config', 'firebase_vcc.json')14 15 try:16 # Check if already initialized17 firebase_admin.get_app()18 return19 except ValueError:20 pass21 22 if os.path.exists(firebase_cred_path):23 cred = credentials.Certificate(firebase_cred_path)24 firebase_admin.initialize_app(cred)25 print("Firebase Admin SDK initialized successfully from file.")26 else:27 # Fallback: load from base64-encoded env variable28 import base64, json29 b64 = os.environ.get("FIREBASE_CREDENTIALS_B64", "")30 if b64:31 try:32 cred_json = json.loads(base64.b64decode(b64).decode())33 cred = credentials.Certificate(cred_json)34 firebase_admin.initialize_app(cred)35 print("Firebase Admin SDK initialized successfully from environment variable.")36 except Exception as e:37 print(f"Warning: Failed to initialize Firebase from FIREBASE_CREDENTIALS_B64: {e}")38 else:39 print(f"Warning: Firebase credentials not found (tried {firebase_cred_path} and FIREBASE_CREDENTIALS_B64)")40 