import 'package:dartz/dartz.dart'; import '../../../services/auth_service.dart'; import '../../../data/models/user/user_dto.dart'; import '../../../core/errors/failures.dart'; import '../base_usecase.dart'; /// 현재 로그인한 사용자 정보 조회 UseCase class GetCurrentUserUseCase extends UseCase { final AuthService _authService; GetCurrentUserUseCase(this._authService); @override Future> call(NoParams params) async { try { final user = await _authService.getCurrentUser(); if (user == null) { return Left(AuthFailure( message: '로그인이 필요합니다.', code: 'NOT_AUTHENTICATED', )); } // AuthUser를 UserDto로 변환 (임시로 null 반환) return const Right(null); } catch (e) { return Left(UnknownFailure( message: '사용자 정보를 가져오는 중 오류가 발생했습니다.', originalError: e, )); } } }