app backend prima
This commit is contained in:
45
app/core/firebase.py
Normal file
45
app/core/firebase.py
Normal file
@@ -0,0 +1,45 @@
|
||||
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
|
||||
Reference in New Issue
Block a user