52 lines
1.8 KiB
Python
52 lines
1.8 KiB
Python
"""
|
|
Debug script to check episode access issue
|
|
"""
|
|
import sqlite3
|
|
|
|
conn = sqlite3.connect('backend/vfx_project_management.db')
|
|
cursor = conn.cursor()
|
|
|
|
# Check if episode 2 exists
|
|
print("=== Checking Episode 2 ===")
|
|
cursor.execute('SELECT id, name, project_id FROM episodes WHERE id = 2')
|
|
episode = cursor.fetchone()
|
|
if episode:
|
|
print(f"Episode found: ID={episode[0]}, Name={episode[1]}, Project ID={episode[2]}")
|
|
project_id = episode[2]
|
|
|
|
# Check if admin user is a member of this project
|
|
print(f"\n=== Checking Project {project_id} Membership ===")
|
|
cursor.execute('''
|
|
SELECT u.id, u.email, u.role, pm.project_id
|
|
FROM users u
|
|
LEFT JOIN project_members pm ON u.id = pm.user_id AND pm.project_id = ?
|
|
WHERE u.email = "admin@vfx.com"
|
|
''', (project_id,))
|
|
user_info = cursor.fetchone()
|
|
print(f"User ID: {user_info[0]}, Email: {user_info[1]}, Role: {user_info[2]}, Project Member: {user_info[3]}")
|
|
|
|
if user_info[3] is None:
|
|
print(f"\n⚠️ User is NOT a member of project {project_id}")
|
|
print("This is why the 403 error occurs!")
|
|
|
|
# Add user to project
|
|
print(f"\nAdding user to project {project_id}...")
|
|
cursor.execute('''
|
|
INSERT INTO project_members (user_id, project_id, department_role)
|
|
VALUES (?, ?, NULL)
|
|
''', (user_info[0], project_id))
|
|
conn.commit()
|
|
print("✓ User added to project")
|
|
else:
|
|
print(f"\n✓ User is already a member of project {project_id}")
|
|
else:
|
|
print("Episode 2 not found!")
|
|
|
|
# List all episodes
|
|
print("\n=== All Episodes ===")
|
|
cursor.execute('SELECT id, name, project_id FROM episodes')
|
|
for ep in cursor.fetchall():
|
|
print(f" Episode {ep[0]}: {ep[1]} (Project {ep[2]})")
|
|
|
|
conn.close()
|