2026.03.30 front és garázs logika
This commit is contained in:
61
backend/app/scripts/debug_scope_issue.py
Normal file
61
backend/app/scripts/debug_scope_issue.py
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Debug the scope_id issue.
|
||||
"""
|
||||
import asyncio
|
||||
import sys
|
||||
import os
|
||||
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
|
||||
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from app.db.session import AsyncSessionLocal
|
||||
from app.models.identity.identity import User
|
||||
from app.core.security import decode_token
|
||||
|
||||
# Token from verification test (hardcoded for now, we'll get it dynamically)
|
||||
TEST_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyOCIsInJvbGUiOiJhZG1pbiIsInJhbmsiOjEsInNjb3BlX2xldmVsIjoib3JnYW5pemF0aW9uIiwic2NvcGVfaWQiOiIyOCIsImV4cCI6MTc3NDg2MjQwMCwiaWF0IjoxNzQzMzI2NDAwLCJ0eXBlIjoiYWNjZXNzIn0.4Q9n2vQ8q3V7X6Y5Z8A9B0C1D2E3F4G5H6I7J8K9L0"
|
||||
|
||||
async def debug():
|
||||
async with AsyncSessionLocal() as db:
|
||||
# Decode token
|
||||
payload = decode_token(TEST_TOKEN)
|
||||
print(f"✅ Token payload:")
|
||||
print(f" - sub: {payload.get('sub')}")
|
||||
print(f" - scope_id: {payload.get('scope_id')}")
|
||||
print(f" - scope_level: {payload.get('scope_level')}")
|
||||
print(f" - role: {payload.get('role')}")
|
||||
|
||||
# Get user from database
|
||||
user_id = payload.get('sub')
|
||||
if user_id:
|
||||
user_stmt = select(User).where(User.id == int(user_id))
|
||||
user_result = await db.execute(user_stmt)
|
||||
user = user_result.scalar_one_or_none()
|
||||
|
||||
if user:
|
||||
print(f"\n✅ User from database (ID: {user.id}):")
|
||||
print(f" - scope_id: {user.scope_id}")
|
||||
print(f" - scope_level: {user.scope_level}")
|
||||
print(f" - person_id: {user.person_id}")
|
||||
|
||||
# Check what the assets endpoint would see
|
||||
print(f"\n🔍 Assets endpoint logic:")
|
||||
print(f" - current_user.scope_id: {user.scope_id}")
|
||||
print(f" - Type: {type(user.scope_id)}")
|
||||
print(f" - Is None? {user.scope_id is None}")
|
||||
print(f" - == 'None'? {user.scope_id == 'None'}")
|
||||
print(f" - == ''? {user.scope_id == ''}")
|
||||
|
||||
if user.scope_id is None:
|
||||
print(" → Would go to PERSONAL mode")
|
||||
else:
|
||||
print(" → Would go to CORPORATE mode")
|
||||
try:
|
||||
scope_org_id = int(user.scope_id)
|
||||
print(f" → scope_org_id: {scope_org_id}")
|
||||
except (ValueError, TypeError):
|
||||
print(f" → scope_org_id: None (invalid)")
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(debug())
|
||||
Reference in New Issue
Block a user