import urllib.request
import urllib.parse
import json

base_url = 'http://localhost:8000'
login_url = f'{base_url}/api/auth/login/'

payload = json.dumps({'email': 'admin@example.com', 'password': 'admin'}).encode('utf-8')
req = urllib.request.Request(login_url, data=payload, headers={'Content-Type': 'application/json'}, method='POST')

try:
    with urllib.request.urlopen(req) as response:
        body = json.loads(response.read().decode())
        token = body.get('access')
        print('Logged in successfully.')
        
        dashboard_url = f'{base_url}/api/dashboard/admin/?time_filter=30d&refresh=false'
        req2 = urllib.request.Request(dashboard_url, headers={'Authorization': f'Bearer {token}'})
        
        try:
            with urllib.request.urlopen(req2) as res2:
                print('Dashboard Status:', res2.status)
                print('Dashboard response:', res2.read().decode()[:200])
        except urllib.error.HTTPError as e:
            print('Dashboard Status:', e.code)
            print('Dashboard Error Response:', e.read().decode()[:1000])
            
except urllib.error.HTTPError as e:
    print('Login failed:', e.code, e.read().decode())
