"""
Debug script to test tasks endpoint with admin/coordinator user
"""
import requests

BASE_URL = "http://localhost:8000"
SHOT_ID = 1

# Login
login_response = requests.post(
    f"{BASE_URL}/auth/login",
    json={"email": "admin@vfx.com", "password": "admin123"}
)

if login_response.status_code == 200:
    token = login_response.json()["access_token"]
    print(f"✓ Logged in successfully")
    
    # Get user info
    headers = {"Authorization": f"Bearer {token}"}
    me_response = requests.get(f"{BASE_URL}/users/me", headers=headers)
    if me_response.status_code == 200:
        user = me_response.json()
        print(f"User: {user['email']}")
        print(f"Role: {user['role']}")
        print(f"Is Admin: {user['is_admin']}")
    
    # Try without trailing slash
    print(f"\n--- Testing GET /tasks?shot_id={SHOT_ID} (no trailing slash) ---")
    response1 = requests.get(
        f"{BASE_URL}/tasks",
        params={"shot_id": SHOT_ID},
        headers=headers,
        allow_redirects=False  # Don't follow redirects
    )
    print(f"Status: {response1.status_code}")
    print(f"Headers: {dict(response1.headers)}")
    if response1.status_code in [301, 302, 307, 308]:
        print(f"Redirect to: {response1.headers.get('location')}")
    
    # Try with trailing slash
    print(f"\n--- Testing GET /tasks/?shot_id={SHOT_ID} (with trailing slash) ---")
    response2 = requests.get(
        f"{BASE_URL}/tasks/",
        params={"shot_id": SHOT_ID},
        headers=headers
    )
    print(f"Status: {response2.status_code}")
    if response2.status_code == 200:
        tasks = response2.json()
        print(f"✓ Found {len(tasks)} tasks")
    else:
        print(f"Response: {response2.text[:500]}")
else:
    print(f"✗ Login failed: {login_response.status_code}")
    print(login_response.text)
