import 'package:baseproject/core/common/index.dart'; import 'package:baseproject/features/repositories/hra_repository.dart'; import 'package:baseproject/features/usecases/index.dart'; import 'package:baseproject/features/usecases/user/user_use_cases.dart'; class UserBloc extends BaseCubit> { UserBloc(this._userUseCases) : super(InitState(null)); final UserUseCases _userUseCases; Future getUserInfo() async { final resultRefreshToken = await _userUseCases.refreshToken(); if (resultRefreshToken.isRight()) { final resultUserInfo = await _userUseCases.getUserInfoFromApi(); emit(LoadedState(resultUserInfo.fold((l) => UserInfoDto(), (r) => r))); } else { emit(LoadedState(null)); } return true; } updateUserInfo(UserInfoDto userInfo) { emit(LoadedState(userInfo)); } logout() { emit(LoadedState(null)); _userUseCases.clearData(); } }