validate method

List<KAuthError> validate({
  1. bool throwOnError = false,
})

설정 유효성 검증

throwOnError가 true이면 에러 시 예외를 던지고, false이면 에러 목록을 반환합니다.

Implementation

List<KAuthError> validate({bool throwOnError = false}) {
  final errors = <KAuthError>[];

  // 최소 하나의 Provider가 설정되어 있어야 함
  if (kakao == null && naver == null && google == null && apple == null) {
    errors.add(KAuthError.fromCode(ErrorCodes.noProviderConfigured));
  }

  // 각 Provider 설정 검증
  if (kakao != null) {
    errors.addAll(kakao!.validate());
  }

  if (naver != null) {
    errors.addAll(naver!.validate());
  }

  if (google != null) {
    errors.addAll(google!.validate());
  }

  if (apple != null) {
    errors.addAll(apple!.validate());
  }

  if (throwOnError && errors.isNotEmpty) {
    throw errors.first;
  }

  return errors;
}