run static method

Future<DiagnosticResult> run(
  1. KAuthConfig config, {
  2. bool verbose = false,
})

진단 실행

config: KAuth 설정 verbose: 상세 정보 포함 여부

Implementation

static Future<DiagnosticResult> run(
  KAuthConfig config, {
  bool verbose = false,
}) async {
  final issues = <DiagnosticIssue>[];

  // 플랫폼 확인
  final platform = _getPlatform();

  // 기본 설정 검증
  if (config.configuredProviders.isEmpty) {
    issues.add(const DiagnosticIssue(
      severity: DiagnosticSeverity.error,
      message: 'Provider가 하나도 설정되지 않았습니다',
      solution: 'KAuthConfig에 최소 하나의 Provider를 설정하세요',
    ));
  }

  // 카카오 검증
  if (config.kakao != null) {
    issues.addAll(await _checkKakao(config.kakao!, platform, verbose));
  }

  // 네이버 검증
  if (config.naver != null) {
    issues.addAll(await _checkNaver(config.naver!, platform, verbose));
  }

  // 구글 검증
  if (config.google != null) {
    issues.addAll(await _checkGoogle(config.google!, platform, verbose));
  }

  // 애플 검증
  if (config.apple != null) {
    issues.addAll(await _checkApple(config.apple!, platform, verbose));
  }

  return DiagnosticResult(
    issues: issues,
    timestamp: DateTime.now(),
    platform: platform,
  );
}