Files
twimg-backend/app/firebase_config.py
2025-07-13 12:56:16 -04:00

27 lines
1011 B
Python

import firebase_admin
from firebase_admin import credentials, auth, firestore
import os
from dotenv import load_dotenv
load_dotenv()
# Securely load Firebase credentials from environment variables
cred = credentials.Certificate({
"type": os.environ.get("FIREBASE_TYPE"),
"project_id": os.environ.get("FIREBASE_PROJECT_ID"),
"private_key_id": os.environ.get("FIREBASE_PRIVATE_KEY_ID"),
"private_key": os.environ.get("FIREBASE_PRIVATE_KEY").replace('\\n', '\n'),
"client_email": os.environ.get("FIREBASE_CLIENT_EMAIL"),
"client_id": os.environ.get("FIREBASE_CLIENT_ID"),
"auth_uri": os.environ.get("FIREBASE_AUTH_URI"),
"token_uri": os.environ.get("FIREBASE_TOKEN_URI"),
"auth_provider_x509_cert_url": os.environ.get("FIREBASE_AUTH_PROVIDER_X509_CERT_URL"),
"client_x509_cert_url": os.environ.get("FIREBASE_CLIENT_X509_CERT_URL")
})
# Initialize the Firebase app
firebase_admin.initialize_app(cred)
def get_db():
"""Returns a Firestore client instance."""
return firestore.client()