Save local changes (GSC/Bing integrations) before merging PR #354
This commit is contained in:
64
debug_usage.py
Normal file
64
debug_usage.py
Normal file
@@ -0,0 +1,64 @@
|
||||
|
||||
import sys
|
||||
import os
|
||||
from sqlalchemy import create_engine, text
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
# Add backend to path
|
||||
sys.path.append(os.path.join(os.getcwd(), 'backend'))
|
||||
|
||||
from services.database import Base
|
||||
from models.subscription_models import APIUsageLog, UserSubscription
|
||||
from services.subscription import UsageTrackingService, PricingService
|
||||
|
||||
# Setup DB connection
|
||||
# dynamic path resolution as per codebase
|
||||
DB_PATH = os.path.join(os.getcwd(), 'backend', 'data', 'alwrity.db')
|
||||
# Note: The codebase might use user-specific DBs now.
|
||||
# Let's check how get_db works or if we need to look at a specific user db.
|
||||
# user_memories says: Database path updated to `workspace/workspace_{user_id}/db/alwrity.db` to support user isolation.
|
||||
|
||||
USER_ID = "user_33Gz1FPI86VDXhRY8QN4ragRFGN"
|
||||
WORKSPACE_DB_PATH = os.path.join(os.getcwd(), 'workspace', f'workspace_{USER_ID}', 'db', 'alwrity.db')
|
||||
|
||||
print(f"Checking specific user DB at: {WORKSPACE_DB_PATH}")
|
||||
|
||||
if os.path.exists(WORKSPACE_DB_PATH):
|
||||
db_url = f"sqlite:///{WORKSPACE_DB_PATH}"
|
||||
else:
|
||||
print(f"User DB not found at {WORKSPACE_DB_PATH}, falling back to main DB for check (legacy/shared mode)")
|
||||
db_url = f"sqlite:///backend/data/alwrity.db"
|
||||
|
||||
engine = create_engine(db_url)
|
||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
||||
db = SessionLocal()
|
||||
|
||||
try:
|
||||
print(f"\n--- Checking Usage for User: {USER_ID} ---")
|
||||
|
||||
# Check API Usage Logs
|
||||
logs_count = db.query(APIUsageLog).filter(APIUsageLog.user_id == USER_ID).count()
|
||||
print(f"Total API Usage Logs: {logs_count}")
|
||||
|
||||
if logs_count > 0:
|
||||
last_log = db.query(APIUsageLog).filter(APIUsageLog.user_id == USER_ID).order_by(APIUsageLog.created_at.desc()).first()
|
||||
print(f"Last Activity: {last_log.created_at} - {last_log.endpoint} ({last_log.provider})")
|
||||
|
||||
# Check Subscription
|
||||
sub = db.query(UserSubscription).filter(UserSubscription.user_id == USER_ID).first()
|
||||
if sub:
|
||||
print(f"Subscription: {sub.plan_type} (Status: {sub.status})")
|
||||
else:
|
||||
print("No subscription record found.")
|
||||
|
||||
# Run Service Logic
|
||||
print("\n--- Running UsageTrackingService.get_user_usage_stats ---")
|
||||
usage_service = UsageTrackingService(db)
|
||||
stats = usage_service.get_user_usage_stats(USER_ID)
|
||||
print("Stats returned:")
|
||||
print(stats)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
finally:
|
||||
db.close()
|
||||
Reference in New Issue
Block a user