import logging import firebase_admin from firebase_admin import credentials from pathlib import Path from app.core.config import settings logger = logging.getLogger(__name__) firebase_app = None def init_firebase(): """Inizializza Firebase Admin SDK""" global firebase_app if firebase_app is not None: logger.info("Firebase giĆ  inizializzato") return firebase_app try: # Percorso al file di credenziali cred_path = Path(__file__).parent.parent.parent / "firebase-credentials.json" if not cred_path.exists(): logger.error(f"File credenziali Firebase non trovato: {cred_path}") raise FileNotFoundError(f"firebase-credentials.json non trovato in {cred_path}") # Inizializza con le credenziali cred = credentials.Certificate(str(cred_path)) firebase_app = firebase_admin.initialize_app(cred) logger.info("Firebase Admin SDK inizializzato con successo") return firebase_app except Exception as e: logger.error(f"Errore nell'inizializzazione di Firebase: {e}") raise def get_firebase_app(): """Ottiene l'istanza di Firebase App""" if firebase_app is None: return init_firebase() return firebase_app