import 'package:dio/dio.dart';
import 'package:superport/core/config/environment.dart';
import 'package:superport/di/injection_container.dart' as di;
import 'package:superport/services/license_service.dart';
import 'package:superport/services/auth_service.dart';
import 'package:superport/data/models/auth/login_request.dart';

void main() async {
  print('\n===== 라이센스 API 디버깅 =====\n');
  
  // 환경 초기화
  await Environment.initialize();
  await di.setupDependencies();
  
  // 로그인
  print('📌 로그인 중...');
  final authService = di.getIt<AuthService>();
  await authService.login(LoginRequest(
    email: 'admin@superport.kr',
    password: 'admin123!',
  ));
  print('✅ 로그인 성공!\n');
  
  // 라이센스 서비스 테스트
  print('📌 라이센스 목록 조회 테스트...');
  final licenseService = di.getIt<LicenseService>();
  
  try {
    final licenses = await licenseService.getLicenses();
    print('✅ 라이센스 조회 성공!');
    print('   - 총 ${licenses.length}개 라이센스');
    
    if (licenses.isNotEmpty) {
      final first = licenses.first;
      print('\n📋 첫 번째 라이센스:');
      print('   - ID: ${first.id}');
      print('   - License Key: ${first.licenseKey}');
      print('   - Product Name: ${first.productName}');
      print('   - Vendor: ${first.vendor}');
      print('   - Company: ${first.companyName}');
      print('   - Branch: ${first.branchName}');
      print('   - Assigned User: ${first.assignedUserName}');
    }
  } catch (e, stackTrace) {
    print('❌ 라이센스 조회 실패!');
    print('   에러: $e');
    print('\n스택 트레이스:');
    print(stackTrace);
  }
  
  print('\n===== 디버깅 완료 =====\n');
}