BackendJunsen / app /core /firebase.py
2nzi's picture
update backend with video upload on HF
923cd30 verified
raw
history blame
1.17 kB
import firebase_admin
from firebase_admin import credentials, firestore, storage
import os
import json
from dotenv import load_dotenv
from .config import settings
# Charger les variables d'environnement
load_dotenv()
def get_firebase_app():
if not firebase_admin._apps:
try:
firebase_credentials = os.getenv("FIREBASE_CREDENTIALS")
if not firebase_credentials:
raise ValueError("FIREBASE_CREDENTIALS environment variable is not set")
cred_dict = json.loads(firebase_credentials)
cred = credentials.Certificate(cred_dict)
return firebase_admin.initialize_app(cred, {
'storageBucket': settings.STORAGE_BUCKET
})
except Exception as e:
print(f"Firebase initialization error: {str(e)}")
raise
return firebase_admin.get_app()
def get_firestore_db():
get_firebase_app()
return firestore.client()
def get_storage_bucket():
get_firebase_app()
return storage.bucket()
# Créer des instances uniques
db = get_firestore_db()
bucket = get_storage_bucket()