27 lines
790 B
Dart
27 lines
790 B
Dart
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:equatable/equatable.dart';
|
|
import 'package:user_repository/user_repository.dart';
|
|
|
|
part 'my_user_event.dart';
|
|
part 'my_user_state.dart';
|
|
|
|
class MyUserBloc extends Bloc<MyUserEvent, MyUserState> {
|
|
final UserRepository _userRepository;
|
|
|
|
MyUserBloc({required UserRepository myUserRepository})
|
|
: _userRepository = myUserRepository,
|
|
super(const MyUserState.loading()) {
|
|
on<GetMyUser>(_onGetMyUser);
|
|
}
|
|
|
|
void _onGetMyUser(GetMyUser event, Emitter<MyUserState> emit) async {
|
|
emit(const MyUserState.loading());
|
|
try {
|
|
MyUser myUser = await _userRepository.getMyUser(event.myUserId);
|
|
emit(MyUserState.success(myUser));
|
|
} catch (e) {
|
|
emit(const MyUserState.failure());
|
|
}
|
|
}
|
|
}
|