Files
web-app-python/app/core/firebase.py
2025-10-20 19:10:08 +02:00

46 lines
1.2 KiB
Python

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