import 'package:dartz/dartz.dart';
import '../../repositories/auth_repository.dart';
import '../../../core/errors/failures.dart';
import '../base_usecase.dart';

/// 인증 상태 확인 UseCase
/// 현재 사용자가 로그인되어 있는지 확인
class CheckAuthStatusUseCase extends UseCase<bool, NoParams> {
  final AuthRepository _authRepository;

  CheckAuthStatusUseCase(this._authRepository);

  @override
  Future<Either<Failure, bool>> call(NoParams params) async {
    try {
      final result = await _authRepository.isAuthenticated();
      return result;
    } catch (e) {
      return Left(ServerFailure(
        message: '인증 상태 확인 중 오류가 발생했습니다.',
      ));
    }
  }
}