import firebase_admin import os import json from firebase_admin import credentials, firestore # 1. Connect to the Firebase Vault using your Master Key # (Ensure your 'firebase_key.json' file is inside the same folder as this file!) firebase_secret = os.environ.get("FIREBASE_KEY") cred = credentials.Certificate(json.loads(firebase_secret)) # Prevent the server from crashing if it reloads and tries to initialize twice if not firebase_admin._apps: firebase_admin.initialize_app(cred) # 2. Get the database instance db = firestore.client() def get_user(user_uid): """Fetches the user from Firebase to check their credits""" user_ref = db.collection('users').document(user_uid) doc = user_ref.get() if doc.exists: return doc.to_dict() else: return None # We keep this old function name so your app.py doesn't immediately crash! def get_or_create_user(user_uid): return get_user(user_uid) def deduct_credit(user_uid): """Subtracts 1 credit from the user after a successful AI generation""" user_ref = db.collection('users').document(user_uid) user_ref.update({ "free_credits": firestore.Increment(-1) })