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

/// 로그아웃 UseCase
/// 사용자 로그아웃 처리 및 토큰 삭제
class LogoutUseCase extends UseCase<void, NoParams> {
  // AuthRepository 기반으로 마이그레이션
  final AuthRepository _authRepository;

  LogoutUseCase(this._authRepository);

  @override
  Future<Either<Failure, void>> call(NoParams params) async {
    return await _authRepository.logout();
  }
}
