import firebase_admin from firebase_admin import credentials, firestore import streamlit as st def init_firebase(project_id): if not firebase_admin._apps: firebase_creds = credentials.Certificate({ "type": "service_account", "project_id": project_id, "private_key_id": st.secrets["private_key_id"], "private_key": st.secrets["private_key"].replace('\\n', '\n'), "client_email": st.secrets["client_email"], "client_id": st.secrets["client_id"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": st.secrets["client_x509_cert_url"] }) firebase_admin.initialize_app(firebase_creds) return firestore.client() def log_to_firestore(project_id, message, level="INFO"): db = init_firebase(project_id) doc_ref = db.collection('logs').document() doc_ref.set({ 'message': message, 'level': level, 'timestamp': firestore.SERVER_TIMESTAMP })