# chize_stores/firebase.py

import firebase_admin
from firebase_admin import credentials, auth
from django.conf import settings
import os

# Only initialize once
if not firebase_admin._apps:
    cred = credentials.Certificate(
        os.path.join(settings.BASE_DIR, 'firebase-credentials.json')
    )
    firebase_admin.initialize_app(cred)


# def verify_firebase_token(id_token):
#     """
#     Verify a Firebase ID token from the frontend.
#     Returns the decoded token dict, or None if invalid.
#     """
#     try:
#         decoded = auth.verify_id_token(id_token)
#         return decoded
#     except Exception:
#         return None
      
def verify_firebase_token(id_token):
    try:
        decoded = auth.verify_id_token(id_token, check_revoked=False)
        return decoded
    except Exception as e:
        print(f">>> FIREBASE TOKEN ERROR: {type(e).__name__}: {e}")
        return None