from firebase_init import db from firebase_admin import auth as fb_auth def get_user_profile(uid: str): """Fetch user's Firestore profile: users/{uid} => { enabled, case_email, is_admin, user_email }""" doc_ref = db.collection("users").document(uid) snap = doc_ref.get() if not snap.exists: # bootstrap a placeholder doc so admins can fill it in # Get user email from Firebase Auth try: user = fb_auth.get_user(uid) user_email = user.email except Exception: user_email = None doc_ref.set({ "enabled": False, "is_admin": False, "user_email": user_email, "case_email": user_email }, merge=True) return { "enabled": False, "is_admin": False, "user_email": user_email, "case_email": user_email } data = snap.to_dict() or {} return { "enabled": bool(data.get("enabled", False)), "is_admin": bool(data.get("is_admin", False)), "user_email": data.get("user_email"), "case_email": data.get("case_email") }