Spaces:
Sleeping
Sleeping
File size: 1,166 Bytes
923cd30 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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() |